747 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			747 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8"?>
 | |
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | |
| <plist version="1.0">
 | |
| <dict>
 | |
| 	<key>comment</key>
 | |
| 	<string>CoffeeScript Syntax: version 1</string>
 | |
| 	<key>fileTypes</key>
 | |
| 	<array>
 | |
| 		<string>coffee</string>
 | |
| 		<string>Cakefile</string>
 | |
| 		<string>coffee.erb</string>
 | |
| 		<string>cson</string>
 | |
| 	</array>
 | |
| 	<key>firstLineMatch</key>
 | |
| 	<string>^#!.*\bcoffee</string>
 | |
| 	<key>foldingStartMarker</key>
 | |
| 	<string>^\s*class\s+\S.*$|.*(->|=>)\s*$|.*[\[{]\s*$</string>
 | |
| 	<key>foldingStopMarker</key>
 | |
| 	<string>^\s*$|^\s*[}\]]\s*$</string>
 | |
| 	<key>keyEquivalent</key>
 | |
| 	<string>^~C</string>
 | |
| 	<key>name</key>
 | |
| 	<string>CoffeeScript</string>
 | |
| 	<key>patterns</key>
 | |
| 	<array>
 | |
| 		<dict>
 | |
| 			<key>captures</key>
 | |
| 			<dict>
 | |
| 				<key>1</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>variable.parameter.function.coffee</string>
 | |
| 				</dict>
 | |
| 				<key>2</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>storage.type.function.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>comment</key>
 | |
| 			<string>match stuff like: a -> … </string>
 | |
| 			<key>match</key>
 | |
| 			<string>(\([^()]*?\))\s*([=-]>)</string>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.inline.function.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>captures</key>
 | |
| 			<dict>
 | |
| 				<key>1</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>keyword.operator.new.coffee</string>
 | |
| 				</dict>
 | |
| 				<key>2</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>support.class.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(new)\s+(\w+(?:\.\w*)*)</string>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.class.instance.constructor</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>begin</key>
 | |
| 			<string>'''</string>
 | |
| 			<key>beginCaptures</key>
 | |
| 			<dict>
 | |
| 				<key>0</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>punctuation.definition.string.begin.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>end</key>
 | |
| 			<string>'''</string>
 | |
| 			<key>endCaptures</key>
 | |
| 			<dict>
 | |
| 				<key>0</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>punctuation.definition.string.end.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>name</key>
 | |
| 			<string>string.quoted.heredoc.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>begin</key>
 | |
| 			<string>"""</string>
 | |
| 			<key>beginCaptures</key>
 | |
| 			<dict>
 | |
| 				<key>0</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>punctuation.definition.string.begin.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>end</key>
 | |
| 			<string>"""</string>
 | |
| 			<key>endCaptures</key>
 | |
| 			<dict>
 | |
| 				<key>0</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>punctuation.definition.string.end.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>name</key>
 | |
| 			<string>string.quoted.double.heredoc.coffee</string>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>match</key>
 | |
| 					<string>\\.</string>
 | |
| 					<key>name</key>
 | |
| 					<string>constant.character.escape.coffee</string>
 | |
| 				</dict>
 | |
| 				<dict>
 | |
| 					<key>include</key>
 | |
| 					<string>#interpolated_coffee</string>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>begin</key>
 | |
| 			<string>`</string>
 | |
| 			<key>beginCaptures</key>
 | |
| 			<dict>
 | |
| 				<key>0</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>punctuation.definition.string.begin.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>end</key>
 | |
| 			<string>`</string>
 | |
| 			<key>endCaptures</key>
 | |
| 			<dict>
 | |
| 				<key>0</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>punctuation.definition.string.end.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>name</key>
 | |
| 			<string>string.quoted.script.coffee</string>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>match</key>
 | |
| 					<string>\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)</string>
 | |
| 					<key>name</key>
 | |
| 					<string>constant.character.escape.coffee</string>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>begin</key>
 | |
| 			<string>(?<!#)###(?!#)</string>
 | |
| 			<key>captures</key>
 | |
| 			<dict>
 | |
| 				<key>0</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>punctuation.definition.comment.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>end</key>
 | |
| 			<string>###(?:[ \t]*\n)</string>
 | |
| 			<key>name</key>
 | |
| 			<string>comment.block.coffee</string>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>match</key>
 | |
| 					<string>@\w*</string>
 | |
| 					<key>name</key>
 | |
| 					<string>storage.type.annotation.coffeescript</string>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>captures</key>
 | |
| 			<dict>
 | |
| 				<key>1</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>punctuation.definition.comment.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(#)(?!\{).*$\n?</string>
 | |
| 			<key>name</key>
 | |
| 			<string>comment.line.number-sign.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>begin</key>
 | |
| 			<string>/{3}</string>
 | |
| 			<key>end</key>
 | |
| 			<string>/{3}[imgy]{0,4}</string>
 | |
| 			<key>name</key>
 | |
| 			<string>string.regexp.coffee</string>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>include</key>
 | |
| 					<string>#interpolated_coffee</string>
 | |
| 				</dict>
 | |
| 				<dict>
 | |
| 					<key>include</key>
 | |
| 					<string>#embedded_comment</string>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>/(?![\s=/*+{}?]).*?[^\\]/[igmy]{0,4}(?![a-zA-Z0-9])</string>
 | |
| 			<key>name</key>
 | |
| 			<string>string.regexp.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)
 | |
| 				\b(?<![\.\$])(
 | |
| 					break|by|catch|continue|else|finally|for|in|of|if|return|switch|
 | |
| 					then|throw|try|unless|when|while|until|loop|do|(?<=for)\s+own
 | |
| 				)(?!\s*:)\b
 | |
| 			</string>
 | |
| 			<key>name</key>
 | |
| 			<string>keyword.control.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)
 | |
| 				and=|or=|!|%|&|\^|\*|\/|(\-)?\-(?!>)|\+\+|\+|~|==|=(?!>)|!=|<=|>=|<<=|>>=|
 | |
| 				>>>=|<>|<|>|!|&&|\.\.(\.)?|\?|\||\|\||\:|\*=|(?<!\()/=|%=|\+=|\-=|&=|
 | |
| 				\^=|\b(?<![\.\$])(instanceof|new|delete|typeof|and|or|is|isnt|not|super)\b
 | |
| 			</string>
 | |
| 			<key>name</key>
 | |
| 			<string>keyword.operator.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>captures</key>
 | |
| 			<dict>
 | |
| 				<key>1</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>variable.assignment.coffee</string>
 | |
| 				</dict>
 | |
| 				<key>4</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>punctuation.separator.key-value</string>
 | |
| 				</dict>
 | |
| 				<key>5</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>keyword.operator.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>match</key>
 | |
| 			<string>([a-zA-Z\$_](\w|\$|\.)*\s*(?!\::)((:)|(=[^=]))(?!(\s*\(.*\))?\s*((=|-)>)))</string>
 | |
| 			<key>name</key>
 | |
| 			<string>variable.assignment.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>begin</key>
 | |
| 			<string>(?<=\s|^)([\[\{])(?=.*?[\]\}]\s+[:=])</string>
 | |
| 			<key>beginCaptures</key>
 | |
| 			<dict>
 | |
| 				<key>0</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>keyword.operator.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>end</key>
 | |
| 			<string>([\]\}]\s*[:=])</string>
 | |
| 			<key>endCaptures</key>
 | |
| 			<dict>
 | |
| 				<key>0</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>keyword.operator.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.variable.assignment.destructured.coffee</string>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>include</key>
 | |
| 					<string>#variable_name</string>
 | |
| 				</dict>
 | |
| 				<dict>
 | |
| 					<key>include</key>
 | |
| 					<string>#instance_variable</string>
 | |
| 				</dict>
 | |
| 				<dict>
 | |
| 					<key>include</key>
 | |
| 					<string>#single_quoted_string</string>
 | |
| 				</dict>
 | |
| 				<dict>
 | |
| 					<key>include</key>
 | |
| 					<string>#double_quoted_string</string>
 | |
| 				</dict>
 | |
| 				<dict>
 | |
| 					<key>include</key>
 | |
| 					<string>#numeric</string>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>captures</key>
 | |
| 			<dict>
 | |
| 				<key>2</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>entity.name.function.coffee</string>
 | |
| 				</dict>
 | |
| 				<key>3</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>entity.name.function.coffee</string>
 | |
| 				</dict>
 | |
| 				<key>4</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>variable.parameter.function.coffee</string>
 | |
| 				</dict>
 | |
| 				<key>5</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>storage.type.function.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)
 | |
| 				(\s*)
 | |
| 				(?=[a-zA-Z\$_])
 | |
| 				(
 | |
| 					[a-zA-Z\$_](\w|\$|:|\.)*\s*
 | |
| 					(?=[:=](\s*\(.*\))?\s*([=-]>))
 | |
| 				)
 | |
| 			</string>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.function.coffee</string>
 | |
| 		</dict>
 | |
|         <dict>
 | |
|             <key>comment</key>
 | |
|             <string>Show well-known functions from Express and Mocha in Go To Symbol view</string>
 | |
|             <key>name</key>
 | |
|             <string>meta.function.symbols.coffee</string>
 | |
|             <key>begin</key>
 | |
|             <string>^\s*(describe|it|app\.(get|post|put|all|del|delete))</string>
 | |
|             <key>end</key>
 | |
|             <string>$</string>
 | |
|             <key>patterns</key>
 | |
|             <array>
 | |
|                 <dict>
 | |
|                     <key>include</key>
 | |
|                     <string>$self</string>
 | |
|                 </dict>
 | |
|             </array>
 | |
|         </dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>[=-]></string>
 | |
| 			<key>name</key>
 | |
| 			<string>storage.type.function.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\b(?<!\.)(true|on|yes)(?!\s*[:=])\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>constant.language.boolean.true.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\b(?<!\.)(false|off|no)(?!\s*[:=])\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>constant.language.boolean.false.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\b(?<!\.)null(?!\s*[:=])\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>constant.language.null.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\b(?<!\.)(this|extends)(?!\s*[:=])\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>variable.language.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>captures</key>
 | |
| 			<dict>
 | |
| 				<key>1</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>storage.type.class.coffee</string>
 | |
| 				</dict>
 | |
| 				<key>2</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>entity.name.type.class.coffee</string>
 | |
| 				</dict>
 | |
| 				<key>3</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>keyword.control.inheritance.coffee</string>
 | |
| 				</dict>
 | |
| 				<key>4</key>
 | |
| 				<dict>
 | |
| 					<key>name</key>
 | |
| 					<string>entity.other.inherited-class.coffee</string>
 | |
| 				</dict>
 | |
| 			</dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(class\b)\s+(@?[a-zA-Z\$_][\w\.]*)?(?:\s+(extends)\s+(@?[a-zA-Z\$\._][\w\.]*))?</string>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.class.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\b(debugger|\\)\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>keyword.other.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)\b(
 | |
| 				Array|ArrayBuffer|Blob|Boolean|Date|document|event|Function|
 | |
| 				Int(8|16|32|64)Array|Math|Map|Number|
 | |
| 				Object|Proxy|RegExp|Set|String|WeakMap|
 | |
| 				window|Uint(8|16|32|64)Array|XMLHttpRequest
 | |
| 			)\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>support.class.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>((?<=console\.)(debug|warn|info|log|error|time|timeEnd|assert))\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>support.function.console.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)\b(
 | |
| 				decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require
 | |
| 			)\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>support.function.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)((?<=\.)(
 | |
| 				apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|
 | |
| 				isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|
 | |
| 				reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|
 | |
| 				unshift|valueOf
 | |
| 			))\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>support.function.method.array.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)((?<=Array\.)(
 | |
| 				isArray
 | |
| 			))\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>support.function.static.array.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)((?<=Object\.)(
 | |
| 				create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|
 | |
| 				getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|
 | |
| 				isnt|keys|preventExtensions|seal
 | |
| 			))\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>support.function.static.object.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)((?<=Math\.)(
 | |
| 				abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|
 | |
| 				hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|
 | |
| 				tan|tanh|trunc
 | |
| 			))\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>support.function.static.math.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>(?x)((?<=Number\.)(
 | |
| 				is(Finite|Integer|NaN)|toInteger
 | |
| 			))\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>support.function.static.number.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\b(Infinity|NaN|undefined)\b</string>
 | |
| 			<key>name</key>
 | |
| 			<string>constant.language.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\;</string>
 | |
| 			<key>name</key>
 | |
| 			<string>punctuation.terminator.statement.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>,[ |\t]*</string>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.delimiter.object.comma.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\.</string>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.delimiter.method.period.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\{|\}</string>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.brace.curly.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\(|\)</string>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.brace.round.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>match</key>
 | |
| 			<string>\[|\]\s*</string>
 | |
| 			<key>name</key>
 | |
| 			<string>meta.brace.square.coffee</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>include</key>
 | |
| 			<string>#instance_variable</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>include</key>
 | |
| 			<string>#single_quoted_string</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>include</key>
 | |
| 			<string>#double_quoted_string</string>
 | |
| 		</dict>
 | |
| 		<dict>
 | |
| 			<key>include</key>
 | |
| 			<string>#numeric</string>
 | |
| 		</dict>
 | |
| 	</array>
 | |
| 	<key>repository</key>
 | |
| 	<dict>
 | |
| 		<key>double_quoted_string</key>
 | |
| 		<dict>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>begin</key>
 | |
| 					<string>"</string>
 | |
| 					<key>beginCaptures</key>
 | |
| 					<dict>
 | |
| 						<key>0</key>
 | |
| 						<dict>
 | |
| 							<key>name</key>
 | |
| 							<string>punctuation.definition.string.begin.coffee</string>
 | |
| 						</dict>
 | |
| 					</dict>
 | |
| 					<key>end</key>
 | |
| 					<string>"</string>
 | |
| 					<key>endCaptures</key>
 | |
| 					<dict>
 | |
| 						<key>0</key>
 | |
| 						<dict>
 | |
| 							<key>name</key>
 | |
| 							<string>punctuation.definition.string.end.coffee</string>
 | |
| 						</dict>
 | |
| 					</dict>
 | |
