Skip to content

Instantly share code, notes, and snippets.

@cnolimit
Last active July 30, 2017 17:49
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 cnolimit/0bb9984ed6f838d1b9b2f24602aa9968 to your computer and use it in GitHub Desktop.
Save cnolimit/0bb9984ed6f838d1b9b2f24602aa9968 to your computer and use it in GitHub Desktop.
sync-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
[
{
"name": "about",
"version": "1.7.6"
},
{
"name": "archive-view",
"version": "0.63.2"
},
{
"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.6",
"theme": "syntax"
},
{
"name": "atom-material-ui",
"version": "2.0.4",
"theme": "ui"
},
{
"name": "autocomplete-atom-api",
"version": "0.10.1"
},
{
"name": "autocomplete-css",
"version": "0.16.2"
},
{
"name": "autocomplete-html",
"version": "0.8.0"
},
{
"name": "autocomplete-plus",
"version": "2.35.4"
},
{
"name": "autocomplete-snippets",
"version": "1.11.0"
},
{
"name": "autoflow",
"version": "0.29.0"
},
{
"name": "autosave",
"version": "0.24.3"
},
{
"name": "background-tips",
"version": "0.27.0"
},
{
"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.85.5"
},
{
"name": "busy-signal",
"version": "1.4.3"
},
{
"name": "command-palette",
"version": "0.40.4"
},
{
"name": "dalek",
"version": "0.2.1"
},
{
"name": "deprecation-cop",
"version": "0.56.7"
},
{
"name": "dev-live-reload",
"version": "0.47.1"
},
{
"name": "encoding-selector",
"version": "0.23.4"
},
{
"name": "exception-reporting",
"version": "0.41.4"
},
{
"name": "file-icons",
"version": "2.1.9"
},
{
"name": "find-and-replace",
"version": "0.208.3"
},
{
"name": "fuzzy-finder",
"version": "1.5.8"
},
{
"name": "git-diff",
"version": "1.3.6"
},
{
"name": "github",
"version": "0.3.3"
},
{
"name": "go-to-line",
"version": "0.32.1"
},
{
"name": "grammar-selector",
"version": "0.49.5"
},
{
"name": "image-view",
"version": "0.61.2"
},
{
"name": "incompatible-packages",
"version": "0.27.3"
},
{
"name": "intentions",
"version": "1.1.2"
},
{
"name": "keybinding-resolver",
"version": "0.38.0"
},
{
"name": "language-babel",
"version": "2.67.2"
},
{
"name": "language-c",
"version": "0.58.0"
},
{
"name": "language-clojure",
"version": "0.22.2"
},
{
"name": "language-coffee-script",
"version": "0.48.7"
},
{
"name": "language-csharp",
"version": "0.14.2"
},
{
"name": "language-css",
"version": "0.42.2"
},
{
"name": "language-gfm",
"version": "0.89.0"
},
{
"name": "language-git",
"version": "0.19.1"
},
{
"name": "language-go",
"version": "0.44.0"
},
{
"name": "language-html",
"version": "0.47.2"
},
{
"name": "language-hyperlink",
"version": "0.16.1"
},
{
"name": "language-java",
"version": "0.27.1"
},
{
"name": "language-javascript",
"version": "0.126.1"
},
{
"name": "language-json",
"version": "0.19.1"
},
{
"name": "language-less",
"version": "0.32.0"
},
{
"name": "language-make",
"version": "0.22.3"
},
{
"name": "language-mustache",
"version": "0.14.1"
},
{
"name": "language-objective-c",
"version": "0.15.1"
},
{
"name": "language-perl",
"version": "0.37.0"
},
{
"name": "language-php",
"version": "0.38.0"
},
{
"name": "language-postcss",
"version": "1.3.1"
},
{
"name": "language-property-list",
"version": "0.9.1"
},
{
"name": "language-python",
"version": "0.45.2"
},
{
"name": "language-ruby",
"version": "0.71.0"
},
{
"name": "language-ruby-on-rails",
"version": "0.25.2"
},
{
"name": "language-sass",
"version": "0.59.0"
},
{
"name": "language-shellscript",
"version": "0.25.0"
},
{
"name": "language-source",
"version": "0.9.0"
},
{
"name": "language-sql",
"version": "0.25.5"
},
{
"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.7.1"
},
{
"name": "link",
"version": "0.31.3"
},
{
"name": "linter",
"version": "2.2.0"
},
{
"name": "linter-eslint",
"version": "8.2.1"
},
{
"name": "linter-stylelint",
"version": "4.0.0"
},
{
"name": "linter-ui-default",
"version": "1.6.3"
},
{
"name": "markdown-preview",
"version": "0.159.12"
},
{
"name": "metrics",
"version": "1.2.5"
},
{
"name": "notifications",
"version": "0.67.2"
},
{
"name": "one-dark-syntax",
"version": "1.7.1",
"theme": "syntax"
},
{
"name": "one-dark-ui",
"version": "1.10.4",
"theme": "ui"
},
{
"name": "one-light-syntax",
"version": "1.7.1",
"theme": "syntax"
},
{
"name": "one-light-ui",
"version": "1.10.4",
"theme": "ui"
},
{
"name": "open-on-github",
"version": "1.2.1"
},
{
"name": "package-generator",
"version": "1.1.1"
},
{
"name": "platformio-ide-terminal",
"version": "2.5.3"
},
{
"name": "prettier-atom",
"version": "0.36.1"
},
{
"name": "settings-view",
"version": "0.249.4"
},
{
"name": "snippets",
"version": "1.1.4"
},
{
"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.4"
},
{
"name": "status-bar",
"version": "1.8.11"
},
{
"name": "styleguide",
"version": "0.49.6"
},
{
"name": "symbols-view",
"version": "0.116.0"
},
{
"name": "sync-settings",
"version": "0.8.2"
},
{
"name": "tabs",
"version": "0.106.2"
},
{
"name": "timecop",
"version": "0.36.0"
},
{
"name": "tree-view",
"version": "0.217.1"
},
{
"name": "update-package-dependencies",
"version": "0.12.0"
},
{
"name": "welcome",
"version": "0.36.4"
},
{
"name": "whitespace",
"version": "0.36.2"
},
{
"name": "wrap-guide",
"version": "0.40.2"
}
]
{
"atom-material-ui": {
"colors": {
"abaseColor": "#9276c4",
"predefinedColor": "Indigo"
},
"fonts": {
"fontSize": 14
},
"tabs": {
"noTabMinWidth": true,
"tintedTabBar": true
},
"treeView": {
"blendTabs": true,
"compactList": true
},
"ui": {
"panelContrast": true,
"panelShadows": true
}
},
"core": {
"closeDeletedFileTabs": true,
"telemetryConsent": "no",
"themes": [
"atom-material-ui",
"one-dark-syntax"
]
},
"editor": {},
"exception-reporting": {
"userId": "74a5762d-356d-e359-14f0-ddac4daa1808"
},
"linter": {},
"linter-ui-default": {
"panelHeight": 81
},
"one-light-ui": {
"fontSize": 12,
"layoutMode": "Compact",
"tabSizing": "Even"
},
"prettier-atom": {
"formatOnSaveOptions": {
"enabled": true,
"showInStatusBar": true
},
"prettierEslintOptions": {
"prettierLast": true
},
"prettierOptions": {},
"useEslint": true
},
"react": {
"enabledForAllJavascriptFiles": true
},
"sync-settings": {
"gistDescription": "sync-settings"
},
"tree-view": {},
"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:
# https://atom.io/docs/latest/using-atom-basic-customization#cson
'.source.js.jsx':
'React ES6 Component':
'prefix': 'rc'
'body': """
import React, { Component } from 'react'
import styles from './styles.pcss'
export class ${1:MyComponent} extends Component {
render() {
return (${2:<div>MyComponent</div>})
}
}
${1}.propTypes = {
}
export default ${1:MyComponent}
"""
'React ES6 Component with Constructor':
'prefix': 'rcc'
'body': """
import React, { Component, PropTypes } from 'react'
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, { PropTypes } from 'react'
export default function ${1}(props) {
return (
${2:<div>MyComponent</div>}
)
}
${1}.propTypes = {
}
"""
'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}
}
"""
'React ES6 class':
'prefix': 'rcomponent'
'body': """
import React, { Component } from 'react';
class ${1} extends Component {
render() {
return (<div>Hello World!</div>);
}
}
export default ${1};
"""
'React stateless component':
'prefix': 'rscomponent'
'body': """
import React from 'react';
import PropTypes from "prop-types";
import styled from 'styled-components';
const Styled${1} = styled.${2}`
${3}
`;
const ${1} = ({ ${4} }) => (
<Styled${1} />
);
${1}.propTypes = {
${4}: PropTypes.${5}.isRequired
};
export default ${1};
"""
'React reducer':
'prefix': 'rreducer'
'body': """
const initialState = {}
export default (state = initialState, action) => {
switch (action.type) {
default:
return state;
}
};
"""
'React styled component':
'prefix': 'styled'
'body': """
const ${1} = styled.${2}`
${3}
`;
"""
# 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,
"""
'.source.js':
'Console log':
'prefix': 'cl'
'body': "console.log('$1')"
'.js':
'React class':
'prefix': 'rt'
'body': """
import { renderComponent, expect } from 'helpers/tests'
import App from './index'
describe('App', () => {
let component
beforeEach(() => {
component = renderComponent(App)
})
it('has className "App"', () => {
expect(component).to.have.class('App')
})
})
"""
'.scss':
'React Component SCSS':
'prefix': 'cs'
'body': """
@import '~styles/settings'
@import '~styles/mixins'
.ExampleClass {
}
"""
/*
* 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;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment