Skip to content

Instantly share code, notes, and snippets.

@bdthinh
Last active August 15, 2017 08:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save bdthinh/ba13701ccc0bc6ce316ba8a762b30102 to your computer and use it in GitHub Desktop.
Save bdthinh/ba13701ccc0bc6ce316ba8a762b30102 to your computer and use it in GitHub Desktop.
From 1.19.0: automatic update by http://atom.io/packages/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.
#
# 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:
# * https://atom.io/docs/latest/using-atom-basic-customization#customizing-key-bindings
# * https://atom.io/docs/latest/behind-atom-keymaps-in-depth
#
# This file uses CoffeeScript Object Notation (CSON).
# If you are unfamiliar with CSON, you can read more about it here:
# https://github.com/bevry/cson#what-is-cson
'body':
'cmd-o': 'unset!'
'shift-cmd-W': 'pane:close-other-items'
'.platform-darwin':
'cmd-)': 'tree-view:toggle-focus'
'cmd-`': 'tree-view:toggle-focus'
'cmd-b': 'unset!'
'cmd-t': 'fuzzy-finder:toggle-buffer-finder'
'.platform-darwin atom-workspace':
'cmd-o': 'advanced-open-file:toggle'
'.platform-darwin atom-text-editor':
'cmd-b': 'bookmarks:toggle-bookmark'
'atom-text-editor':
'cmd-g cmd-p': 'bookmarks:jump-to-previous-bookmark'
'cmd-g cmd-n': 'bookmarks:jump-to-next-bookmark'
'cmd-g cmd-l': 'go-to-line:toggle'
'atom-workspace':
'cmd-shift-k': 'git-control:toggle'
'cmd-i': 'node-requirer:import'
[
{
"name": "about",
"version": "1.7.6"
},
{
"name": "advanced-open-file",
"version": "0.16.6"
},
{
"name": "archive-view",
"version": "0.63.3"
},
{
"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-ternjs",
"version": "0.18.3"
},
{
"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.5"
},
{
"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.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.86.0"
},
{
"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.10"
},
{
"name": "find-and-replace",
"version": "0.208.3"
},
{
"name": "fuzzy-finder",
"version": "1.5.8"
},
{
"name": "git-blame",
"version": "1.2.1"
},
{
"name": "git-diff",
"version": "1.3.6"
},
{
"name": "git-time-machine",
"version": "1.5.9"
},
{
"name": "github",
"version": "0.3.4-0"
},
{
"name": "go-to-line",
"version": "0.32.1"
},
{
"name": "grammar-selector",
"version": "0.49.5"
},
{
"name": "hyperclick",
"version": "0.1.3"
},
{
"name": "image-view",
"version": "0.61.2"
},
{
"name": "incompatible-packages",
"version": "0.27.3"
},
{
"name": "intentions",
"version": "1.1.5"
},
{
"name": "js-hyperclick",
"version": "1.11.0"
},
{
"name": "jumpy",
"version": "3.1.3"
},
{
"name": "keybinding-resolver",
"version": "0.38.0"
},
{
"name": "language-babel",
"version": "2.71.0"
},
{
"name": "language-c",
"version": "0.58.1"
},
{
"name": "language-clojure",
"version": "0.22.3"
},
{
"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.1"
},
{
"name": "language-git",
"version": "0.19.1"
},
{
"name": "language-go",
"version": "0.44.1"
},
{
"name": "language-html",
"version": "0.47.3"
},
{
"name": "language-hyperlink",
"version": "0.16.1"
},
{
"name": "language-java",
"version": "0.27.2"
},
{
"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.39.0"
},
{
"name": "language-property-list",
"version": "0.9.1"
},
{
"name": "language-python",
"version": "0.45.3"
},
{
"name": "language-ruby",
"version": "0.71.1"
},
{
"name": "language-ruby-on-rails",
"version": "0.25.2"
},
{
"name": "language-sass",
"version": "0.59.0"
},
{
"name": "language-shellscript",
"version": "0.25.1"
},
{
"name": "language-source",
"version": "0.9.0"
},
{
"name": "language-sql",
"version": "0.25.6"
},
{
"name": "language-text",
"version": "0.7.3"
},
{
"name": "language-todo",
"version": "0.29.1"
},
{
"name": "language-toml",
"version": "0.18.1"
},
{
"name": "language-xml",
"version": "0.35.1"
},
{
"name": "language-yaml",
"version": "0.30.0"
},
{
"name": "line-ending-selector",
"version": "0.7.3"
},
{
"name": "link",
"version": "0.31.3"
},
{
"name": "linter",
"version": "2.2.0"
},
{
"name": "linter-eslint",
"version": "8.2.1"
},
{
"name": "linter-flow",
"version": "5.6.0"
},
{
"name": "linter-ui-default",
"version": "1.6.4"
},
{
"name": "local-history",
"version": "4.3.0"
},
{
"name": "markdown-preview",
"version": "0.159.12"
},
{
"name": "metrics",
"version": "1.2.6"
},
{
"name": "notifications",
"version": "0.67.2"
},
{
"name": "one-dark-syntax",
"version": "1.7.1",
"theme": "syntax"
},
{
"name": "one-dark-ui",
"version": "1.10.5",
"theme": "ui"
},
{
"name": "one-light-syntax",
"version": "1.7.1",
"theme": "syntax"
},
{
"name": "one-light-ui",
"version": "1.10.5",
"theme": "ui"
},
{
"name": "open-on-github",
"version": "1.2.1"
},
{
"name": "package-generator",
"version": "1.1.1"
},
{
"name": "pigments",
"version": "0.40.2"
},
{
"name": "prettier-atom",
"version": "0.37.0"
},
{
"name": "react-es6-snippets",
"version": "0.3.0"
},
{
"name": "settings-view",
"version": "0.250.0"
},
{
"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.1"
},
{
"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.2"
},
{
"name": "update-package-dependencies",
"version": "0.12.0"
},
{
"name": "welcome",
"version": "0.36.4"
},
{
"name": "whitespace",
"version": "0.37.2"
},
{
"name": "wrap-guide",
"version": "0.40.2"
}
]
{
"core": {
"automaticallyUpdate": false,
"telemetryConsent": "limited",
"warnOnLargeFileLimit": 42
},
"editor": {
"fontFamily": "\"operator mono\"",
"preferredLineLength": 100,
"scrollSensitivity": 60,
"softWrapHangingIndent": 100
},
"exception-reporting": {
"userId": "abca0d3f-734a-43ee-b43f-e163e179594e"
},
"git-blame": {
"columnWidth": 250,
"showOnlyLastNames": true
},
"linter-ui-default": {
"showPanel": true
},
"one-dark-ui": {},
"sync-settings": {
"checkForUpdatedBackup": false,
"gistDescription": "From 1.19.0: automatic update by http://atom.io/packages/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'
#
# This file uses CoffeeScript Object Notation (CSON).
# If you are unfamiliar with CSON, you can read more about it here:
# https://github.com/bevry/cson#what-is-cson
'.source.js':
'lambda function':
'prefix': 'lf',
'body': '($1) => $2'
'lambda function with block body':
'prefix': 'lfb',
'body': '($1) => {\n$2\n}'
'lambda function with one param':
'prefix': '1lf',
'body': '$1 => $2'
'variable log':
'prefix': 'varlog',
'body': 'console.log(\'$1\', $1);'
'export default':
prefix: 'exdef'
body: 'export default $1;'
'import React':
'prefix': 'imre'
'body': 'import React from \'react\';'
'import ReactDOM':
'prefix': 'imredo'
'body': 'import ReactDOM from \'react-dom\';'
'import chai':
'prefix': 'imchai'
'body': 'import { expect } from \'chai\';\n'
'import connect':
'prefix': 'imco'
'body': 'import { connect } from \'react-redux\';'
'import reselect':
prefix: 'imreselect'
body: 'import { create$1Selector } from \'reselect\';';
'import recompose':
prefix: 'imrecompose',
body: "import $1 from 'recompose/$1';\n"
'import lodash fp':
prefix: 'imlofp'
body: "import { $1 } from 'lodash/fp';\n"
'export default':
prefix: 'expdef'
body: 'export default $1;\n'
'flowtap':
prefix: 'flowtap'
body: 'data => { console.log($1, data); return data; },'
'React Component Constructor':
'prefix': 'slcom'
'body': '''
import React, { PropTypes } from 'react';
const $1 = ({ $2 }) => (
<div />
);
// eslint-disable-next-line immutable/no-mutation
$1.propTypes = {
$3
};
export default $1;
'''
'Redux Action Handler':
'prefix': 'ah'
'body': '[$1]: (state, { payload, meta }) => {\n $2return state;\n},'
'Redux Action Creator':
'prefix': 'ac'
'body': '''
export const $1 = '$1';
export const $2 = createAction(
$1,
($3) => ({
$3
})
);
'''
'it block with lambda':
'prefix': 'it'
'body': 'it(\'should $1\', () => {\n$2\n});'
'describe block with lambda':
'prefix': 'desc'
'body': 'describe(\'$1\', () => {\n$2\n});'
'context block with lambda':
'prefix': 'cont'
'body': 'context(\'$1\', () => {\n$2\n});'
'sleep promise':
'prefix': 'sleep'
'body': 'const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));'
'connect':
'prefix': 'conco'
'body': 'const enhance = connect(\n(state) => $1,\n(dispatch) => $2\n);\n'
'eslint immutable/no-let':
'prefix': 'no-let'
'body': 'immutable/no-let'
'eslint immutable/no-this':
'prefix': 'no-this'
'body': 'immutable/no-this'
'eslint immutable/no-mutation':
'prefix': 'no-mutation'
'body': 'immutable/no-mutation'
'eslint-disable':
'prefix': 'dislint'
'body': '/* eslint-disable */\n'
'eslint-disable-next-line':
'prefix': 'disnline'
'body': '// eslint-disable-next-line $1'
'flow':
prefix: 'atflow'
body: '/* @flow */'
.workspace {
font-size: 12px;
}
.tab-bar .tab {
font-family: "operator mono";
font-size: 14px;
height: 40px;
color: rgba(255, 255, 255, .71);
&.active[title] {
font-size: 16px;
font-style: italic;
color: white;
&::before {
width: 4px;
}
}
}
// style the background color of the tree view
.tree-view {
font-family: "menlo";
letter-spacing: -.5px;
}
// 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-left: none;
background: rgba(255, 255, 255, 0.25);
}
atom-text-editor {
text-rendering: optimizeLegibility;
}
atom-text-editor::shadow {
.entity.other.attribute-name,
.modifier,
.control,
.var
{
font-family: "operator mono" !important;
font-style: italic;
}
}
atom-text-editor::shadow {
.punctuation, .operator:not(.typeof):not(.new), .arrow.function, .hex {
font-family: "fira code" !important;
* {
font-family: "operator mono";
}
}
}
atom-text-editor::shadow .string.quoted,
atom-text-editor::shadow .string.regexp {
-webkit-font-feature-settings: "liga" off, "calt" off;
}
atom-text-editor .cursor {
opacity: 1 !important;
border-width: 1vh;
}
// green
@normal-bg: rgb(105, 238, 103);
// blue
@insert-bg: rgb(7, 193, 242);
// yellowish
@visual-bg: rgb(255, 206, 98);
// change the current cursor-line background color
// based on vim mode
atom-text-editor.is-focused.editor {
.cursor-line {
// background: rgba(64, 64, 37, 5);
background: fadeout(@normal-bg, 80%);
}
&.insert-mode {
.cursor-line {
background: fadeout(@insert-bg, 90%);
}
}
}
// vim mode in the status bar at the bottom
// make it nice and big so you can see it out of the corner of your eye
// without thinking about it.
.status-bar-vim-mode-normal,
.status-bar-vim-mode-insert,
.status-bar-vim-mode-visual {
font-weight: bold;
text-align: center;
font-size: 1.5em;
width: 18rem;
text-transform: uppercase;
}
.status-bar-vim-mode-normal {
background: @normal-bg;
color: rgb(4, 111, 11);
}
.status-bar-vim-mode-insert {
background: @insert-bg;
color: white;
}
.status-bar-vim-mode-visual {
background: @visual-bg;
color: rgb(168, 117, 5);
}
// change cursor color in normal mode
atom-text-editor.vim-mode.normal-mode.is-focused.editor {
.cursor {
background-color: @normal-bg;
}
}
// visual mode and selected text
atom-text-editor.editor .selection .region {
background-color: fadeout(@visual-bg, 75%);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment