Skip to content

Instantly share code, notes, and snippets.

@Floriferous
Last active December 18, 2017 10:26
Show Gist options
  • Save Floriferous/afda723f58d2c634707367828f8287ef to your computer and use it in GitHub Desktop.
Save Floriferous/afda723f58d2c634707367828f8287ef to your computer and use it in GitHub Desktop.
// My settings
# 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()}"
# 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':
# 'enter': 'editor:newline'
#
# '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
'atom-text-editor':
'cmd-shift-j': 'jsdoc:block'
'atom-workspace':
'cmd-§': 'tree-view:toggle'
'body':
'shift-cmd-T': '!unset'
[
{
"name": "Stylus",
"version": "3.1.1"
},
{
"name": "about",
"version": "1.7.8"
},
{
"name": "archive-view",
"version": "0.64.1"
},
{
"name": "atom-clock",
"version": "0.1.15"
},
{
"name": "atom-dark-syntax",
"version": "0.28.0",
"theme": "syntax"
},
{
"name": "atom-dark-ui",
"version": "0.53.0",
"theme": "ui"
},
{
"name": "atom-easy-jsdoc",
"version": "4.12.4"
},
{
"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.7",
"theme": "syntax"
},
{
"name": "atom-material-ui",
"version": "2.0.6",
"theme": "ui"
},
{
"name": "atom-ternjs",
"version": "0.18.3"
},
{
"name": "atom-wallaby",
"version": "1.0.22"
},
{
"name": "autoclose-html",
"version": "0.23.0"
},
{
"name": "autocomplete-atom-api",
"version": "0.10.5"
},
{
"name": "autocomplete-css",
"version": "0.17.4"
},
{
"name": "autocomplete-html",
"version": "0.8.3"
},
{
"name": "autocomplete-json",
"version": "5.5.2"
},
{
"name": "autocomplete-modules",
"version": "1.8.0"
},
{
"name": "autocomplete-plus",
"version": "2.38.0"
},
{
"name": "autocomplete-snippets",
"version": "1.11.2"
},
{
"name": "autoflow",
"version": "0.29.0"
},
{
"name": "autosave",
"version": "0.24.6"
},
{
"name": "background-tips",
"version": "0.27.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.4"
},
{
"name": "bracket-matcher",
"version": "0.88.0"
},
{
"name": "busy-signal",
"version": "1.4.3"
},
{
"name": "command-palette",
"version": "0.42.0"
},
{
"name": "dalek",
"version": "0.2.1"
},
{
"name": "deprecation-cop",
"version": "0.56.9"
},
{
"name": "dev-live-reload",
"version": "0.47.1"
},
{
"name": "emmet",
"version": "2.4.3"
},
{
"name": "encoding-selector",
"version": "0.23.7"
},
{
"name": "exception-reporting",
"version": "0.42.0"
},
{
"name": "file-icons",
"version": "2.1.15"
},
{
"name": "find-and-replace",
"version": "0.215.0"
},
{
"name": "fuzzy-finder",
"version": "1.7.3"
},
{
"name": "git-diff",
"version": "1.3.6"
},
{
"name": "git-plus",
"version": "7.10.0"
},
{
"name": "github",
"version": "0.8.3"
},
{
"name": "go-to-line",
"version": "0.32.1"
},
{
"name": "grammar-selector",
"version": "0.49.8"
},
{
"name": "highlight-selected",
"version": "0.13.1"
},
{
"name": "hyperclick",
"version": "0.1.5"
},
{
"name": "image-view",
"version": "0.62.4"
},
{
"name": "incompatible-packages",
"version": "0.27.3"
},
{
"name": "intentions",
"version": "1.1.5"
},
{
"name": "javascript-snippets",
"version": "1.2.1"
},
{
"name": "js-hyperclick",
"version": "1.12.2"
},
{
"name": "jumpy",
"version": "4.2.0"
},
{
"name": "keybinding-resolver",
"version": "0.38.1"
},
{
"name": "language-babel",
"version": "2.81.0"
},
{
"name": "language-c",
"version": "0.58.1"
},
{
"name": "language-clojure",
"version": "0.22.4"
},
{
"name": "language-coffee-script",
"version": "0.49.3"
},
{
"name": "language-csharp",
"version": "0.14.3"
},
{
"name": "language-css",
"version": "0.42.7"
},
{
"name": "language-gfm",
"version": "0.90.2"
},
{
"name": "language-git",
"version": "0.19.1"
},
{
"name": "language-go",
"version": "0.44.3"
},
{
"name": "language-html",
"version": "0.48.4"
},
{
"name": "language-hyperlink",
"version": "0.16.3"
},
{
"name": "language-java",
"version": "0.27.6"
},
{
"name": "language-javascript",
"version": "0.127.6"
},
{
"name": "language-json",
"version": "0.19.1"
},
{
"name": "language-less",
"version": "0.33.0"
},
{
"name": "language-make",
"version": "0.22.3"
},
{
"name": "language-mustache",
"version": "0.14.4"
},
{
"name": "language-objective-c",
"version": "0.15.1"
},
{
"name": "language-perl",
"version": "0.38.1"
},
{
"name": "language-php",
"version": "0.42.2"
},
{
"name": "language-property-list",
"version": "0.9.1"
},
{
"name": "language-python",
"version": "0.45.5"
},
{
"name": "language-ruby",
"version": "0.71.4"
},
{
"name": "language-ruby-on-rails",
"version": "0.25.2"
},
{
"name": "language-sass",
"version": "0.61.1"
},
{
"name": "language-shellscript",
"version": "0.25.4"
},
{
"name": "language-source",
"version": "0.9.0"
},
{
"name": "language-sql",
"version": "0.25.8"
},
{
"name": "language-text",
"version": "0.7.3"
},
{
"name": "language-todo",
"version": "0.29.3"
},
{
"name": "language-toml",
"version": "0.18.1"
},
{
"name": "language-typescript",
"version": "0.2.2"
},
{
"name": "language-xml",
"version": "0.35.2"
},
{
"name": "language-yaml",
"version": "0.31.1"
},
{
"name": "line-ending-selector",
"version": "0.7.4"
},
{
"name": "link",
"version": "0.31.3"
},
{
"name": "linter",
"version": "2.2.0"
},
{
"name": "linter-csslint",
"version": "2.0.0"
},
{
"name": "linter-eslint",
"version": "8.4.0"
},
{
"name": "linter-ui-default",
"version": "1.6.10"
},
{
"name": "markdown-preview",
"version": "0.159.18"
},
{
"name": "metrics",
"version": "1.2.6"
},
{
"name": "minimap",
"version": "4.29.7"
},
{
"name": "notifications",
"version": "0.69.2"
},
{
"name": "one-dark-syntax",
"version": "1.8.0",
"theme": "syntax"
},
{
"name": "one-dark-ui",
"version": "1.10.8",
"theme": "ui"
},
{
"name": "one-light-syntax",
"version": "1.8.0",
"theme": "syntax"
},
{
"name": "one-light-ui",
"version": "1.10.8",
"theme": "ui"
},
{
"name": "open-on-github",
"version": "1.3.1"
},
{
"name": "open-recent",
"version": "5.0.0"
},
{
"name": "package-generator",
"version": "1.1.1"
},
{
"name": "pigments",
"version": "0.40.2"
},
{
"name": "prettier-atom",
"version": "0.43.1"
},
{
"name": "react",
"version": "0.17.0"
},
{
"name": "settings-view",
"version": "0.253.0"
},
{
"name": "snippets",
"version": "1.1.9"
},
{
"name": "solarized-dark-syntax",
"version": "1.1.2",
"theme": "syntax"
},
{
"name": "solarized-light-syntax",
"version": "1.1.2",
"theme": "syntax"
},
{
"name": "sort-lines",
"version": "0.18.0"
},
{
"name": "spell-check",
"version": "0.72.3"
},
{
"name": "status-bar",
"version": "1.8.14"
},
{
"name": "styleguide",
"version": "0.49.8"
},
{
"name": "symbols-view",
"version": "0.118.1"
},
{
"name": "sync-settings",
"version": "0.8.3"
},
{
"name": "tabs",
"version": "0.109.1"
},
{
"name": "timecop",
"version": "0.36.0"
},
{
"name": "toggle-quotes",
"version": "1.1.0"
},
{
"name": "tree-view",
"version": "0.221.3"
},
{
"name": "tree-view-copy-relative-path",
"version": "1.2.0"
},
{
"name": "update-package-dependencies",
"version": "0.12.0"
},
{
"name": "welcome",
"version": "0.36.6"
},
{
"name": "whitespace",
"version": "0.37.5"
},
{
"name": "wrap-guide",
"version": "0.40.2"
}
]
{
"atom-beautify": {
"css": {
"indent_size": 2
},
"general": {
"_analyticsUserId": "a6b14239-1b41-42c3-86a0-5d5a6420b0ef"
},
"jsx": {
"end_with_comma": true,
"indent_size": 2
}
},
"atom-clock": {
"showTooltip": true
},
"atom-easy-jsdoc": {
"beta": true
},
"atom-material-ui": {
"colors": {
"accentColor": "#af0010",
"genAccent": true,
"paintCursor": true
},
"tabs": {
"compactTabs": true,
"noTabMinWidth": true
},
"treeView": {
"compactList": true
},
"ui": {
"panelContrast": true,
"panelShadows": true
}
},
"atom-package-deps": {
"ignored": []
},
"atom-ternjs": {
"inlineFnCompletionDocumentation": true,
"snippetsFirst": true,
"useSnippets": true,
"useSnippetsAndFunction": true
},
"core": {
"closeDeletedFileTabs": true,
"disabledPackages": [
"react",
"autocomplete-json",
"linter-csslint",
"minimap",
"github"
],
"projectHome": "/Users/Florian/developer",
"telemetryConsent": "limited",
"themes": [
"atom-material-ui",
"atom-material-syntax"
],
"titleBar": "custom"
},
"editor": {
"fontFamily": "Fira Code",
"scrollPastEnd": true,
"showIndentGuide": true,
"showInvisibles": true,
"tabType": "soft"
},
"exception-reporting": {
"userId": "414e08cb-4019-4f49-2a54-09393b054b12"
},
"fold-functions": {
"autofold": true,
"skipAutofoldWhenOnlyOneFunction": true
},
"js-hyperclick": {
"extensions": [
".js",
".json",
".node",
".jsx"
]
},
"keyboard-localization": {
"useKeyboardLayout": "fr_CH"
},
"linter": {},
"linter-eslint": {
"lintHtmlFiles": true
},
"linter-ui-default": {
"panelHeight": 164
},
"minimap": {},
"mocha-test-runner": {
"options": "--compilers js:babel-register"
},
"prettier-atom": {
"formatOnSaveOptions": {
"enabled": true,
"excludedGlobs": [
"source.json",
"source"
]
},
"prettierEslintOptions": {},
"prettierOptions": {
"singleQuote": true,
"trailingComma": "all"
},
"useEslint": true
},
"sync-settings": {},
"tree-view": {
"hideIgnoredNames": true
},
"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
'.source.js.jsx':
'Import ES6 default':
'prefix': 'im'
'body': """
import ${1} from '${2}';
"""
'Import ES6 non-default':
'prefix': 'imn'
'body': """
import { ${1} } from '${2}';
"""
'Import ES6 meteor package':
'prefix': 'imm'
'body': """
import { ${1} } from 'meteor/${2}';
"""
'Import ES6 component':
'prefix': 'imc'
'body': """
import ${1} from '${2}/${1}';
"""
'Import Button':
'prefix': 'imb'
'body': """
import Button from '/imports/ui/components/general/Button';
"""
'React ES6 Component':
'prefix': 'rc'
'body': """
import React, { Component } from 'react';
import PropTypes from 'prop-types';
export default class ${1:MyComponent} extends Component {
render() {
return ${2:<div>MyComponent</div>};
}
}
${1}.propTypes = {};
"""
'React ES6 Component with Constructor':
'prefix': 'rcc'
'body': """
import React, { Component } from 'react';
import PropTypes from 'prop-types';
export default class ${1:MyComponent} extends Component {
constructor(props) {
super(props);
}
render() {
return ${2:<div>MyComponent</div>};
}
}
${1}.propTypes = {};
"""
'React ES6 Constructor':
'prefix': 'rconst'
'body': """
constructor(props) {
super(props);
${1}
}
"""
'React ES6 Functional Component':
'prefix': 'rfunc'
'body': """
import React from 'react';
import PropTypes from 'prop-types';
const ${1} = props => {
return ${2:<div>MyComponent</div>};
};
${1}.propTypes = {};
export default ${1};
"""
'React ES6 bind method to this':
'prefix': 'rbm',
'body': """
this.${1} = this.${1}.bind(this);
"""
'React ES6 props definition':
'prefix': 'rpd',
'body': """
${1}.propTypes = {
${2}
};
"""
# PropType string
'React PropType string':
'prefix': 'rpstr',
'body': "${1:myProp}: PropTypes.string,"
'React PropType string required':
'prefix': 'rpstrr',
'body': "${1:myProp}: PropTypes.string.isRequired,"
# PropType number
'React PropType number':
'prefix': 'rpn',
'body': "${1:myProp}: PropTypes.number,"
'React PropType number required':
'prefix': 'rpnr',
'body': "${1:myProp}: PropTypes.number.isRequired,"
# PropType object
'React PropType object':
'prefix': 'rpo',
'body': "${1:myProp}: PropTypes.object,"
'React PropType object required':
'prefix': 'rpor',
'body': "${1:myProp}: PropTypes.object.isRequired,"
# PropType array
'React PropType array':
'prefix': 'rpa',
'body': "${1:myProp}: PropTypes.array,"
'React PropType array required':
'prefix': 'rpar',
'body': "${1:myProp}: PropTypes.array.isRequired,"
# PropType bool
'React PropType bool':
'prefix': 'rpb',
'body': "${1:myProp}: PropTypes.bool,"
'React PropType bool required':
'prefix': 'rpbr',
'body': "${1:myProp}: PropTypes.bool.isRequired,"
# PropType element
'React PropType element':
'prefix': 'rpe',
'body': "${1:myProp}: PropTypes.element,"
'React PropType element required':
'prefix': 'rper',
'body': "${1:myProp}: PropTypes.element.isRequired,"
# PropType function
'React PropType function':
'prefix': 'rpf',
'body': "${1:myProp}: PropTypes.func,"
'React PropType function required':
'prefix': 'rpfr',
'body': "${1:myProp}: PropTypes.func.isRequired,"
# PropType shape
'React PropType shape':
'prefix': 'rps',
'body': """
${1:myProp}: PropTypes.shape({
${2}
}),
"""
'React PropType shape required':
'prefix': 'rpsr',
'body': """
${1:myProp}: PropTypes.shape({
${2}
}).isRequired,
"""
# PropType object any
'React PropType object any':
'prefix': 'rpoa',
'body': "${1:myProp}: PropTypes.objectOf(PropTypes.any),"
'React PropType object any required':
'prefix': 'rpoar',
'body': "${1:myProp}: PropTypes.objectOf(PropTypes.any).isRequired,"
# PropType array of objects
'React PropType array objects':
'prefix': 'rpao',
'body': "${1:myProp}: PropTypes.arrayOf(PropTypes.object),"
'React PropType array objects required':
'prefix': 'rpaor',
'body': "${1:myProp}: PropTypes.arrayOf(PropTypes.object).isRequired,"
# React Intl
'i18n import':
'prefix': 'rim',
'body': "import { T } from '/imports/ui/components/general/Translation';"
'i18n Component':
'prefix': 'ri',
'body': '<T id="${1}" />'
'i18n Component with description':
'prefix': 'rid',
'body': '<T id="${1}" description="${2}" />'
# Tracking
'tracking import':
'prefix': 'tim',
'body': "import track from '/imports/js/helpers/analytics';"
'track':
'prefix': 'tr',
'body': "track('${1}', {})"
# Testing
'testing JSX':
'prefix': 'testc',
'body': """
/* eslint-env mocha */
import React from 'react';
import { expect } from 'chai';
import { shallow } from 'enzyme';
import ${1} from '../${1}';
describe('${1}', () => {
it('renders', () => {
const wrapper = shallow(<${1} />);
expect(wrapper.exists()).to.be.true;
})
})
"""
'testing JS':
'prefix': 'test',
'body': """
/* eslint-env mocha */
import { expect } from 'chai';
import ${1} from '../${2}'
describe('${3}', () => {
it('${4}', () => {
${5}
})
})
"""
'describe':
'prefix': 'desc',
'body': """
describe('${1}', () => {
${2}
})
"""
'it':
'prefix': 'it',
'body': """
it('${1}', () => {
${2}
})
"""
'expect':
'prefix': 'exp',
'body': """
expect(${1}).to.${2}
"""
'testRequire':
'prefix': 'tr',
'body': """
import testRequire from '/imports/js/helpers/testRequire';
const ${1} = testRequire('../${1}') || require('../${1}');
"""
/*
* Your Stylesheet
*
* This stylesheet is loaded when Atom starts up and is reloaded automatically
* when it is changed and saved.
*
* Add your own CSS or Less to fully customize Atom.
* If you are unfamiliar with Less, you can read more about it here:
* http://lesscss.org
*/
/*
* Examples
* (To see them, uncomment and save)
*/
// style the background color of the tree view
.tree-view {
// background-color: whitesmoke;
}
// style the background and foreground colors on the atom-text-editor-element itself
atom-text-editor {
// color: white;
// background-color: hsl(180, 24%, 12%);
}
// To style other content in the text editor's shadow DOM, use the ::shadow expression
atom-text-editor::shadow .cursor {
// border-color: red;
}
// autocomplete bugfix
atom-overlay.autocomplete-plus {
z-index: 5 !important;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment