Skip to content

Instantly share code, notes, and snippets.

@tbusser
Last active July 18, 2018 12:28
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 tbusser/5d5765aa8c7e348c8101479cc4ab8301 to your computer and use it in GitHub Desktop.
Save tbusser/5d5765aa8c7e348c8101479cc4ab8301 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 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'
#
# '.workspace':
# 'ctrl-P': 'core:move-up'
# 'ctrl-p': 'core:move-down'
#
[
{
"name": "Visual-Studio-2015-Dark-Theme",
"version": "2.4.2",
"theme": "syntax"
},
{
"name": "about",
"version": "1.8.1"
},
{
"name": "archive-view",
"version": "0.64.3"
},
{
"name": "atom-alignment",
"version": "0.13.0"
},
{
"name": "atom-beautify",
"version": "0.32.5"
},
{
"name": "atom-clock",
"version": "0.1.16"
},
{
"name": "atom-dark-syntax",
"version": "0.29.0",
"theme": "syntax"
},
{
"name": "atom-dark-ui",
"version": "0.53.2",
"theme": "ui"
},
{
"name": "atom-light-syntax",
"version": "0.29.0",
"theme": "syntax"
},
{
"name": "atom-light-ui",
"version": "0.46.2",
"theme": "ui"
},
{
"name": "atom-material-ui",
"version": "2.1.3",
"theme": "ui"
},
{
"name": "atom-ternjs",
"version": "0.18.3"
},
{
"name": "autocomplete-atom-api",
"version": "0.10.7"
},
{
"name": "autocomplete-css",
"version": "0.17.5"
},
{
"name": "autocomplete-html",
"version": "0.8.4"
},
{
"name": "autocomplete-plus",
"version": "2.40.6"
},
{
"name": "autocomplete-snippets",
"version": "1.12.0"
},
{
"name": "autoflow",
"version": "0.29.3"
},
{
"name": "autosave",
"version": "0.24.6"
},
{
"name": "background-tips",
"version": "0.28.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.45.1"
},
{
"name": "bracket-matcher",
"version": "0.89.2"
},
{
"name": "busy-signal",
"version": "1.4.3"
},
{
"name": "color-picker",
"version": "2.3.0"
},
{
"name": "command-palette",
"version": "0.43.5"
},
{
"name": "dalek",
"version": "0.2.2"
},
{
"name": "deprecation-cop",
"version": "0.56.9"
},
{
"name": "dev-live-reload",
"version": "0.48.1"
},
{
"name": "docblockr",
"version": "0.13.7"
},
{
"name": "editorconfig",
"version": "2.2.2"
},
{
"name": "emmet",
"version": "2.4.3"
},
{
"name": "encoding-selector",
"version": "0.23.8"
},
{
"name": "exception-reporting",
"version": "0.43.1"
},
{
"name": "file-icons",
"version": "2.1.22"
},
{
"name": "file-types",
"version": "0.5.5"
},
{
"name": "find-and-replace",
"version": "0.215.9"
},
{
"name": "fuzzy-finder",
"version": "1.8.1"
},
{
"name": "gist",
"version": "1.1.0"
},
{
"name": "git-control",
"version": "0.9.0"
},
{
"name": "git-diff",
"version": "1.3.9"
},
{
"name": "github",
"version": "0.14.3"
},
{
"name": "go-to-line",
"version": "0.33.0"
},
{
"name": "grammar-selector",
"version": "0.50.1"
},
{
"name": "image-view",
"version": "0.62.4"
},
{
"name": "imdone-atom",
"version": "2.4.29"
},
{
"name": "incompatible-packages",
"version": "0.27.3"
},
{
"name": "intentions",
"version": "1.1.5"
},
{
"name": "js-refactor",
"version": "0.8.1"
},
{
"name": "keybinding-resolver",
"version": "0.38.1"
},
{
"name": "language-aspx",
"version": "0.5.0"
},
{
"name": "language-babel",
"version": "2.85.0"
},
{
"name": "language-c",
"version": "0.59.3"
},
{
"name": "language-clojure",
"version": "0.22.7"
},
{
"name": "language-coffee-script",
"version": "0.49.3"
},
{
"name": "language-csharp",
"version": "1.0.1"
},
{
"name": "language-css",
"version": "0.42.10"
},
{
"name": "language-gfm",
"version": "0.90.3"
},
{
"name": "language-git",
"version": "0.19.1"
},
{
"name": "language-go",
"version": "0.45.3"
},
{
"name": "language-html",
"version": "0.49.0"
},
{
"name": "language-hyperlink",
"version": "0.16.3"
},
{
"name": "language-java",
"version": "0.29.0"
},
{
"name": "language-javascript",
"version": "0.128.5"
},
{
"name": "language-json",
"version": "0.19.1"
},
{
"name": "language-less",
"version": "0.34.2"
},
{
"name": "language-make",
"version": "0.22.3"
},
{
"name": "language-mustache",
"version": "0.14.5"
},
{
"name": "language-objective-c",
"version": "0.15.1"
},
{
"name": "language-perl",
"version": "0.38.1"
},
{
"name": "language-php",
"version": "0.43.2"
},
{
"name": "language-property-list",
"version": "0.9.1"
},
{
"name": "language-python",
"version": "0.49.5"
},
{
"name": "language-ruby",
"version": "0.71.4"
},
{
"name": "language-ruby-on-rails",
"version": "0.25.3"
},
{
"name": "language-sass",
"version": "0.61.4"
},
{
"name": "language-shellscript",
"version": "0.26.3"
},
{
"name": "language-source",
"version": "0.9.0"
},
{
"name": "language-sql",
"version": "0.25.10"
},
{
"name": "language-text",
"version": "0.7.4"
},
{
"name": "language-todo",
"version": "0.29.4"
},
{
"name": "language-toml",
"version": "0.18.2"
},
{
"name": "language-typescript",
"version": "0.3.3"
},
{
"name": "language-xml",
"version": "0.35.2"
},
{
"name": "language-yaml",
"version": "0.32.0"
},
{
"name": "line-ending-selector",
"version": "0.7.6"
},
{
"name": "link",
"version": "0.31.4"
},
{
"name": "linter",
"version": "2.2.0"
},
{
"name": "linter-eslint",
"version": "8.4.1"
},
{
"name": "linter-ui-default",
"version": "1.7.1"
},
{
"name": "markdown-preview",
"version": "0.159.20"
},
{
"name": "metrics",
"version": "1.2.6"
},
{
"name": "minimap",
"version": "4.29.8"
},
{
"name": "minimap-split-diff",
"version": "0.3.7"
},
{
"name": "native-ui",
"version": "0.26.2",
"theme": "ui"
},
{
"name": "nord-atom-syntax",
"version": "0.9.1",
"theme": "syntax"
},
{
"name": "nord-atom-ui",
"version": "0.11.0",
"theme": "ui"
},
{
"name": "notifications",
"version": "0.70.5"
},
{
"name": "one-dark-syntax",
"version": "1.8.2",
"theme": "syntax"
},
{
"name": "one-dark-ui",
"version": "1.12.1",
"theme": "ui"
},
{
"name": "one-light-syntax",
"version": "1.8.2",
"theme": "syntax"
},
{
"name": "one-light-ui",
"version": "1.12.1",
"theme": "ui"
},
{
"name": "open-on-github",
"version": "1.3.1"
},
{
"name": "open-recent",
"version": "5.0.0"
},
{
"name": "package-generator",
"version": "1.3.0"
},
{
"name": "platformio-ide-terminal",
"version": "2.8.3"
},
{
"name": "project-manager",
"version": "3.3.6"
},
{
"name": "refactor",
"version": "0.11.5"
},
{
"name": "settings-view",
"version": "0.254.2"
},
{
"name": "sloc",
"version": "1.1.0"
},
{
"name": "snippets",
"version": "1.3.3"
},
{
"name": "solarized-dark-syntax",
"version": "1.1.4",
"theme": "syntax"
},
{
"name": "solarized-light-syntax",
"version": "1.1.4",
"theme": "syntax"
},
{
"name": "sort-lines",
"version": "0.18.0"
},
{
"name": "spell-check",
"version": "0.73.4"
},
{
"name": "split-diff",
"version": "1.5.2"
},
{
"name": "status-bar",
"version": "1.8.15"
},
{
"name": "styleguide",
"version": "0.49.11"
},
{
"name": "symbols-view",
"version": "0.118.2"
},
{
"name": "sync-settings",
"version": "0.8.6"
},
{
"name": "tab-numbers",
"version": "0.6.1"
},
{
"name": "tabs",
"version": "0.109.1"
},
{
"name": "tabs-to-spaces",
"version": "1.0.5"
},
{
"name": "task-list",
"version": "0.7.0"
},
{
"name": "terminal-plus",
"version": "0.14.5"
},
{
"name": "termination",
"version": "0.6.3"
},
{
"name": "timecop",
"version": "0.36.2"
},
{
"name": "todo-show"
},
{
"name": "tree-view",
"version": "0.222.0"
},
{
"name": "twilight-syntax",
"version": "0.8.0",
"theme": "syntax"
},
{
"name": "update-package-dependencies",
"version": "0.13.1"
},
{
"name": "visual-bell",
"version": "1.0.0"
},
{
"name": "welcome",
"version": "0.36.6"
},
{
"name": "whitespace",
"version": "0.37.5"
},
{
"name": "wrap-guide",
"version": "0.40.3"
},
{
"name": "zentabs",
"version": "0.8.9"
}
]
{
"*": {
"core": {
"disabledPackages": [
"sublime-tabs",
"color-picker",
"tualo-git-context",
"background-tips"
],
"ignoredNames": [
".git",
".DS_Store",
"node_modules"
],
"themes": [
"atom-dark-ui",
"solarized-light-syntax"
]
},
"editor": {
"fontSize": 11,
"showIndentGuide": true,
"showInvisibles": true,
"softTabs": false,
"tabLength": 4
},
"exception-reporting": {
"userId": "44904fe6-e972-c7de-86d6-40d6659e9631"
},
"markdown-preview": {
"breakOnSingleNewline": true
},
"metrics": {
"userId": "a218f14841789206332750c61c72c2f23e9a0eca"
},
"release-notes": {
"viewedVersion": "0.95.0"
},
"welcome": {
"showOnStartup": false
}
},
"alignment": {},
"atom-beautify": {
"general": {
"_analyticsUserId": "62b4fb41-0e7e-4ec4-9628-b85ef3650616"
}
},
"atom-clock": {
"dateFormat": "HH:mm",
"showClockIcon": true
},
"atom-material-ui": {
"colors": {
"abaseColor": "#249587",
"accentColor": "#bf1429",
"genAccent": true
},
"tabs": {
"compactTabs": true,
"tintedTabBar": true
},
"treeView": {
"blendTabs": true,
"compactList": true
},
"ui": {
"panelContrast": true,
"panelShadows": true
}
},
"core": {
"disabledPackages": [
"task-list",
"imdone-atom",
"terminal-plus",
"termination",
"tab-numbers"
],
"ignoredNames": [
".git",
".hg",
".svn",
".DS_Store",
"._*",
"Thumbs.db",
"desktop.ini",
"node_modules",
".npm-cache"
],
"telemetryConsent": "limited",
"themes": [
"atom-material-ui",
"solarized-light-syntax"
]
},
"docblockr": {},
"editor": {
"fontFamily": "Inconsolata",
"fontSize": 29,
"invisibles": {},
"showIndentGuide": true,
"showInvisibles": true,
"softTabs": false,
"softWrapAtPreferredLineLength": true,
"tabLength": 4
},
"emmet": {},
"exception-reporting": {
"userId": "96a93823-2445-f0cc-db68-3d8b1bd88601"
},
"fancy-new-file": {
"suggestCurrentFilePath": true
},
"file-types": {
"vash": "text.html.basic"
},
"gist": {
"token": "838cf58ecf71a09113c0d19bbdba07f9e22e92aa"
},
"gistom": {
"token": "f759596bc0ec5376d2a6f8589327cb55ee9386d3",
"user": "tbusser"
},
"graphite-ui": {
"syntaxThemeColoring": true
},
"isotope-ui": {
"customBackgroundColor": true,
"customBackgroundColorPicker": {
"alpha": 1,
"blue": 66,
"green": 66,
"red": 66
},
"fontWeight": "Regular",
"lowContrastTooltip": true
},
"linter": {
"lintDebug": true,
"lintOnChangeInterval": 2000,
"showHighlighting": true
},
"linter-eslint": {
"disableWhenNoEslintrcFileInPath": true,
"eslintrcPath": "~/Projects/",
"fixOnSave": true,
"globalNodePath": "/usr/local",
"useGlobalEslint": true
},
"linter-jscs": {
"executablePath": "/Users/tbusser/.npm-packages/lib/node_modules/jscs/bin",
"onlyConfig": true
},
"linter-jshint": {},
"linter-ui-default": {
"panelHeight": 81
},
"minimap": {
"plugins": {
"split-diff": true,
"split-diffDecorationsZIndex": 0
}
},
"nord-atom-ui": {},
"one-light-ui": {},
"split-diff": {
"ignoreWhitespace": true,
"syncHorizontalScroll": true
},
"sync-settings": {},
"tab-numbers": {
"showNumberOfOpenTabs": false
},
"term3": {},
"tidy-tabs": {
"minimumTabs": 48,
"runOnSave": true
},
"tree-view": {
"hideIgnoredNames": true
},
"welcome": {
"showOnStartup": false
},
"whitespace": {
"ignoreWhitespaceOnCurrentLine": false
},
"zentabs": {
"maximumOpenedTabs": 8,
"neverCloseUnsaved": 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'
#
'.text.html':
'Pattern lab pattern':
'prefix': 'pn'
'body': '<section class="sg-section">\n\t<h1 class="sg-subheader"></h1>\n\t<div class="sg-example">\n\n\t</div>\n\t<div data-can-collapse="1">\n\t\t<h2 data-role="header">Code example</h2>\n\t\t<div data-role="content">\n\t\t\t<pre><code>\n\t\t\t</code></pre>\n\t\t</div>\n\t</div>\n\t<div data-can-collapse="1">\n\t\t<h2 data-role="header">Notities</h2>\n\t\t<div data-role="content">\n\t\t</div>\n\t</div>\n\t<div data-can-collapse="1">\n\t\t<h2 data-role="header">Theming</h2>\n\t\t<div data-role="content">\n\t\t\t<dl>\n\t\t\t\t<dt></dt>\n\t\t\t\t<dd><code></code></dd>\n\t\t\t</dl>\n\t\t</div>\n\t</div>\n</section>\n'
'.source.css, .source.less, source.scss':
'File header':
'prefix': 'styleh'
'body': '/*-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -*\\\n\t${1:name}\n\\*-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -*/'
'.source.js':
'Private Properties':
'prefix': 'privprop'
'body': """
/**
* Returns a property for the provided instance of ${1:className}.
*
* @param {${1:className}} instance The instance for which a property value
* should be returned.
* @param {String} propertyName The name of the property which should
* be returned for the provided instance.
*
* @return {Any} The value of the property.
*/
function getPropertyForInstance(instance, propertyName) {
const properties = instanceProperties.get(instance);
if (properties == null) {
return null;
}
return properties.get(propertyName);
}
/**
* Sets a property for the provided instance and property.
* @param {${1:className}} instance The instance for which a property value
* should be set.
* @param {String} propertyName The name of the property which should
* be set for the provided instance.
* @param {Any} value The value to assign to the property.
*/
function setPropertyForInstance(instance, propertyName, value) {
const properties = instanceProperties.get(instance);
if (properties == null) {
return;
}
properties.set(propertyName, value);
}
"""
'Flag comment':
'prefix': 'flag'
'body': """
/*
|------------------------------------------------------------------------------
| ${1:name}
|------------------------------------------------------------------------------
|
| ${2:description}
|
| ---------------------------------------------------------------------------
|
|
|
|*/"""
'Script subregion':
'prefix': 'subregion'
'body': """
/* ---------------------------------- *\\\\
${1:name}
\\\\* ---------------------------------- */
/* -- ${1:name} --------------------- */"""
'Script region':
'prefix': 'region'
'body': """
/* ========================================================================== *\\\\
${1:name}
\\\\* ========================================================================== */
/* == ${1:name} ============================================================== */
"""
'AMD Module':
'prefix': 'amd'
'body': """
(function(root, factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// AMD
define(['Intermediary'], factory);
} else if (typeof exports === 'object') {
module.exports = factory(require('Intermediary'));
} else {
root.ModuleName = factory(root.Intermediary);
}
}(this, function(Intermediary) {
'use strict';
/* ====================================================================== *\\
CLASS METHODS
\\* ====================================================================== */
/**
* Iterates over the keys of an object and calls a callback function when the
* key belongs to he object itself and not to its prototype.
*/
function iterate(object, callback) {
for (var key in object) {
if (object.hasOwnProperty(key)) {
if (callback(key, object[key])) {
break;
}
}
}
}
/**
* Helper method to merge the default options with the overrides passed
* along to the constructor.
*
* @param {object} overrides The overrides for the default options. These
* values will take precedence over the default
* values.
*
* @returns {object} The method returns an object containing the default
* options with the values override by those of the
* overrides object.
*/
function mergeOptions(defaults, overrides) {
var result = {};
iterate(defaults, function(key, value) {
if (overrides[key] != null) {
result[key] = overrides[key];
} else {
result[key] = value;
}
});
return result;
}
/* ==== CLASS METHODS =================================================== */
/* ====================================================================== *\\
CONSTRUCTOR
\\* ====================================================================== */
var exports = function(element, overrides) {
this._element = element;
this._options = mergeOptions(exports.options, overrides || {});
};
exports.options = {
};
/* ==== CONSTRUCTOR ===================================================== */
exports.prototype = {
/* ================================================================== *\\
PRIVATE INSTANCE METHODS
\\* ================================================================== */
/* ==== PRIVATE INSTANCE METHODS ==================================== */
/* ================================================================== *\\
PUBLIC INSTANCE METHODS
\\* ================================================================== */
init: function() {
if (this._element == null) {
throw 'No base elemented provided for instance of module';
}
}
/* ==== PUBLIC METHODS ============================================== */
};
return exports;
}));
"""
'ViewController':
'prefix': 'vc'
'body': """
(function(root, factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// AMD
define(['BaseViewController', 'Intermediary', 'Communicator'], factory);
} else if (typeof exports === 'object') {
module.exports = factory(require('BaseViewController'), require('Intermediary'), require('Communicator'));
} else {
root.ViewController = factory(root.BaseViewController, root.Intermediary, root.Communicator);
}
}(this, function(BaseViewController, Intermediary, Communicator) {
'use strict';
/**
* CONSTRUCTOR
*
* @param {HTMLElement} element The HTML element which is the base element
* for the module. The module should not
* manipulate anything outside its base
* element
* @param {object} overrides An object with overrides for the default
* options of the module
*/
var exports = function(element, override) {
// Call the constructor of the base class with the options passed along
// and the additional options available to this module.
BaseViewController.call(this, element, override);
};
// Take the prototype methods of BaseViewController, the base class for this
// class, as the base for this class. This way the module 'inherits' the
// methods from the base class. Any method defined after this step with the
// same name as a method in the base class will overwrite the base class
// method!
exports.prototype = Object.create(BaseViewController.prototype);
return exports;
}));
"""
/*
* 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
*/
// @import "packages/file-icons/styles/colors"; // to use the colours
@import "packages/file-icons/styles/icons"; // to use the defined icons
// @import "packages/file-icons/styles/items";
.tree-view {}
.editor {}
.editor .cursor {}
atom-text-editor {
font-family: "Fira Code";
text-rendering: optimizeLegibility;
font-size: 14px;
font-weight: 400;
line-height: 1.8;
/*
* Change the background color of the line where the cursor is
*/
.cursor-line {
background: rgba(255,255,255,.5);
.comment {
color: #8d8d8d;
}
}
.eol {
opacity: .75;
}
.wrap-guide {
opacity: 0.5;
}
.syntax--comment,
.syntax--entity.syntax--other.syntax--attribute-name {
font-family: "Operator Mono";
font-style: italic;
font-size: 1.085em;
line-height: normal;
}
}
.theme-nord-atom-syntax-accessibility-custom-comment-contrast .syntax--comment {
color: #566176;
}
.sb-table.linter tbody {
//background-color: #fdf6e3;
}
/*
* Set the file icon and color for .vash files
*/
// @{pane-tab-selector}, .icon-file-text {
// &[data-name$=".vash"]:before { .html5-icon; .medium-orange; } // Colours icon only
// &[data-name$=".vash"]:before { .html5-icon; .medium-orange; } // Colours icon only
// }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment