mirror of
https://github.com/kennethreitz-archive/kJS.tmbundle.git
synced 2026-06-05 23:50:19 +00:00
148d7ee9f3
Added switch…case tests
1110 lines
34 KiB
Plaintext
1110 lines
34 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>JavaScript Syntax: version 2.0</string>
|
|
<key>fileTypes</key>
|
|
<array>
|
|
<string>js</string>
|
|
<string>htc</string>
|
|
<string>jsx</string>
|
|
</array>
|
|
<key>foldingStartMarker</key>
|
|
<string>(?x)^ \s* (?!//|/\*)([^\s].*)?
|
|
# Open (nothing | ( string | no parens )+ | (no parens? (nested parens ) no parens?)+ )
|
|
( \[ (?: | ( (?<str> '(\\'|[^'])*+' | "(\\"|[^"])*+" | /(\\/|[^/])*+/) | (?<noR>[^\[\]'"/]++) )++ | (\g<noR>? (?<round> \[ (?: \g<str> | \g<noR> | \g<round> )* \] ) \g<noR>? )++ )
|
|
| \( (?: | ( \g<str> | (?<noS>[^\(\)'"/]++) )++ | (\g<noS>? (?<squar> \( (?: \g<str> | \g<noS> | \g<squar> )* \) ) \g<noS>? )++ )
|
|
| \{ (?: | ( \g<str> | (?<noC>[^\{\}'"/]++) )++ | (\g<noC>? (?<curly> \{ (?: \g<str> | \g<noC> | \g<curly> )* \} ) \g<noC>? )++ )
|
|
)$</string>
|
|
<key>foldingStopMarker</key>
|
|
<string>(?x)^ \s* (?!//|/\*)
|
|
# (nothing | ( string | no parens )+ | (no parens? (nested parens ) no parens?)+ ) Close
|
|
( (?: | ( (?<str> '(\\'|[^'])*+' | "(\\"|[^"])*+" | /(\\/|[^/])*+/) | (?<noR>[^\[\]'"/]++) )++ | (\g<noR>? (?<round> \[ (?: \g<str> | \g<noR> | \g<round> )* \] ) \g<noR>? )++ ) \]
|
|
| (?: | ( \g<str> | (?<noS>[^\(\)'"/]++) )++ | (\g<noS>? (?<squar> \( (?: \g<str> | \g<noS> | \g<squar> )* \) ) \g<noS>? )++ ) \)
|
|
| (?: | ( \g<str> | (?<noC>[^\{\}'"/]++) )++ | (\g<noC>? (?<curly> \{ (?: \g<str> | \g<noC> | \g<curly> )* \} ) \g<noC>? )++ ) \}
|
|
)</string>
|
|
<key>keyEquivalent</key>
|
|
<string>^~J</string>
|
|
<key>name</key>
|
|
<string>Embedded JavaScript</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#core</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#special</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#support</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#sugar</string>
|
|
</dict>
|
|
</array>
|
|
<key>repository</key>
|
|
<dict>
|
|
<key>core</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#core-comments</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#core-number</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#core-string</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#core-regex</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#core-function</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#core-keywords</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#core-punctuation</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>core-comments</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#special-comments-conditional-compilation</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>/\*\*</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\*/</string>
|
|
<key>name</key>
|
|
<string>comment.block.documentation.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>/\*</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\*/</string>
|
|
<key>name</key>
|
|
<string>comment.block.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(//).*$\n?</string>
|
|
<key>name</key>
|
|
<string>comment.line.double-slash.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.html.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.html.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(<!--|-->)</string>
|
|
<key>name</key>
|
|
<string>comment.block.html.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>core-function</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.function.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.js</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.begin.js</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.function.js</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.end.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>comment</key>
|
|
<string>match regular function like: function myFunc(arg) { … }</string>
|
|
<key>match</key>
|
|
<string>\b(function)(?:\s+([a-zA-Z_$]\w*))?\s*(\()(.*?)(\))</string>
|
|
<key>name</key>
|
|
<string>meta.function.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.class.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.constant.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>comment</key>
|
|
<string>match stuff like: Sound.prototype = { … } when extending an object</string>
|
|
<key>match</key>
|
|
<string>([a-zA-Z_?.$][\w?.$]*)\.(prototype)\s*=\s*</string>
|
|
<key>name</key>
|
|
<string>meta.class.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.class.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.constant.js</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.js</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.function.js</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.begin.js</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.function.js</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.end.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>comment</key>
|
|
<string>match stuff like: Sound.prototype.play = function() { … }</string>
|
|
<key>match</key>
|
|
<string>([a-zA-Z_?.$][\w?.$]*)\.(prototype)\.([a-zA-Z_?.$][\w?.$]*)\s*=\s*(function)?\s*(\()(.*?)(\))</string>
|
|
<key>name</key>
|
|
<string>meta.function.prototype.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.class.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.constant.js</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>comment</key>
|
|
<string>match stuff like: Sound.prototype.play = myfunc</string>
|
|
<key>match</key>
|
|
<string>([a-zA-Z_?.$][\w?.$]*)\.(prototype)\.([a-zA-Z_?.$][\w?.$]*)\s*=\s*</string>
|
|
<key>name</key>
|
|
<string>meta.function.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.class.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.js</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.function.js</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.begin.js</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.function.js</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.end.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>comment</key>
|
|
<string>match stuff like: Sound.play = function() { … }</string>
|
|
<key>match</key>
|
|
<string>([a-zA-Z_?.$][\w?.$]*)\.([a-zA-Z_?.$][\w?.$]*)\s*=\s*(function)\s*(\()(.*?)(\))</string>
|
|
<key>name</key>
|
|
<string>meta.function.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.key-value.js</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.function.js</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.begin.js</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.function.js</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.end.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>comment</key>
|
|
<string>match stuff like: foobar: function() { … }</string>
|
|
<key>match</key>
|
|
<string>\b([a-zA-Z_?.$][\w?.$]*)\s*(:)\s*\b(function)?\s*(\()(.*?)(\))</string>
|
|
<key>name</key>
|
|
<string>meta.function.json.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.quoted.single.js</string>
|
|
</dict>
|
|
<key>10</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.function.js</string>
|
|
</dict>
|
|
<key>11</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.begin.js</string>
|
|
</dict>
|
|
<key>12</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.function.js</string>
|
|
</dict>
|
|
<key>13</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.end.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.js</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.js</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.js</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.quoted.double.js</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.js</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.js</string>
|
|
</dict>
|
|
<key>8</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.js</string>
|
|
</dict>
|
|
<key>9</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.key-value.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>comment</key>
|
|
<string>Attempt to match "foo": function</string>
|
|
<key>match</key>
|
|
<string>(?:((')(.*?)('))|((")(.*?)(")))\s*(:)\s*\b(function)?\s*(\()(.*?)(\))</string>
|
|
<key>name</key>
|
|
<string>meta.function.json.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>core-keywords</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.operator.new.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.type.instance.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(new)\s+(\w+(?:\.\w*)?)</string>
|
|
<key>name</key>
|
|
<string>meta.class.instance.constructor</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(boolean|byte|char|class|double|enum|float|function|int|interface|long|short|var|void)\b</string>
|
|
<key>name</key>
|
|
<string>storage.type.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(const|export|extends|final|implements|native|private|protected|public|static|synchronized|throws|transient|volatile)\b</string>
|
|
<key>name</key>
|
|
<string>storage.modifier.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(break|case|catch|continue|default|do|else|finally|for|goto|if|import|package|return|switch|throw|try|while)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(delete|in|instanceof|new|typeof|with)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\btrue\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.boolean.true.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\bfalse\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.boolean.false.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\bnull\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.null.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(super|this)\b</string>
|
|
<key>name</key>
|
|
<string>variable.language.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>!|%|&|\*|\-\-|\-|\+\+|\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|/=|%=|\+=|\-=|&=|\^=|\b(in|instanceof|new|delete|typeof|void)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(NaN|undefined)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>core-number</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?i)(?:\B[-+]|\b)0x[0-9a-f]*\.(\B|\b[0-9]+)</string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.numeric.hex.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?:\B[-+]|\b)0[0-9]+\.(\B|\b[0-9]+)</string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.numeric.octal.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?xi)(?:\B[-+])?(?:
|
|
\b0x[0-9a-f]* # HEX
|
|
|( \B\.[0-9]+ # EG: .999
|
|
| \b[0-9]+ (\.[0-9]*)? # EG: 999.999 or 999. or 999
|
|
)(e[-+]?[0-9]+)? # EG: e+123 or E-123
|
|
)</string>
|
|
<key>name</key>
|
|
<string>constant.numeric.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?:\B[-+]|\b)(Infinity)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>core-punctuation</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\;</string>
|
|
<key>name</key>
|
|
<string>punctuation.terminator.statement.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>,</string>
|
|
<key>name</key>
|
|
<string>meta.delimiter.object.comma.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\.</string>
|
|
<key>name</key>
|
|
<string>meta.delimiter.method.period.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\{|\}</string>
|
|
<key>name</key>
|
|
<string>meta.brace.curly.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\(|\)</string>
|
|
<key>name</key>
|
|
<string>meta.brace.round.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\[|\]</string>
|
|
<key>name</key>
|
|
<string>meta.brace.square.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?<=\.)\s</string>
|
|
<key>name</key>
|
|
<string>meta.complete.method</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>core-regex</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)
|
|
(?<= [\[,=(:] | ^ | && | return )
|
|
\s*((/)) (?! [/*+{}?] | $ )</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.regexp.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>contentName</key>
|
|
<string>string.regexp.js</string>
|
|
<key>end</key>
|
|
<string>((/([igm]*)))|$</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>string.regexp.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.js</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\.</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>core-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.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?i)'|(?=</\s*script\s*>\s*\n)|(?<=[^\\]\n)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.single.js</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string-single-innards</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.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?i)"|(?=</\s*script\s*>\s*\n)|(?<=[^\\]\n)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.double.js</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string-double-innards</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>special</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(console)\b</string>
|
|
<key>name</key>
|
|
<string>entity.name.type.object.js.firebug</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\.(warn|info|log|error|time|timeEnd|assert)\b</string>
|
|
<key>name</key>
|
|
<string>support.function.js.firebug</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(debugger)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>special-comments-conditional-compilation</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.definition.comment.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>/\*((@)end)\s*@\*/|(?<=@)\*/</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.conditional.js</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>comment.block.conditional.js</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>$base</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(if|elif|else|end)</string>
|
|
<key>name</key>
|
|
<string>keyword.control.conditional.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(cc_on|set)</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.conditional.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.variable.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(_win32|_win16|_mac|_alpha|_x86|_mc680x0|_PowerPC|_jscript_build|_jscript_version|_jscript|_debug|_fast|[a-zA-Z]\w+)</string>
|
|
<key>name</key>
|
|
<string>variable.other.conditional.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>string-double-innards</key>
|
|
<dict>
|
|
<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.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\\n</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.newline.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\n</string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.newline.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?i)</\s*script\s*></string>
|
|
<key>name</key>
|
|
<string>invalid.deprecated.inconsistent.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>string-single-innards</key>
|
|
<dict>
|
|
<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.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\\n</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.newline.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\n</string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.newline.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?i)</\s*script\s*></string>
|
|
<key>name</key>
|
|
<string>invalid.deprecated.inconsistent.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>sugar</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^(?=(\t| ))</string>
|
|
<key>end</key>
|
|
<string>(?=[^\t\s])</string>
|
|
<key>name</key>
|
|
<string>meta.leading-tabs</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group1.spaces</string>
|
|
</dict>
|
|
<key>10</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group10.spaces</string>
|
|
</dict>
|
|
<key>11</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group11.spaces</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group2.spaces</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group3.spaces</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group4.spaces</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group5.spaces</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group6.spaces</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group7.spaces</string>
|
|
</dict>
|
|
<key>8</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group8.spaces</string>
|
|
</dict>
|
|
<key>9</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group9.spaces</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>( )( )?( )?( )?( )?( )?( )?( )?( )?( )?( )?</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group1.tab</string>
|
|
</dict>
|
|
<key>10</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group10.tab</string>
|
|
</dict>
|
|
<key>11</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group11.tab</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group2.tab</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group3.tab</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group4.tab</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group5.tab</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group6.tab</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group7.tab</string>
|
|
</dict>
|
|
<key>8</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.even-tab.group8.tab</string>
|
|
</dict>
|
|
<key>9</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.odd-tab.group9.tab</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(\t)(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>support</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(Anchor|Applet|Area|Array|Boolean|Button|Checkbox|Date|document|event|FileUpload|Form|Frame|Function|Hidden|History|Image|JavaArray|JavaClass|JavaObject|JavaPackage|java|Layer|Link|Location|Math|MimeType|Number|navigator|netscape|Object|Option|Packages|Password|Plugin|Radio|RegExp|Reset|Select|String|Style|Submit|screen|sun|Text|Textarea|window|XMLHttpRequest)\b</string>
|
|
<key>name</key>
|
|
<string>support.class.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(s(h(ift|ow(Mod(elessDialog|alDialog)|Help))|croll(X|By(Pages|Lines)?|Y|To)?|t(op|rike)|i(n|zeToContent|debar|gnText)|ort|u(p|b(str(ing)?)?)|pli(ce|t)|e(nd|t(Re(sizable|questHeader)|M(i(nutes|lliseconds)|onth)|Seconds|Ho(tKeys|urs)|Year|Cursor|Time(out)?|Interval|ZOptions|Date|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(ome|andleEvent)|navigate|c(har(CodeAt|At)|o(s|n(cat|textual|firm)|mpile)|eil|lear(Timeout|Interval)?|a(ptureEvents|ll)|reate(StyleSheet|Popup|EventObject))|t(o(GMTString|S(tring|ource)|U(TCString|pperCase)|Lo(caleString|werCase))|est|a(n|int(Enabled)?))|i(s(NaN|Finite)|ndexOf|talics)|d(isableExternalCapture|ump|etachEvent)|u(n(shift|taint|escape|watch)|pdateCommands)|j(oin|avaEnabled)|p(o(p|w)|ush|lugins.refresh|a(ddings|rse(Int|Float)?)|r(int|ompt|eference))|e(scape|nableExternalCapture|val|lementFromPoint|x(p|ec(Script|Command)?))|valueOf|UTC|queryCommand(State|Indeterm|Enabled|Value)|f(i(nd|le(ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(nt(size|color)|rward)|loor|romCharCode)|watch|l(ink|o(ad|g)|astIndexOf)|a(sin|nchor|cos|t(tachEvent|ob|an(2)?)|pply|lert|b(s|ort))|r(ou(nd|teEvents)|e(size(By|To)|calc|turnValue|place|verse|l(oad|ease(Capture|Events)))|andom)|g(o|et(ResponseHeader|M(i(nutes|lliseconds)|onth)|Se(conds|lection)|Hours|Year|Time(zoneOffset)?|Da(y|te)|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Da(y|te)|FullYear)|FullYear|A(ttention|llResponseHeaders)))|m(in|ove(B(y|elow)|To(Absolute)?|Above)|ergeAttributes|a(tch|rgins|x))|b(toa|ig|o(ld|rderWidths)|link|ack))\b(?=\()</string>
|
|
<key>name</key>
|
|
<string>support.function.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(s(ub(stringData|mit)|plitText|e(t(NamedItem|Attribute(Node)?)|lect))|has(ChildNodes|Feature)|namedItem|c(l(ick|o(se|neNode))|reate(C(omment|DATASection|aption)|T(Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(ntityReference|lement)|Attribute))|tabIndex|i(nsert(Row|Before|Cell|Data)|tem)|open|delete(Row|C(ell|aption)|T(Head|Foot)|Data)|focus|write(ln)?|a(dd|ppend(Child|Data))|re(set|place(Child|Data)|move(NamedItem|Child|Attribute(Node)?)?)|get(NamedItem|Element(sBy(Name|TagName)|ById)|Attribute(Node)?)|blur)\b(?=\()</string>
|
|
<key>name</key>
|
|
<string>support.function.dom.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?<=\.)(s(ystemLanguage|cr(ipts|ollbars|een(X|Y|Top|Left))|t(yle(Sheets)?|atus(Text|bar)?)|ibling(Below|Above)|ource|uffixes|e(curity(Policy)?|l(ection|f)))|h(istory|ost(name)?|as(h|Focus))|y|X(MLDocument|SLDocument)|n(ext|ame(space(s|URI)|Prop))|M(IN_VALUE|AX_VALUE)|c(haracterSet|o(n(structor|trollers)|okieEnabled|lorDepth|mp(onents|lete))|urrent|puClass|l(i(p(boardData)?|entInformation)|osed|asses)|alle(e|r)|rypto)|t(o(olbar|p)|ext(Transform|Indent|Decoration|Align)|ags)|SQRT(1_2|2)|i(n(ner(Height|Width)|put)|ds|gnoreCase)|zIndex|o(scpu|n(readystatechange|Line)|uter(Height|Width)|p(sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(i(splay|alog(Height|Top|Width|Left|Arguments)|rectories)|e(scription|fault(Status|Ch(ecked|arset)|View)))|u(ser(Profile|Language|Agent)|n(iqueID|defined)|pdateInterval)|_content|p(ixelDepth|ort|ersonalbar|kcs11|l(ugins|atform)|a(thname|dding(Right|Bottom|Top|Left)|rent(Window|Layer)?|ge(X(Offset)?|Y(Offset)?))|r(o(to(col|type)|duct(Sub)?|mpter)|e(vious|fix)))|e(n(coding|abledPlugin)|x(ternal|pando)|mbeds)|v(isibility|endor(Sub)?|Linkcolor)|URLUnencoded|P(I|OSITIVE_INFINITY)|f(ilename|o(nt(Size|Family|Weight)|rmName)|rame(s|Element)|gColor)|E|whiteSpace|l(i(stStyleType|n(eHeight|kColor))|o(ca(tion(bar)?|lName)|wsrc)|e(ngth|ft(Context)?)|a(st(M(odified|atch)|Index|Paren)|yer(s|X)|nguage))|a(pp(MinorVersion|Name|Co(deName|re)|Version)|vail(Height|Top|Width|Left)|ll|r(ity|guments)|Linkcolor|bove)|r(ight(Context)?|e(sponse(XML|Text)|adyState))|global|x|m(imeTypes|ultiline|enubar|argin(Right|Bottom|Top|Left))|L(N(10|2)|OG(10E|2E))|b(o(ttom|rder(RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(Color|Image)))\b</string>
|
|
<key>name</key>
|
|
<string>support.constant.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?<=\.)(s(hape|ystemId|c(heme|ope|rolling)|ta(ndby|rt)|ize|ummary|pecified|e(ctionRowIndex|lected(Index)?)|rc)|h(space|t(tpEquiv|mlFor)|e(ight|aders)|ref(lang)?)|n(o(Resize|tation(s|Name)|Shade|Href|de(Name|Type|Value)|Wrap)|extSibling|ame)|c(h(ildNodes|Off|ecked|arset)?|ite|o(ntent|o(kie|rds)|de(Base|Type)?|l(s|Span|or)|mpact)|ell(s|Spacing|Padding)|l(ear|assName)|aption)|t(ype|Bodies|itle|Head|ext|a(rget|gName)|Foot)|i(sMap|ndex|d|m(plementation|ages))|o(ptions|wnerDocument|bject)|d(i(sabled|r)|o(c(type|umentElement)|main)|e(clare|f(er|ault(Selected|Checked|Value)))|at(eTime|a))|useMap|p(ublicId|arentNode|r(o(file|mpt)|eviousSibling))|e(n(ctype|tities)|vent|lements)|v(space|ersion|alue(Type)?|Link|Align)|URL|f(irstChild|orm(s)?|ace|rame(Border)?)|width|l(ink(s)?|o(ngDesc|wSrc)|a(stChild|ng|bel))|a(nchors|c(ce(ssKey|pt(Charset)?)|tion)|ttributes|pplets|l(t|ign)|r(chive|eas)|xis|Link|bbr)|r(ow(s|Span|Index)|ules|e(v|ferrer|l|adOnly))|m(ultiple|e(thod|dia)|a(rgin(Height|Width)|xLength))|b(o(dy|rder)|ackground|gColor))\b</string>
|
|
<key>name</key>
|
|
<string>support.constant.dom.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(ELEMENT_NODE|ATTRIBUTE_NODE|TEXT_NODE|CDATA_SECTION_NODE|ENTITY_REFERENCE_NODE|ENTITY_NODE|PROCESSING_INSTRUCTION_NODE|COMMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE|DOCUMENT_FRAGMENT_NODE|NOTATION_NODE|INDEX_SIZE_ERR|DOMSTRING_SIZE_ERR|HIERARCHY_REQUEST_ERR|WRONG_DOCUMENT_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR|NOT_SUPPORTED_ERR|INUSE_ATTRIBUTE_ERR)\b</string>
|
|
<key>name</key>
|
|
<string>support.constant.dom.js</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\bon(R(ow(s(inserted|delete)|e(nter|xit))|e(s(ize(start|end)?|et)|adystatechange))|Mouse(o(ut|ver)|down|up|move)|B(efore(cut|deactivate|u(nload|pdate)|p(aste|rint)|editfocus|activate)|lur)|S(croll|top|ubmit|elect(start|ionchange)?)|H(over|elp)|C(hange|ont(extmenu|rolselect)|ut|ellchange|l(ick|ose))|D(eactivate|ata(setc(hanged|omplete)|available)|r(op|ag(start|over|drop|en(ter|d)|leave)?)|blclick)|Unload|P(aste|ropertychange)|Error(update)?|Key(down|up|press)|Focus|Load|A(ctivate|fter(update|print)|bort))\b</string>
|
|
<key>name</key>
|
|
<string>support.function.event-handler.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<key>scopeName</key>
|
|
<string>source.js</string>
|
|
<key>uuid</key>
|
|
<string>0D2D03B9-F18B-4D9D-A960-716FDEC35331</string>
|
|
</dict>
|
|
</plist>
|