├── .editorconfig ├── .gitignore ├── .travis.yml ├── Gruntfile.js ├── README.md ├── bdd-describe.sublime-snippet ├── bdd-ita.sublime-snippet ├── bdd-itp.sublime-snippet ├── bdd-its.sublime-snippet ├── console-dir.sublime-snippet ├── console-error.sublime-snippet ├── console-info.sublime-snippet ├── console-log.sublime-snippet ├── console-warn.sublime-snippet ├── dom-addEvent.sublime-snippet ├── dom-attrGet.sublime-snippet ├── dom-attrRemove.sublime-snippet ├── dom-attrSet.sublime-snippet ├── dom-childAppend.sublime-snippet ├── dom-childRemove.sublime-snippet ├── dom-classAdd.sublime-snippet ├── dom-classRemove.sublime-snippet ├── dom-classToggle.sublime-snippet ├── dom-createDocumentFragment.sublime-snippet ├── dom-createElement.sublime-snippet ├── dom-getByClass.sublime-snippet ├── dom-getById.sublime-snippet ├── dom-getByTag.sublime-snippet ├── dom-innerHTML.sublime-snippet ├── dom-query.sublime-snippet ├── dom-queryAll.sublime-snippet ├── dom-textContent.sublime-snippet ├── for-each.sublime-snippet ├── for-in.sublime-snippet ├── function-anonymous.sublime-snippet ├── function-apply.sublime-snippet ├── function-call.sublime-snippet ├── function-iife.sublime-snippet ├── function-objectProperty.sublime-snippet ├── function-prototype.sublime-snippet ├── function.sublime-snippet ├── json-parse.sublime-snippet ├── json-stringify.sublime-snippet ├── misc-alert.sublime-snippet ├── misc-confirm.sublime-snippet ├── misc-debugger.sublime-snippet ├── misc-prompt.sublime-snippet ├── misc-useStrict.sublime-snippet ├── node-assertDeepEqual.sublime-snippet ├── node-assertEqual.sublime-snippet ├── node-assertNotEqual.sublime-snippet ├── node-moduleExports.sublime-snippet ├── node-processExit.sublime-snippet ├── node-require.sublime-snippet ├── package.json ├── timer-setInterval.sublime-snippet └── timer-setTimeout.sublime-snippet /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | end_of_line = lf 8 | insert_final_newline = false 9 | indent_style = tab 10 | indent_size = 4 11 | end_of_line = lf 12 | charset = utf-8 13 | trim_trailing_whitespace = true -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | grunt.initConfig({ 3 | bump: { 4 | options: { 5 | files: ['package.json'], 6 | commit: true, 7 | commitMessage: 'Release v%VERSION%', 8 | commitFiles: ['package.json'], 9 | createTag: true, 10 | tagName: '%VERSION%', 11 | tagMessage: '', 12 | push: true, 13 | pushTo: 'origin' 14 | } 15 | }, 16 | 17 | lintspaces: { 18 | all: { 19 | src: ['*'], 20 | options: { 21 | editorconfig: '.editorconfig' 22 | } 23 | } 24 | } 25 | }); 26 | 27 | grunt.loadNpmTasks('grunt-bump'); 28 | grunt.loadNpmTasks('grunt-lintspaces'); 29 | 30 | grunt.registerTask('default', ['lintspaces']); 31 | }; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JavaScript Snippets for Sublime [![Build Status](https://secure.travis-ci.org/zenorocha/sublime-javascript-snippets.svg?branch=master)](https://travis-ci.org/zenorocha/sublime-javascript-snippets) 2 | 3 | ![Demo](https://cloud.githubusercontent.com/assets/398893/3528110/d55390be-078b-11e4-8587-db23277b50af.gif) 4 | 5 | ## Install 6 | 7 | To install through [Package Control](http://wbond.net/sublime_packages/package_control), 8 | search for **JavaScript & NodeJS Snippets**. If you still don't have Package Control in Sublime Text, [go get it](http://wbond.net/sublime_packages/package_control/installation). 9 | It's pure awesomeness. 10 | 11 | If you prefer to install it manually, you can download the package and put it inside your `Packages` directory. It should work but will not update automatically. 12 | 13 | ## Console 14 | 15 | ### [cd] console.dir 16 | 17 | ```javascript 18 | console.dir(${1:obj}); 19 | ``` 20 | 21 | ### [ce] console.error 22 | 23 | ```javascript 24 | console.error(${1:obj}); 25 | ``` 26 | 27 | ### [ci] console.info 28 | 29 | ```javascript 30 | console.info(${1:obj}); 31 | ``` 32 | 33 | ### [cl] console.log 34 | 35 | ```javascript 36 | console.log(${1:obj}); 37 | ``` 38 | 39 | ### [cw] console.warn 40 | 41 | ```javascript 42 | console.warn(${1:obj}); 43 | ``` 44 | 45 | ### [de] debugger 46 | 47 | ```javascript 48 | debugger; 49 | ``` 50 | 51 | ## DOM 52 | 53 | ### [ae] addEventListener 54 | 55 | ```javascript 56 | ${1:document}.addEventListener('${2:event}', function(e) { 57 | ${3} 58 | }); 59 | ``` 60 | 61 | ### [ac] appendChild 62 | 63 | ```javascript 64 | ${1:document}.appendChild(${2:elem}); 65 | ``` 66 | 67 | ### [rc] removeChild 68 | 69 | ```javascript 70 | ${1:document}.removeChild(${2:elem}); 71 | ``` 72 | 73 | ### [cel] createElement 74 | 75 | ```javascript 76 | ${1:document}.createElement(${2:elem}); 77 | ``` 78 | 79 | ### [cdf] createDocumentFragment 80 | 81 | ```javascript 82 | ${1:document}.createDocumentFragment(); 83 | ``` 84 | 85 | ### [ca] classList.add 86 | 87 | ```javascript 88 | ${1:document}.classList.add('${2:class}'); 89 | ``` 90 | 91 | ### [ct] classList.toggle 92 | 93 | ```javascript 94 | ${1:document}.classList.toggle('${2:class}'); 95 | ``` 96 | 97 | ### [cr] classList.remove 98 | 99 | ```javascript 100 | ${1:document}.classList.remove('${2:class}'); 101 | ``` 102 | 103 | ### [gi] getElementById 104 | 105 | ```javascript 106 | ${1:document}.getElementById('${2:id}'); 107 | ``` 108 | 109 | ### [gc] getElementsByClassName 110 | 111 | ```javascript 112 | ${1:document}.getElementsByClassName('${2:class}'); 113 | ``` 114 | 115 | ### [gt] getElementsByTagName 116 | 117 | ```javascript 118 | ${1:document}.getElementsByTagName('${2:tag}'); 119 | ``` 120 | 121 | ### [ga] getAttribute 122 | 123 | ```javascript 124 | ${1:document}.getAttribute('${2:attr}'); 125 | ``` 126 | 127 | ### [sa] setAttribute 128 | 129 | ```javascript 130 | ${1:document}.setAttribute('${2:attr}', ${3:value}); 131 | ``` 132 | 133 | ### [ra] removeAttribute 134 | 135 | ```javascript 136 | ${1:document}.removeAttribute('${2:attr}'); 137 | ``` 138 | 139 | ### [ih] innerHTML 140 | 141 | ```javascript 142 | ${1:document}.innerHTML = '${2:elem}'; 143 | ``` 144 | 145 | ### [tc] textContent 146 | 147 | ```javascript 148 | ${1:document}.textContent = '${2:content}'; 149 | ``` 150 | 151 | ### [qs] querySelector 152 | 153 | ```javascript 154 | ${1:document}.querySelector('${2:selector}'); 155 | ``` 156 | 157 | ### [qsa] querySelectorAll 158 | 159 | ```javascript 160 | ${1:document}.querySelectorAll('${2:selector}'); 161 | ``` 162 | 163 | ## Loop 164 | 165 | ### [fe] forEach 166 | 167 | ```javascript 168 | ${1:myArray}.forEach(function(${2:elem}) { 169 | ${3} 170 | }); 171 | ``` 172 | 173 | ### [fi] for in 174 | 175 | ```javascript 176 | for (${1:prop} in ${2:obj}) { 177 | if (${2:obj}.hasOwnProperty(${1:prop})) { 178 | ${3} 179 | } 180 | } 181 | ``` 182 | 183 | ## Function 184 | 185 | ### [fn] function 186 | 187 | ```javascript 188 | function ${1:methodName}(${2:arguments}) { 189 | ${3} 190 | } 191 | ``` 192 | 193 | ### [afn] anonymous function 194 | 195 | ```javascript 196 | function(${1:arguments}) { 197 | ${2} 198 | } 199 | ``` 200 | 201 | ### [pr] prototype 202 | 203 | ```javascript 204 | ${1:ClassName}.prototype.${2:methodName} = function(${3:arguments}) { 205 | ${4} 206 | } 207 | ``` 208 | 209 | ### [iife] immediately-invoked function expression 210 | 211 | ```javascript 212 | (function(${1:window}, ${2:document}) { 213 | ${1} 214 | })(${1:window}, ${2:document}); 215 | ``` 216 | 217 | ### [call] function call 218 | 219 | ```javascript 220 | ${1:methodName}.call(${2:context}, ${3:arguments}) 221 | ``` 222 | 223 | ### [apply] function apply 224 | 225 | ```javascript 226 | ${1:methodName}.apply(${2:context}, [${3:arguments}]) 227 | ``` 228 | 229 | ### [ofn] function as a property of an object 230 | 231 | ```javascript 232 | ${1:functionName}: function (${2:arguments}) { 233 | ${3} 234 | } 235 | ``` 236 | 237 | ## JSON 238 | 239 | ### [jp] JSON.parse 240 | 241 | ```javascript 242 | JSON.parse(${1:obj}); 243 | ``` 244 | 245 | ### [js] JSON.stringify 246 | 247 | ```javascript 248 | JSON.stringify(${1:obj}); 249 | ``` 250 | 251 | ## Timer 252 | 253 | ### [si] setInterval 254 | 255 | ```javascript 256 | setInterval(function() { 257 | ${2} 258 | }, ${1:delay}); 259 | ``` 260 | 261 | ### [st] setTimeout 262 | 263 | ```javascript 264 | setTimeout(function() { 265 | ${2} 266 | }, ${1:delay}); 267 | ``` 268 | 269 | ## NodeJS 270 | 271 | ### [ase] assert.equal 272 | 273 | ```javascript 274 | assert.equal(${1:actual}, ${2:expected}); 275 | ``` 276 | 277 | ### [asd] assert.deepEqual 278 | 279 | ```javascript 280 | assert.deepEqual(${1:actual}, ${2:expected}); 281 | ``` 282 | 283 | ### [asn] assert.notEqual 284 | 285 | ```javascript 286 | assert.notEqual(${1:actual}, ${2:expected}); 287 | ``` 288 | 289 | ### [me] module.exports 290 | 291 | ```javascript 292 | module.exports = ${1:name}; 293 | ``` 294 | 295 | ### [pe] process.exit 296 | 297 | ```javascript 298 | process.exit(${1:code}); 299 | ``` 300 | 301 | ### [re] require 302 | 303 | ```javascript 304 | require('${1:module}'); 305 | ``` 306 | ## BDD 307 | 308 | ### [desc] describe 309 | 310 | ```javascript 311 | describe('${1:description}', function() { 312 | ${2} 313 | }); 314 | ``` 315 | ### [ita] it asynchronous 316 | 317 | ```javascript 318 | it('${1:description}', function(done) { 319 | ${2} 320 | }); 321 | ``` 322 | 323 | ### [its] it synchronous 324 | 325 | ```javascript 326 | it('${1:description}', function() { 327 | ${2} 328 | }); 329 | ``` 330 | 331 | ### [itp] it pending 332 | 333 | ```javascript 334 | it('${1:description}'); 335 | ``` 336 | 337 | ## Misc 338 | 339 | ### [us] use strict 340 | 341 | ```javascript 342 | 'use strict'; 343 | ``` 344 | 345 | ### [al] alert 346 | 347 | ```javascript 348 | alert('${1:msg}'); 349 | ``` 350 | 351 | ### [co] confirm 352 | 353 | ```javascript 354 | confirm('${1:msg}'); 355 | ``` 356 | 357 | ### [pm] prompt 358 | 359 | ```javascript 360 | prompt('${1:msg}'); 361 | ``` 362 | 363 | ## Contributing 364 | 365 | 1. Fork it! 366 | 2. Create your feature branch: `git checkout -b my-new-feature` 367 | 3. Commit your changes: `git commit -m 'Add some feature'` 368 | 4. Push to the branch: `git push origin my-new-feature` 369 | 5. Submit a pull request :D 370 | 371 | ## History 372 | 373 | Check [Releases](https://github.com/zenorocha/sublime-javascript-snippets/releases) for detailed changelog. 374 | 375 | ## License 376 | 377 | [MIT License](http://zenorocha.mit-license.org/) © Zeno Rocha 378 | -------------------------------------------------------------------------------- /bdd-describe.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | desc 8 | source.js, source.jsx, source.ts 9 | BDD describe 10 | -------------------------------------------------------------------------------- /bdd-ita.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | ita 8 | source.js, source.jsx, source.ts 9 | BDD it asynchronous 10 | -------------------------------------------------------------------------------- /bdd-itp.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | itp 6 | source.js, source.jsx, source.ts 7 | BDD it pending 8 | -------------------------------------------------------------------------------- /bdd-its.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | its 8 | source.js, source.jsx, source.ts 9 | BDD it synchronous 10 | -------------------------------------------------------------------------------- /console-dir.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | cd 6 | source.js, source.jsx, source.ts 7 | console.dir 8 | -------------------------------------------------------------------------------- /console-error.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | ce 6 | source.js, source.jsx, source.ts 7 | console.error 8 | -------------------------------------------------------------------------------- /console-info.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | ci 6 | source.js, source.jsx, source.ts 7 | console.info 8 | -------------------------------------------------------------------------------- /console-log.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | cl 6 | source.js, source.jsx, source.ts 7 | console.log 8 | -------------------------------------------------------------------------------- /console-warn.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | cw 6 | source.js, source.jsx, source.ts 7 | console.warn 8 | -------------------------------------------------------------------------------- /dom-addEvent.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | ae 8 | source.js, source.jsx, source.ts 9 | addEventListener 10 | -------------------------------------------------------------------------------- /dom-attrGet.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | ga 6 | source.js, source.jsx, source.ts 7 | getAttribute 8 | -------------------------------------------------------------------------------- /dom-attrRemove.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | ra 6 | source.js, source.jsx, source.ts 7 | removeAttribute 8 | -------------------------------------------------------------------------------- /dom-attrSet.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | sa 6 | source.js, source.jsx, source.ts 7 | setAttribute 8 | -------------------------------------------------------------------------------- /dom-childAppend.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | ac 6 | source.js, source.jsx, source.ts 7 | appendChild 8 | 9 | -------------------------------------------------------------------------------- /dom-childRemove.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | rc 6 | source.js, source.jsx, source.ts 7 | removeChild 8 | -------------------------------------------------------------------------------- /dom-classAdd.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | ca 6 | source.js, source.jsx, source.ts 7 | classList.add 8 | -------------------------------------------------------------------------------- /dom-classRemove.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | cr 6 | source.js, source.jsx, source.ts 7 | classList.remove 8 | -------------------------------------------------------------------------------- /dom-classToggle.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | ct 6 | source.js, source.jsx, source.ts 7 | classList.toggle 8 | -------------------------------------------------------------------------------- /dom-createDocumentFragment.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | cdf 6 | source.js, source.jsx, source.ts 7 | createDocumentFragment 8 | -------------------------------------------------------------------------------- /dom-createElement.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | cel 6 | source.js, source.jsx, source.ts 7 | createElement 8 | -------------------------------------------------------------------------------- /dom-getByClass.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | gc 6 | source.js, source.jsx, source.ts 7 | getElementsByClassName 8 | -------------------------------------------------------------------------------- /dom-getById.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | gi 6 | source.js, source.jsx, source.ts 7 | getElementById 8 | -------------------------------------------------------------------------------- /dom-getByTag.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | gt 6 | source.js, source.jsx, source.ts 7 | getElementsByTagName 8 | -------------------------------------------------------------------------------- /dom-innerHTML.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | ih 6 | source.js, source.jsx, source.ts 7 | innerHTML 8 | -------------------------------------------------------------------------------- /dom-query.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | qs 6 | source.js, source.jsx, source.ts 7 | querySelector 8 | -------------------------------------------------------------------------------- /dom-queryAll.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | qsa 6 | source.js, source.jsx, source.ts 7 | querySelectorAll 8 | -------------------------------------------------------------------------------- /dom-textContent.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | tc 6 | source.js, source.jsx, source.ts 7 | textContent 8 | -------------------------------------------------------------------------------- /for-each.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | fe 8 | source.js, source.jsx, source.ts 9 | forEach 10 | -------------------------------------------------------------------------------- /for-in.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 9 | fi 10 | source.js, source.jsx, source.ts 11 | for in 12 | -------------------------------------------------------------------------------- /function-anonymous.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | afn 8 | source.js, source.jsx, source.ts 9 | anonymous function 10 | -------------------------------------------------------------------------------- /function-apply.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | apply 6 | source.js, source.jsx, source.ts 7 | method.apply() 8 | -------------------------------------------------------------------------------- /function-call.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | call 6 | source.js, source.jsx, source.ts 7 | method.call() 8 | -------------------------------------------------------------------------------- /function-iife.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | iife 8 | source.js, source.jsx, source.ts 9 | immediately-invoked function expression 10 | 11 | -------------------------------------------------------------------------------- /function-objectProperty.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | ofn 8 | source.js, source.jsx, source.ts 9 | function as a property of an object 10 | -------------------------------------------------------------------------------- /function-prototype.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | pr 8 | source.js, source.jsx, source.ts 9 | prototype 10 | -------------------------------------------------------------------------------- /function.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | fn 8 | source.js, source.jsx, source.ts 9 | function 10 | -------------------------------------------------------------------------------- /json-parse.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | jp 6 | source.js, source.jsx, source.ts 7 | JSON.parse 8 | -------------------------------------------------------------------------------- /json-stringify.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | js 6 | source.js, source.jsx, source.ts 7 | JSON.stringify 8 | -------------------------------------------------------------------------------- /misc-alert.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | al 6 | source.js, source.jsx, source.ts 7 | alert 8 | -------------------------------------------------------------------------------- /misc-confirm.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | co 6 | source.js, source.jsx, source.ts 7 | confirm 8 | -------------------------------------------------------------------------------- /misc-debugger.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | de 6 | source.js, source.jsx, source.ts 7 | debugger 8 | -------------------------------------------------------------------------------- /misc-prompt.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | pm 6 | source.js, source.jsx, source.ts 7 | prompt 8 | -------------------------------------------------------------------------------- /misc-useStrict.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | us 6 | source.js, source.jsx, source.ts 7 | use strict 8 | -------------------------------------------------------------------------------- /node-assertDeepEqual.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | asd 6 | source.js, source.jsx, source.ts 7 | assert.deepEqual 8 | -------------------------------------------------------------------------------- /node-assertEqual.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | ase 6 | source.js, source.jsx, source.ts 7 | assert.equal 8 | -------------------------------------------------------------------------------- /node-assertNotEqual.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | asn 6 | source.js, source.jsx, source.ts 7 | assert.notEqual 8 | -------------------------------------------------------------------------------- /node-moduleExports.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | me 6 | source.js, source.jsx, source.ts 7 | module.exports 8 | -------------------------------------------------------------------------------- /node-processExit.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | pe 6 | source.js, source.jsx, source.ts 7 | process.exit 8 | -------------------------------------------------------------------------------- /node-require.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 5 | re 6 | source.js, source.jsx, source.ts 7 | require 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sublime-snippets-js", 3 | "version": "1.2.1", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/zenorocha/sublime-snippets-js.git" 7 | }, 8 | "devDependencies": { 9 | "grunt": "0.4.2", 10 | "grunt-bump": "0.0.13", 11 | "grunt-cli": "1.2.0", 12 | "grunt-lintspaces": "0.8.0" 13 | }, 14 | "scripts": { 15 | "test": "grunt" 16 | } 17 | } -------------------------------------------------------------------------------- /timer-setInterval.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | si 8 | source.js, source.jsx, source.ts 9 | setInterval 10 | -------------------------------------------------------------------------------- /timer-setTimeout.sublime-snippet: -------------------------------------------------------------------------------- 1 | 2 | 7 | st 8 | source.js, source.jsx, source.ts 9 | setTimeout 10 | --------------------------------------------------------------------------------