Skip to content

Instantly share code, notes, and snippets.

@ehellman
Last active April 30, 2017 15:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ehellman/6ccf288440808c1c2da2c205baa11530 to your computer and use it in GitHub Desktop.
Save ehellman/6ccf288440808c1c2da2c205baa11530 to your computer and use it in GitHub Desktop.
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to log to the console when each text editor is saved.
#
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
# console.log "Saved! #{editor.getPath()}"
atom.workspace.observeTextEditors (editor) ->
editor.onDidSave ->
if editor.getPath().slice(-3) is '.os'
if editor.getEncoding() is 'utf8' and editor.getText().charCodeAt(0) isnt 65279
editor.setText String.fromCharCode(65279) + editor.getText()
editor.save()
# Your keymap
#
# Atom keymaps work similarly to style sheets. Just as style sheets use
# selectors to apply styles to elements, Atom keymaps use selectors to associate
# keystrokes with events in specific contexts. Unlike style sheets however,
# each selector can only be declared once.
#
# You can create a new keybinding in this file by typing "key" and then hitting
# tab.
#
# Here's an example taken from Atom's built-in keymap:
#
'atom-text-editor':
'cmd-shift-k': 'hey-pane:toggle-focus-of-active-pane'
'atom-text-editor[data-grammar~="jsx"]:not([mini])':
'tab': 'emmet:expand-abbreviation-with-tab'
#
# 'atom-workspace':
# 'ctrl-shift-p': 'core:move-up'
# 'ctrl-p': 'core:move-down'
#
# You can find more information about keymaps in these guides:
# * http://flight-manual.atom.io/using-atom/sections/basic-customization/#_customizing_keybindings
# * http://flight-manual.atom.io/behind-atom/sections/keymaps-in-depth/
#
# If you're having trouble with your keybindings not working, try the
# Keybinding Resolver: `Cmd+.` on OS X and `Ctrl+.` on other platforms. See the
# Debugging Guide for more information:
# * http://flight-manual.atom.io/hacking-atom/sections/debugging/#check-the-keybindings
#
# This file uses CoffeeScript Object Notation (CSON).
# If you are unfamiliar with CSON, you can read more about it in the
# Atom Flight Manual:
# http://flight-manual.atom.io/using-atom/sections/basic-customization/#_cson
[
{
"name": "about",
"version": "1.7.5"
},
{
"name": "archive-view",
"version": "0.63.0"
},
{
"name": "ariake-dark-syntax",
"version": "0.1.3",
"theme": "syntax"
},
{
"name": "atom-beautify",
"version": "0.29.23"
},
{
"name": "atom-dark-syntax",
"version": "0.28.0",
"theme": "syntax"
},
{
"name": "atom-dark-ui",
"version": "0.53.0",
"theme": "ui"
},
{
"name": "atom-light-syntax",
"version": "0.29.0",
"theme": "syntax"
},
{
"name": "atom-light-ui",
"version": "0.46.0",
"theme": "ui"
},
{
"name": "atom-material-syntax",
"version": "1.0.2",
"theme": "syntax"
},
{
"name": "atom-material-ui",
"version": "1.3.9",
"theme": "ui"
},
{
"name": "atom-ternjs",
"version": "0.18.2"
},
{
"name": "atom-typescript",
"version": "11.0.3"
},
{
"name": "atom-wrap-in-tag",
"version": "0.6.0"
},
{
"name": "autoclose-html",
"version": "0.23.0"
},
{
"name": "autocomplete-atom-api",
"version": "0.10.0"
},
{
"name": "autocomplete-css",
"version": "0.15.1"
},
{
"name": "autocomplete-html",
"version": "0.7.2"
},
{
"name": "autocomplete-modules",
"version": "1.6.9"
},
{
"name": "autocomplete-plus",
"version": "2.34.2"
},
{
"name": "autocomplete-snippets",
"version": "1.11.0"
},
{
"name": "autoflow",
"version": "0.29.0"
},
{
"name": "autosave",
"version": "0.24.0"
},
{
"name": "background-tips",
"version": "0.26.1"
},
{
"name": "base16-tomorrow-dark-theme",
"version": "1.5.0",
"theme": "syntax"
},
{
"name": "base16-tomorrow-light-theme",
"version": "1.5.0",
"theme": "syntax"
},
{
"name": "bookmarks",
"version": "0.44.2"
},
{
"name": "bracket-matcher",
"version": "0.85.3"
},
{
"name": "busy-signal",
"version": "1.4.0"
},
{
"name": "command-palette",
"version": "0.40.3"
},
{
"name": "copy-path",
"version": "0.4.1"
},
{
"name": "dalek",
"version": "0.2.0"
},
{
"name": "deprecation-cop",
"version": "0.56.2"
},
{
"name": "dev-live-reload",
"version": "0.47.0"
},
{
"name": "duotone-dark-syntax",
"version": "2.1.0",
"theme": "syntax"
},
{
"name": "duotone-light-syntax",
"version": "2.1.0",
"theme": "syntax"
},
{
"name": "editorconfig",
"version": "2.2.2"
},
{
"name": "emmet",
"version": "2.4.3"
},
{
"name": "encoding-selector",
"version": "0.23.2"
},
{
"name": "exception-reporting",
"version": "0.41.2"
},
{
"name": "file-icons",
"version": "2.1.3"
},
{
"name": "find-and-replace",
"version": "0.207.3"
},
{
"name": "fuzzy-finder",
"version": "1.5.0"
},
{
"name": "git-diff",
"version": "1.3.3"
},
{
"name": "git-time-machine",
"version": "1.5.9"
},
{
"name": "gloom",
"version": "0.4.13",
"theme": "syntax"
},
{
"name": "go-to-line",
"version": "0.32.0"
},
{
"name": "grammar-selector",
"version": "0.49.3"
},
{
"name": "hey-pane",
"version": "0.3.1"
},
{
"name": "image-view",
"version": "0.61.1"
},
{
"name": "incompatible-packages",
"version": "0.27.2"
},
{
"name": "intentions",
"version": "1.1.2"
},
{
"name": "keybinding-resolver",
"version": "0.36.3"
},
{
"name": "language-babel",
"version": "2.57.7"
},
{
"name": "language-c",
"version": "0.57.0"
},
{
"name": "language-clojure",
"version": "0.22.2"
},
{
"name": "language-coffee-script",
"version": "0.48.5"
},
{
"name": "language-csharp",
"version": "0.14.2"
},
{
"name": "language-cshtml",
"version": "0.2.1"
},
{
"name": "language-css",
"version": "0.42.1"
},
{
"name": "language-gfm",
"version": "0.88.1"
},
{
"name": "language-git",
"version": "0.19.0"
},
{
"name": "language-go",
"version": "0.43.1"
},
{
"name": "language-html",
"version": "0.47.2"
},
{
"name": "language-hyperlink",
"version": "0.16.1"
},
{
"name": "language-java",
"version": "0.27.0"
},
{
"name": "language-javascript",
"version": "0.126.1"
},
{
"name": "language-javascript-jsx",
"version": "0.3.7"
},
{
"name": "language-json",
"version": "0.19.0"
},
{
"name": "language-less",
"version": "0.31.0"
},
{
"name": "language-make",
"version": "0.22.3"
},
{
"name": "language-mustache",
"version": "0.13.1"
},
{
"name": "language-objective-c",
"version": "0.15.1"
},
{
"name": "language-perl",
"version": "0.37.0"
},
{
"name": "language-php",
"version": "0.37.5"
},
{
"name": "language-property-list",
"version": "0.9.1"
},
{
"name": "language-python",
"version": "0.45.2"
},
{
"name": "language-ruby",
"version": "0.70.5"
},
{
"name": "language-ruby-on-rails",
"version": "0.25.2"
},
{
"name": "language-sass",
"version": "0.58.0"
},
{
"name": "language-shellscript",
"version": "0.25.0"
},
{
"name": "language-source",
"version": "0.9.0"
},
{
"name": "language-sql",
"version": "0.25.4"
},
{
"name": "language-text",
"version": "0.7.2"
},
{
"name": "language-todo",
"version": "0.29.1"
},
{
"name": "language-toml",
"version": "0.18.1"
},
{
"name": "language-xml",
"version": "0.35.0"
},
{
"name": "language-yaml",
"version": "0.29.0"
},
{
"name": "line-ending-selector",
"version": "0.6.2"
},
{
"name": "link",
"version": "0.31.2"
},
{
"name": "linter",
"version": "2.1.4"
},
{
"name": "linter-ui-default",
"version": "1.2.3"
},
{
"name": "lodash-snippets",
"version": "2.0.0"
},
{
"name": "markdown-preview",
"version": "0.159.7"
},
{
"name": "metrics",
"version": "1.2.1"
},
{
"name": "notifications",
"version": "0.66.2"
},
{
"name": "nuclide",
"version": "0.218.0"
},
{
"name": "one-dark-syntax",
"version": "1.7.1",
"theme": "syntax"
},
{
"name": "one-dark-ui",
"version": "1.9.2",
"theme": "ui"
},
{
"name": "one-light-syntax",
"version": "1.7.1",
"theme": "syntax"
},
{
"name": "one-light-ui",
"version": "1.9.2",
"theme": "ui"
},
{
"name": "open-on-github",
"version": "1.2.1"
},
{
"name": "package-generator",
"version": "1.1.0"
},
{
"name": "pigments",
"version": "0.39.1"
},
{
"name": "prettier-atom",
"version": "0.29.0"
},
{
"name": "ramda-syntax",
"version": "1.0.3",
"theme": "syntax"
},
{
"name": "script",
"version": "3.14.1"
},
{
"name": "settings-view",
"version": "0.248.0"
},
{
"name": "snippets",
"version": "1.1.1"
},
{
"name": "solarized-dark-syntax",
"version": "1.1.2",
"theme": "syntax"
},
{
"name": "solarized-light-syntax",
"version": "1.1.2",
"theme": "syntax"
},
{
"name": "spell-check",
"version": "0.71.3"
},
{
"name": "split-selection-into-cursors",
"version": "0.2.0"
},
{
"name": "status-bar",
"version": "1.8.5"
},
{
"name": "styleguide",
"version": "0.49.3"
},
{
"name": "symbols-view",
"version": "0.115.2"
},
{
"name": "sync-settings",
"version": "0.8.1"
},
{
"name": "tab-foldername-index",
"version": "2.0.2"
},
{
"name": "tabs",
"version": "0.104.2"
},
{
"name": "tabs-to-spaces",
"version": "1.0.3"
},
{
"name": "timecop",
"version": "0.36.0"
},
{
"name": "toggle-quotes",
"version": "1.0.1"
},
{
"name": "tree-view",
"version": "0.215.1"
},
{
"name": "tree-view-copy-relative-path",
"version": "1.1.0"
},
{
"name": "tree-view-git-branch",
"version": "0.1.2"
},
{
"name": "update-package-dependencies",
"version": "0.11.0"
},
{
"name": "welcome",
"version": "0.36.2"
},
{
"name": "whitespace",
"version": "0.36.2"
},
{
"name": "wrap-guide",
"version": "0.40.0"
}
]
{
"activate-power-mode": {
"autoToggle": false
},
"atom-beautify": {
"css": {
"beautify_on_save": true
},
"general": {
"_analyticsUserId": "2cf62025-c76f-4779-b2c5-f166b36aae34"
},
"html": {
"indent_size": 2
},
"js": {
"beautify_on_save": true,
"indent_size": 2,
"space_after_anon_function": true
},
"json": {
"beautify_on_save": true,
"indent_size": 2
},
"jsx": {
"indent_size": 2,
"space_after_anon_function": true
},
"markdown": {
"beautify_on_save": true
},
"php": {
"beautify_on_save": true
},
"sass": {
"indent_size": 2
},
"scss": {
"indent_size": 2
},
"typescript": {
"beautify_on_save": true,
"indent_size": 2
}
},
"atom-material-ui": {
"colors": {
"abaseColor": "#3494ec"
},
"fonts": {
"fontSize": 14
},
"tabs": {
"compactTabs": true
},
"treeView": {
"compactList": true
},
"ui": {
"panelContrast": true,
"panelShadows": true
}
},
"core": {
"customFileTypes": {
"source.ini": [
".buckconfig",
".hgrc",
".flowconfig"
],
"source.json": [
".arcconfig",
"BUCK.autodeps"
],
"source.python": [
"BUCK"
]
},
"disabledPackages": [
"linter-js-standard",
"minimap",
"linter-stylelint",
"hey-pane",
"nuclide"
],
"telemetryConsent": "no",
"themes": [
"one-dark-ui",
"ramda-syntax"
],
"titleBar": "custom"
},
"duotone-light-syntax": {
"color": {
"duo": "#ff5ddc",
"uno": "#5fa6ff"
}
},
"editor": {
"fontFamily": "Input Mono",
"fontSize": 11,
"invisibles": {},
"scrollPastEnd": true,
"showIndentGuide": true,
"showInvisibles": true,
"tabType": "soft"
},
"exception-reporting": {
"userId": "463514d9-0ead-66df-c7f7-b0e7893dbb84"
},
"isotope-ui": {
"customBackgroundColorPicker": "#0b0114",
"matchEditorFont": true,
"minimalMode": true
},
"linter-ui-default": {
"showPanel": true
},
"minimap": {
"absoluteMode": true,
"scrollAnimation": true
},
"miracle-ui": {
"fileIcons": false
},
"nuclide": {
"nuclide-home": {
"showHome": false
}
},
"one-dark-ui": {
"layoutMode": "Compact"
},
"pigments": {
"extendAutocompleteToColorValue": true,
"extendAutocompleteToVariables": true,
"extendedSearchNames": [
"**/*.css/"
]
},
"seti-ui": {
"compactView": true,
"fileIcons": false,
"font": "Default Atom Font"
},
"sync-settings": {},
"welcome": {
"showOnStartup": false
}
}
# Your snippets
#
# Atom snippets allow you to enter a simple prefix in the editor and hit tab to
# expand the prefix into a larger code block with templated values.
#
# You can create a new snippet in this file by typing "snip" and then hitting
# tab.
#
# An example CoffeeScript snippet to expand log to console.log:
#
# '.source.coffee':
# 'Console log':
# 'prefix': 'log'
# 'body': 'console.log $1'
#
# Each scope (e.g. '.source.coffee' above) can only be declared once.
#
# This file uses CoffeeScript Object Notation (CSON).
# If you are unfamiliar with CSON, you can read more about it in the
# Atom Flight Manual:
# http://flight-manual.atom.io/using-atom/sections/basic-customization/#_cson
###############################################################################
#### CSS / SCSS ####
###############################################################################
'.source.css, .source.scss, .source.css.scss':
'media-query mixin':
'prefix': 'mqm'
'body': '@include media-query(\'${1:medium}\') {\n}'
'width':
'prefix': 'wid'
'body': 'width: ${1:${2:1}${3:px}};'
'width: auto':
'prefix': 'wida'
'body': 'width: auto;'
#==============================================================================
# display
#==============================================================================
'display: flex':
'prefix': 'df'
'body': 'display: flex;'
'display: inline-flex':
'prefix': 'dif'
'body': 'display: inline-flex;'
'display: block':
'prefix': 'db'
'body': 'display: block;'
'display: inline-block':
'prefix': 'dib'
'body': 'display: inline-block;'
'display: inline':
'prefix': 'di'
'body': 'display: inline;'
'display: none':
'prefix': 'dn'
'body': 'display: none;'
#==============================================================================
# Flexbox: flex-direction
#==============================================================================
'flex-direction':
'prefix': 'fd'
'body': 'flex-direction: ${1:column};'
'flex-direction: row':
'prefix': 'fdr'
'body': 'flex-direction: row;'
'flex-direction: column':
'prefix': 'fdc'
'body': 'flex-direction: column;'
#==============================================================================
# Flexbox: align-items
#==============================================================================
'align-items':
'prefix': 'ai'
'body': 'align-items: ${1:center};'
'align-items: baseline':
'prefix': 'aib'
'body': 'align-items: baseline;'
'align-items: center':
'prefix': 'aic'
'body': 'align-items: center;'
'align-items: flex-start':
'prefix': 'aifs'
'body': 'align-items: flex-start;'
'align-items flex-end':
'prefix': 'aife'
'body': 'align-items: flex-end;'
'align-items stretch':
'prefix': 'ais'
'body': 'align-items: stretch;'
#==============================================================================
# Flexbox: Justify-Content
#==============================================================================
'justify-content':
'prefix': 'jc'
'body': 'justify-content: ${1:center};'
'justify-content: flex-end':
'prefix': 'jcfe'
'body': 'justify-content: flex-end;'
'justify-content: flex-start':
'prefix': 'jcfs'
'body': 'justify-content: flex-start;'
'justify-content: center':
'prefix': 'jcc'
'body': 'justify-content: center;'
'justify-content: space-around':
'prefix': 'jca'
'body': 'justify-content: space-around;'
'justify-content: space-between':
'prefix': 'jcb'
'body': 'justify-content: space-between;'
#==============================================================================
# Text-Alignment
#==============================================================================
'text-align':
'prefix': 'ta'
'body': 'text-align: ${1:center};'
'text-align: center':
'prefix': 'tac'
'body': 'text-align: center;'
'text-align: left':
'prefix': 'tal'
'body': 'text-align: left;'
'text-align: right':
'prefix': 'tar'
'body': 'text-align: right;'
#==============================================================================
# Links
#==============================================================================
'text-decoration':
'prefix': 'td'
'body': 'text-decoration: ${1:underline};'
'text-decoration: underline':
'prefix': 'tdu'
'body': 'text-decoration: underline;'
'text-decoration: none':
'prefix': 'tdn'
'body': 'text-decoration: none;'
###############################################################################
#### JAVASCRIPT
###############################################################################
'.source.js, .source.jsx, .source.ts':
'document.querySelector':
'prefix': 'dqs'
'body': 'document.querySelector()'
'document.querySelectorAll':
'prefix': 'dqsa'
'body': 'document.querySelectorAll()'
'querySelector':
'prefix': 'qs'
'body': 'querySelector()'
'querySelectorAll':
'prefix': 'qsa'
'body': 'querySelectorAll()'
'document.addEventListener':
'prefix': 'dael'
'body': 'document.addEventListener(\'\', callback)'
'addEventListener':
'prefix': 'ael'
'body': 'addEventListener(\'\', callback)'
'preventDefault':
'prefix': 'pd'
'body': 'preventDefault()'
'jscom':
'prefix': 'jscom'
'body': '
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n
* Comment block\n
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */\n'
###############################################################################
#### REACT
###############################################################################
'React Component Skeleton':
'prefix': 'rcc'
'body': 'import React, { Component } from \'react\'\n\n\nexport default class ${1} extends Component {\n\n\trender() {\n\t\treturn (\n\t\t\t${0:<div />}\n\t\t)\n\t}\n\n}'
'React: import ReactDOM from react-dom':
'prefix': "imrd"
'body': "import ReactDOM from 'react-dom'"
'React: import React from react':
'prefix': 'imr'
'body': "import React from 'react'"
'React: componentDidMount: fn() { ... }':
'prefix': 'cdm'
'body': "componentDidMount: function() {\n\t${1}\n},"
'React: componentDidUpdate: fn(pp, ps) { ... }':
'prefix': 'cdup'
'body': "componentDidUpdate: function(prevProps, prevState) {\n\t${1}\n},"
'React: componentWillMount: fn() { ... }':
'prefix': 'cwm'
'body': "componentWillMount: function() {\n\t${1}\n},"
'React: componentWillReceiveProps: fn(np) { ... }':
'prefix': 'cwr'
'body': "componentWillReceiveProps: function(nextProps) {\n\t${1}\n},"
'React: componentWillUnmount: fn() { ... }':
'prefix': 'cwun'
'body': "componentWillUnmount: function() {\n\t${1}\n},"
'React: componentWillUpdate: fn(np, ns) { ... }':
'prefix': 'cwu'
'body': "componentWillUpdate: function(nextProps, nextState) {\n\t${1}\n},"
'React: getInitialState: fn() { return {...} } ':
'prefix': 'gis'
'body': "getInitialState: () => {\n\treturn {\n\t\t${1}: ${2}\n\t}\n},"
'React: propTypes { ... }':
'prefix': 'pt'
'body': "propTypes: {\n\t${1}: React.PropTypes.${2:string}\n},"
'React: setState({ ... })':
'prefix': 'sst'
'body': "setState({\n\t${1}: ${2}\n})"
'PropTypes.func.isRequired':
'prefix': 'ptf'
'body': "PropTypes.func.isRequired"
'PropTypes.string.isRequired':
'prefix': 'pts'
'body': "PropTypes.string.isRequired"
'PropTypes.object.isRequired':
'prefix': 'pto'
'body': "PropTypes.object.isRequired"
'PropTypes.array.isRequired':
'prefix': 'pta'
'body': "PropTypes.array.isRequired"
'PropTypes.bool.isRequired':
'prefix': 'ptb'
'body': "PropTypes.bool.isRequired"
'PropTypes.number.isRequired':
'prefix': 'ptn'
'body': "PropTypes.number.isRequired"
'PropTypes.node.isRequired':
'prefix': 'ptnode'
'body': "PropTypes.node.isRequired"
'PropTypes.element.isRequired':
'prefix': 'pte'
'body': "PropTypes.element.isRequired"
'PropTypes.any.isRequired':
'prefix': 'ptany'
'body': "PropTypes.any.isRequired"
// //Style the find results
atom-text-editor::shadow .highlight.find-result .region {
background: red;
border-color: red;
border: 1px solid red;
transition: background-color 0.2s, border-color 0.2s;
box-shadow: 0px 0px 7px 0px red;
opacity: .2;
}
atom-text-editor::shadow .highlight.current-result .region,
atom-text-editor::shadow .highlight.current-result ~ .highlight.selection .region {
background: lime;
box-shadow: 0px 0px 7px 0px lime;
border: 1px solid lime;
opacity: .2;
}
.tree-view-scroller > ol > li > ol > li {
padding-left: 0 !important;
}
.tree-view-resizer {
width: 100% !important;
min-width: 0;
&:hover {
transition: all 0ms linear 100ms;
}
&:not(:hover) {
opacity: 0.2;
width: 13px !important;
}
position: relative;
&:after {
content: '';
position: absolute;
top: 0;
right: 0;
height: 100%;
width: 20px;
background-image: linear-gradient(
90deg,
transparent,
rgba(0, 0, 0, 0.1)
);
z-index: 1;
}
}
.tree-view,
.nuclide-file-tree {
.project-root-header {
display: none;
}
}
.invisible-character,
.leading-whitespace,
.indent-guide {
opacity: 0.2;
}
// for ramda syntax theme to fix comments
:root:root:root .syntax--comment.syntax--js {
color: #6272a4 !important;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment