Skip to content

Commit a3f08fd

Browse files
committed
[tools] add tools section, add sublime snippets
1 parent a15b27e commit a3f08fd

26 files changed

+372
-0
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
1. [ES5 Compatibility](#es5)
2929
1. [Testing](#testing)
3030
1. [Performance](#performance)
31+
1. [Tools](#tools)
3132
1. [Resources](#resources)
3233
1. [In the Wild](#in-the-wild)
3334
1. [Translation](#translation)
@@ -1283,6 +1284,16 @@
12831284
**[[⬆]](#TOC)**
12841285

12851286

1287+
## <a name='Tools'>Tools</a>
1288+
1289+
**Linters**
1290+
1291+
- [SublimeLinter](https://github.com/airbnb/javascript/tree/master/linters/SublimeLinter)
1292+
1293+
**Snippets**
1294+
1295+
- [Sublime](https://github.com/airbnb/javascript/tree/master/snippets/sublime/javascript)
1296+
12861297
## <a name='resources'>Resources</a>
12871298

12881299

snippets/sublime/README.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Sublime Text Snippets
2+
3+
Keyboard Karate that matches our [mostly reasonable approach to JavaScript](https://github.com/airbnb/javascript)
4+
5+
## Installation
6+
7+
Move the `javascript` folder to `~/Library/Application Support/Sublime Text 2/Packages/User/`
8+
9+
## Guide
10+
11+
Sublime Text snippets work when you type some letters (let's call them commands), then you hit `enter` to insert the snippet. Then additional `tabs` will move your cursor to the next anchor point. Anchor points are illustrated in this guide as sequential number counts. `1` is where the cursor will start, pressing `tab` will take you to `2` and so on.
12+
13+
## <a name='TOC'>Table of Contents</a>
14+
15+
1. [vo](#vo): var object
16+
1. [va](#va): var array
17+
1. [vs](#vs): var string
18+
1. [if](#if): if statement
19+
1. [ife](#ife): if/else statement
20+
1. [whi](#whi): while loop
21+
1. [vf](#vf): var function
22+
1. [af](#af): anonymous function
23+
1. [nf](#nf): named function
24+
1. [pf](#pf): property function
25+
1. [iife](#iife): immediately invoked function expression
26+
1. [mod](#mod): module
27+
1. [args](#args): arguments array
28+
1. [tr](#tr): `this` reference
29+
1. [con](#con): console.log
30+
31+
32+
33+
## <a name='vo'>`vo`</a>
34+
35+
```javascript
36+
var 1 = {2};
37+
```
38+
39+
## <a name='va'>`va`</a>
40+
41+
```javascript
42+
var 1 = [2];
43+
```
44+
45+
## <a name='vs'>`vs`</a>
46+
47+
```javascript
48+
var 1 = '2';
49+
```
50+
51+
## <a name='if'>`if`</a>
52+
53+
```javascript
54+
if (1) {
55+
2
56+
}
57+
```
58+
59+
## <a name='ife'>`ife`</a>
60+
61+
```javascript
62+
if (1) {
63+
2
64+
} else {
65+
3
66+
}
67+
```
68+
69+
## <a name='whi'>`whi`</a>
70+
71+
```javascript
72+
while (1) {
73+
2
74+
}
75+
```
76+
77+
## <a name='vf'>`vf`</a>
78+
79+
```javascript
80+
var 1 = function2() {
81+
3
82+
};
83+
```
84+
85+
## <a name='af'>`af`</a>
86+
87+
```javascript
88+
function(1) {
89+
2
90+
}3
91+
```
92+
93+
## <a name='nf'>`nf`</a>
94+
95+
```javascript
96+
function 1(2) {
97+
3
98+
}4
99+
```
100+
101+
## <a name='pf'>`pf`</a>
102+
103+
```javascript
104+
1: function(2) {
105+
3
106+
}4
107+
```
108+
109+
## <a name='iife'>`iife`</a>
110+
111+
```javascript
112+
(function(1) {
113+
2
114+
})(3);
115+
```
116+
117+
## <a name='mod'>`mod`</a>
118+
119+
```javascript
120+
!function() {
121+
'use strict';
122+
123+
1
124+
}();
125+
```
126+
127+
## <a name='args'>`args`</a>
128+
129+
```javascript
130+
var args = Array.prototype.slice.apply(arguments);
131+
```
132+
133+
## <a name='tr'>`tr`</a>
134+
135+
```javascript
136+
var _this = this;
137+
```
138+
139+
## <a name='con'>`con`</a>
140+
141+
```javascript
142+
console.log(1);
143+
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<snippet>
2+
<content><![CDATA[
3+
defaults: {
4+
'${1}': '${2}',
5+
},
6+
]]></content>
7+
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
8+
<tabTrigger>bd</tabTrigger>
9+
<!-- Optional: Set a scope to limit where the snippet will trigger -->
10+
<!-- <scope>source.python</scope> -->
11+
</snippet>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<snippet>
2+
<content><![CDATA[
3+
events: {
4+
'${1}': '${2}',
5+
},
6+
]]></content>
7+
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
8+
<tabTrigger>be</tabTrigger>
9+
<!-- Optional: Set a scope to limit where the snippet will trigger -->
10+
<!-- <scope>source.python</scope> -->
11+
</snippet>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<snippet>
2+
<content><![CDATA[
3+
${1}Collection = Backbone.Collection.extend({
4+
${2}
5+
});
6+
]]></content>
7+
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
8+
<tabTrigger>bc</tabTrigger>
9+
<!-- Optional: Set a scope to limit where the snippet will trigger -->
10+
<!-- <scope>source.python</scope> -->
11+
</snippet>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<snippet>
2+
<content><![CDATA[
3+
${1}Model = Backbone.Model.extend({
4+
${2}
5+
});
6+
]]></content>
7+
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
8+
<tabTrigger>bm</tabTrigger>
9+
<!-- Optional: Set a scope to limit where the snippet will trigger -->
10+
<!-- <scope>source.python</scope> -->
11+
</snippet>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<snippet>
2+
<content><![CDATA[
3+
${1}View = Backbone.View.extend({
4+
initialize: function() {
5+
${2}
6+
},
7+
8+
render: function() {
9+
${3}
10+
}
11+
});
12+
]]></content>
13+
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
14+
<tabTrigger>bvi</tabTrigger>
15+
<!-- Optional: Set a scope to limit where the snippet will trigger -->
16+
<!-- <scope>source.python</scope> -->
17+
</snippet>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<snippet>
2+
<content><![CDATA[
3+
${1}View = Backbone.View.extend({
4+
${2}
5+
});
6+
]]></content>
7+
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
8+
<tabTrigger>bv</tabTrigger>
9+
<!-- Optional: Set a scope to limit where the snippet will trigger -->
10+
<!-- <scope>source.python</scope> -->
11+
</snippet>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<snippet>
2+
<content><![CDATA[
3+
initialize: function() {
4+
${1}
5+
},
6+
${2}
7+
]]></content>
8+
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
9+
<tabTrigger>inf</tabTrigger>
10+
<!-- Optional: Set a scope to limit where the snippet will trigger -->
11+
<!-- <scope>source.python</scope> -->
12+
</snippet>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<snippet>
2+
<content><![CDATA[
3+
(function(){
4+
'use strict';
5+
6+
${1}
7+
})();
8+
]]></content>
9+
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
10+
<tabTrigger>module</tabTrigger>
11+
<!-- Optional: Set a scope to limit where the snippet will trigger -->
12+
<!-- <scope>source.python</scope> -->
13+
</snippet>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<snippet>
2+
<content><![CDATA[
3+
${1}Collection = new Backbone.Collection(${2});
4+
]]></content>
5+
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
6+
<tabTrigger>nbc</tabTrigger>
7+
<!-- Optional: Set a scope to limit where the snippet will trigger -->
8+
<!-- <scope>source.python</scope> -->
9+
</snippet>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<snippet>
2+
<content><![CDATA[
3+
function(${1}) {
4+
${2}
5+
}${3}
6+
]]></content>
7+
<tabTrigger>af</tabTrigger>
8+
</snippet>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<snippet>
2+
<content><![CDATA[
3+
var args = Array.prototype.slice.apply(arguments);
4+
]]></content>
5+
<tabTrigger>args</tabTrigger>
6+
</snippet>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<snippet>
2+
<content><![CDATA[
3+
console.log(${1});
4+
]]></content>
5+
<tabTrigger>cl</tabTrigger>
6+
</snippet>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<snippet>
2+
<content><![CDATA[
3+
if (${1}) {
4+
${2}
5+
} else {
6+
${3}
7+
}
8+
]]></content>
9+
<tabTrigger>ife</tabTrigger>
10+
</snippet>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<snippet>
2+
<content><![CDATA[
3+
if (${1}) {
4+
${2}
5+
}
6+
]]></content>
7+
<tabTrigger>if</tabTrigger>
8+
</snippet>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<snippet>
2+
<content><![CDATA[
3+
(function(${1}){
4+
${2}
5+
})(${3});
6+
]]></content>
7+
<tabTrigger>iife</tabTrigger>
8+
</snippet>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<snippet>
2+
<content><![CDATA[
3+
!function(){
4+
'use strict';
5+
6+
${1}
7+
}();
8+
]]></content>
9+
<tabTrigger>mod</tabTrigger>
10+
</snippet>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<snippet>
2+
<content><![CDATA[
3+
function ${1}(${2}) {
4+
${3}
5+
}${4}
6+
]]></content>
7+
<tabTrigger>nf</tabTrigger>
8+
</snippet>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<snippet>
2+
<content><![CDATA[
3+
${1}: function(${2}) {
4+
${3}
5+
}${4}
6+
]]></content>
7+
<tabTrigger>pf</tabTrigger>
8+
</snippet>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<snippet>
2+
<content><![CDATA[
3+
var _this = this;
4+
]]></content>
5+
<tabTrigger>tr</tabTrigger>
6+
</snippet>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<snippet>
2+
<content><![CDATA[
3+
var ${1} = [${2}];
4+
]]></content>
5+
<tabTrigger>va</tabTrigger>
6+
</snippet>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<snippet>
2+
<content><![CDATA[
3+
var ${1} = function${2}() {
4+
${3}
5+
};
6+
]]></content>
7+
<tabTrigger>vf</tabTrigger>
8+
</snippet>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<snippet>
2+
<content><![CDATA[
3+
var ${1} = {${2}};
4+
]]></content>
5+
<tabTrigger>vo</tabTrigger>
6+
</snippet>

0 commit comments

Comments
 (0)