Commits

Ches Martin committed 1eefddc

vim: snippets for CoffeeScript and Jasmine with Coffee and JS

  • Participants
  • Parent commits 75923d4

Comments (0)

Files changed (3)

File .vim/UltiSnips/coffee.snippets

+# From the TextMate bundle
+
+snippet fun "Function" b
+${1:name} = (${2:args}) ->
+	${0:# body...}
+endsnippet
+
+snippet bfun "Function (bound)" b
+${1:(${2:args}) }=>
+	${0:# body...}
+endsnippet
+
+snippet if "If" b
+if ${1:condition}
+	${0:# body...}
+endsnippet
+
+snippet ife "If .. Else" b
+if ${1:condition}
+	${2:# body...}
+else
+	${3:# body...}
+endsnippet
+
+snippet elif "Else if" b
+else if ${1:condition}
+	${0:# body...}
+endsnippet
+
+snippet ifte "Ternary if" b
+if ${1:condition} then ${2:value} else ${3:other}
+endsnippet
+
+snippet unl "Unless" b
+${1:action} unless ${2:condition}
+endsnippet
+
+snippet fora "Array Comprehension" b
+for ${1:name} in ${2:array}
+	${0:# body...}
+endsnippet
+
+snippet foro "Object Comprehension" b
+for ${1:key}, ${2:value} of ${3:Object}
+	${0:# body...}
+endsnippet
+
+snippet forr "Range Comprehension (inclusive)" b
+for ${1:name} in [${2:start}..${3:finish}]${4: by ${5:step}}
+	${0:# body...}
+endsnippet
+
+snippet forrex "Range Comprehension (exclusive)" b
+for ${1:name} in [${2:start}...${3:finish}]${4: by ${5:step}}
+	${0:# body...}
+endsnippet
+
+snippet swi "Switch" b
+switch ${1:object}
+	when ${2:value}
+		${0:# body...}
+endsnippet
+
+snippet cla "Class" b
+class ${1:ClassName}${2: extends ${3:Ancestor}}
+
+	${4:constructor: (${5:args}) ->
+		${6:# body...}}
+	$7
+endsnippet
+
+snippet try "Try .. Catch" b
+try
+	$1
+catch ${2:error}
+	$3
+endsnippet
+
+# TODO: match group when between quotes gets last char cut off -- doesn't happen
+# in TextMate
+# TODO: would like to take part after last slash, but can't figure out how to
+# get UltiSnips regex syntax to accept [^/]
+snippet req "Require" b
+${1/^'?(\w+)'?$/\L$1\E/} = require(${1:'${2:sys}'})
+endsnippet
+
+snippet # "Interpolated Code"
+#{$1}$0
+endsnippet
+
+snippet log "Log" b
+console.log ${1:"${2:msg}"}
+endsnippet
+

File .vim/UltiSnips/coffee_jasmine.snippets

+#
+# CoffeeScript versions -- adapted from the JS TextMate bundle + additions
+# for some jasmine-jquery matchers
+#
+extends coffee
+
+snippet des "Describe (coffee)" b
+describe '${1:description}', ->
+	$0
+endsnippet
+
+snippet it "it (coffee)" b
+it '${1:description}', ->
+	$0
+endsnippet
+
+snippet bef "before each (coffee)" b
+beforeEach ->
+	$0
+endsnippet
+
+snippet aft "after each (coffee)" b
+afterEach ->
+	$0
+endsnippet
+
+snippet any "any (coffee)" b
+jasmine.any($1)
+endsnippet
+
+snippet ru "runs (coffee)" b
+runs ->
+	$0
+endsnippet
+
+snippet wa "waits (coffee)" b
+waits($1)
+endsnippet
+
+snippet ex "expect (coffee)" b
+expect(${1:target})$0
+endsnippet
+
+snippet ee "expect to equal (coffee)" b
+expect(${1:target}).toEqual(${2:value})
+endsnippet
+
+snippet em "expect to match (coffee)" b
+expect(${1:target}).toMatch(${2:pattern})
+endsnippet
+
+snippet eha "expect to have attribute (coffee)" b
+expect(${1:target}).toHaveAttr('${2:attr}'${3:, '${4:value}'})
+endsnippet
+
+snippet et "expect to be truthy (coffee)" b
+expect(${1:target}).toBeTruthy()
+endsnippet
+
+snippet ef "expect to be falsy (coffee)" b
+expect(${1:target}).toBeFalsy()
+endsnippet
+
+snippet ed "expect to be defined (coffee)" b
+expect(${1:target}).toBeDefined()
+endsnippet
+
+snippet en "expect to be null (coffee)" b
+expect(${1:target}).toBeNull()
+endsnippet
+
+snippet ec "expect to contain (coffee)" b
+expect(${1:target}).toContain(${2:value})
+endsnippet
+
+snippet ev "expect to be visible (coffee)" b
+expect(${1:target}).toBeVisible()
+endsnippet
+
+snippet eh "expect to be hidden (coffee)" b
+expect(${1:target}).toBeHidden()
+endsnippet
+
+snippet notx "expect not (coffee)" b
+expect(${1:target}).not$0
+endsnippet
+
+snippet note "expect not to equal (coffee)" b
+expect(${1:target}).not.toEqual(${2:value})
+endsnippet
+
+snippet notm "expect not to match (coffee)" b
+expect(${1:target}).not.toMatch(${2:pattern})
+endsnippet
+
+snippet notha "expect to not have attribute (coffee)" b
+expect(${1:target}).not.toHaveAttr('${2:attr}'${3:, '${4:value}'})
+endsnippet
+
+snippet nott "expect not to be truthy (coffee)" b
+expect(${1:target}).not.toBeTruthy()
+endsnippet
+
+snippet notf "expect not to be falsy (coffee)" b
+expect(${1:target}).not.toBeFalsy()
+endsnippet
+
+snippet notd "expect not to be defined (coffee)" b
+expect(${1:target}).not.toBeDefined()
+endsnippet
+
+snippet notn "expect not to be null (coffee)" b
+expect(${1:target}).not.toBeNull()
+endsnippet
+
+snippet notc "expect not to contain (coffee)" b
+expect(${1:target}).not.toContain(${2:value})
+endsnippet
+
+snippet notv "expect not to be visible (coffee)" b
+expect(${1:target}).not.toBeVisible()
+endsnippet
+
+snippet noth "expect not to be hidden (coffee)" b
+expect(${1:target}).not.toBeHidden()
+endsnippet
+
+snippet s "spy on (coffee)" b
+spyOn(${1:object}, "${2:method}")$0
+endsnippet
+
+snippet sr "spy on and return (coffee)" b
+spyOn(${1:object}, "${2:method}").andReturn(${3:arguments})
+endsnippet
+
+snippet st "spy on and throw (coffee)" b
+spyOn(${1:object}, "${2:method}").andThrow(${3:exception})
+endsnippet
+
+snippet sct "spy on and call through (coffee)" b
+spyOn(${1:object}, "${2:method}").andCallThrough()
+endsnippet
+
+snippet scf "spy on and call fake (coffee)" b
+spyOn(${1:object}, "${2:method}").andCallFake(${3:function})
+endsnippet
+
+snippet esc "expect was called (coffee)" b
+expect(${1:target}).wasCalled()
+endsnippet
+
+snippet escw "expect was called with (coffee)" b
+expect(${1:target}).wasCalledWith(${2:arguments})
+endsnippet
+
+snippet notsc "expect was not called (coffee)" b
+expect(${1:target}).wasNotCalled()
+endsnippet
+
+snippet noscw "expect was not called with (coffee)" b
+expect(${1:target}).wasNotCalledWith(${2:arguments})
+endsnippet
+

File .vim/UltiSnips/javascript_jasmine.snippets

+#
+# JavaScript versions -- from the TextMate bundle + some additions
+# for jasmine-jquery matchers
+#
+extends javascript
+
+snippet des "Describe (js)" b
+describe('${1:description}', function() {
+	$0
+});
+endsnippet
+
+snippet it "it (js)" b
+it('${1:description}', function() {
+	$0
+});
+endsnippet
+
+snippet bef "before each (js)" b
+beforeEach(function() {
+	$0
+});
+endsnippet
+
+snippet aft "after each (js)" b
+afterEach(function() {
+	$0
+});
+endsnippet
+
+snippet any "any (js)" b
+jasmine.any($1)
+endsnippet
+
+snippet ru "runs (js)" b
+runs(function() {
+	$0
+});
+endsnippet
+
+snippet wa "waits (js)" b
+waits($1);
+endsnippet
+
+snippet ex "expect (js)" b
+expect(${1:target})$0;
+endsnippet
+
+snippet ee "expect to equal (js)" b
+expect(${1:target}).toEqual(${2:value});
+endsnippet
+
+snippet em "expect to match (js)" b
+expect(${1:target}).toMatch(${2:pattern});
+endsnippet
+
+snippet eha "expect to have attribute (js)" b
+expect(${1:target}).toHaveAttr('${2:attr}'${3:, '${4:value}'});
+endsnippet
+
+snippet et "expect to be truthy (js)" b
+expect(${1:target}).toBeTruthy();
+endsnippet
+
+snippet ef "expect to be falsy (js)" b
+expect(${1:target}).toBeFalsy();
+endsnippet
+
+snippet ed "expect to be defined (js)" b
+expect(${1:target}).toBeDefined();
+endsnippet
+
+snippet en "expect to be null (js)" b
+expect(${1:target}).toBeNull();
+endsnippet
+
+snippet ec "expect to contain (js)" b
+expect(${1:target}).toContain(${2:value});
+endsnippet
+
+snippet ev "expect to be visible (js)" b
+expect(${1:target}).toBeVisible();
+endsnippet
+
+snippet eh "expect to be hidden (js)" b
+expect(${1:target}).toBeHidden();
+endsnippet
+
+snippet notx "expect not (js)" b
+expect(${1:target}).not$0;
+endsnippet
+
+snippet note "expect not to equal (js)" b
+expect(${1:target}).not.toEqual(${2:value});
+endsnippet
+
+snippet notm "expect not to match (js)" b
+expect(${1:target}).not.toMatch(${2:pattern});
+endsnippet
+
+snippet notha "expect to not have attribute (js)" b
+expect(${1:target}).not.toHaveAttr('${2:attr}'${3:, '${4:value}'});
+endsnippet
+
+snippet nott "expect not to be truthy (js)" b
+expect(${1:target}).not.toBeTruthy();
+endsnippet
+
+snippet notf "expect not to be falsy (js)" b
+expect(${1:target}).not.toBeFalsy();
+endsnippet
+
+snippet notd "expect not to be defined (js)" b
+expect(${1:target}).not.toBeDefined();
+endsnippet
+
+snippet notn "expect not to be null (js)" b
+expect(${1:target}).not.toBeNull();
+endsnippet
+
+snippet notc "expect not to contain (js)" b
+expect(${1:target}).not.toContain(${2:value});
+endsnippet
+
+snippet notv "expect not to be visible (js)" b
+expect(${1:target}).not.toBeVisible();
+endsnippet
+
+snippet noth "expect not to be hidden (js)" b
+expect(${1:target}).not.toBeHidden();
+endsnippet
+
+snippet s "spy on (js)" b
+spyOn(${1:object}, '${2:method}')$0;
+endsnippet
+
+snippet sr "spy on and return (js)" b
+spyOn(${1:object}, '${2:method}').andReturn(${3:arguments});
+endsnippet
+
+snippet st "spy on and throw (js)" b
+spyOn(${1:object}, '${2:method}').andThrow(${3:exception});
+endsnippet
+
+snippet sct "spy on and call through (js)" b
+spyOn(${1:object}, '${2:method}').andCallThrough();
+endsnippet
+
+snippet scf "spy on and call fake (js)" b
+spyOn(${1:object}, '${2:method}').andCallFake(${3:function});
+endsnippet
+
+snippet esc "expect was called (js)" b
+expect(${1:target}).wasCalled();
+endsnippet
+
+snippet escw "expect was called with (js)" b
+expect(${1:target}).wasCalledWith(${2:arguments});
+endsnippet
+
+snippet notsc "expect was not called (js)" b
+expect(${1:target}).wasNotCalled();
+endsnippet
+
+snippet noscw "expect was not called with (js)" b
+expect(${1:target}).wasNotCalledWith(${2:arguments});
+endsnippet
+