Skip to content

Instantly share code, notes, and snippets.

@vjpr
Last active February 26, 2024 04:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vjpr/b08b34ed2d9bd6ed0b5fe7fa4ded1532 to your computer and use it in GitHub Desktop.
Save vjpr/b08b34ed2d9bd6ed0b5fe7fa4ded1532 to your computer and use it in GitHub Desktop.

Atom Settings

Atom took ages to setup correctly to get the same functionality I was use to when doing Node.js, ES6/7 development in IntelliJ.

Therefore I want to share all my settings with the world to hopefully save some of you some time.

I use the synced-settings Atom module which syncs my Atom settings to a Gist.

Usage

  • apm install sync-settings
  • Run sync-settings:fork and enter this Gist ID

Development

There is the potential to leak ids stored in the config.json. sync-settings has a key blacklist option, but there is always the chance that a new backup will contains some new private info if a new package is installed.

For this reason I sync to a private gist, then push this to a public gist after checking there is no private info.

# Clone private gist locally
git clone <private-gist-url>
git remote add public <public-gist-url>
git push -f public master

# When you want to update public gist 
git pull
git push public master
Atom Synced 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 make opened Markdown files always be soft wrapped:
#
# path = require 'path'
#
# atom.workspaceView.eachEditorView (editorView) ->
# editor = editorView.getEditor()
# if path.extname(editor.getPath()) is '.md'
# editor.setSoftWrap(true)
# Your keymap
#
# Atom keymaps work similarly to stylesheets. Just as stylesheets 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:
#
# '.editor':
# 'enter': 'editor:newline'
#
# 'body':
# 'ctrl-P': 'core:move-up'
# 'ctrl-p': 'core:move-down'
#
'core':
'cmd-shift-n': 'unset!'
'cmd-shift-x': 'unset!'
# 'cmd-n': 'application:new-window'
#
# 'body':
# 'cmd-n': 'application:new-window'
#
# 'body':
# 'cmd-t': 'application:new-file'
'.editor':
'cmd-shift-n': 'fuzzy-finder:toggle-file-finder'
'alt-shift-up': 'editor:move-line-up'
'alt-shift-down':'editor:move-line-down'
'cmd-shift-w': 'pane:close-other-items'
'cmd-shift-a': 'command-palette:toggle'
'cmd-l': 'go-to-line:toggle'
'ctrl-alt-cmd-up': 'pane:split-right'
'ctrl-alt-cmd-down': 'pane:split-down'
# 'cmd-w': 'editor:select-word'
# 'cmd-alt-l': 'clang-format:format'
'cmd-alt-l': 'atom-beautify:beautify-editor'
'cmd-alt-k': 'linter-eslint:fix-file'
# 'cmd-alt-k': 'esformatter'
# '.platform-darwin atom-text-editor':
# 'ctrl-alt-d': 'hyperclick:confirm-cursor'
# 'cmd-alt-down': 'hyperclick:confirm-cursor'
'atom-workspace atom-text-editor:not([mini])':
# Doesn't work with hyperclick.
# 'ctrl-alt-]': 'move-panes:move-right'
# 'ctrl-alt-[': 'move-panes:move-left'
'ctrl-alt-]': 'window:move-active-item-to-pane-on-right'
'ctrl-alt-[': 'window:move-active-item-to-pane-on-left'
'ctrl-alt-shift-]': 'window:focus-pane-on-right'
'ctrl-alt-shift-[': 'window:focus-pane-on-left'
'shift-cmd-up': 'editor:move-line-up'
'shift-cmd-down': 'editor:move-line-down'
'cmd-d': 'editor:duplicate-lines'
'ctrl-d': 'toggle-markdown-task:toggle'
'cmd-y': 'editor:delete-line'
# 'cmd-d': 'find-and-replace:select-next'
'cmd-d': 'editor:duplicate-lines'
# 'f3': 'find-and-replace:select-next'
'cmd-t': 'application:new-file'
# 'cmd-n': 'application:new-window'
'cmd-e': 'unset!'
'cmd-e': 'fuzzy-finder:toggle-buffer-finder'
'cmd-shift-e': 'fuzzy-finder:toggle-git-status-finder'
'cmd-w': 'expand-region:expand'
'cmd-shift-w': 'expand-region:shrink'
'alt-f1': 'tree-view:reveal-active-file'
'alt-delete': 'editor:delete-to-next-word-boundary'
'alt-backspace': 'editor:delete-to-previous-word-boundary'
# Doesn't work without vim mode.
# 'ctrl-up': 'vim-mode-plus-user:move-to-previous-symbol'
# 'ctrl-down': 'vim-mode-plus-user:move-to-next-symbol'
# IntelliJ Find Usages equivalent.
'alt-f7': 'project-find:search-under-cursor'
# 'f5': 'find-and-replace:search-under-cursor'
'f3': 'find-and-replace:find-next'
'cmd-r': 'find-and-replace:show-replace'
'shift-f6': 'refactor:rename'
'ctrl-up': 'navigate-indent:prev'
'ctrl-down': 'navigate-indent:next'
'ctrl-left': 'navigate-indent:up'
'ctrl-right': 'navigate-indent:down'
'cmd-shift-v': 'clipboard-plus:toggle'
'body':
'cmd-shift-w': 'pane:close-other-items'
'cmd-shift-n': 'fuzzy-finder:toggle-file-finder'
'cmd-shift-t': 'pane:reopen-closed-item'
'cmd-9': 'git-control:toggle'
'cmd-w': 'unset!'
'cmd-w': 'expand-region:expand'
'cmd-f4': 'core:close'
'ctrl-shift-f': 'project-find:show'
# 'cmd-1': 'tree-view:toggle'
'cmd-f1': 'tree-view:toggle-focus'
'alt-cmd-shift-left': 'pane:show-previous-item'
'alt-cmd-shift-right': 'pane:show-next-item'
'atom-workspace':
'cmd-alt-left': 'last-cursor-position:previous'
'cmd-alt-right': 'last-cursor-position:next'
'cmd-shift-x': 'zentabs:toggletab'
'shift-cmd-T': 'pane:reopen-closed-item'
'cmd-f5': 'wallaby:toggle-panel'
# 'shift-cmd-T': 'terminal-plus:new'
'f12': 'symbols-view:toggle-file-symbols'
'cmd-n': 'symbols-view:toggle-project-symbols'
'cmd-alt-n': 'application:new-file'
'cmd-ctrl-i': 'require2import:convert'
# 'tree-view':
# 'ctrl-n': 'application:new-file !important'
######
# Default Keymaps for Markdown Writer
# https://atom.io/packages/markdown-writer
#
# Wiki: https://github.com/zhuochun/md-writer/wiki/Settings-for-Keymaps
#
# ".platform-darwin atom-text-editor[data-grammar~='gfm']":
# ".platform-darwin atom-text-editor:not([mini])":
".platform-darwin atom-text-editor[data-grammar~='md']":
"shift-cmd-K": "markdown-writer:insert-link"
"shift-cmd-I": "markdown-writer:insert-image"
"cmd-i": "markdown-writer:toggle-italic-text"
"cmd-b": "markdown-writer:toggle-bold-text"
"cmd-'": "markdown-writer:toggle-code-text"
"cmd-k": "markdown-writer:toggle-keystroke-text"
"cmd-h": "markdown-writer:toggle-strikethrough-text"
'cmd->': "markdown-writer:toggle-blockquote"
'cmd-"': "markdown-writer:toggle-codeblock-text"
"ctrl-alt-1": "markdown-writer:toggle-h1"
"ctrl-alt-2": "markdown-writer:toggle-h2"
"ctrl-alt-3": "markdown-writer:toggle-h3"
"ctrl-alt-4": "markdown-writer:toggle-h4"
"ctrl-alt-5": "markdown-writer:toggle-h5"
"shift-cmd-O": "markdown-writer:toggle-ol"
"shift-cmd-U": "markdown-writer:toggle-ul"
"cmd-j cmd-p": "markdown-writer:jump-to-previous-heading"
"cmd-j cmd-n": "markdown-writer:jump-to-next-heading"
"cmd-j cmd-d": "markdown-writer:jump-to-reference-definition"
"cmd-j cmd-t": "markdown-writer:jump-to-next-table-cell"
[
{
"name": "Remote-FTP",
"version": "0.7.20"
},
{
"name": "Sublime-Style-Column-Selection",
"version": "1.5.1"
},
{
"name": "Zen",
"version": "0.16.4"
},
{
"name": "about",
"version": "1.4.2"
},
{
"name": "activate-power-mode",
"version": "0.4.1"
},
{
"name": "active-files",
"version": "1.2.0"
},
{
"name": "advanced-open-file",
"version": "0.16.1"
},
{
"name": "archive-view",
"version": "0.61.1"
},
{
"name": "ask-stack",
"version": "2.2.0"
},
{
"name": "atom-beautify",
"version": "0.29.4"
},
{
"name": "atom-bootstrap4",
"version": "1.4.0"
},
{
"name": "atom-dark-syntax",
"version": "0.27.0",
"theme": "syntax"
},
{
"name": "atom-dark-ui",
"version": "0.51.0",
"theme": "ui"
},
{
"name": "atom-github-2014-syntax",
"version": "1.5.0",
"theme": "syntax"
},
{
"name": "atom-html-preview",
"version": "0.1.19"
},
{
"name": "atom-import-sort",
"version": "0.6.0"
},
{
"name": "atom-light-syntax",
"version": "0.28.0",
"theme": "syntax"
},
{
"name": "atom-light-ui",
"version": "0.43.0",
"theme": "ui"
},
{
"name": "atom-runner",
"version": "2.6.0"
},
{
"name": "atom-wallaby",
"version": "1.0.7"
},
{
"name": "atom-webstorm-keymap",
"version": "0.0.0"
},
{
"name": "atom-webstorm-syntax-theme",
"version": "0.0.0",
"theme": "syntax"
},
{
"name": "atom-webstorm-ui-theme",
"version": "0.0.0",
"theme": "ui"
},
{
"name": "atomic-chrome",
"version": "0.3.0"
},
{
"name": "autocomplete-atom-api",
"version": "0.10.0"
},
{
"name": "autocomplete-css",
"version": "0.11.0"
},
{
"name": "autocomplete-html",
"version": "0.7.2"
},
{
"name": "autocomplete-modules",
"version": "1.4.1"
},
{
"name": "autocomplete-plus",
"version": "2.29.1"
},
{
"name": "autocomplete-snippets",
"version": "1.10.0"
},
{
"name": "autoflow",
"version": "0.27.0"
},
{
"name": "autosave",
"version": "0.23.1"
},
{
"name": "background-tips",
"version": "0.26.0"
},
{
"name": "base16-tomorrow-dark-theme",
"version": "1.1.0",
"theme": "syntax"
},
{
"name": "base16-tomorrow-light-theme",
"version": "1.1.1",
"theme": "syntax"
},
{
"name": "bookmarks",
"version": "0.38.2"
},
{
"name": "bracket-matcher",
"version": "0.81.0"
},
{
"name": "browser-plus",
"version": "0.0.60"
},
{
"name": "clang-format",
"version": "1.25.0"
},
{
"name": "clipboard-plus",
"version": "0.5.1"
},
{
"name": "color-picker",
"version": "2.1.1"
},
{
"name": "command-palette",
"version": "0.38.0"
},
{
"name": "comment-down",
"version": "0.1.1"
},
{
"name": "cursor-history",
"version": "0.5.9"
},
{
"name": "dash",
"version": "1.6.0"
},
{
"name": "date",
"version": "1.1.1"
},
{
"name": "deprecation-cop",
"version": "0.54.1"
},
{
"name": "dev-live-reload",
"version": "0.47.0"
},
{
"name": "docblockr",
"version": "0.7.3"
},
{
"name": "editorconfig",
"version": "1.3.0"
},
{
"name": "emmet",
"version": "2.4.3"
},
{
"name": "encoding-selector",
"version": "0.21.0"
},
{
"name": "es6-javascript",
"version": "0.7.0"
},
{
"name": "esformatter",
"version": "1.25.0"
},
{
"name": "exception-reporting",
"version": "0.37.0"
},
{
"name": "expand-region",
"version": "0.2.4"
},
{
"name": "file-icons",
"version": "1.7.4"
},
{
"name": "file-types",
"version": "0.5.1"
},
{
"name": "find-and-replace",
"version": "0.199.0"
},
{
"name": "find-and-replace-under-cursor",
"version": "0.3.0"
},
{
"name": "foldername-tabs",
"version": "0.1.11"
},
{
"name": "format-javascript-comment",
"version": "0.1.1"
},
{
"name": "fuzzy-finder",
"version": "1.0.5"
},
{
"name": "gist-it",
"version": "0.9.1"
},
{
"name": "git-blame",
"version": "0.4.8"
},
{
"name": "git-control",
"version": "0.7.1"
},
{
"name": "git-diff",
"version": "1.0.1"
},
{
"name": "git-diff-details",
"version": "1.2.0"
},
{
"name": "git-history",
"version": "3.2.0"
},
{
"name": "git-log",
"version": "0.4.1"
},
{
"name": "git-plus",
"version": "5.13.4"
},
{
"name": "git-status",
"version": "0.3.4"
},
{
"name": "git-time-machine",
"version": "1.4.1"
},
{
"name": "go-to-line",
"version": "0.30.0"
},
{
"name": "grammar-selector",
"version": "0.48.1"
},
{
"name": "hyperclick",
"version": "0.0.35"
},
{
"name": "hyperclick-markdown",
"version": "0.1.0"
},
{
"name": "hyperlink-hyperclick",
"version": "1.3.1"
},
{
"name": "image-view",
"version": "0.57.0"
},
{
"name": "incompatible-packages",
"version": "0.25.1"
},
{
"name": "indent-guide-improved",
"version": "1.4.5"
},
{
"name": "js-hyperclick",
"version": "1.4.2"
},
{
"name": "js-refactor",
"version": "0.6.0"
},
{
"name": "keybinding-resolver",
"version": "0.35.0"
},
{
"name": "language-babel",
"version": "2.17.3"
},
{
"name": "language-c",
"version": "0.51.1"
},
{
"name": "language-clojure",
"version": "0.20.0"
},
{
"name": "language-coffee-script",
"version": "0.46.1"
},
{
"name": "language-csharp",
"version": "0.12.0"
},
{
"name": "language-css",
"version": "0.36.0"
},
{
"name": "language-git",
"version": "0.12.1"
},
{
"name": "language-go",
"version": "0.42.0"
},
{
"name": "language-hjson",
"version": "0.2.0"
},
{
"name": "language-html",
"version": "0.44.1"
},
{
"name": "language-hyperlink",
"version": "0.16.0"
},
{
"name": "language-java",
"version": "0.17.0"
},
{
"name": "language-javascript",
"version": "0.110.0"
},
{
"name": "language-javascript-jsx",
"version": "0.3.7"
},
{
"name": "language-json",
"version": "0.17.6"
},
{
"name": "language-less",
"version": "0.29.0"
},
{
"name": "language-make",
"version": "0.21.0"
},
{
"name": "language-markdown",
"version": "0.12.0"
},
{
"name": "language-mustache",
"version": "0.13.0"
},
{
"name": "language-objective-c",
"version": "0.15.1"
},
{
"name": "language-perl",
"version": "0.32.0"
},
{
"name": "language-php",
"version": "0.37.0"
},
{
"name": "language-property-list",
"version": "0.8.0"
},
{
"name": "language-python",
"version": "0.43.0"
},
{
"name": "language-ruby",
"version": "0.68.3"
},
{
"name": "language-ruby-on-rails",
"version": "0.25.0"
},
{
"name": "language-sass",
"version": "0.46.0"
},
{
"name": "language-shellscript",
"version": "0.21.0"
},
{
"name": "language-source",
"version": "0.9.0"
},
{
"name": "language-sql",
"version": "0.20.0"
},
{
"name": "language-swift",
"version": "0.4.0"
},
{
"name": "language-text",
"version": "0.7.1"
},
{
"name": "language-todo",
"version": "0.27.0"
},
{
"name": "language-toml",
"version": "0.18.0"
},
{
"name": "language-xml",
"version": "0.34.4"
},
{
"name": "language-yaml",
"version": "0.25.1"
},
{
"name": "last-cursor-position",
"version": "0.9.0"
},
{
"name": "line-ending-selector",
"version": "0.3.1"
},
{
"name": "link",
"version": "0.31.1"
},
{
"name": "linter",
"version": "1.11.4"
},
{
"name": "linter-coffeelint",
"version": "1.1.2"
},
{
"name": "linter-eslint",
"version": "7.2.0"
},
{
"name": "linter-flow",
"version": "5.1.0"
},
{
"name": "linter-jsonlint",
"version": "1.2.4"
},
{
"name": "linter-markdown",
"version": "1.5.0"
},
{
"name": "linter-sass-lint",
"version": "1.4.0"
},
{
"name": "local-history",
"version": "3.2.3"
},
{
"name": "markdown-assistant",
"version": "0.1.0"
},
{
"name": "markdown-folder",
"version": "0.5.0"
},
{
"name": "markdown-mindmap",
"version": "0.2.4"
},
{
"name": "markdown-pdf",
"version": "1.5.0"
},
{
"name": "markdown-preview",
"version": "0.158.0"
},
{
"name": "markdown-preview-opener",
"version": "0.1.1"
},
{
"name": "markdown-scroll-sync",
"version": "2.1.2"
},
{
"name": "markdown-table-formatter",
"version": "2.8.3"
},
{
"name": "markdown-toc",
"version": "0.4.1"
},
{
"name": "markdown-writer",
"version": "2.3.3"
},
{
"name": "merge-conflicts",
"version": "1.4.1"
},
{
"name": "metrics",
"version": "0.53.1"
},
{
"name": "minimap-git-diff",
"version": "4.3.0"
},
{
"name": "minimap-split-diff",
"version": "0.3.0"
},
{
"name": "mocha-test-runner",
"version": "0.4.7"
},
{
"name": "navigate-indent",
"version": "0.1.0"
},
{
"name": "notifications",
"version": "0.63.1"
},
{
"name": "one-dark-syntax",
"version": "1.2.0",
"theme": "syntax"
},
{
"name": "one-dark-ui",
"version": "1.2.0",
"theme": "ui"
},
{
"name": "one-light-syntax",
"version": "1.2.0",
"theme": "syntax"
},
{
"name": "one-light-ui",
"version": "1.2.0",
"theme": "ui"
},
{
"name": "open-in-sourcetree",
"version": "0.1.8"
},
{
"name": "open-on-github",
"version": "1.0.1"
},
{
"name": "open-recent",
"version": "5.0.0"
},
{
"name": "package-generator",
"version": "1.0.0"
},
{
"name": "pdf-view",
"version": "0.50.0"
},
{
"name": "pigments",
"version": "0.26.0"
},
{
"name": "preview",
"version": "0.16.6"
},
{
"name": "project-manager",
"version": "2.9.7"
},
{
"name": "promote-folder-to-project",
"version": "2.0.1"
},
{
"name": "react",
"version": "0.15.0"
},
{
"name": "refactor",
"version": "0.6.0"
},
{
"name": "remote-edit",
"version": "1.8.24"
},
{
"name": "require2import",
"version": "1.1.2"
},
{
"name": "script",
"version": "3.7.0"
},
{
"name": "settings-view",
"version": "0.235.1"
},
{
"name": "snippets",
"version": "1.0.1"
},
{
"name": "solarized-dark-syntax",
"version": "1.0.0",
"theme": "syntax"
},
{
"name": "solarized-light-syntax",
"version": "1.0.0",
"theme": "syntax"
},
{
"name": "spell-check",
"version": "0.67.0"
},
{
"name": "split-diff",
"version": "0.7.4"
},
{
"name": "stacktrace",
"version": "0.0.2"
},
{
"name": "status-bar",
"version": "1.1.2"
},
{
"name": "styleguide",
"version": "0.45.2"
},
{
"name": "symbols-view",
"version": "0.112.0"
},
{
"name": "sync-settings",
"version": "0.7.2"
},
{
"name": "tab-control",
"version": "0.6.9"
},
{
"name": "tabs",
"version": "0.92.0"
},
{
"name": "term3",
"version": "0.21.4"
},
{
"name": "test-jumper",
"version": "0.6.0"
},
{
"name": "timecop",
"version": "0.33.1"
},
{
"name": "todo-show",
"version": "1.4.0"
},
{
"name": "tree-view",
"version": "0.205.0"
},
{
"name": "tree-view-copy-relative-path",
"version": "1.0.0"
},
{
"name": "tree-view-finder",
"version": "0.2.1"
},
{
"name": "tree-view-git-branch",
"version": "0.1.2"
},
{
"name": "tree-view-git-status",
"version": "0.2.3"
},
{
"name": "update-package-dependencies",
"version": "0.10.0"
},
{
"name": "wakatime",
"version": "5.0.8"
},
{
"name": "welcome",
"version": "0.34.0"
},
{
"name": "whitespace",
"version": "0.32.2"
},
{
"name": "wrap-guide",
"version": "0.38.1"
},
{
"name": "zentabs",
"version": "0.8.7"
}
]
{
"active-files": {},
"atom-beautify": {
"coffeescript": {
"indent_size": 2
},
"general": {},
"js": {
"brace_style": "collapse-preserve-inline",
"end_with_newline": true,
"indent_size": 2
},
"json": {
"indent_size": 2
},
"jsx": {}
},
"atom-ctags": {},
"autocomplete-modules": {
"vendors": [
"node_modules",
"modules"
]
},
"autocomplete-plus": {
"fileBlacklist": [
"*.md"
]
},
"autosave": {
"enabled": true
},
"clang-format": {
"executable": "/usr/local/bin/clang-format",
"formatCOnSave": false,
"formatCPlusPlusOnSave": false,
"formatJavascriptOnSave": false,
"formatObjectiveCOnSave": false
},
"command-palette": {
"preserveLastSearch": true
},
"core": {
"closeEmptyWindows": false,
"customFileTypes": {
"source.hjson": [
".esformatter",
".jsbeautifyrc",
".eslintrc"
],
"source.ini": [
".buckconfig",
".flowconfig"
],
"source.json": [
".arcconfig",
"BUCK.autodeps"
],
"source.python": [
"BUCK"
]
},
"destroyEmptyPanes": false,
"disabledPackages": [
"tidy-markdown",
"toggle-markdown-task",
"tree-view-open-files",
"ide-flow",
"atom-terminal",
"smart-tab-name",
"git-projects",
"jsformat",
"symbol-gen",
"imdone-atom",
"imdone-atom-github",
"linter-flow-plus",
"terminal-plus",
"node-debugger",
"clipboard-history",
"vim-surround",
"theme-switcher",
"enhanced-tabs",
"navigate",
"ide-haskell",
"custom-folds",
"atom-ctags",
"symbols-tree-view",
"tree-view",
"nuclide",
"minimap",
"move-panes",
"pane-move-plus",
"vim-mode-plus-move-to-symbols",
"js-autoimport",
"autocomplete-paths",
"source-preview-babel",
"highlight-line",
"language-gfm",
"highlight-selected",
"es-identifier-highlight",
"markdown-preview-plus",
"markdown-preview-plus-opener",
"linter-scss-lint",
"recent-projects",
"es-navigation",
"atom-ternjs",
"language-babel",
"language-javascript-jsx"
],
"ignoredNames": [
".git",
".svn",
".DS_Store"
],
"packagesWithKeymapsDisabled": [
"es-identifier-highlight",
"refactor",
"navigate-indent",
"term3",
"highlight-line",
"highlight-selected",
"require2import",
"recent-projects",
"zentabs"
],
"themes": [
"atom-webstorm-ui-theme",
"atom-webstorm-syntax-theme"
]
},
"custom-folds": {
"areRegionsFoldedOnLoad": true,
"areRegionsHighlighted": false,
"postfix": "endregion",
"prefix": "region"
},
"docblockr": {
"extend_double_slash": false
},
"editor": {
"fontFamily": "MonacoB",
"fontSize": 10,
"invisibles": {},
"scrollPastEnd": true,
"softWrapAtPreferredLineLength": true,
"tabType": "soft"
},
"esformatter": {},
"exception-reporting": {},
"expand-region": {},
"file-icons": {},
"file-watcher": {
"promptWhenFileHasChangedOnDisk": false
},
"find-and-replace": {
"scrollToResultOnLiveSearch": true
},
"foldername-tabs": {
"mfpIdent": 5
},
"git-projects": {
"sortBy": "Latest modification date"
},
"highlight-line": {},
"highlight-selected": {
"highlightBackground": true,
"lightTheme": true
},
"ide-flow": {
"flowPath": "/usr/local/bin/flow"
},
"jsformat": {
"format_on_save": false
},
"language-babel": {},
"linter": {
"errorPanelHeight": 22
},
"linter-eslint": {
"useGlobalEslint": true
},
"linter-flow": {
"enableAll": false,
"executablePath": "/usr/local/bin/flow"
},
"markdown-assistant": {},
"markdown-mindmap": {},
"markdown-preview": {
"liveUpdate": false,
"useGitHubStyle": true
},
"markdown-preview-opener": {
"closePreviewWhenClosingEditor": true
},
"markdown-preview-plus": {
"breakOnSingleNewline": true,
"liveUpdate": false,
"pandocMarkdownFlavor": "markdown_github",
"useGitHubStyle": true
},
"markdown-preview-plus-opener": {
"closePreviewWhenClosingEditor": true
},
"markdown-writer": {},
"metrics": {},
"minimap": {
"plugins": {
"git-diff": true,
"git-diffDecorationsZIndex": 0,
"identifier-highlight": true,
"identifier-highlightDecorationsZIndex": 0
}
},
"open-recent": {},
"pigments": {
"markerType": "gutter"
},
"preview": {},
"react": {},
"refactor": {
"highlightReference": false
},
"release-notes": {
"viewedVersion": "0.73.0"
},
"sync-settings": {
"blacklistedKeys": [
"atom-beautify.general._analyticsUserId",
"exception-reporting.userId",
"git-projects.rootPath",
"linter-eslint.globalNodePath",
"metrics.userId",
"preview._analyticsUserId",
"wakatime.apikey"
],
"quietUpdateCheck": true
},
"tabs": {
"usePreviewTabs": true
},
"terminal-plus": {
"core": {}
},
"test-jumper": {
"locations": [
"src|src"
],
"spec-announcer": "%s.test"
},
"theme-switcher": {},
"tidy-markdown": {
"ensureFirstHeaderIsH1": false,
"runOnSave": false
},
"wakatime": {},
"welcome": {
"showOnStartup": false
},
"whitespace": {
"ignoreWhitespaceOnlyLines": true
},
"zentabs": {
"manualMode": true,
"neverCloseDirty": true,
"neverCloseNew": true
}
}
# 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'
#
'.comment.js':
'TODO(vjpr) 1':
'prefix': 'TODO'
'body': 'TODO(vjpr): $1'
'*':
'TODO(vjpr) 1':
'prefix': 'TODO'
'body': 'TODO(vjpr): $1'
'.source.coffeescript':
'###':
'prefix': '###'
'body': ""
'.source.js, .source.css':
'///':
'prefix': '///'
'body': "////////////////////////////////////////////////////////////////////////////////"
'80 dashes divide':
prefix: '--'
body: "-----------------------------------------------------------------------------"
'20 slashes divide':
prefix: '////'
body: "////////////////////"
'TODO(vjpr) 1':
'prefix': 'TODO'
'body': 'TODO(vjpr): $1'
'.source.js':
'JSX surround comment':
prefix: '/////'
body: "{/*$1*/}"
'this.':
prefix: '@'
body: "this."
'and':
prefix: 'and'
body: "&& $1"
'const':
prefix: 'c'
body: "const $1"
'cons':
prefix: 'cons'
body: """
constructor() {
$1
}
"""
'de':
prefix: 'de'
body: "debug($1)"
'do':
prefix: 'do'
body: "($1) => {$2}"
'ado':
prefix: 'ado'
body: "async ($1) => {$2}"
'eaf':
prefix: 'edaf'
body: """
export async function $1() {
$2
}
"""
'ec':
'prefix': 'ec'
'body': """
export class $1 {
$2
}
"""
'edc':
'prefix': 'edaf'
'body': """
export default async function() {
$1
}
"""
'edc':
'prefix': 'edc'
'body': """
export default class $1 {
$2
}
"""
'edf':
'prefix': 'ef'
'body': """
export default function() {
$1
}
"""
'ef':
'prefix': 'ef'
'body': """
export function $1() {
$2
}
"""
'expect':
'prefix': 'ex'
'body': "expect($1)"
'fi':
'prefix': 'wrap class decorators'
'body': """
/*::`*/
$1
/*::`*/
"""
'flow':
'prefix': 'flow'
'body': "// @flow weak"
'fn':
'prefix': 'fn'
'body': """
function $1() {
$2
}
"""
'fun':
'prefix': 'fun'
'body': """
function($1) {
$2
}"""
'func':
'prefix': 'func'
'body': "function"
'iab':
'prefix': 'iab'
'body': "import autobind from 'autobind-decorator'"
'if':
'prefix': 'if'
'body': 'if ($1) $2'
'is':
'prefix': 'is'
'body': '=== $1'
'isnt':
'prefix': 'isnt'
'body': '!== $1'
'console.log':
'prefix': 'cl'
'body': 'console.log($1)'
'require 1':
'prefix': 'r'
'body': "require('$1')"
'require 2':
'prefix': 'rq'
'body': "require('$1')"
'require 3':
'prefix': 'req'
'body': "require('$1')"
'const foo = require()':
'prefix': 're'
'body': "const $1 = require('$2')"
'import':
'prefix': 'im'
'body': "import $1 from '$2'$3"
'unless':
'prefix': 'unless'
'body': "if (!$1) $2"
'new':
prefix: 'new'
body: "new $1($2)"
'Imports Region':
prefix: 'ji'
body: """
//region Imports
$1
//endregion
"""
'react class':
prefix: 'rc'
body: """
import React from 'react'
export default class $1 extends React.Component {
render() {
return (
$2
)
}
}
"""
/*
* Your Stylesheet
*
* This stylesheet is loaded when Atom starts up and is reloaded automatically
* when it is changed.
*
* If you are unfamiliar with LESS, you can read more about it here:
* http://www.lesscss.org
*/
////////////////////////////////////////////////////////////////////////////////
// Font smoothing
////////////////////////////////////////////////////////////////////////////////
// NOTE: HiDPI-mode when running on Retina MacBook Pro 2012 is very slow.
// Turn it off using QuickRes.
.editor {
// color: black !important;
// I think this is sub-pixel.
// -webkit-font-smoothing: auto;
//
// Does not look good on non-HiDPI
// There is also a Chrome bug where colors appear dimmer when using this.
// https://github.com/atom/atom/issues/3015
//
// -webkit-font-smoothing: subpixel-antialiased;
-webkit-font-smoothing: antialiased;
}
////////////////////////////////////////////////////////////////////////////////
// Method separator
////////////////////////////////////////////////////////////////////////////////
//
// Requires `language-babel`.
// NOTE: Doesn't work well with flow.
//
// @import "syntax-variables";
//
// .separator-mixin() {
// &::before {
// content: '';
// position: absolute;
// width: 100%;
// height: 1px;
// left: 0;
// background: @syntax-wrap-guide-color; // wrap guide seems a good choice
// opacity: .5; // set it off from the guide
// }
// }
//
// atom-text-editor,
// atom-text-editor::shadow {
// .meta.function:not(.c) {
// .separator-mixin()
// }
// .name.function {
// .separator-mixin()
// }
// }
////////////////////////////////////////////////////////////////////////////////
// What is all this then?
.tree-view .entry.file {
/* display: none; toggle-comment */
}
.tree-view .entry.directory :not(.status-modified) > .header {
/* display: none; toggle-folder-comment */
}
.tree-view .entry.directory > .header {
display: block;
}
.tree-view .entry.file.status-modified {
display: block;
}
.tree-view .entry.file.status-added {
display: block;
}
////////////////////////////////////////////////////////////////////////////////
atom-text-editor::shadow {
// The cursor line important to use rgba for opacity, also requires !important
// to override any theme.
.line.highlight-line {
// background: rgba(255, 0, 0, 0.3) !important;
background: fade(#FFFAE3, 80%) !important;
}
// Replace 'solid', with 'dashed' or 'dotted' depending of what you have
// set in the settings page.
// This is for the bottom line (underline)
.line.highlight-line-multi-line-solid-bottom {
border-bottom-color: red;
}
// This is for the top line when you have the selection borders enabled.
.line.highlight-line-multi-line-solid-top {
border-top-color: red;
}
}
////////////////////////////////////////////////////////////////////////////////
.indent-guide-improved {
background-color: #F5F5F5;
&.indent-guide-stack {
background-color: #F5F5F5;
&.indent-guide-active {
background-color: #cccccc;
}
}
}
////////////////////////////////////////////////////////////////////////////////
atom-text-editor::shadow .refactor-reference .region {
// background: #E4E4FF; // This makes js-refactor highlight override selection which looks janky.
border: none;
border-radius: 0px;
// box-sizing: border-box;
// border-radius: 2px;
// background-color: rgba(54, 175, 144, 0.2);
// border: 1px solid rgba(54, 175, 144, 0.3);
}
////////////////////////////////////////////////////////////////////////////////
// Hyperlinks in comments.
atom-text-editor::shadow .source.js {
.markup.link {
color: inherit;
text-decoration: inherit;
}
}
// .editor .markup.underline.link.hyperlink {
// color: #F9EE98;
// text-decoration: underline;
// }
////////////////////////////////////////////////////////////////////////////////
// .markdown-preview .atom-text-editor::shadow {
// .lines > div > div {
//
// }
// }
.markdown-preview[data-use-github-style] pre,
.markdown-preview[data-use-github-style] atom-text-editor {
padding: 16px;
overflow: auto;
// line-height: 1.45;
background-color: #f7f7f7;
border-radius: 3px;
// font-size: 85%;
font-size: 10px;
font-family: MonacoB;
// font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
// font-size: 12px;
}
////////////////////////////////////////////////////////////////////////////////
// Fixes bug in markdown-preview-plus leaving gap at the top
// .markdown-preview .update-preview {
// *:first-child {
// margin-top: 0px;
// }
// }
////////////////////////////////////////////////////////////////////////////////
// Atom linter style
////////////////////////////////////////////////////////////////////////////////
// TODO
// See https://github.com/atom/atom/blob/master/static/badges.less
atom-overlay .badge {
color: white;
}
atom-overlay linter-message-line {
code {
color: white;
}
}
////////////////////////////////////////////////////////////////////////////////
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment