Skip to content

Instantly share code, notes, and snippets.

@adamTrz
Last active April 6, 2017 09:15
Show Gist options
  • Select an option

  • Save adamTrz/1f182daff4088036fbf1752905e259dc to your computer and use it in GitHub Desktop.

Select an option

Save adamTrz/1f182daff4088036fbf1752905e259dc 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()}"
# 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 macOS 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.2"
},
{
"name": "archive-view",
"version": "0.62.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.2",
"theme": "syntax"
},
{
"name": "atom-material-syntax-dark",
"version": "0.2.7",
"theme": "syntax"
},
{
"name": "atom-material-ui",
"version": "1.3.9",
"theme": "ui"
},
{
"name": "atom-react-native-autocomplete",
"version": "0.0.27"
},
{
"name": "auto-update-packages",
"version": "1.0.1"
},
{
"name": "autocomplete-atom-api",
"version": "0.10.0"
},
{
"name": "autocomplete-css",
"version": "0.15.0"
},
{
"name": "autocomplete-html",
"version": "0.7.2"
},
{
"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": "badass-react-snippets",
"version": "1.1.0"
},
{
"name": "base16-tomorrow-dark-theme",
"version": "1.5.0",
"theme": "syntax"
},
{
"name": "base16-tomorrow-light-theme",
"version": "1.5.0",
"theme": "syntax"
},
{
"name": "batman-syntax",
"version": "1.1.0",
"theme": "syntax"
},
{
"name": "bookmarks",
"version": "0.44.1"
},
{
"name": "bracket-matcher",
"version": "0.85.2"
},
{
"name": "command-palette",
"version": "0.40.1"
},
{
"name": "deprecation-cop",
"version": "0.56.2"
},
{
"name": "dev-live-reload",
"version": "0.47.0"
},
{
"name": "encoding-selector",
"version": "0.23.1"
},
{
"name": "exception-reporting",
"version": "0.41.0"
},
{
"name": "file-icons",
"version": "2.1.2"
},
{
"name": "find-and-replace",
"version": "0.206.3"
},
{
"name": "fuzzy-finder",
"version": "1.4.1"
},
{
"name": "git-diff",
"version": "1.3.1"
},
{
"name": "git-plus",
"version": "7.3.3"
},
{
"name": "go-to-line",
"version": "0.32.0"
},
{
"name": "grammar-selector",
"version": "0.49.1"
},
{
"name": "haskell-grammar",
"version": "0.4.0"
},
{
"name": "highlight-selected",
"version": "0.13.1"
},
{
"name": "hyperclick",
"version": "0.0.40"
},
{
"name": "image-view",
"version": "0.60.0"
},
{
"name": "incompatible-packages",
"version": "0.26.1"
},
{
"name": "js-hyperclick",
"version": "1.10.1"
},
{
"name": "keybinding-resolver",
"version": "0.36.1"
},
{
"name": "language-babel",
"version": "2.57.2"
},
{
"name": "language-c",
"version": "0.56.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-css",
"version": "0.42.0"
},
{
"name": "language-gfm",
"version": "0.88.1"
},
{
"name": "language-git",
"version": "0.19.0"
},
{
"name": "language-go",
"version": "0.43.1"
},
{
"name": "language-graphql",
"version": "0.8.0"
},
{
"name": "language-html",
"version": "0.47.2"
},
{
"name": "language-hyperlink",
"version": "0.16.1"
},
{
"name": "language-ini",
"version": "1.19.0"
},
{
"name": "language-java",
"version": "0.26.0"
},
{
"name": "language-javascript",
"version": "0.126.1"
},
{
"name": "language-javascript-jsx",
"version": "0.3.7"
},
{
"name": "language-json",
"version": "0.18.3"
},
{
"name": "language-less",
"version": "0.30.1"
},
{
"name": "language-lua",
"version": "0.9.11"
},
{
"name": "language-make",
"version": "0.22.3"
},
{
"name": "language-mustache",
"version": "0.13.1"
},
{
"name": "language-objective-c",
"version": "0.15.1"
},
{
"name": "language-ocaml",
"version": "1.1.2"
},
{
"name": "language-perl",
"version": "0.37.0"
},
{
"name": "language-php",
"version": "0.37.4"
},
{
"name": "language-property-list",
"version": "0.9.0"
},
{
"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.57.1"
},
{
"name": "language-shellscript",
"version": "0.25.0"
},
{
"name": "language-source",
"version": "0.9.0"
},
{
"name": "language-sql",
"version": "0.25.3"
},
{
"name": "language-swift",
"version": "0.5.0"
},
{
"name": "language-text",
"version": "0.7.1"
},
{
"name": "language-thrift",
"version": "1.0.2"
},
{
"name": "language-todo",
"version": "0.29.1"
},
{
"name": "language-toml",
"version": "0.18.1"
},
{
"name": "language-xml",
"version": "0.34.16"
},
{
"name": "language-yaml",
"version": "0.28.0"
},
{
"name": "line-ending-selector",
"version": "0.6.1"
},
{
"name": "link",
"version": "0.31.2"
},
{
"name": "linter",
"version": "2.1.2"
},
{
"name": "linter-eslint",
"version": "8.1.4"
},
{
"name": "markdown-preview",
"version": "0.159.6"
},
{
"name": "merge-conflicts",
"version": "1.4.4"
},
{
"name": "metrics",
"version": "1.1.3"
},
{
"name": "minimap",
"version": "4.27.1"
},
{
"name": "notifications",
"version": "0.66.2"
},
{
"name": "nucleus-dark-ui",
"version": "0.11.0",
"theme": "ui"
},
{
"name": "nuclide",
"version": "0.214.0"
},
{
"name": "nuclide-format-js",
"version": "0.0.36"
},
{
"name": "nuclide-test-runner-jest",
"version": "0.3.0"
},
{
"name": "one-dark-syntax",
"version": "1.7.1",
"theme": "syntax"
},
{
"name": "one-dark-ui",
"version": "1.9.1",
"theme": "ui"
},
{
"name": "one-light-syntax",
"version": "1.7.1",
"theme": "syntax"
},
{
"name": "one-light-ui",
"version": "1.9.1",
"theme": "ui"
},
{
"name": "open-on-github",
"version": "1.2.1"
},
{
"name": "package-generator",
"version": "1.1.0"
},
{
"name": "pigments",
"version": "0.39.1"
},
{
"name": "platformio-ide-terminal",
"version": "2.5.0"
},
{
"name": "prettier-atom",
"version": "0.26.0"
},
{
"name": "react-snippets",
"version": "0.7.2"
},
{
"name": "set-syntax",
"version": "0.3.2"
},
{
"name": "settings-view",
"version": "0.247.0"
},
{
"name": "snippets",
"version": "1.0.5"
},
{
"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.14.0"
},
{
"name": "spell-check",
"version": "0.70.2"
},
{
"name": "status-bar",
"version": "1.8.1"
},
{
"name": "styleguide",
"version": "0.49.2"
},
{
"name": "symbols-view",
"version": "0.114.0"
},
{
"name": "sync-settings",
"version": "0.8.1"
},
{
"name": "tabs",
"version": "0.104.1"
},
{
"name": "timecop",
"version": "0.34.0"
},
{
"name": "tool-bar",
"version": "1.1.0"
},
{
"name": "tree-view",
"version": "0.214.1"
},
{
"name": "update-package-dependencies",
"version": "0.10.0"
},
{
"name": "welcome",
"version": "0.36.0"
},
{
"name": "whitespace",
"version": "0.36.2"
},
{
"name": "wrap-guide",
"version": "0.39.0"
}
]
{
"atom-material-ui": {
"colors": {
"abaseColor": "#5c6bc0",
"genAccent": true,
"paintCursor": true,
"predefinedColor": "Indigo"
},
"tabs": {
"compactTabs": true
},
"treeView": {
"compactList": true
}
},
"core": {
"customFileTypes": {
"source.ini": [
".buckconfig",
".hgrc",
".flowconfig"
],
"source.json": [
".arcconfig",
"BUCK.autodeps"
],
"source.python": [
"BUCK"
]
},
"disabledPackages": [
"tree-view",
"linter"
],
"openEmptyEditorOnStart": false,
"telemetryConsent": "no",
"themes": [
"nucleus-dark-ui",
"batman-syntax"
]
},
"editor": {
"fontFamily": "FiraCode-Light",
"fontSize": 17,
"scrollPastEnd": true,
"showIndentGuide": true,
"softWrap": true,
"zoomFontWhenCtrlScrolling": true
},
"exception-reporting": {
"userId": "b3e2fc68-8107-a5b7-4a40-feccb50295e2"
},
"file-icons": {},
"git-plus": {
"general": {
"_analyticsUserId": "1318f150-8479-4eab-ac0d-870d4b7287be"
}
},
"hyperclick": {},
"js-hyperclick": {},
"linter": {
"showErrorTabLine": true,
"showErrorTabProject": false
},
"linter-eslint": {},
"nuclide": {
"hyperclick": {
"darwinTriggerKeys": "altKey"
},
"installRecommendedPackages": true,
"nuclide-adb-logcat": {},
"nuclide-arcanist": {},
"nuclide-buck": {},
"nuclide-clang": {},
"nuclide-console": {},
"nuclide-datatip": {},
"nuclide-debugger-native": {},
"nuclide-debugger-node": {},
"nuclide-debugger-php": {},
"nuclide-definition-preview": {},
"nuclide-file-tree": {
"revealFileOnSwitch": true,
"showOpenFiles": false,
"showUncommittedChanges": false
},
"nuclide-flow": {},
"nuclide-hack": {},
"nuclide-health": {},
"nuclide-home": {
"showHome": false
},
"nuclide-ios-simulator-logs": {},
"nuclide-ocaml": {},
"nuclide-python": {},
"nuclide-react-native": {},
"nuclide-related-files": {},
"nuclide-remote-projects": {},
"nuclide-swift": {}
},
"platformio-ide-terminal": {
"style": {
"theme": "homebrew"
}
},
"prettier-atom": {
"formatOnSaveOptions": {
"enabled": true
},
"prettierOptions": {
"singleQuote": true
},
"useEslint": true
},
"sync-settings": {},
"terminal-plus": {
"core": {},
"style": {
"theme": "dracula"
}
},
"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':
'import':
'prefix': 'imp:'
'body': "import ${1} from '${2}'"
#Life-cycle methods:
"React: componentDidMount() { ... }":
prefix: "cdm:"
body: """
componentDidMount() {
${0}
}
"""
"React: componentDidUpdate(pp, ps) { ... }":
prefix: "cdup:"
body: "componentDidUpdate(prevProps, prevState) {\n\t${1}\n}${2}"
"React: componentWillMount() { ... }":
prefix: "cwm:"
body: "componentWillMount() {\n\t${1}\n}${2}"
"React: componentWillReceiveProps(np) { ... }":
prefix: "cwr:"
body: "componentWillReceiveProps(nextProps) {\n\t${1}\n}${2}"
"React: componentWillUnmount() { ... }":
prefix: "cwun:"
body: "componentWillUnmount() {\n\t${1}\n}${2}"
"React: componentWillUpdate(np, ns) { ... }":
prefix: "cwu:"
body: "componentWillUpdate(nextProps, nextState) {\n\t${1}\n}${2}"
"React: constructor(props)":
prefix: "rconst:"
body: """
constructor(props) {
super(props)
this.state = {${1}}
}
"""
#State:
"React: setState({ ... })":
prefix: "sst:"
body: "this.setState({${1}})"
"React: this.props.":
prefix: "props:"
body: "this.props.${1}"
"React: this.state.":
prefix: "state:"
body: "this.state.${1}"
#Props:
"React: Class.propTypes = { ... }":
prefix: "cpt:"
body: """
${1}.propTypes = {
${0}
}
"""
"React: Class.defaultProps = { ... }":
prefix: "cdp:"
body: """
${1}.defaultProps = {
${0}
}
"""
#Array
"React: PropTypes.array":
prefix: "ppta:"
body: "PropTypes.array,"
"React: PropTypes.array.required":
prefix: "pptar:"
body: "PropTypes.array.isRequired,"
#Bool
"React: PropTypes.bool":
prefix: "pptb:"
body: "PropTypes.bool,"
"React: PropTypes.bool.required":
prefix: "pptbr:"
body: "PropTypes.bool.isRequired,"
#Function
"React: PropTypes.func":
prefix: "pptf:"
body: "PropTypes.func,"
"React: PropTypes.func.required":
prefix: "pptfr:"
body: "PropTypes.func.isRequired,"
#Number
"React: PropTypes.number":
prefix: "pptn:"
body: "PropTypes.number,"
"React: PropTypes.number.required":
prefix: "pptnr:"
body: "PropTypes.number.isRequired,"
#Object
"React: PropTypes.object":
prefix: "ppto:"
body: "PropTypes.object,"
"React: PropTypes.object.required":
prefix: "pptor:"
body: "PropTypes.object.isRequired,"
#String
"React: PropTypes.string":
prefix: "ppts:"
body: "PropTypes.string,"
"React: PropTypes.string.required":
prefix: "pptsr:"
body: "PropTypes.string.isRequired,"
################
#REACT - NATIVE:
#Create Class:
"ReactNative: Extends Component":
prefix: "rnc:"
body: """
import React, {Component} from 'react'
import { View } from 'react-native'
class ${1} extends Component {
constructor(props) {
super(props)
this.state = {}
}
render() {
return (
<View>
</View>
)
}
}
export default ${1}
"""
#Create Stateless Functional Component:
"ReactNative: Stateless Functional Component":
prefix: "rsf"
body: """
const ${1} = ({${2}}) => (
<View>
</View>
)
"""
#Animations:
"ReactNative: Animated.timing":
prefix: "rnat:"
body: """
Animated.timing(${1}, {
toValue: ${2}, duration: ${3}
}).start()
"""
"ReactNative: Animated.spring":
prefix: "rnas:"
body: """
Animated.spring(${1}, {
toValue: ${2},
velocity: ${3}, // Velocity
tension: ${4}, // Speed
friction: ${5}, // Oscillation
}).start()
"""
"ReactNative: Animated.interpolate":
prefix: "interpol:"
body: """
${1}.interpolate({
inputRange: [ ${2} ],
outputRange: [ ${3} ],
extrapolate: "clamp"
})
"""
####
## ES6 Snippets
#.map
"ES6: Array.map":
prefix: "map"
body: """
map((${1:value}, ${2:idx}) => {
${0}
})
"""
#.filter
"ES6: Array.filter":
prefix: "filter"
body: """
filter((${1:value}, ${2:idx}) => {
${0}
})
"""
#.reduce
"ES6: Array.reduce":
prefix: "reduce"
body: """
reduce((${1:accumulator}, ${2:currentValue}) => {
${0}
})
"""
#.find
"ES6: Array.find":
prefix: "find"
body: """
find((${1:item}, ${2:idx}) => {
${0}
})
"""
/*
* 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