| 					<key>name</key>
 | |
| 					<string>string.quoted.double.coffee</string>
 | |
| 					<key>patterns</key>
 | |
| 					<array>
 | |
| 						<dict>
 | |
| 							<key>match</key>
 | |
| 							<string>\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)</string>
 | |
| 							<key>name</key>
 | |
| 							<string>constant.character.escape.coffee</string>
 | |
| 						</dict>
 | |
| 						<dict>
 | |
| 							<key>include</key>
 | |
| 							<string>#interpolated_coffee</string>
 | |
| 						</dict>
 | |
| 					</array>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<key>embedded_comment</key>
 | |
| 		<dict>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>captures</key>
 | |
| 					<dict>
 | |
| 						<key>1</key>
 | |
| 						<dict>
 | |
| 							<key>name</key>
 | |
| 							<string>punctuation.definition.comment.coffee</string>
 | |
| 						</dict>
 | |
| 					</dict>
 | |
| 					<key>match</key>
 | |
| 					<string>(?<!\\)(#).*$\n?</string>
 | |
| 					<key>name</key>
 | |
| 					<string>comment.line.number-sign.coffee</string>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<key>instance_variable</key>
 | |
| 		<dict>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>match</key>
 | |
| 					<string>(@)([a-zA-Z_\$]\w*)?</string>
 | |
| 					<key>name</key>
 | |
| 					<string>variable.other.readwrite.instance.coffee</string>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<key>interpolated_coffee</key>
 | |
| 		<dict>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>begin</key>
 | |
| 					<string>\#\{</string>
 | |
| 					<key>captures</key>
 | |
| 					<dict>
 | |
| 						<key>0</key>
 | |
| 						<dict>
 | |
| 							<key>name</key>
 | |
| 							<string>punctuation.section.embedded.coffee</string>
 | |
| 						</dict>
 | |
| 					</dict>
 | |
| 					<key>end</key>
 | |
| 					<string>\}</string>
 | |
| 					<key>name</key>
 | |
| 					<string>source.coffee.embedded.source</string>
 | |
| 					<key>patterns</key>
 | |
| 					<array>
 | |
| 						<dict>
 | |
| 							<key>include</key>
 | |
| 							<string>$self</string>
 | |
| 						</dict>
 | |
| 					</array>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<key>numeric</key>
 | |
| 		<dict>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>match</key>
 | |
| 					<string>(?<!\$)\b((0([box])[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?(e[+\-]?[0-9]+)?))\b</string>
 | |
| 					<key>name</key>
 | |
| 					<string>constant.numeric.coffee</string>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<key>single_quoted_string</key>
 | |
| 		<dict>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>begin</key>
 | |
| 					<string>'</string>
 | |
| 					<key>beginCaptures</key>
 | |
| 					<dict>
 | |
| 						<key>0</key>
 | |
| 						<dict>
 | |
| 							<key>name</key>
 | |
| 							<string>punctuation.definition.string.begin.coffee</string>
 | |
| 						</dict>
 | |
| 					</dict>
 | |
| 					<key>end</key>
 | |
| 					<string>'</string>
 | |
| 					<key>endCaptures</key>
 | |
| 					<dict>
 | |
| 						<key>0</key>
 | |
| 						<dict>
 | |
| 							<key>name</key>
 | |
| 							<string>punctuation.definition.string.end.coffee</string>
 | |
| 						</dict>
 | |
| 					</dict>
 | |
| 					<key>name</key>
 | |
| 					<string>string.quoted.single.coffee</string>
 | |
| 					<key>patterns</key>
 | |
| 					<array>
 | |
| 						<dict>
 | |
| 							<key>match</key>
 | |
| 							<string>\\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)</string>
 | |
| 							<key>name</key>
 | |
| 							<string>constant.character.escape.coffee</string>
 | |
| 						</dict>
 | |
| 					</array>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 		<key>variable_name</key>
 | |
| 		<dict>
 | |
| 			<key>patterns</key>
 | |
| 			<array>
 | |
| 				<dict>
 | |
| 					<key>captures</key>
 | |
| 					<dict>
 | |
| 						<key>1</key>
 | |
| 						<dict>
 | |
| 							<key>name</key>
 | |
| 							<string>variable.assignment.coffee</string>
 | |
| 						</dict>
 | |
| 					</dict>
 | |
| 					<key>match</key>
 | |
| 					<string>([a-zA-Z\$_]\w*(\.\w+)*)</string>
 | |
| 					<key>name</key>
 | |
| 					<string>variable.assignment.coffee</string>
 | |
| 				</dict>
 | |
| 			</array>
 | |
| 		</dict>
 | |
| 	</dict>
 | |
| 	<key>scopeName</key>
 | |
| 	<string>source.coffee</string>
 | |
| </dict>
 | |
| </plist>
 |