wonderbeyond
2/14/2016 - 1:17 AM

automatic update by http://atom.io/packages/sync-settings

@mono-font-family: "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "WenQuanYi Micro Hei Mono", "WenQuanYi Zen Hei Mono";
@sans-font-family: "DejaVu Sans", "Bitstream Vera Sans", "WenQuanYi Micro Hei", "WenQuanYi Zen Hei";

@font-face {
    font-family: sans-serif;
    src: local("WenQuanYi Micro Hei");
}
@font-face {
    font-family: monospace;
    src: local("WenQuanYi Micro Hei Mono");
}

// 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;
}
# 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.python':
  'six.reraise':
    'prefix': 'reraise'
    'body': 'six.reraise(${1:NewType}, ${1:NewType}(${2:e.message}), sys.exc_info()[2])'
  'Pairs in dict':
    'prefix': ':'
    'body': '"${1:key}": ${2:"${3:value}"},${4}'
  'Literal dict':
    'prefix': 'd'
    'body': '''{
        ${1}
    }
    '''
  'argparse basic':
    'prefix': 'argparse'
    'body': '''
    ${1:import argparse
    }parser = argparse.ArgumentParser(
        description='${2:description}',
        formatter_class=argparse.ArgumentDefaultsHelpFormatter
    )
    parser.add_argument('${3:positional_name}', nargs='${4:N/?/*/+}', default='${5}')
    parser.add_argument('-${6:f}', '--${7:foo}', dest='${8:foo}'${9:, required=True})
    parser.add_argument('-${10:b}', '--${11:bar}', action='${12:store_true}', dest='${13:bar}')
    
    args = parser.parse_args()
    ${14:print args.foo, args.bar, args.positional_name}
    '''
  'urllib3 example':
    'prefix': 'urllib3'
    'body': '''
    ${1:import urllib3
    }http = urllib3.PoolManager()

    req_headers = {
        ${2:'Host': 'www.example.com'}
    }
    r = http.request('${3:GET}', '${4:http://192.168.0.132:8080/}', headers=req_headers)

    ${5:print r.status, r.data}
    '''
  'pymongo example':
    'prefix': 'pymongo'
    'body': '''
    ${1:import pymongo
    }client = pymongo.MongoClient('${2:mongodb://192.168.0.22:27017/}')
    db = client.${3:test_database}
    ${4:products = db.products
    products.find_one()}
    '''
  'common __future__ for py2.7':
    'prefix': 'future'
    'body': '''from __future__ import print_function, unicode_literals, absolute_import, division
    '''
  

'.source.js':
  'underscore template: <% %>':
    'prefix': '_%'
    'body': '''<% $1 %>'''
  'underscore template: <%= %>':
    'prefix': '_='
    'body': '''<%= $1 %>'''
  'underscore template: for':
    'prefix': '_%for'
    'body': '''
    <% _.forEach(${1:items}, function(${2:i}) { %>
      $3
    <% }) %>
    '''
{
	"Hydrogen": {
		"autocomplete": false
	},
	"atom-beautify": {
		"general": {
			"_analyticsUserId": "60119493-e326-4ceb-a8ac-817417814496"
		},
		"js": {
			"default_beautifier": "Pretty Diff"
		},
		"python": {
			"default_beautifier": "yapf",
			"formater": "yapf",
			"sort_imports": true
		}
	},
	"atom-material-ui": {
		"colors": {
			"abaseColor": "#7e57c2",
			"accentColor": "#b0e457",
			"predefinedColor": "Purple"
		},
		"tabs": {
			"compactTabs": true
		},
		"treeView": {
			"compactList": true
		},
		"ui": {
			"panelContrast": true,
			"panelShadows": true
		}
	},
	"autocomplete-plus": {
		"backspaceTriggersAutocomplete": true
	},
	"autocomplete-python": {
		"extraPaths": "$PROJECT",
		"outputDebug": true,
		"pythonPaths": "/home/wonder/PyEnvs/$PROJECT_NAME/bin/python",
		"showTooltips": true
	},
	"core": {
		"autoHideMenuBar": true,
		"disabledPackages": [
			"clipboard-history",
			"language-property-list",
			"vim-mode",
			"emmet-simplified",
			"linter-jshint",
			"codelf",
			"merge-conflicts",
			"django-atom",
			"jumpy",
			"linter-python",
			"linter-pylint",
			"vim-mode-plus",
			"atom-handlebars",
			"color-picker",
			"Hydrogen",
			"pigments",
			"expose",
			"atomic-chrome",
			"linter-write-good",
			"python-tools"
		],
		"ignoredNames": [
			".git",
			".hg",
			".svn",
			".DS_Store",
			"._*",
			"Thumbs.db",
			".~*",
			"*.pyc",
			"__pycache__"
		],
		"packagesWithKeymapsDisabled": [
			"turbo-javascript",
			"jumpy",
			"emmet",
			"linter-python",
			"hydrogen"
		],
		"projectHome": "/home/wonder/workspace/",
		"telemetryConsent": "limited",
		"warnOnLargeFileLimit": 2
	},
	"editor": {
		"backUpBeforeSaving": true,
		"fontFamily": "\"DejaVu Sans Mono\", \"Bitstream Vera Sans Mono\", \"WenQuanYi Micro Hei Mono\", \"WenQuanYi Zen Hei Mono\"",
		"invisibles": {},
		"nonWordCharacters": "/\\()\"':,.;<>~!@#$%^&*|+=[]{}`?-…,、;“”()【】《》!。",
		"scrollPastEnd": true,
		"showIndentGuide": true,
		"showInvisibles": true,
		"softWrap": true,
		"tabLength": 4
	},
	"exception-reporting": {
		"userId": "3a5c543a-1cfa-e698-ad48-646090ece905"
	},
	"expose": {
		"useAnimations": false
	},
	"find-and-replace": {
		"scrollToResultOnLiveSearch": true
	},
	"fuzzy-finder": {},
	"git-plus": {
		"general": {},
		"wordDiff": false
	},
	"github": {},
	"japanese-wrap": {
		"lineBreakingRule": {
			"japanese": false
		}
	},
	"jumpy": {
		"fontSize": 0.8,
		"highContrast": true
	},
	"linter": {
		"lintOnChange": false,
		"lintOnOpen": false
	},
	"linter-eslint": {
		"disableWhenNoEslintConfig": false,
		"eslintrcPath": "/home/wonder/wonder.config/eslintrc.js",
		"lintHtmlFiles": true,
		"useGlobalEslint": true
	},
	"linter-flake8": {
		"ignoreErrorCodes": [
			"E501",
			"E731"
		]
	},
	"linter-jscs": {
		"preset": "google"
	},
	"linter-jshint": {
		"disableWhenNoJshintrcFileInPath": true,
		"lintInlineJavaScript": true,
		"lintJSXFiles": true
	},
	"linter-pylint": {
		"pythonPath": "/home/wonder/PyEnvs/$PROJECT_NAME/bin/python"
	},
	"linter-python": {
		"executablePath": "/usr/local/bin/pylama",
		"withPep8": true,
		"withPyflakes": true
	},
	"linter-ui-default": {
		"panelHeight": 99,
		"showPanel": true
	},
	"markdown-preview": {
		"breakOnSingleNewline": true,
		"useGitHubStyle": true
	},
	"minimap": {
		"plugins": {
			"bookmarks": true,
			"bookmarksDecorationsZIndex": 0,
			"cursorline": true,
			"cursorlineDecorationsZIndex": 0,
			"find-and-replace": true,
			"find-and-replaceDecorationsZIndex": 0,
			"linter": true,
			"linterDecorationsZIndex": 0,
			"selection": true,
			"selectionDecorationsZIndex": 0
		}
	},
	"nuclide": {
		"nuclide-home": {
			"showHome": false
		},
		"nuclide-working-sets": {
			"workingSets": [
				{
					"name": "www-conf",
					"active": false,
					"uris": [
						"/home/wonder/projects/zltop/www/constants.js",
						"/home/wonder/projects/zltop/www/package.json",
						"/home/wonder/projects/zltop/www/webpack.config.m.js",
						"/home/wonder/projects/zltop/www/webpack.config.pc.js",
						"/home/wonder/projects/zltop/www/webpack.config.pc.special.js"
					]
				}
			]
		}
	},
	"preview": {
		"_analyticsUserId": "d96476fa-3ff7-4e20-ba11-0ce6c3703b2a"
	},
	"project-manager": {
		"includeGitRepositories": true,
		"savePathsRelativeToHome": true
	},
	"python-tools": {},
	"remote-edit": {
		"notifications": false
	},
	"remote-sync": {},
	"split-diff": {
		"diffWords": true,
		"ignoreWhitespace": true,
		"leftEditorColor": "red",
		"rightEditorColor": "green",
		"syncHorizontalScroll": true
	},
	"symbol-gen": {
		"tagFile": "tags"
	},
	"symbols-tree-nav": {
		"autoToggle": true,
		"zzAlternativeCtagsBinary": "/usr/bin/ctags"
	},
	"symbols-tree-view": {
		"autoToggle": true,
		"zAutoHideTypes": "variable"
	},
	"sync-settings": {
		"checkForUpdatedBackup": false
	},
	"tabs": {
		"alwaysShowTabBar": false
	},
	"tree-view": {
		"hideIgnoredNames": true
	},
	"vim-mode-plus": {
		"smoothScrollOnFullScrollMotion": true,
		"smoothScrollOnFullScrollMotionDuration": 200,
		"smoothScrollOnHalfScrollMotion": true,
		"smoothScrollOnHalfScrollMotionDuration": 200,
		"startInInsertMode": true,
		"useClipboardAsDefaultRegister": true
	},
	"welcome": {
		"showOnStartup": false
	},
	"whitespace": {
		"removeTrailingWhitespace": false
	},
	"zentabs": {
		"maximumOpenedTabs": 12
	}
}
[
	{
		"name": "Hydrogen",
		"version": "2.1.0"
	},
	{
		"name": "about",
		"version": "1.7.8"
	},
	{
		"name": "archive-view",
		"version": "0.64.1"
	},
	{
		"name": "atom-beautify",
		"version": "0.30.5"
	},
	{
		"name": "atom-dark-syntax",
		"version": "0.28.0",
		"theme": "syntax"
	},
	{
		"name": "atom-dark-ui",
		"version": "0.53.0",
		"theme": "ui"
	},
	{
		"name": "atom-handlebars",
		"version": "1.3.0"
	},
	{
		"name": "atom-jq",
		"version": "0.7.0"
	},
	{
		"name": "atom-light-syntax",
		"version": "0.29.0",
		"theme": "syntax"
	},
	{
		"name": "atom-light-ui",
		"version": "0.46.0",
		"theme": "ui"
	},
	{
		"name": "atom-material-ui",
		"version": "2.0.6",
		"theme": "ui"
	},
	{
		"name": "atomic-chrome",
		"version": "0.3.3"
	},
	{
		"name": "autocomplete-atom-api",
		"version": "0.10.5"
	},
	{
		"name": "autocomplete-css",
		"version": "0.17.4"
	},
	{
		"name": "autocomplete-html",
		"version": "0.8.3"
	},
	{
		"name": "autocomplete-plus",
		"version": "2.38.0"
	},
	{
		"name": "autocomplete-python",
		"version": "1.10.3"
	},
	{
		"name": "autocomplete-snippets",
		"version": "1.11.2"
	},
	{
		"name": "autoflow",
		"version": "0.29.0"
	},
	{
		"name": "autosave",
		"version": "0.24.6"
	},
	{
		"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.88.0"
	},
	{
		"name": "busy-signal",
		"version": "1.4.3"
	},
	{
		"name": "clipboard-history",
		"version": "0.6.6"
	},
	{
		"name": "color-picker",
		"version": "2.2.5"
	},
	{
		"name": "command-palette",
		"version": "0.42.0"
	},
	{
		"name": "cursor-history",
		"version": "0.12.0"
	},
	{
		"name": "dalek",
		"version": "0.2.1"
	},
	{
		"name": "deprecation-cop",
		"version": "0.56.9"
	},
	{
		"name": "dev-live-reload",
		"version": "0.47.1"
	},
	{
		"name": "django-atom",
		"version": "0.2.4"
	},
	{
		"name": "editorconfig",
		"version": "2.2.2"
	},
	{
		"name": "emmet",
		"version": "2.4.3"
	},
	{
		"name": "emmet-simplified",
		"version": "2.5.0"
	},
	{
		"name": "encoding-selector",
		"version": "0.23.7"
	},
	{
		"name": "exception-reporting",
		"version": "0.42.0"
	},
	{
		"name": "expose",
		"version": "0.15.0"
	},
	{
		"name": "file-icons",
		"version": "2.1.11"
	},
	{
		"name": "find-and-replace",
		"version": "0.213.0"
	},
	{
		"name": "fuzzy-finder",
		"version": "1.7.3"
	},
	{
		"name": "git-diff",
		"version": "1.3.6"
	},
	{
		"name": "git-diff-popup",
		"version": "0.1.8"
	},
	{
		"name": "git-history",
		"version": "3.3.0"
	},
	{
		"name": "git-plus",
		"version": "7.10.0"
	},
	{
		"name": "git-time-machine",
		"version": "1.5.9"
	},
	{
		"name": "github",
		"version": "0.8.3"
	},
	{
		"name": "go-to-line",
		"version": "0.32.1"
	},
	{
		"name": "grammar-selector",
		"version": "0.49.8"
	},
	{
		"name": "highlight-selected",
		"version": "0.13.1"
	},
	{
		"name": "hyperclick",
		"version": "0.1.5"
	},
	{
		"name": "image-view",
		"version": "0.62.4"
	},
	{
		"name": "incompatible-packages",
		"version": "0.27.3"
	},
	{
		"name": "intentions",
		"version": "1.1.5"
	},
	{
		"name": "json-converter",
		"version": "0.2.4"
	},
	{
		"name": "jumpy",
		"version": "4.1.1"
	},
	{
		"name": "keybinding-resolver",
		"version": "0.38.1"
	},
	{
		"name": "language-c",
		"version": "0.58.1"
	},
	{
		"name": "language-clojure",
		"version": "0.22.4"
	},
	{
		"name": "language-coffee-script",
		"version": "0.49.3"
	},
	{
		"name": "language-csharp",
		"version": "0.14.3"
	},
	{
		"name": "language-css",
		"version": "0.42.7"
	},
	{
		"name": "language-docker",
		"version": "1.1.8"
	},
	{
		"name": "language-gfm",
		"version": "0.90.2"
	},
	{
		"name": "language-git",
		"version": "0.19.1"
	},
	{
		"name": "language-go",
		"version": "0.44.3"
	},
	{
		"name": "language-html",
		"version": "0.48.4"
	},
	{
		"name": "language-hyperlink",
		"version": "0.16.3"
	},
	{
		"name": "language-ini",
		"version": "1.19.0"
	},
	{
		"name": "language-java",
		"version": "0.27.6"
	},
	{
		"name": "language-javascript",
		"version": "0.127.6"
	},
	{
		"name": "language-json",
		"version": "0.19.1"
	},
	{
		"name": "language-less",
		"version": "0.33.0"
	},
	{
		"name": "language-lua",
		"version": "0.9.11"
	},
	{
		"name": "language-make",
		"version": "0.22.3"
	},
	{
		"name": "language-mustache",
		"version": "0.14.4"
	},
	{
		"name": "language-nginx",
		"version": "0.8.0"
	},
	{
		"name": "language-objective-c",
		"version": "0.15.1"
	},
	{
		"name": "language-perl",
		"version": "0.38.1"
	},
	{
		"name": "language-pgsql",
		"version": "0.2.3"
	},
	{
		"name": "language-php",
		"version": "0.42.2"
	},
	{
		"name": "language-property-list",
		"version": "0.9.1"
	},
	{
		"name": "language-python",
		"version": "0.45.5"
	},
	{
		"name": "language-ruby",
		"version": "0.71.4"
	},
	{
		"name": "language-ruby-on-rails",
		"version": "0.25.2"
	},
	{
		"name": "language-sass",
		"version": "0.61.1"
	},
	{
		"name": "language-shellscript",
		"version": "0.25.4"
	},
	{
		"name": "language-source",
		"version": "0.9.0"
	},
	{
		"name": "language-sql",
		"version": "0.25.8"
	},
	{
		"name": "language-text",
		"version": "0.7.3"
	},
	{
		"name": "language-todo",
		"version": "0.29.3"
	},
	{
		"name": "language-toml",
		"version": "0.18.1"
	},
	{
		"name": "language-typescript",
		"version": "0.2.2"
	},
	{
		"name": "language-vue",
		"version": "0.23.1"
	},
	{
		"name": "language-vue-component",
		"version": "0.5.0"
	},
	{
		"name": "language-xml",
		"version": "0.35.2"
	},
	{
		"name": "language-yaml",
		"version": "0.31.1"
	},
	{
		"name": "line-ending-selector",
		"version": "0.7.4"
	},
	{
		"name": "link",
		"version": "0.31.3"
	},
	{
		"name": "linter",
		"version": "2.2.0"
	},
	{
		"name": "linter-csslint",
		"version": "2.0.0"
	},
	{
		"name": "linter-eslint",
		"version": "8.4.0"
	},
	{
		"name": "linter-flake8",
		"version": "2.2.1"
	},
	{
		"name": "linter-javac",
		"version": "1.9.4"
	},
	{
		"name": "linter-jsonlint",
		"version": "1.3.0"
	},
	{
		"name": "linter-lua",
		"version": "1.0.4"
	},
	{
		"name": "linter-pylint",
		"version": "2.1.0"
	},
	{
		"name": "linter-python",
		"version": "3.1.2"
	},
	{
		"name": "linter-ui-default",
		"version": "1.6.10"
	},
	{
		"name": "linter-write-good",
		"version": "0.9.0"
	},
	{
		"name": "markdown-preview",
		"version": "0.159.18"
	},
	{
		"name": "merge-conflicts",
		"version": "1.4.5"
	},
	{
		"name": "metrics",
		"version": "1.2.6"
	},
	{
		"name": "notifications",
		"version": "0.69.2"
	},
	{
		"name": "one-dark-syntax",
		"version": "1.8.0",
		"theme": "syntax"
	},
	{
		"name": "one-dark-ui",
		"version": "1.10.8",
		"theme": "ui"
	},
	{
		"name": "one-light-syntax",
		"version": "1.8.0",
		"theme": "syntax"
	},
	{
		"name": "one-light-ui",
		"version": "1.10.8",
		"theme": "ui"
	},
	{
		"name": "open-on-github",
		"version": "1.3.1"
	},
	{
		"name": "package-generator",
		"version": "1.1.1"
	},
	{
		"name": "pigments",
		"version": "0.40.2"
	},
	{
		"name": "project-manager",
		"version": "3.3.5"
	},
	{
		"name": "python-tools",
		"version": "0.6.9"
	},
	{
		"name": "remote-sync",
		"version": "4.1.8"
	},
	{
		"name": "settings-view",
		"version": "0.253.0"
	},
	{
		"name": "snippets",
		"version": "1.1.9"
	},
	{
		"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.72.3"
	},
	{
		"name": "split-diff",
		"version": "1.5.1"
	},
	{
		"name": "status-bar",
		"version": "1.8.14"
	},
	{
		"name": "styleguide",
		"version": "0.49.8"
	},
	{
		"name": "symbol-gen",
		"version": "1.3.1"
	},
	{
		"name": "symbols-tree-nav",
		"version": "0.15.5"
	},
	{
		"name": "symbols-view",
		"version": "0.118.1"
	},
	{
		"name": "sync-settings",
		"version": "0.8.3"
	},
	{
		"name": "tabs",
		"version": "0.109.1"
	},
	{
		"name": "timecop",
		"version": "0.36.0"
	},
	{
		"name": "tree-view",
		"version": "0.221.3"
	},
	{
		"name": "update-package-dependencies",
		"version": "0.12.0"
	},
	{
		"name": "vim-mode",
		"version": "0.66.0"
	},
	{
		"name": "vim-mode-plus",
		"version": "1.20.0"
	},
	{
		"name": "welcome",
		"version": "0.36.6"
	},
	{
		"name": "whitespace",
		"version": "0.37.5"
	},
	{
		"name": "wrap-guide",
		"version": "0.40.2"
	},
	{
		"name": "zentabs",
		"version": "0.8.9"
	}
]
# 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:
# * 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 in the
# Atom Flight Manual:
# https://atom.io/docs/latest/using-atom-basic-customization#cson


'atom-text-editor':
  # 'ctrl-shift-R': 'symbols-view:toggle-project-symbols'
  'alt-[': 'symbols-view:return-from-declaration'
  'alt-]': 'symbols-view:go-to-declaration'

'atom-text-editor:not([mini])':
  'ctrl-e': 'find-and-replace:use-selection-as-find-pattern'
  'ctrl-shift-v': 'clipboard-plus:toggle'
  'ctrl-alt-p': 'custom:wrap-with-debounce'
  # 'ctrl-shift-R': 'symbols-view:toggle-project-symbols'

'atom-workspace':
  'ctrl-alt-g': 'symbol-gen:generate'
  'ctrl-i':     'cursor-history:next'
  'ctrl-o':     'cursor-history:prev'
  'ctrl-shift-i': 'cursor-history:next-within-editor'
  'ctrl-shift-o': 'cursor-history:prev-within-editor'

## I've disabled Emmets's own keybindings, Only want these:
# Make Emmet expand abbreviations with Tab key for all html-like syntaxes
'atom-text-editor[data-grammar~="html"]:not([mini])':
  'tab': 'emmet:expand-abbreviation-with-tab'
# 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()}"


wrapSelection = (selection, before, after) ->
  # Refer: https://discuss.atom.io/t/wrap-selected-text-whats-the-best-way/13136/4
  after ?= before
  selectedText = selection.getText()
  selection.insertText("#{before}#{selectedText}#{after}") if selectedText

atom.commands.add 'atom-text-editor',
  'custom:wrap-with-debounce', ->
    editor = @getModel()
    editor.transact ->
      wrapSelection(selection, "_.debounce(", ", 100)") for selection in editor.getSelections()