diff --git a/Comments.YAML-tmPreferences b/Comments.YAML-tmPreferences new file mode 100644 index 0000000..3c26c30 --- /dev/null +++ b/Comments.YAML-tmPreferences @@ -0,0 +1,12 @@ +# [PackageDev] target_format: plist, ext: tmPreferences +name: Comments +uuid: A67A8BD9-A951-406F-9175-018DD4B52FD1 +scope: source.js, source.json +settings: + shellVariables: + - name: TM_COMMENT_START + value: '// ' + - name: TM_COMMENT_START_2 + value: /* + - name: TM_COMMENT_END_2 + value: '*/' diff --git a/Comments.tmPreferences b/Comments.tmPreferences new file mode 100644 index 0000000..dba0831 --- /dev/null +++ b/Comments.tmPreferences @@ -0,0 +1,36 @@ + + + + + name + Comments + scope + source.js, source.json + settings + + shellVariables + + + name + TM_COMMENT_START + value + // + + + name + TM_COMMENT_START_2 + value + /* + + + name + TM_COMMENT_END_2 + value + */ + + + + uuid + A67A8BD9-A951-406F-9175-018DD4B52FD1 + + diff --git a/JSON (JavaScriptNext).YAML-tmLanguage b/JSON (JavaScriptNext).YAML-tmLanguage new file mode 100644 index 0000000..e03042d --- /dev/null +++ b/JSON (JavaScriptNext).YAML-tmLanguage @@ -0,0 +1,151 @@ +# [PackageDev] target_format: plist, ext: tmLanguage +name: JSON (Javascript Next) +scopeName: source.json +fileTypes: [json, sublime-settings, sublime-menu, sublime-keymap, sublime-mousemap, + sublime-theme, sublime-build, sublime-project, sublime-completions] +uuid: 8f97457b-516e-48ce-83c7-08ae12fb327a +foldingStartMarker: >- + (?x) # turn on extended mode + ^ # a line beginning with + \s* # some optional space + [{\[] # the start of an object or array + (?! # but not followed by + .* # whatever + [}\]] # and the close of an object or array + ,? # an optional comma + \s* # some optional space + $ # at the end of the line + ) + | # ...or... + [{\[] # the start of an object or array + \s* # some optional space + $ # at the end of the line +foldingStopMarker: >- + (?x) # turn on extended mode + ^ # a line beginning with + \s* # some optional space + [}\]] # and the close of an object or array +keyEquivalent: ^~J + +patterns: +- include: '#value' + +repository: + array: + name: meta.structure.array.json + begin: \[ + beginCaptures: + '0': {name: punctuation.definition.array.begin.json} + end: \] + endCaptures: + '0': {name: punctuation.definition.array.end.json} + patterns: + - include: '#value' + - name: punctuation.separator.array.json + match: ',' + - name: invalid.illegal.expected-array-separator.json + match: '[^\s\]]' + + comments: + patterns: + - name: comment.block.documentation.json + begin: /\*\* + end: \*/ + captures: + '0': {name: punctuation.definition.comment.json} + - name: comment.block.json + begin: /\* + end: \*/ + captures: + '0': {name: punctuation.definition.comment.json} + - name: comment.line.double-slash.js + match: (//).*$\n? + captures: + '1': {name: punctuation.definition.comment.json} + + constant: + name: constant.language.json + match: \b(?:true|false|null)\b + + # handles integer and decimal numbers + number: + name: constant.numeric.json + match: >- + (?x) # turn on extended mode + -? # an optional minus + (?: + 0 # a zero + | # ...or... + [1-9] # a 1-9 character + \d* # followed by zero or more digits + ) + (?: + (?: + \. # a period + \d+ # followed by one or more digits + )? + (?: + [eE] # an e character + [+-]? # followed by an option +/- + \d+ # followed by one or more digits + )? # make exponent optional + )? # make decimal portion optional + + # a JSON object + object: + name: meta.structure.dictionary.json + begin: \{ + beginCaptures: + '0': {name: punctuation.definition.dictionary.begin.json} + end: \} + endCaptures: + '0': {name: punctuation.definition.dictionary.end.json} + patterns: + - comment: the JSON object key + include: '#string' + - include: '#comments' + - name: meta.structure.dictionary.value.json + begin: ':' + beginCaptures: + '0': {name: punctuation.separator.dictionary.key-value.json} + end: (,)|(?=\}) + endCaptures: + '1': {name: punctuation.separator.dictionary.pair.json} + patterns: + - comment: the JSON object value + include: '#value' + - name: invalid.illegal.expected-dictionary-separator.json + match: '[^\s,]' + - name: invalid.illegal.expected-dictionary-separator.json + match: '[^\s\}]' + + string: + name: string.quoted.double.json + begin: '"' + beginCaptures: + '0': {name: punctuation.definition.string.begin.json} + end: '"' + endCaptures: + '0': {name: punctuation.definition.string.end.json} + patterns: + - name: constant.character.escape.json + match: >- + (?x) # turn on extended mode + \\ # a literal backslash + (?: # ...followed by... + ["\\/bfnrt] # one of these characters + | # ...or... + u # a u + [0-9a-fA-F]{4}) # and four hex digits + - name: invalid.illegal.unrecognized-string-escape.json + match: \\. + + # the 'value' diagram at http://json.org + value: + patterns: + - include: '#constant' + - include: '#number' + - include: '#string' + - include: '#array' + - include: '#object' + - include: '#comments' diff --git a/JSON (JavaScriptNext).tmLanguage b/JSON (JavaScriptNext).tmLanguage new file mode 100644 index 0000000..1a224b1 --- /dev/null +++ b/JSON (JavaScriptNext).tmLanguage @@ -0,0 +1,344 @@ + + + + + fileTypes + + json + sublime-settings + sublime-menu + sublime-keymap + sublime-mousemap + sublime-theme + sublime-build + sublime-project + sublime-completions + + foldingStartMarker + (?x) # turn on extended mode + ^ # a line beginning with + \s* # some optional space + [{\[] # the start of an object or array + (?! # but not followed by + .* # whatever + [}\]] # and the close of an object or array + ,? # an optional comma + \s* # some optional space + $ # at the end of the line + ) + | # ...or... + [{\[] # the start of an object or array + \s* # some optional space + $ # at the end of the line + foldingStopMarker + (?x) # turn on extended mode + ^ # a line beginning with + \s* # some optional space + [}\]] # and the close of an object or array + keyEquivalent + ^~J + name + JSON (Javascript Next) + patterns + + + include + #value + + + repository + + array + + begin + \[ + beginCaptures + + 0 + + name + punctuation.definition.array.begin.json + + + end + \] + endCaptures + + 0 + + name + punctuation.definition.array.end.json + + + name + meta.structure.array.json + patterns + + + include + #value + + + match + , + name + punctuation.separator.array.json + + + match + [^\s\]] + name + invalid.illegal.expected-array-separator.json + + + + comments + + patterns + + + begin + /\*\* + captures + + 0 + + name + punctuation.definition.comment.json + + + end + \*/ + name + comment.block.documentation.json + + + begin + /\* + captures + + 0 + + name + punctuation.definition.comment.json + + + end + \*/ + name + comment.block.json + + + captures + + 1 + + name + punctuation.definition.comment.json + + + match + (//).*$\n? + name + comment.line.double-slash.js + + + + constant + + match + \b(?:true|false|null)\b + name + constant.language.json + + number + + match + (?x) # turn on extended mode + -? # an optional minus + (?: + 0 # a zero + | # ...or... + [1-9] # a 1-9 character + \d* # followed by zero or more digits + ) + (?: + (?: + \. # a period + \d+ # followed by one or more digits + )? + (?: + [eE] # an e character + [+-]? # followed by an option +/- + \d+ # followed by one or more digits + )? # make exponent optional + )? # make decimal portion optional + name + constant.numeric.json + + object + + begin + \{ + beginCaptures + + 0 + + name + punctuation.definition.dictionary.begin.json + + + end + \} + endCaptures + + 0 + + name + punctuation.definition.dictionary.end.json + + + name + meta.structure.dictionary.json + patterns + + + comment + the JSON object key + include + #string + + + include + #comments + + + begin + : + beginCaptures + + 0 + + name + punctuation.separator.dictionary.key-value.json + + + end + (,)|(?=\}) + endCaptures + + 1 + + name + punctuation.separator.dictionary.pair.json + + + name + meta.structure.dictionary.value.json + patterns + + + comment + the JSON object value + include + #value + + + match + [^\s,] + name + invalid.illegal.expected-dictionary-separator.json + + + + + match + [^\s\}] + name + invalid.illegal.expected-dictionary-separator.json + + + + string + + begin + " + beginCaptures + + 0 + + name + punctuation.definition.string.begin.json + + + end + " + endCaptures + + 0 + + name + punctuation.definition.string.end.json + + + name + string.quoted.double.json + patterns + + + match + (?x) # turn on extended mode + \\ # a literal backslash + (?: # ...followed by... + ["\\/bfnrt] # one of these characters + | # ...or... + u # a u + [0-9a-fA-F]{4}) # and four hex digits + name + constant.character.escape.json + + + match + \\. + name + invalid.illegal.unrecognized-string-escape.json + + + + value + + patterns + + + include + #constant + + + include + #number + + + include + #string + + + include + #array + + + include + #object + + + include + #comments + + + + + scopeName + source.json + uuid + 8f97457b-516e-48ce-83c7-08ae12fb327a + + diff --git a/JavaScript Indent.YAML-tmPreferences b/JavaScript Indent.YAML-tmPreferences new file mode 100644 index 0000000..03232a3 --- /dev/null +++ b/JavaScript Indent.YAML-tmPreferences @@ -0,0 +1,11 @@ +# [PackageDev] target_format: plist, ext: tmPreferences +name: JavaScript Indent +uuid: d408c7f9-4402-4a22-98f9-156c144591b7 +scope: source.js +settings: + bracketIndentNextLinePattern: >- + (?x) + ^ \s* \b(if|while|else)\b [^;]* $ + | ^ \s* \b(for)\b .* $ + decreaseIndentPattern: ^(.*\*/)?\s*[}].*$ + increaseIndentPattern: ^.*\{[^}"']*$ diff --git a/JavaScript Indent.tmPreferences b/JavaScript Indent.tmPreferences new file mode 100644 index 0000000..d794252 --- /dev/null +++ b/JavaScript Indent.tmPreferences @@ -0,0 +1,23 @@ + + + + + name + JavaScript Indent + scope + source.js + settings + + bracketIndentNextLinePattern + (?x) + ^ \s* \b(if|while|else)\b [^;]* $ + | ^ \s* \b(for)\b .* $ + decreaseIndentPattern + ^(.*\*/)?\s*[}].*$ + increaseIndentPattern + ^.*\{[^}"']*$ + + uuid + d408c7f9-4402-4a22-98f9-156c144591b7 + + diff --git a/JavaScriptNext.YAML-tmLanguage b/JavaScriptNext.YAML-tmLanguage new file mode 100644 index 0000000..ebcfc6e --- /dev/null +++ b/JavaScriptNext.YAML-tmLanguage @@ -0,0 +1,1145 @@ +# [PackageDev] target_format: plist, ext: tmLanguage +name: JavaScript Next +scopeName: source.js +fileTypes: [js, htc, jsx] +uuid: 487CF323-A3F9-48FA-B140-DCE8C893E664 +firstLineMatch: ^#!/.*\b(node|js)$\n? +keyEquivalent: ^~J + +patterns: +- include: '#core' + +repository: + core: + patterns: + - include: '#literal-function-labels' + - include: '#literal-arrow-function-labels' + - include: '#literal-labels' + + - include: '#literal-keywords' + - include: '#literal-for' + - include: '#literal-switch' + + - include: '#expression' + - include: '#literal-punctuation' + + expression: + patterns: + - include: '#support' + - include: '#literal-function' + - include: '#literal-arrow-function' + - include: '#literal-prototype' # after literal-function, which includes some prototype strings + + - include: '#literal-regexp' # before operators to avoid ambiguities + - include: '#literal-number' + - include: '#literal-quasi' + - include: '#literal-string' + - include: '#literal-language-constant' + - include: '#literal-language-variable' + + - include: '#literal-method' + - include: '#literal-module' + - include: '#literal-class' + + - include: '#literal-constructor' + - include: '#literal-method-call' + - include: '#literal-function-call' + + - include: '#comments' + - include: '#brackets' + + - include: '#literal-operators' + - include: '#literal-variable' + + round-brackets: + patterns: + - name: meta.group.braces.round + begin: \( + beginCaptures: + '0': {name: meta.brace.round.js} + end: \) + endCaptures: + '0': {name: meta.brace.round.js} + patterns: + - include: '#expression' + + square-brackets: + patterns: + - name: meta.group.braces.square + begin: \[ + beginCaptures: + '0': {name: meta.brace.square.js} + end: \] + endCaptures: + '0': {name: meta.brace.square.js} + patterns: + - include: '#expression' + + curly-brackets: + patterns: + - name: meta.group.braces.curly + begin: \{ + beginCaptures: + '0': {name: meta.brace.curly.js} + end: \} + endCaptures: + '0': {name: meta.brace.curly.js} + patterns: + - include: $self + + brackets: + patterns: + - include: '#round-brackets' + - include: '#square-brackets' + - include: '#curly-brackets' + + comments: + patterns: + - include: '#special-comments-conditional-compilation' + + - name: comment.block.documentation.js + begin: /\*\*(?!/) + end: \*/ + captures: + '0': {name: punctuation.definition.comment.js} + + - name: comment.block.js + begin: /\* + end: \*/ + captures: + '0': {name: punctuation.definition.comment.js} + + - name: comment.block.html.js + match: () + captures: + '0': {name: punctuation.definition.comment.js} + + - name: comment.line.double-slash.js + match: (//).*$\n? + captures: + '1': {name: punctuation.definition.comment.js} + + - name: comment.line.shebang.js + match: ^(#!).*$\n? + captures: + '1': {name: punctuation.definition.comment.js} + + special-comments-conditional-compilation: + patterns: + - name: comment.block.conditional.js + begin: /\*(?=@) + end: \*/ + endCaptures: + '1': {name: keyword.control.conditional.js} + '2': {name: punctuation.definition.keyword.js} + captures: + '0': {name: punctuation.definition.comment.js} + patterns: + - name: punctuation.definition.comment.js + match: /\* + - include: $self + + - name: keyword.control.conditional.js + match: (@)(if|elif|else|end|ifdef|endif|cc_on|set)\b + captures: + '1': {name: punctuation.definition.keyword.js} + + - name: variable.other.conditional.js + match: (@)(_win32|_win16|_mac|_alpha|_x86|_mc680x0|_PowerPC|_jscript|_jscript_build|_jscript_version|_debug|_fast|[a-zA-Z]\w+) + captures: + '1': {name: punctuation.definition.variable.js} + + function-declaration-parameters: + patterns: + - begin: \( + beginCaptures: + '0': {name: punctuation.definition.parameters.begin.js} + end: \) + endCaptures: + '0': {name: punctuation.definition.parameters.end.js} + patterns: + - name: keyword.operator.spread.js + match: (?- + (?x) + (?- + (?x) + (?:\b(static)\s+)? + (?:\b(async)\s+)? + (?:(\*)\s*)?([_$a-zA-Z][$\w]*)\s* + (?=\([^())]*\)(?:\s|/\*.*\*/)*\{) + beginCaptures: + '1': {name: storage.type.js} + '2': {name: storage.type.js} + '3': {name: keyword.generator.asterisk.js} + '4': {name: entity.name.method.js} + end: (?<=\)) + patterns: + - include: '#function-declaration-parameters' + + # getter/setter + - name: meta.accessor.js + begin: >- + (?x) + \b(?:(static)\s+)? + (get|set)\s+ + ([_$a-zA-Z][$\w]*)\s* + (?=\([^())]*\)(?:\s|/\*.*\*/)*\{) + beginCaptures: + '1': {name: storage.type.js} + '2': {name: storage.type.accessor.js} + '3': {name: entity.name.accessor.js} + end: (?<=\)) + patterns: + - include: '#function-declaration-parameters' + + literal-property-initializer: + patterns: + - name: meta.class.property.js + match: \b(?:(static)\s+)?([_$a-zA-Z][$\w]*)\s*= + captures: + '1': {name: storage.type.js} + '2': {name: variable.class.property.js} + + literal-prototype: + patterns: + # e.g. Sound.prototype + - name: meta.prototype.access.js + match: ([_$a-zA-Z][$\w]*)(\.)(prototype)\b + captures: + '1': {name: entity.name.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: variable.language.prototype.js} + + # e.g. Sound.prototype = { } when extending an object + - name: meta.prototype.declaration.js + match: ([_$a-zA-Z][$\w]*)(\.)(prototype)\s*=\s* + captures: + '1': {name: entity.name.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: variable.language.prototype.js} + + literal-function: + patterns: + # e.g. function play(arg1, arg2) { } + - name: meta.function.js + begin: >- + (?x) + (?:\b(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures: + '1': {name: storage.type.js} + '2': {name: storage.type.function.js} + '3': {name: keyword.generator.asterisk.js} + '4': {name: entity.name.function.js} + end: (?<=\)) + patterns: + - include: '#function-declaration-parameters' + + # e.g. play = function(arg1, arg2) { } + - name: meta.function.js + begin: >- + (?x) + (\b[_$a-zA-Z][$\w]*) + \s*= + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures: + '1': {name: entity.name.function.js} + '2': {name: storage.type.js} + '3': {name: storage.type.function.js} + '4': {name: keyword.generator.asterisk.js} + '5': {name: entity.name.function.js} + end: (?<=\)) + patterns: + - include: '#function-declaration-parameters' + + # e.g. Sound.prototype.play = function(arg1, arg2) { } + - name: meta.prototype.function.js + begin: >- + (?x) + (\b_?[A-Z][$\w]*)? + (\.)(prototype) + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures: + '1': {name: entity.name.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: variable.language.prototype.js} + '4': {name: keyword.operator.accessor.js} + '5': {name: entity.name.function.js} + '6': {name: storage.type.js} + '7': {name: storage.type.function.js} + '8': {name: keyword.generator.asterisk.js} + '9': {name: entity.name.function.js} + end: (?<=\)) + patterns: + - include: '#function-declaration-parameters' + + # e.g. Sound.play = function(arg1, arg2) { } + - name: meta.function.static.js + begin: >- + (?x) + (\b_?[A-Z][$\w]*)? + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures: + '1': {name: entity.name.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: entity.name.function.js} + '4': {name: storage.type.js} + '5': {name: storage.type.function.js} + '6': {name: keyword.generator.asterisk.js} + '7': {name: entity.name.function.js} + end: (?<=\)) + patterns: + - include: '#function-declaration-parameters' + + literal-function-labels: + patterns: + # e.g. play: function(arg1, arg2) { } + - name: meta.function.json.js + begin: >- + (?x) + \b([_$a-zA-Z][$\w]*) + \s*(:) + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures: + '1': {name: entity.name.function.js} + '2': {name: punctuation.separator.key-value.js} + '3': {name: storage.type.js} + '4': {name: storage.type.function.js} + '5': {name: keyword.generator.asterisk.js} + '6': {name: entity.name.function.js} + end: (?<=\)) + patterns: + - include: '#function-declaration-parameters' + + # e.g. "play": function(arg1, arg2) { } + - name: meta.function.json.js + begin: >- + (?x) + (?: + ((')((?:[^']|\\')*)('))| + ((")((?:[^"]|\\")*)(")) + ) + \s*(:) + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures: + '1': {name: string.quoted.single.js} + '2': {name: punctuation.definition.string.begin.js} + '3': {name: entity.name.function.js} + '4': {name: punctuation.definition.string.end.js} + '5': {name: string.quoted.double.js} + '6': {name: punctuation.definition.string.begin.js} + '7': {name: entity.name.function.js} + '8': {name: punctuation.definition.string.end.js} + '9': {name: punctuation.separator.key-value.js} + '10': {name: storage.type.js} + '11': {name: storage.type.function.js} + '12': {name: keyword.generator.asterisk.js} + '13': {name: entity.name.function.js} + end: (?<=\)) + patterns: + - include: '#function-declaration-parameters' + + literal-arrow-function: + patterns: + # e.g. (args) => { } + - name: meta.function.arrow.js + begin: >- + (?x) + (\basync)?\s* + (?=\([^()]*\)\s*(=>)) + beginCaptures: + '1': {name: storage.type.js} + end: (?<=\))\s*(=>) + endCaptures: + '1': {name: storage.type.function.arrow.js} + patterns: + - include: '#function-declaration-parameters' + + # e.g. arg => { } + - name: meta.function.arrow.js + match: >- + (?x) + (\basync)?\s* + \b([_$a-zA-Z][$\w]*)\s*(=>) + captures: + '1': {name: storage.type.js} + '2': {name: variable.parameter.function.js} + '3': {name: storage.type.function.arrow.js} + + # e.g. play = (args) => { } + - name: meta.function.arrow.js + begin: >- + (?x) + (\b[_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures: + '1': {name: entity.name.function.js} + '2': {name: storage.type.js} + end: (?<=\))\s*(=>) + endCaptures: + '1': {name: storage.type.function.arrow.js} + patterns: + - include: '#function-declaration-parameters' + + # e.g. play = arg => { } + - name: meta.function.arrow.js + match: >- + (?x) + (\b[_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + captures: + '1': {name: entity.name.function.js} + '2': {name: storage.type.js} + '3': {name: variable.parameter.function.js} + '4': {name: storage.type.function.arrow.js} + + # e.g. Sound.prototype.play = (args) => { } + - name: meta.prototype.function.arrow.js + begin: >- + (?x) + (\b_?[A-Z][$\w]*)? + (\.)(prototype) + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures: + '1': {name: entity.name.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: variable.language.prototype.js} + '4': {name: keyword.operator.accessor.js} + '5': {name: entity.name.function.js} + '6': {name: storage.type.js} + end: (?<=\))\s*(=>) + endCaptures: + '1': {name: storage.type.function.arrow.js} + patterns: + - include: '#function-declaration-parameters' + + # e.g. Sound.prototype.play = arg => { } + - name: meta.prototype.function.arrow.js + match: >- + (?x) + (\b_?[A-Z][$\w]*)? + (\.)(prototype) + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + captures: + '1': {name: entity.name.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: variable.language.prototype.js} + '4': {name: keyword.operator.accessor.js} + '5': {name: entity.name.function.js} + '6': {name: storage.type.js} + '7': {name: variable.parameter.function.js} + '8': {name: storage.type.function.arrow.js} + + # e.g. Sound.play = (args) => { } + - name: meta.function.static.arrow.js + begin: >- + (?x) + (\b_?[A-Z][$\w]*)? + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures: + '1': {name: entity.name.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: entity.name.function.js} + '4': {name: storage.type.js} + end: (?<=\))\s*(=>) + endCaptures: + '1': {name: storage.type.function.arrow.js} + patterns: + - include: '#function-declaration-parameters' + + # e.g. Sound.play = arg => { } + - name: meta.function.static.arrow.js + match: >- + (?x) + (\b_?[A-Z][$\w]*)? + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + captures: + '1': {name: entity.name.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: entity.name.function.js} + '4': {name: storage.type.js} + '5': {name: variable.parameter.function.js} + '6': {name: storage.type.function.arrow.js} + + literal-arrow-function-labels: + patterns: + # e.g. play: (args) => { } + - name: meta.function.json.arrow.js + begin: >- + (?x) + \b([_$a-zA-Z][$\w]*) + \s*(:) + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures: + '1': {name: entity.name.function.js} + '2': {name: punctuation.separator.key-value.js} + '3': {name: storage.type.js} + end: (?<=\))\s*(=>) + endCaptures: + '1': {name: storage.type.function.arrow.js} + patterns: + - include: '#function-declaration-parameters' + + # e.g. play: arg => { } + - name: meta.function.json.arrow.js + match: >- + (?x) + \b([_$a-zA-Z][$\w]*) + \s*(:) + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + captures: + '1': {name: entity.name.function.js} + '2': {name: punctuation.separator.key-value.js} + '3': {name: storage.type.js} + '4': {name: variable.parameter.function.js} + '5': {name: storage.type.function.arrow.js} + + # e.g. "play": (args) => { } + - name: meta.function.json.arrow.js + begin: >- + (?x) + (?: + ((')((?:[^']|\\')*)('))| + ((")((?:[^"]|\\")*)(")) + ) + \s*(:) + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures: + '1': {name: string.quoted.single.js} + '2': {name: punctuation.definition.string.begin.js} + '3': {name: entity.name.function.js} + '4': {name: punctuation.definition.string.end.js} + '5': {name: string.quoted.double.js} + '6': {name: punctuation.definition.string.begin.js} + '7': {name: entity.name.function.js} + '8': {name: punctuation.definition.string.end.js} + '9': {name: punctuation.separator.key-value.js} + '10': {name: storage.type.js} + end: (?<=\))\s*(=>) + endCaptures: + '1': {name: storage.type.function.arrow.js} + patterns: + - include: '#function-declaration-parameters' + + # e.g. "play": arg => { } + - name: meta.function.json.arrow.js + match: >- + (?x) + (?: + ((')((?:[^']|\\')*)('))| + ((")((?:[^"]|\\")*)(")) + ) + \s*(:) + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + captures: + '1': {name: string.quoted.single.js} + '2': {name: punctuation.definition.string.begin.js} + '3': {name: entity.name.function.js} + '4': {name: punctuation.definition.string.end.js} + '5': {name: string.quoted.double.js} + '6': {name: punctuation.definition.string.begin.js} + '7': {name: entity.name.function.js} + '8': {name: punctuation.definition.string.end.js} + '9': {name: punctuation.separator.key-value.js} + '10': {name: storage.type.js} + '11': {name: variable.parameter.function.js} + '12': {name: storage.type.function.arrow.js} + + literal-function-call: + patterns: + - name: meta.function-call.without-arguments.js + match: >- + (?x) + ([_$a-zA-Z][$\w]*)\s* + (\(\s*\)) + captures: + '1': {name: entity.name.function.js} + '2': {name: meta.group.braces.round.function.arguments.js} + + - name: meta.function-call.with-arguments.js + match: >- + (?x) + ([_$a-zA-Z][$\w]*)\s* + (?=\() + captures: + '1': {name: entity.name.function.js} + + literal-method-call: + patterns: + - name: meta.function-call.static.without-arguments.js + match: >- + (?x) + (?:(?<=\.)|\b) + ([A-Z][$\w]*)\s*(\.) + ([_$a-zA-Z][$\w]*)\s* + (\(\s*\)) + captures: + '1': {name: variable.other.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: entity.name.function.js} + '4': {name: meta.group.braces.round.function.arguments.js} + + - name: meta.function-call.static.with-arguments.js + match: >- + (?x) + (?:(?<=\.)|\b) + ([A-Z][$\w]*)\s*(\.) + ([_$a-zA-Z][$\w]*)\s* + (?=\() + captures: + '1': {name: variable.other.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: entity.name.function.js} + + - name: meta.function-call.method.without-arguments.js + match: >- + (?x) + (?<=\.) + ([_$a-zA-Z][$\w]*)\s* + (\(\s*\)) + captures: + '1': {name: entity.name.function.js} + '2': {name: meta.group.braces.round.function.arguments.js} + + - name: meta.function-call.method.with-arguments.js + match: >- + (?x) + (?<=\.) + ([_$a-zA-Z][$\w]*)\s* + (?=\() + captures: + '1': {name: entity.name.function.js} + + literal-language-variable: + patterns: + - name: variable.language.arguments.js + match: (?- + (?x) + !(?!=)| # logical-not right-to-left right + && | # logical-and left-to-right both + \|\| | # logical-or left-to-right both + + - name: keyword.operator.assignment.js + match: >- + (?x) + =(?!=)| # assignment right-to-left both + + - name: keyword.operator.assignment.augmented.js + match: >- + (?x) + %= | # assignment right-to-left both + &= | # assignment right-to-left both + \*= | # assignment right-to-left both + \+= | # assignment right-to-left both + -= | # assignment right-to-left both + /= | # assignment right-to-left both + \^= | # assignment right-to-left both + \|= | # assignment right-to-left both + <<= | # assignment right-to-left both + >>= | # assignment right-to-left both + >>>= | # assignment right-to-left both + + - name: keyword.operator.bitwise.js + match: >- + (?x) + ~ | # bitwise-not right-to-left right + << | # bitwise-shift left-to-right both + >>> | # bitwise-shift left-to-right both + >> | # bitwise-shift left-to-right both + & | # bitwise-and left-to-right both + \^ | # bitwise-xor left-to-right both + \| # bitwise-or left-to-right both + + - name: keyword.operator.relational.js + match: >- + (?x) + <= | # relational left-to-right both + >= | # relational left-to-right both + < | # relational left-to-right both + > # relational left-to-right both + + - name: keyword.operator.comparison.js + match: >- + (?x) + === | # equality left-to-right both + !== | # equality left-to-right both + == | # equality left-to-right both + != # equality left-to-right both + + - name: keyword.operator.arithmetic.js + match: >- + (?x) + -- | # decrement n/a right-or-left + \+\+ | # increment n/a right-or-left + / | # division left-to-right both + % | # modulus left-to-right both + \* | # multiplication left-to-right both + \+ | # addition left-to-right both + - # subtraction left-to-right both + + - name: keyword.operator.ternary.js + match: '\?|:' + + - name: keyword.operator.spread.js + match: (?- + (?x) + (?- + (?xi) + (?:\B[-+])? + (?: + \b0b[0-1]*| # binary + \b0o[0-7]*| # octal + \b0x[0-9a-f]*| # hex + ( + \B\.[0-9]+| # e.g. .999 + \b[0-9]+(\.[0-9]*)? # e.g. 999.999, 999. or 999 + )(e[-+]?[0-9]+)? # e.g. e+123, E-123 + ) + + - name: constant.language.infinity.js + match: (?:\B[-+]|\b)(Infinity)\b + + literal-punctuation: + patterns: + - name: punctuation.terminator.statement.js + match: \; + + - name: meta.delimiter.comma.js + match: ',' + + literal-quasi: + patterns: + - name: string.quasi.js + begin: ([a-zA-Z$_][\w$_]*)?(`) + beginCaptures: + '1': {name: entity.quasi.tag.name.js} + '2': {name: punctuation.definition.quasi.begin.js} + end: '`' + endCaptures: + '0': {name: punctuation.definition.quasi.end.js} + patterns: + - include: '#string-content' + - name: entity.quasi.element.js + begin: \${ + beginCaptures: + '0': {name: punctuation.quasi.element.begin.js} + end: '}' + endCaptures: + '0': {name: punctuation.quasi.element.end.js} + patterns: + - include: '#expression' + + literal-regexp: + patterns: + # ignore ++, -- since they're uncommon, distinguishing them is not possible in sublime text, see: + # http://stackoverflow.com/questions/5519596/when-parsing-javascript-what-determines-the-meaning-of-a-slash + - name: string.regexp.js + begin: >- + (?x) + (?<= + \.|\(|,|{|}|\[|;|,|<|>|<=|>=|==|!=|===|!==|\+|-|\*|%|\+\+|--|<<|>>|>>>|&|\||\^|!|~|&&|\|\||\?|:|=|\+=|-=|\*=|%=|<<=|>>=|>>>=|&=|\|=|\^=|/|/=| + \Wnew|\Wdelete|\Wvoid|\Wtypeof|\Winstanceof|\Win|\Wdo|\Wreturn|\Wcase|\Wthrow| + ^new|^delete|^void|^typeof|^instanceof|^in|^do|^return|^case|^throw|^ + )\s* + (/) + (?!/|\*|$) + beginCaptures: + '1': {name: punctuation.definition.string.begin.js} + end: (/)([gimy]*) + endCaptures: + '1': {name: punctuation.definition.string.end.js} + '2': {name: keyword.other.js} + patterns: + - include: source.regexp.js + + literal-string: + patterns: + - name: string.quoted.single.js + begin: "'" + beginCaptures: + '0': {name: punctuation.definition.string.begin.js} + end: (')|(\n) + endCaptures: + '1': {name: punctuation.definition.string.end.js} + '2': {name: invalid.illegal.newline.js} + patterns: + - include: '#string-content' + + - name: string.quoted.double.js + begin: '"' + beginCaptures: + '0': {name: punctuation.definition.string.begin.js} + end: (")|(\n) + endCaptures: + '1': {name: punctuation.definition.string.end.js} + '2': {name: invalid.illegal.newline.js} + patterns: + - include: '#string-content' + + string-content: + patterns: + - name: constant.character.escape.newline.js + match: \\\s*\n + + - name: constant.character.escape.js + match: \\(x[\da-fA-F]{2}|u[\da-fA-F]{4}|.) + + literal-variable: + patterns: + # e.g. CONSTANT + - name: variable.other.constant.js + match: '[A-Z][_$\dA-Z]*\b' + + # dollar variables + - name: variable.other.dollar.js + match: '(\$)[$\w]+' + captures: + '1': {name: punctuation.dollar.js} + + # e.g. Class.property + - name: meta.property.class.js + match: >- + (?x) + \b([A-Z][$\w]*)\s*(\.) + ([_$a-zA-Z][$\w]*) + captures: + '1': {name: variable.other.class.js} + '2': {name: keyword.operator.accessor.js} + '3': {name: variable.other.property.static.js} + + # e.g. obj.property + - name: variable.other.object.js + match: (?- + (?x) + \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 + + # console + - match: (? - + - - name - JavaScriptNext - fileTypes - - js - htc - jsx - - scopeName - source.js - firstLineMatch - ^#!/.*\b(node|js) - keyEquivalent - ^~J - patterns - - - - include - #comments - - - include - #support - - - include - #core - - - include - #special - - - include - #sugar - - - repository - - comments - - patterns - - - include - #special-comments-conditional-compilation - - - begin - /\*\* - captures - - 0 - - name - punctuation.definition.comment.js - - - end - \*/ - name - comment.block.documentation.js - - - begin - /\* - captures - - 0 - - name - punctuation.definition.comment.js - - - end - \*/ - name - comment.block.js - - - captures - - 1 - - name - punctuation.definition.comment.js - - - match - (//).*$\n? - name - comment.line.double-slash.js - - - captures - - 0 - - name - punctuation.definition.comment.html.js - - 2 - - name - punctuation.definition.comment.html.js - - - match - (<!--|-->) - name - comment.block.html.js - - - - core - - patterns - - - include - #leading-space - - - include - #brackets - - - include - #literal-method - - - include - #literal-number - - - include - #literal-string - - - include - #arrow-function - - - include - #literal-class - - - include - #literal-quasi - - - include - #literal-regex - - - include - #literal-module - - - include - #literal-keywords - - - include - #literal-function-call - - - include - #literal-function-constructor - - - include - #literal-labels - - - include - #literal-variable - - - include - #literal-punctuation - - - - brackets - - patterns - - - captures - - 1 - - name - entity.name.function.js - - - name - meta.function-call.method.with-arguments.js - match - (?x)(?<= \. ) ([_$a-zA-Z][_$\w]*)? (?=\() - - - begin - (\()(?!\)) - captures - - 1 - - name - punctuation.section.scope.round.js - - - name - meta.group.braces.round - patterns - - - include - $base - - - end - (\)) - - - begin - (\[)(?!\]) - captures - - 1 - - name - punctuation.section.scope.square.js - - - name - meta.group.braces.square - patterns - - - include - $base - - - end - (\]) - - - - literal-function-call - - patterns - - - begin - (?=[_$a-zA-Z][_$\w]*\s*\() - end - (?=\() - name - meta.function-call.static.with-arguments.js - patterns - - - match - ([_$a-zA-Z][_$\w]*)? - name - entity.name.function.js - - - - - - literal-method - - patterns - - - captures - - 1 - - name - entity.name.function.js - - - name - meta.function-call.method.with-arguments.js - match - (?x)(?<= \. ) ([_$a-zA-Z][_$\w]*) (?=\() - - - captures - - 2 - - name - meta.group.braces.round.function.arguments.js - - 1 - - name - entity.name.function.js - - 3 - - name - punctuation.section.scope.round.js - - - name - meta.function-call.method.without-arguments.js - match - (?x)(?<= \. ) ([_$a-zA-Z][_$\w]*) ((\( \s* \))) - - - begin - (?x) - \b(function) - (?= - (?:\b(?:[_$a-zA-Z][_$\w]*))? \s* # The function name - \(.*?\) # The properties that the function accepts - ) - comment - function(one,two,...)\n?{...} - beginCaptures - - 1 - - name - storage.type.function.js - - - name - meta.function.js - patterns - - - include - $base - - - end - (?<=})(\s*\n)? - - - captures - - 1 - - name - entity.name.method.js - - 2 - - name - punctuation.definition.parameters.begin.js - - 3 - - name - variable.parameter.method.js - - 4 - - name - punctuation.definition.parameters.begin.js - - - name - meta.method.js - match - (?x) - (?<![_$\w] )(?<!function) - ([_$a-zA-Z][_$\w]*) - (\() (\s* - (.*?) - )?\s* (\)) - \s* - (?={) - - - - literal-class - - patterns - - - captures - - 1 - - name - storage.type.class.js - - 2 - - name - entity.name.class.js - - 3 - - name - storage.type.extends.js - - 4 - - name - entity.name.extends.js - - - comment - match regular class like: class MyClass { } - match - \b(class)\b(?:\s+([a-zA-Z_$]\w*)\s*(?:\b(extends)\b\s*([a-zA-Z_$][.\w]*))?)?\s* - name - meta.class.js - - - captures - - 1 - - name - storage.type.accessor.js - - 2 - - name - entity.name.accessor.js - - 3 - - name - punctuation.definition.parameters.begin.js - - 4 - - name - variable.parameter.accessor.js - - 5 - - name - punctuation.definition.parameters.end.js - - - comment - Concise getter and setter - match - \b([gs]et\s*)\b([a-zA-Z_$][\w?_$]*)\s*(\()(.*?)(\)) - name - meta.accessor.js - - - - literal-module - - patterns - - - comment - match module like: module Module { } - match - \b(module)(?:\s+([a-zA-Z_$][_$\w]*))?\s*(?=\{) - name - meta.module.js - captures - - 1 - - name - storage.type.module.js - - 2 - - name - entity.name.module.js - - - - - comment - match export like: export decl - match - \b(export)\b\s*(?=(?:module|class|function|var|let|const)\b(?:\s+[a-zA-Z_$][_$\w]*)?) - name - meta.module.export.js - captures - - 1 - - name - storage.type.export.js - - - - - - arrow-function - - patterns - - - name - arrow.function.js - patterns - - - match - (?x)\s*( - (?:(\() (.*?)? (\))) - | ([_$a-zA-Z][_$\w]*) - )\s*(=>) - name - storage.type.function.arrow.js - comment - match stuff like:(args) => - captures - - 1 - - name - entity.arrow.function.js - - 2 - - name - punctuation.definition.parameters.begin.js - - 3 - - name - variable.parameter.function.arrow.js - - 4 - - name - punctuation.definition.parameters.end.js - - 5 - - name - variable.parameter.function.arrow.js - - 6 - - name - punctuation.definition.arrow.js - - - - - - - - literal-function-constructor - - patterns - - - captures - - 1 - - name - storage.type.function.js - - 2 - - name - entity.name.function.js - - 3 - - name - punctuation.definition.parameters.begin.js - - 4 - - name - variable.parameter.function.js - - 5 - - name - punctuation.definition.parameters.end.js - - - comment - match regular function like: function myFunc(arg) { } - match - \b(function)(?:\s+([a-zA-Z_$]\w*))?\s*(\()(.*?)(\)) - name - meta.function.js - - - captures - - 1 - - name - support.class.js - - 2 - - name - support.constant.js - - - comment - match stuff like: Sound.prototype = { } when extending an object - match - ([a-zA-Z_?.$][\w?.$]*)\.(prototype)\s*=\s* - name - meta.prototype.declaration.js - - - captures - - 1 - - name - support.class.js - - 2 - - name - support.constant.js - - 3 - - name - entity.name.function.js - - 4 - - name - storage.type.function.js - - 5 - - name - punctuation.definition.parameters.begin.js - - 6 - - name - variable.parameter.function.js - - 7 - - name - punctuation.definition.parameters.end.js - - - comment - match stuff like: Sound.prototype.play = function() { } - match - ([a-zA-Z_?.$][\w?.$]*)\.(prototype)\.([a-zA-Z_?.$][\w?.$]*)\s*=\s*(function)?\s*(\()(.*?)(\)) - name - meta.prototype.function.js - - - captures - - 1 - - name - support.class.js - - 2 - - name - support.constant.js - - - comment - Sound.prototype - match - ([a-zA-Z_?.$][\w?.$]*)\.(prototype) - name - meta.prototype.js - - - captures - - 1 - - name - support.class.js - - 2 - - name - support.constant.js - - 3 - - name - entity.name.function.js - - - comment - match stuff like: Sound.prototype.play = myfunc - match - ([a-zA-Z_?.$][\w?.$]*)\.(prototype)\.([a-zA-Z_?.$][\w?.$]*)\s*=\s* - name - meta.function.js - - - captures - - 1 - - name - support.object.js - - 2 - - name - entity.name.function.js - - 3 - - name - storage.type.function.js - - 4 - - name - entity.name.function.js - - 5 - - name - punctuation.definition.parameters.begin.js - - 6 - - name - variable.parameter.function.js - - 7 - - name - punctuation.definition.parameters.end.js - - - comment - match stuff like: Sound.play = function() { } - match - ([a-zA-Z_?.$][\w?.$]*)\.([a-zA-Z_?.$][\w?.$]*)\s*=\s*(function)( [a-zA-Z_?.$][\w?.$]*)?\s*(\()(.*?)(\)) - name - meta.function.js - - - captures - - 1 - - name - entity.name.function.js - - 2 - - name - punctuation.separator.key-value.js - - 3 - - name - storage.type.function.js - - 4 - - name - punctuation.definition.parameters.begin.js - - 5 - - name - variable.parameter.function.js - - 6 - - name - punctuation.definition.parameters.end.js - - - comment - match stuff like: foobar: function() { } - match - \b([a-zA-Z_?.$][\w?.$]*)\s*(:)\s*\b(function)?\s*(\()(.*?)(\)) - name - meta.function.json.js - - - captures - - 1 - - name - string.quoted.single.js - - 10 - - name - storage.type.function.js - - 11 - - name - punctuation.definition.parameters.begin.js - - 12 - - name - variable.parameter.function.js - - 13 - - name - punctuation.definition.parameters.end.js - - 2 - - name - punctuation.definition.string.begin.js - - 3 - - name - entity.name.function.js - - 4 - - name - punctuation.definition.string.end.js - - 5 - - name - string.quoted.double.js - - 6 - - name - punctuation.definition.string.begin.js - - 7 - - name - entity.name.function.js - - 8 - - name - punctuation.definition.string.end.js - - 9 - - name - punctuation.separator.key-value.js - - - comment - Attempt to match "foo": function - match - (?:((')(.*?)('))|((")(.*?)(")))\s*(:)\s*\b(function)?\s*(\()(.*?)(\)) - name - meta.function.json.js - - - - literal-keywords - - patterns - - - captures - - 1 - - name - keyword.operator.new.js - - 2 - - name - entity.name.type.new.js - - - match - (new)\s+([a-zA-Z_?.$][\w?.$]*) - name - meta.instance.constructor - - - match - \b(var|let|const)\b - name - keyword.control.declaration.js - - - match - \b(return|yield)\b - name - keyword.control.flow.js - - - match - \b(else|if)\b - name - keyword.control.conditional.js - - - match - \b(catch|finally|throw|try)\b - name - keyword.control.trycatch.js - - - match - \b(break|continue|do|for|goto|while)\b - name - keyword.control.loop.js - - - match - \b(case|default|switch)\b - name - keyword.control.switch.js - - - match - \b(delete|in(stanceof)?|new|typeof|void|with)\b - name - keyword.operator.js - - - match - \btrue\b - name - constant.language.boolean.true.js - - - match - \bfalse\b - name - constant.language.boolean.false.js - - - match - \bnull\b - name - constant.language.null.js - - - match - \bundefined\b - name - constant.language.undefined.js - - - match - \bNaN\b - name - constant.language.nan.js - - - match - (?<!\.)\b(arguments)\b - name - variable.language.arguments.js - - - match - (?<!\.)\b(super)\b - name - variable.language.super.js - - - match - (?<!\.)\b(this)\b - name - variable.language.this.js - - - match - (?<!\.)\b(self)\b - name - storage.self.js - - - match - (?<=\.)\b(__proto__)\b - name - variable.language.proto.js - - - match - (?<=\.)\b(constructor)\b - name - variable.language.constructor.js - - - match - (?<=\.)\b(prototype)\b - name - variable.language.prototype.js - - - match - !|%|&|\*|\-\-|\-|\+\+|\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|/=|%=|\+=|\-=|&=|\^= - name - keyword.operator.js - - - match - : - name - punctuation.separator.key-value - - - match - (?x) - !(?!=)| # logical-not right-to-left right - && | # logical-and left-to-right both - \|\| # logical-or left-to-right both - name - keyword.operator.logical.js - - - match - (?x) - %= | # assignment right-to-left both - &= | # assignment right-to-left both - \*= | # assignment right-to-left both - \+= | # assignment right-to-left both - -= | # assignment right-to-left both - /= | # assignment right-to-left both - \^= | # assignment right-to-left both - \|= | # assignment right-to-left both - <<= | # assignment right-to-left both - >>= | # assignment right-to-left both - >>>= # assignment right-to-left both - name - keyword.operator.assignment.augmented.js - - - match - (?x) - ~ | # bitwise-not right-to-left right - << | # bitwise-shift left-to-right both - >>> | # bitwise-shift left-to-right both - >> | # bitwise-shift left-to-right both - & | # bitwise-and left-to-right both - \^ | # bitwise-xor left-to-right both - \| # bitwise-or left-to-right both - name - keyword.operator.bitwise.js - - - match - (?x) - <= | # relational left-to-right both - >= | # relational left-to-right both - < | # relational left-to-right both - > # relational left-to-right both - name - keyword.operator.relational.js - - - match - (?x) - === | # equality left-to-right both - !== | # equality left-to-right both - == | # equality left-to-right both - != # equality left-to-right both - name - keyword.operator.comparison.js - - - match - (?x)= - name - keyword.operator.assignment.js - - - match - (?x) - -- | # decrement n/a right-or-left - \+\+ | # increment n/a right-or-left - / | # division left-to-right both - % | # modulus left-to-right both - \* | # multiplication left-to-right both - \+ | # addition left-to-right both - - # subtraction left-to-right both - name - keyword.operator.arithmetic.js - - - - literal-labels - - patterns - - - captures - - 2 - - name - punctuation.separator.key-value.js - - - match - (?<=['"])(\s*)(:) - - - captures - - 1 - - name - string.unquoted.label.js - - 2 - - name - punctuation.separator.key-value.js - - - match - (?<!\?|\? |case )(?!\?)([_$a-zA-Z][_$\w]*)\s*(:) - name - constant.other.object.key.js - - - - literal-number - - patterns - - - match - (?i)(?:\B[-+]|\b)0x[0-9a-f]*\.(\B|\b[0-9]+) - name - invalid.illegal.numeric.hex.js - - - match - (?:\B[-+]|\b)0[0-9]+\.(\B|\b[0-9]+) - name - invalid.illegal.numeric.octal.js - - - match - (?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 - ) - name - constant.numeric.js - - - match - (?:\B[-+]|\b)(Infinity)\b - name - constant.language.infinity.js - - - - literal-punctuation - - patterns - - - match - \; - name - punctuation.terminator.statement.js - - - match - , - name - meta.delimiter.object.comma.js - - - match - \. - name - meta.delimiter.method.period.js - - - match - \{|\} - name - meta.brace.curly.js - - - match - \(|\) - name - meta.brace.round.js - - - match - \[|\] - name - meta.brace.square.js - - - match - (?<=\.)\s - name - meta.complete.method - - - - literal-quasi - - patterns - - - begin - ([a-zA-Z$_][\w$_]*)?(`) - beginCaptures - - 1 - - name - entity.quasi.tag.name.js - - 2 - - name - punctuation.definition.quasi.begin.js - - - end - ` - endCaptures - - 0 - - name - punctuation.definition.quasi.end.js - - - name - string.quasi.js - patterns - - - name - entity.quasi.element.js - begin - \${ - beginCaptures - - 0 - - name - punctuation.quasi.element.begin.js - - - end - } - endCaptures - - 0 - - name - punctuation.quasi.element.end.js - - - patterns - - - include - $base - - - - - - - - literal-regex - - patterns - - - begin - (?x) (?<= [\[,=(:] | ^ | && | return )\s*((/)) (?! [/*+{}?] | $ ) - beginCaptures - - 1 - - name - string.regexp.js - - 2 - - name - punctuation.definition.string.begin.js - - - contentName - string.regexp.js - end - ((/([igm]*)))|(?=</\s*script\s*>\s*\n)|(?<=[^\\]\n) - endCaptures - - 1 - - name - string.regexp.js - - 2 - - name - punctuation.definition.string.end.js - - 3 - - name - keyword.other.js - - - patterns - - - match - \\\n - name - constant.character.escape.newline.js - - - match - \n - name - invalid.illegal.newline.js - - - match - \\. - name - constant.character.escape.js - - - - - - literal-string - - patterns - - - begin - ' - beginCaptures - - 0 - - name - punctuation.definition.string.begin.js - - - end - (?i)'|(?=</\s*script\s*>\s*\n)|(?<=[^\\]\n) - endCaptures - - 0 - - name - punctuation.definition.string.end.js - - - name - string.quoted.single.js - patterns - - - include - #string-single-innards - - - - - begin - " - beginCaptures - - 0 - - name - punctuation.definition.string.begin.js - - - end - (?i)"|(?=</\s*script\s*>\s*\n)|(?<=[^\\]\n) - endCaptures - - 0 - - name - punctuation.definition.string.end.js - - - name - string.quoted.double.js - patterns - - - include - #string-double-innards - - - - - - literal-variable - - patterns - - - match - \.?[A-Z][_$\dA-Z]*\b - name - variable.other.constant.js - - - match - \b([A-Z][_$\w]*\.?)\s*?(?:([a-z$_][\w_$]*(?=\())|([a-z$_][\w_$]*))? - name - meta.entity.static.js - captures - - 1 - - name - variable.other.class.js - - 2 - - name - meta.function.call.class.static.js - - 3 - - name - variable.other.class.static.js - - - - - match - (?<!\.)[_$a-zA-Z][_$\w]*\s*(?=[\[\.]) - name - variable.other.object.js - - - captures - - 0 - - name - meta.property-name.js - - 1 - - name - variable.other.object.js - - - match - ([_$a-zA-Z][_$\w]*)\s*(?=[\[\.]) - name - meta.property.js - - - captures - - 0 - - name - variable.other.property.js - - - match - (?<=[\.\]])\s*[_$a-zA-Z][_$\w]* - name - meta.property.js - - - match - [_$a-zA-Z][_$\w]* - name - variable.other.readwrite.js - - - - special - - patterns - - - match - \b(console)\b - name - entity.name.type.object.js.firebug - - - match - \.(warn|info|log|error|time|timeEnd|assert)\b - name - support.function.js.firebug - - - match - \b(debugger)\b - name - keyword.other.js - - - - special-comments-conditional-compilation - - patterns - - - begin - /\*(?=@) - captures - - 0 - - name - punctuation.definition.comment.js - - - end - \*/ - endCaptures - - 1 - - name - keyword.control.conditional.js - - 2 - - name - punctuation.definition.keyword.js - - - name - comment.block.conditional.js - patterns - - - include - $base - - - - - captures - - 1 - - name - punctuation.definition.keyword.js - - - match - (@)(if|elif|else|end) - name - keyword.control.conditional.js - - - captures - - 1 - - name - punctuation.definition.keyword.js - - - match - (@)(cc_on|set) - name - keyword.operator.conditional.js - - - captures - - 1 - - name - punctuation.definition.variable.js - - - match - (@)(_win32|_win16|_mac|_alpha|_x86|_mc680x0|_PowerPC|_jscript_build|_jscript_version|_jscript|_debug|_fast|[a-zA-Z]\w+) - name - variable.other.conditional.js - - - - string-double-innards - - patterns - - - match - \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.) - name - constant.character.escape.js - - - match - \\\n - name - constant.character.escape.newline.js - - - match - \n - name - invalid.illegal.newline.js - - - match - (?i)</\s*script\s*> - name - invalid.deprecated.inconsistent.js - - - - string-single-innards - - patterns - - - match - \\(x\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.) - name - constant.character.escape.js - - - match - \\\n - name - constant.character.escape.newline.js - - - match - \n - name - invalid.illegal.newline.js - - - match - (?i)</\s*script\s*> - name - invalid.deprecated.inconsistent.js - - - - sugar - - patterns - - - begin - ^(?=(\t| )) - end - (?=[^\t\s]) - name - meta.leading-tabs - patterns - - - captures - - 1 - - name - meta.odd-tab.group1.spaces - - 10 - - name - meta.even-tab.group10.spaces - - 11 - - name - meta.odd-tab.group11.spaces - - 2 - - name - meta.even-tab.group2.spaces - - 3 - - name - meta.odd-tab.group3.spaces - - 4 - - name - meta.even-tab.group4.spaces - - 5 - - name - meta.odd-tab.group5.spaces - - 6 - - name - meta.even-tab.group6.spaces - - 7 - - name - meta.odd-tab.group7.spaces - - 8 - - name - meta.even-tab.group8.spaces - - 9 - - name - meta.odd-tab.group9.spaces - - - match - ( )( )?( )?( )?( )?( )?( )?( )?( )?( )?( )? - - - captures - - 1 - - name - meta.odd-tab.group1.tab - - 10 - - name - meta.even-tab.group10.tab - - 11 - - name - meta.odd-tab.group11.tab - - 2 - - name - meta.even-tab.group2.tab - - 3 - - name - meta.odd-tab.group3.tab - - 4 - - name - meta.even-tab.group4.tab - - 5 - - name - meta.odd-tab.group5.tab - - 6 - - name - meta.even-tab.group6.tab - - 7 - - name - meta.odd-tab.group7.tab - - 8 - - name - meta.even-tab.group8.tab - - 9 - - name - meta.odd-tab.group9.tab - - - match - (\t)(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)? - - - - - - support - - patterns - - - match - \b(Array|Boolean|Date|Function|Map|Number|Object|Proxy|RegExp|Set|String|WeakMap)\b - name - support.class.builtin.js - - - match - \b((Eval|Range|Reference|Syntax|Type|URI)?Error)\b - name - support.class.error.js - - - match - \b(s(hift|ort|plice)|unshift|p(op|ush)|reverse)\b(?=\() - name - entity.name.function.mutator.js - - - match - \b(natives|buffer|child_process|cluster|crypto|d(gram|ns)|fs|http(s)?|net|os|path|punycode|(query)?string(_decoder)?|re(adline|pl)|tls|tty|util|vm|zlib)\b - name - support.module.node.js - - - match - \b(process(.env)?|global|GLOBAL|root|std(out|in|err)|exports)\b - name - support.keyword.node.js - - - match - \b(Buffer|EventEmitter|Server|Pipe|Socket|REPLServer|ReadStream|WriteStream|Stream|Inflate|Deflate|InflateRaw|DeflateRaw|GZip|GUnzip|Unzip|Zip)\b - name - support.class.node.js - - - match - \b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval|isFinite|isNaN|parseFloat|parseInt|unescape)\b(?=\() - name - entity.name.function.js - - - match - \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 - name - support.constant.dom.js - - - - - uuid - 0D2D03B9-F18B-4D9D-A960-716FDEC35331 - + + fileTypes + + js + htc + jsx + + firstLineMatch + ^#!/.*\b(node|js)$\n? + keyEquivalent + ^~J + name + JavaScript Next + patterns + + + include + #core + + + repository + + brackets + + patterns + + + include + #round-brackets + + + include + #square-brackets + + + include + #curly-brackets + + + + comments + + patterns + + + include + #special-comments-conditional-compilation + + + begin + /\*\*(?!/) + captures + + 0 + + name + punctuation.definition.comment.js + + + end + \*/ + name + comment.block.documentation.js + + + begin + /\* + captures + + 0 + + name + punctuation.definition.comment.js + + + end + \*/ + name + comment.block.js + + + captures + + 0 + + name + punctuation.definition.comment.js + + + match + (<!--|-->) + name + comment.block.html.js + + + captures + + 1 + + name + punctuation.definition.comment.js + + + match + (//).*$\n? + name + comment.line.double-slash.js + + + captures + + 1 + + name + punctuation.definition.comment.js + + + match + ^(#!).*$\n? + name + comment.line.shebang.js + + + + core + + patterns + + + include + #literal-function-labels + + + include + #literal-arrow-function-labels + + + include + #literal-labels + + + include + #literal-keywords + + + include + #literal-for + + + include + #literal-switch + + + include + #expression + + + include + #literal-punctuation + + + + curly-brackets + + patterns + + + begin + \{ + beginCaptures + + 0 + + name + meta.brace.curly.js + + + end + \} + endCaptures + + 0 + + name + meta.brace.curly.js + + + name + meta.group.braces.curly + patterns + + + include + $self + + + + + + expression + + patterns + + + include + #support + + + include + #literal-function + + + include + #literal-arrow-function + + + include + #literal-prototype + + + include + #literal-regexp + + + include + #literal-number + + + include + #literal-quasi + + + include + #literal-string + + + include + #literal-language-constant + + + include + #literal-language-variable + + + include + #literal-method + + + include + #literal-module + + + include + #literal-class + + + include + #literal-constructor + + + include + #literal-method-call + + + include + #literal-function-call + + + include + #comments + + + include + #brackets + + + include + #literal-operators + + + include + #literal-variable + + + + function-declaration-parameters + + patterns + + + begin + \( + beginCaptures + + 0 + + name + punctuation.definition.parameters.begin.js + + + end + \) + endCaptures + + 0 + + name + punctuation.definition.parameters.end.js + + + patterns + + + match + (?<!\.)\.\.\. + name + keyword.operator.spread.js + + + match + [_$a-zA-Z][$\w]* + name + variable.parameter.function.js + + + match + , + name + punctuation.separator.parameter.function.js + + + begin + = + beginCaptures + + 0 + + name + keyword.operator.assignment.js + + + end + (?=[,)]) + name + meta.parameter.optional.js + patterns + + + include + #expression + + + + + include + #comments + + + + + + literal-arrow-function + + patterns + + + begin + (?x) + (\basync)?\s* + (?=\([^()]*\)\s*(=>)) + beginCaptures + + 1 + + name + storage.type.js + + + end + (?<=\))\s*(=>) + endCaptures + + 1 + + name + storage.type.function.arrow.js + + + name + meta.function.arrow.js + patterns + + + include + #function-declaration-parameters + + + + + captures + + 1 + + name + storage.type.js + + 2 + + name + variable.parameter.function.js + + 3 + + name + storage.type.function.arrow.js + + + match + (?x) + (\basync)?\s* + \b([_$a-zA-Z][$\w]*)\s*(=>) + name + meta.function.arrow.js + + + begin + (?x) + (\b[_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures + + 1 + + name + entity.name.function.js + + 2 + + name + storage.type.js + + + end + (?<=\))\s*(=>) + endCaptures + + 1 + + name + storage.type.function.arrow.js + + + name + meta.function.arrow.js + patterns + + + include + #function-declaration-parameters + + + + + captures + + 1 + + name + entity.name.function.js + + 2 + + name + storage.type.js + + 3 + + name + variable.parameter.function.js + + 4 + + name + storage.type.function.arrow.js + + + match + (?x) + (\b[_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + name + meta.function.arrow.js + + + begin + (?x) + (\b_?[A-Z][$\w]*)? + (\.)(prototype) + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures + + 1 + + name + entity.name.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + variable.language.prototype.js + + 4 + + name + keyword.operator.accessor.js + + 5 + + name + entity.name.function.js + + 6 + + name + storage.type.js + + + end + (?<=\))\s*(=>) + endCaptures + + 1 + + name + storage.type.function.arrow.js + + + name + meta.prototype.function.arrow.js + patterns + + + include + #function-declaration-parameters + + + + + captures + + 1 + + name + entity.name.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + variable.language.prototype.js + + 4 + + name + keyword.operator.accessor.js + + 5 + + name + entity.name.function.js + + 6 + + name + storage.type.js + + 7 + + name + variable.parameter.function.js + + 8 + + name + storage.type.function.arrow.js + + + match + (?x) + (\b_?[A-Z][$\w]*)? + (\.)(prototype) + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + name + meta.prototype.function.arrow.js + + + begin + (?x) + (\b_?[A-Z][$\w]*)? + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures + + 1 + + name + entity.name.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + entity.name.function.js + + 4 + + name + storage.type.js + + + end + (?<=\))\s*(=>) + endCaptures + + 1 + + name + storage.type.function.arrow.js + + + name + meta.function.static.arrow.js + patterns + + + include + #function-declaration-parameters + + + + + captures + + 1 + + name + entity.name.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + entity.name.function.js + + 4 + + name + storage.type.js + + 5 + + name + variable.parameter.function.js + + 6 + + name + storage.type.function.arrow.js + + + match + (?x) + (\b_?[A-Z][$\w]*)? + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + name + meta.function.static.arrow.js + + + + literal-arrow-function-labels + + patterns + + + begin + (?x) + \b([_$a-zA-Z][$\w]*) + \s*(:) + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures + + 1 + + name + entity.name.function.js + + 2 + + name + punctuation.separator.key-value.js + + 3 + + name + storage.type.js + + + end + (?<=\))\s*(=>) + endCaptures + + 1 + + name + storage.type.function.arrow.js + + + name + meta.function.json.arrow.js + patterns + + + include + #function-declaration-parameters + + + + + captures + + 1 + + name + entity.name.function.js + + 2 + + name + punctuation.separator.key-value.js + + 3 + + name + storage.type.js + + 4 + + name + variable.parameter.function.js + + 5 + + name + storage.type.function.arrow.js + + + match + (?x) + \b([_$a-zA-Z][$\w]*) + \s*(:) + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + name + meta.function.json.arrow.js + + + begin + (?x) + (?: + ((')((?:[^']|\\')*)('))| + ((")((?:[^"]|\\")*)(")) + ) + \s*(:) + \s*(async)? + \s*(?=\([^()]*\)\s*(=>)) + beginCaptures + + 1 + + name + string.quoted.single.js + + 10 + + name + storage.type.js + + 2 + + name + punctuation.definition.string.begin.js + + 3 + + name + entity.name.function.js + + 4 + + name + punctuation.definition.string.end.js + + 5 + + name + string.quoted.double.js + + 6 + + name + punctuation.definition.string.begin.js + + 7 + + name + entity.name.function.js + + 8 + + name + punctuation.definition.string.end.js + + 9 + + name + punctuation.separator.key-value.js + + + end + (?<=\))\s*(=>) + endCaptures + + 1 + + name + storage.type.function.arrow.js + + + name + meta.function.json.arrow.js + patterns + + + include + #function-declaration-parameters + + + + + captures + + 1 + + name + string.quoted.single.js + + 10 + + name + storage.type.js + + 11 + + name + variable.parameter.function.js + + 12 + + name + storage.type.function.arrow.js + + 2 + + name + punctuation.definition.string.begin.js + + 3 + + name + entity.name.function.js + + 4 + + name + punctuation.definition.string.end.js + + 5 + + name + string.quoted.double.js + + 6 + + name + punctuation.definition.string.begin.js + + 7 + + name + entity.name.function.js + + 8 + + name + punctuation.definition.string.end.js + + 9 + + name + punctuation.separator.key-value.js + + + match + (?x) + (?: + ((')((?:[^']|\\')*)('))| + ((")((?:[^"]|\\")*)(")) + ) + \s*(:) + \s*(async)? + \s*\b([_$a-zA-Z][$\w]*)\s*(=>) + name + meta.function.json.arrow.js + + + + literal-class + + patterns + + + begin + (?x) + (?<!\.)\b(class) + \s+((?!\b(extends)\b)[_$a-zA-Z][$\w]*)? + beginCaptures + + 1 + + name + storage.type.class.js + + 2 + + name + entity.name.class.js + + + end + } + endCaptures + + 0 + + name + meta.brace.curly.js + + + name + meta.class.js + patterns + + + begin + \b(extends)\b + beginCaptures + + 1 + + name + storage.type.extends.js + + + end + (?={) + name + meta.class.extends.js + patterns + + + include + #expression + + + + + begin + { + beginCaptures + + 0 + + name + meta.brace.curly.js + + + end + (?=}) + patterns + + + include + #brackets + + + include + #comments + + + include + #literal-method + + + include + #literal-property-initializer + + + include + #expression + + + + + + + + literal-constructor + + patterns + + + begin + (new)\s+(?=[_$a-zA-Z][$\w.]*) + beginCaptures + + 1 + + name + keyword.operator.new.js + + + end + (?![_$a-zA-Z][$\w.]*) + name + meta.instance.constructor + patterns + + + include + #support + + + captures + + 2 + + name + entity.name.type.new.js + + + match + ([_$a-zA-Z][$\w.]*\.)?([_$a-zA-Z][$\w]*) + + + + + + literal-for + + patterns + + + begin + (?<!\.)\b(for)\b + beginCaptures + + 1 + + name + keyword.control.loop.js + + + end + \) + endCaptures + + 0 + + name + meta.brace.round.js + + + name + meta.for.js + patterns + + + begin + \( + beginCaptures + + 0 + + name + meta.brace.round.js + + + end + (?=\)) + patterns + + + include + #literal-keyword-storage + + + include + #expression + + + include + #literal-punctuation + + + + + + + + literal-function + + patterns + + + begin + (?x) + (?:\b(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures + + 1 + + name + storage.type.js + + 2 + + name + storage.type.function.js + + 3 + + name + keyword.generator.asterisk.js + + 4 + + name + entity.name.function.js + + + end + (?<=\)) + name + meta.function.js + patterns + + + include + #function-declaration-parameters + + + + + begin + (?x) + (\b[_$a-zA-Z][$\w]*) + \s*= + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures + + 1 + + name + entity.name.function.js + + 2 + + name + storage.type.js + + 3 + + name + storage.type.function.js + + 4 + + name + keyword.generator.asterisk.js + + 5 + + name + entity.name.function.js + + + end + (?<=\)) + name + meta.function.js + patterns + + + include + #function-declaration-parameters + + + + + begin + (?x) + (\b_?[A-Z][$\w]*)? + (\.)(prototype) + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures + + 1 + + name + entity.name.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + variable.language.prototype.js + + 4 + + name + keyword.operator.accessor.js + + 5 + + name + entity.name.function.js + + 6 + + name + storage.type.js + + 7 + + name + storage.type.function.js + + 8 + + name + keyword.generator.asterisk.js + + 9 + + name + entity.name.function.js + + + end + (?<=\)) + name + meta.prototype.function.js + patterns + + + include + #function-declaration-parameters + + + + + begin + (?x) + (\b_?[A-Z][$\w]*)? + (\.)([_$a-zA-Z][$\w]*) + \s*= + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures + + 1 + + name + entity.name.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + entity.name.function.js + + 4 + + name + storage.type.js + + 5 + + name + storage.type.function.js + + 6 + + name + keyword.generator.asterisk.js + + 7 + + name + entity.name.function.js + + + end + (?<=\)) + name + meta.function.static.js + patterns + + + include + #function-declaration-parameters + + + + + + literal-function-call + + patterns + + + captures + + 1 + + name + entity.name.function.js + + 2 + + name + meta.group.braces.round.function.arguments.js + + + match + (?x) + ([_$a-zA-Z][$\w]*)\s* + (\(\s*\)) + name + meta.function-call.without-arguments.js + + + captures + + 1 + + name + entity.name.function.js + + + match + (?x) + ([_$a-zA-Z][$\w]*)\s* + (?=\() + name + meta.function-call.with-arguments.js + + + + literal-function-labels + + patterns + + + begin + (?x) + \b([_$a-zA-Z][$\w]*) + \s*(:) + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures + + 1 + + name + entity.name.function.js + + 2 + + name + punctuation.separator.key-value.js + + 3 + + name + storage.type.js + + 4 + + name + storage.type.function.js + + 5 + + name + keyword.generator.asterisk.js + + 6 + + name + entity.name.function.js + + + end + (?<=\)) + name + meta.function.json.js + patterns + + + include + #function-declaration-parameters + + + + + begin + (?x) + (?: + ((')((?:[^']|\\')*)('))| + ((")((?:[^"]|\\")*)(")) + ) + \s*(:) + \s*(?:(async)\s+)? + \s*(function)(?:\s*(\*)|(?=\s|[(])) + \s*([_$a-zA-Z][$\w]*)?\s* + beginCaptures + + 1 + + name + string.quoted.single.js + + 10 + + name + storage.type.js + + 11 + + name + storage.type.function.js + + 12 + + name + keyword.generator.asterisk.js + + 13 + + name + entity.name.function.js + + 2 + + name + punctuation.definition.string.begin.js + + 3 + + name + entity.name.function.js + + 4 + + name + punctuation.definition.string.end.js + + 5 + + name + string.quoted.double.js + + 6 + + name + punctuation.definition.string.begin.js + + 7 + + name + entity.name.function.js + + 8 + + name + punctuation.definition.string.end.js + + 9 + + name + punctuation.separator.key-value.js + + + end + (?<=\)) + name + meta.function.json.js + patterns + + + include + #function-declaration-parameters + + + + + + literal-keyword-storage + + patterns + + + match + (?<!\.)\b(const|let|var)\b + name + storage.type.js + + + + literal-keywords + + patterns + + + include + #literal-keyword-storage + + + captures + + 1 + + name + keyword.control.flow.js + + 2 + + name + keyword.generator.asterisk.js + + + match + (?<!\.)\b(yield)\b(?:\s*(\*))? + + + match + (?<!\.)\b(await|return)\b + name + keyword.control.flow.js + + + match + (?<!\.)\b(if|else)\b + name + keyword.control.conditional.js + + + match + (?<!\.)\b(catch|finally|throw|try)\b + name + keyword.control.trycatch.js + + + match + (?<!\.)\b(break|continue|do|goto|while)\b + name + keyword.control.loop.js + + + + literal-labels + + patterns + + + begin + (?x) + (?<!\?)(?<!\?\s)(?=( + ((')((?:[^']|\\')*)('))| + ((")((?:[^"]|\\")*)(")) + )\s*:) + end + : + endCaptures + + 0 + + name + punctuation.separator.key-value.js + + + patterns + + + include + #literal-string + + + + + captures + + 1 + + name + string.unquoted.label.js + + 2 + + name + punctuation.separator.key-value.js + + + match + (?<!\.|\?|\?\s)([_$a-zA-Z][$\w]*)\s*(:) + name + constant.other.object.key.js + + + + literal-language-constant + + patterns + + + match + (?<!\.)\btrue\b + name + constant.language.boolean.true.js + + + match + (?<!\.)\bfalse\b + name + constant.language.boolean.false.js + + + match + (?<!\.)\bnull\b + name + constant.language.null.js + + + match + (?<!\.)\bundefined\b + name + constant.language.undefined.js + + + match + (?<!\.)\bNaN\b + name + constant.language.nan.js + + + + literal-language-variable + + patterns + + + match + (?<!(?<!\.\.)\.)\b(arguments)\b + name + variable.language.arguments.js + + + match + (?<!(?<!\.\.)\.)\b(super)\b + name + variable.language.super.js + + + match + (?<!(?<!\.\.)\.)\b(this)\b + name + variable.language.this.js + + + match + (?<!(?<!\.\.)\.)\b(self)\b + name + variable.language.self.js + + + match + (?<=\.)\b(__proto__)\b + name + variable.language.proto.js + + + match + (?<=\.)\b(constructor)\b + name + variable.language.constructor.js + + + match + (?<=\.)\b(prototype)\b + name + variable.language.prototype.js + + + + literal-method + + patterns + + + begin + (?x) + (?:\b(static)\s+)? + (?:\b(async)\s+)? + (?:(\*)\s*)?([_$a-zA-Z][$\w]*)\s* + (?=\([^())]*\)(?:\s|/\*.*\*/)*\{) + beginCaptures + + 1 + + name + storage.type.js + + 2 + + name + storage.type.js + + 3 + + name + keyword.generator.asterisk.js + + 4 + + name + entity.name.method.js + + + end + (?<=\)) + name + meta.method.js + patterns + + + include + #function-declaration-parameters + + + + + begin + (?x) + \b(?:(static)\s+)? + (get|set)\s+ + ([_$a-zA-Z][$\w]*)\s* + (?=\([^())]*\)(?:\s|/\*.*\*/)*\{) + beginCaptures + + 1 + + name + storage.type.js + + 2 + + name + storage.type.accessor.js + + 3 + + name + entity.name.accessor.js + + + end + (?<=\)) + name + meta.accessor.js + patterns + + + include + #function-declaration-parameters + + + + + + literal-method-call + + patterns + + + captures + + 1 + + name + variable.other.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + entity.name.function.js + + 4 + + name + meta.group.braces.round.function.arguments.js + + + match + (?x) + (?:(?<=\.)|\b) + ([A-Z][$\w]*)\s*(\.) + ([_$a-zA-Z][$\w]*)\s* + (\(\s*\)) + name + meta.function-call.static.without-arguments.js + + + captures + + 1 + + name + variable.other.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + entity.name.function.js + + + match + (?x) + (?:(?<=\.)|\b) + ([A-Z][$\w]*)\s*(\.) + ([_$a-zA-Z][$\w]*)\s* + (?=\() + name + meta.function-call.static.with-arguments.js + + + captures + + 1 + + name + entity.name.function.js + + 2 + + name + meta.group.braces.round.function.arguments.js + + + match + (?x) + (?<=\.) + ([_$a-zA-Z][$\w]*)\s* + (\(\s*\)) + name + meta.function-call.method.without-arguments.js + + + captures + + 1 + + name + entity.name.function.js + + + match + (?x) + (?<=\.) + ([_$a-zA-Z][$\w]*)\s* + (?=\() + name + meta.function-call.method.with-arguments.js + + + + literal-module + + patterns + + + match + (?<!\.)\b(import|export|default|from|as)\b + name + keyword.operator.module.js + + + + literal-number + + patterns + + + match + (?i)(?:\B[-+]|\b)0x[0-9a-f]*\.(\B|\b[0-9]+) + name + invalid.illegal.numeric.hex.js + + + match + (?:\B[-+]|\b)0[0-9]+\.(\B|\b[0-9]+) + name + invalid.illegal.numeric.octal.js + + + match + (?xi) + (?:\B[-+])? + (?: + \b0b[0-1]*| # binary + \b0o[0-7]*| # octal + \b0x[0-9a-f]*| # hex + ( + \B\.[0-9]+| # e.g. .999 + \b[0-9]+(\.[0-9]*)? # e.g. 999.999, 999. or 999 + )(e[-+]?[0-9]+)? # e.g. e+123, E-123 + ) + name + constant.numeric.js + + + match + (?:\B[-+]|\b)(Infinity)\b + name + constant.language.infinity.js + + + + literal-operators + + patterns + + + match + (?<!\.)\b(delete|in|instanceof|new|of|typeof|void|with)\b + name + keyword.operator.js + + + match + (?x) + !(?!=)| # logical-not right-to-left right + && | # logical-and left-to-right both + \|\| | # logical-or left-to-right both + name + keyword.operator.logical.js + + + match + (?x) + =(?!=)| # assignment right-to-left both + name + keyword.operator.assignment.js + + + match + (?x) + %= | # assignment right-to-left both + &= | # assignment right-to-left both + \*= | # assignment right-to-left both + \+= | # assignment right-to-left both + -= | # assignment right-to-left both + /= | # assignment right-to-left both + \^= | # assignment right-to-left both + \|= | # assignment right-to-left both + <<= | # assignment right-to-left both + >>= | # assignment right-to-left both + >>>= | # assignment right-to-left both + name + keyword.operator.assignment.augmented.js + + + match + (?x) + ~ | # bitwise-not right-to-left right + << | # bitwise-shift left-to-right both + >>> | # bitwise-shift left-to-right both + >> | # bitwise-shift left-to-right both + & | # bitwise-and left-to-right both + \^ | # bitwise-xor left-to-right both + \| # bitwise-or left-to-right both + name + keyword.operator.bitwise.js + + + match + (?x) + <= | # relational left-to-right both + >= | # relational left-to-right both + < | # relational left-to-right both + > # relational left-to-right both + name + keyword.operator.relational.js + + + match + (?x) + === | # equality left-to-right both + !== | # equality left-to-right both + == | # equality left-to-right both + != # equality left-to-right both + name + keyword.operator.comparison.js + + + match + (?x) + -- | # decrement n/a right-or-left + \+\+ | # increment n/a right-or-left + / | # division left-to-right both + % | # modulus left-to-right both + \* | # multiplication left-to-right both + \+ | # addition left-to-right both + - # subtraction left-to-right both + name + keyword.operator.arithmetic.js + + + match + \?|: + name + keyword.operator.ternary.js + + + match + (?<!\.)\.\.\. + name + keyword.operator.spread.js + + + match + \. + name + keyword.operator.accessor.js + + + + literal-property-initializer + + patterns + + + captures + + 1 + + name + storage.type.js + + 2 + + name + variable.class.property.js + + + match + \b(?:(static)\s+)?([_$a-zA-Z][$\w]*)\s*= + name + meta.class.property.js + + + + literal-prototype + + patterns + + + captures + + 1 + + name + entity.name.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + variable.language.prototype.js + + + match + ([_$a-zA-Z][$\w]*)(\.)(prototype)\b + name + meta.prototype.access.js + + + captures + + 1 + + name + entity.name.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + variable.language.prototype.js + + + match + ([_$a-zA-Z][$\w]*)(\.)(prototype)\s*=\s* + name + meta.prototype.declaration.js + + + + literal-punctuation + + patterns + + + match + \; + name + punctuation.terminator.statement.js + + + match + , + name + meta.delimiter.comma.js + + + + literal-quasi + + patterns + + + begin + ([a-zA-Z$_][\w$_]*)?(`) + beginCaptures + + 1 + + name + entity.quasi.tag.name.js + + 2 + + name + punctuation.definition.quasi.begin.js + + + end + ` + endCaptures + + 0 + + name + punctuation.definition.quasi.end.js + + + name + string.quasi.js + patterns + + + include + #string-content + + + begin + \${ + beginCaptures + + 0 + + name + punctuation.quasi.element.begin.js + + + end + } + endCaptures + + 0 + + name + punctuation.quasi.element.end.js + + + name + entity.quasi.element.js + patterns + + + include + #expression + + + + + + + + literal-regexp + + patterns + + + begin + (?x) + (?<= + \.|\(|,|{|}|\[|;|,|<|>|<=|>=|==|!=|===|!==|\+|-|\*|%|\+\+|--|<<|>>|>>>|&|\||\^|!|~|&&|\|\||\?|:|=|\+=|-=|\*=|%=|<<=|>>=|>>>=|&=|\|=|\^=|/|/=| + \Wnew|\Wdelete|\Wvoid|\Wtypeof|\Winstanceof|\Win|\Wdo|\Wreturn|\Wcase|\Wthrow| + ^new|^delete|^void|^typeof|^instanceof|^in|^do|^return|^case|^throw|^ + )\s* + (/) + (?!/|\*|$) + beginCaptures + + 1 + + name + punctuation.definition.string.begin.js + + + end + (/)([gimy]*) + endCaptures + + 1 + + name + punctuation.definition.string.end.js + + 2 + + name + keyword.other.js + + + name + string.regexp.js + patterns + + + include + source.regexp.js + + + + + + literal-string + + patterns + + + begin + ' + beginCaptures + + 0 + + name + punctuation.definition.string.begin.js + + + end + (')|(\n) + endCaptures + + 1 + + name + punctuation.definition.string.end.js + + 2 + + name + invalid.illegal.newline.js + + + name + string.quoted.single.js + patterns + + + include + #string-content + + + + + begin + " + beginCaptures + + 0 + + name + punctuation.definition.string.begin.js + + + end + (")|(\n) + endCaptures + + 1 + + name + punctuation.definition.string.end.js + + 2 + + name + invalid.illegal.newline.js + + + name + string.quoted.double.js + patterns + + + include + #string-content + + + + + + literal-switch + + patterns + + + begin + (?<!\.)\b(switch)\b + beginCaptures + + 1 + + name + keyword.control.switch.js + + + end + \} + endCaptures + + 0 + + name + meta.brace.curly.js + + + name + meta.switch.js + patterns + + + include + #round-brackets + + + begin + \{ + beginCaptures + + 0 + + name + meta.brace.curly.js + + + end + (?=}) + patterns + + + begin + (?<!\.)\b(case|default)\b + beginCaptures + + 1 + + name + keyword.control.switch.js + + + end + (?=:) + patterns + + + include + #expression + + + + + include + $self + + + + + + + + literal-variable + + patterns + + + match + [A-Z][_$\dA-Z]*\b + name + variable.other.constant.js + + + captures + + 1 + + name + punctuation.dollar.js + + + match + (\$)[$\w]+ + name + variable.other.dollar.js + + + captures + + 1 + + name + variable.other.class.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + variable.other.property.static.js + + + match + (?x) + \b([A-Z][$\w]*)\s*(\.) + ([_$a-zA-Z][$\w]*) + name + meta.property.class.js + + + captures + + 1 + + name + variable.other.object.js + + + match + (?<!\.)[_$a-zA-Z][$\w]*\s*(?=[\[\.]) + name + variable.other.object.js + + + captures + + 2 + + name + variable.other.property.js + + + match + (?<=\.)\s*[_$a-zA-Z][$\w]* + name + meta.property.object.js + + + match + [_$a-zA-Z][$\w]* + name + variable.other.readwrite.js + + + + round-brackets + + patterns + + + begin + \( + beginCaptures + + 0 + + name + meta.brace.round.js + + + end + \) + endCaptures + + 0 + + name + meta.brace.round.js + + + name + meta.group.braces.round + patterns + + + include + #expression + + + + + + special-comments-conditional-compilation + + patterns + + + begin + /\*(?=@) + captures + + 0 + + name + punctuation.definition.comment.js + + + end + \*/ + endCaptures + + 1 + + name + keyword.control.conditional.js + + 2 + + name + punctuation.definition.keyword.js + + + name + comment.block.conditional.js + patterns + + + match + /\* + name + punctuation.definition.comment.js + + + include + $self + + + + + captures + + 1 + + name + punctuation.definition.keyword.js + + + match + (@)(if|elif|else|end|ifdef|endif|cc_on|set)\b + name + keyword.control.conditional.js + + + captures + + 1 + + name + punctuation.definition.variable.js + + + match + (@)(_win32|_win16|_mac|_alpha|_x86|_mc680x0|_PowerPC|_jscript|_jscript_build|_jscript_version|_debug|_fast|[a-zA-Z]\w+) + name + variable.other.conditional.js + + + + square-brackets + + patterns + + + begin + \[ + beginCaptures + + 0 + + name + meta.brace.square.js + + + end + \] + endCaptures + + 0 + + name + meta.brace.square.js + + + name + meta.group.braces.square + patterns + + + include + #expression + + + + + + string-content + + patterns + + + match + \\\s*\n + name + constant.character.escape.newline.js + + + match + \\(x[\da-fA-F]{2}|u[\da-fA-F]{4}|.) + name + constant.character.escape.js + + + + support + + patterns + + + match + \b(Array|Boolean|Date|Function|Map|Math|Number|Object|Promise|Proxy|RegExp|Set|String|WeakMap)\b + name + support.class.builtin.js + + + match + (?<!\.)\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval|isFinite|isNaN|parseFloat|parseInt|unescape)\b + name + support.function.js + + + match + \.(shift|sort|splice|unshift|pop|push|reverse)\b + name + support.function.mutator.js + + + match + (?<!\.)\b((Eval|Range|Reference|Syntax|Type|URI)?Error)\b + name + support.class.error.js + + + match + (?<!\.)\b(debugger)\b + name + keyword.other.js + + + match + (?<!\.)\b(document|window)\b + name + support.type.object.dom.js + + + match + (?x) + \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 + name + support.constant.dom.js + + + captures + + 1 + + name + support.type.object.console.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + support.function.console.js + + + match + (?<!\.)\b(console)(?:(\.)(warn|info|log|error|time|timeEnd|assert|count|dir|group|groupCollapsed|groupEnd|profile|profileEnd|table|trace))?\b + + + match + (?<!\.)\b(assert|buffer|child_process|cluster|constants|crypto|dgram|dns|domain|events|fs|http|https|net|os|path|punycode|querystring|readline|repl|stream|string_decoder|timers|tls|tty|url|util|vm|zlib)\b + name + support.module.node.js + + + captures + + 1 + + name + support.type.object.process.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + support.type.object.process.js + + + match + (?<!\.)\b(process)(?:(\.)(stdout|stderr|stdin|argv|execPath|execArgv|env|exitCode|version|versions|config|pid|title|arch|platform|mainModule))?\b + + + captures + + 1 + + name + support.type.object.process.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + support.function.process.js + + + match + (?<!\.)\b(process)(?:(\.)(abort|chdir|cwd|exit|getgid|setgid|getuid|setuid|setgroups|getgroups|initgroups|kill|memoryUsage|nextTick|umask|uptime|hrtime))?\b + + + captures + + 1 + + name + support.type.object.module.js + + 2 + + name + keyword.operator.accessor.js + + 3 + + name + support.type.object.module.js + + + match + (?<!\.)\b(exports|module(?:(\.)(exports|id|filename|loaded|parent|children)))?\b + + + match + (?<!\.)\b(global|GLOBAL|root|__dirname|__filename)\b + name + support.type.object.node.js + + + match + \b(Buffer|EventEmitter|Server|Pipe|Socket|REPLServer|ReadStream|WriteStream|Stream|Inflate|Deflate|InflateRaw|DeflateRaw|GZip|GUnzip|Unzip|Zip)\b + name + support.class.node.js + + + begin + {{ + end + }} + name + meta.tag.mustache.js + + + + + scopeName + source.js + uuid + 487CF323-A3F9-48FA-B140-DCE8C893E664 + diff --git a/JavaScriptNext.tmTheme b/JavaScriptNext.tmTheme deleted file mode 100644 index 2e05217..0000000 --- a/JavaScriptNext.tmTheme +++ /dev/null @@ -1,1899 +0,0 @@ - - - - - name - JavaScriptNext - settings - - - settings - - activeGuide - #3333FFFF - background - #000000 - bracketsBackground - #ff00aa66 - bracketsOptions - background - caret - #ff0099 - foreground - #e6e6e6 - guide - #33333388 - gutter - #6600ff33 - invisibles - #404040 - lineHighlight - #ff009933 - multiEditHighlight - #00ff0022 - searchHighlight - #FF00AA99 - selection - #00ffff44 - stackGuide - #333333CC - - - - name - bracket.curly - scope - bracket.curly - settings - - background - #FF44AA - foreground - #3399FF - - - - name - bracket.square - scope - bracket.square - settings - - background - #2266CC - foreground - #FF8800 - - - - name - bracket.round - scope - bracket.round - settings - - background - #9922FF - foreground - #00FF00 - - - - name - bracket.quote - scope - bracket.quote - settings - - background - #00FF00 - - - - name - comment - scope - comment - settings - - fontStyle - italic - foreground - #646464ff - - - - name - Invalid - scope - invalid - settings - - background - #ff000022 - - - - name - constant - scope - constant - settings - - foreground - #3387ccff - - - - name - Keyword - scope - keyword - settings - - foreground - #e28964 - - - - name - constant.numeric - scope - constant.numeric - settings - - foreground - #ffff66 - - - - name - Storage - scope - storage - settings - - foreground - #99cf50 - - - - name - storage.modifier - scope - storage.modifier - settings - - foreground - #cf5099 - - - - name - storage.self - scope - storage.self - settings - - fontStyle - bold - foreground - #cc0033 - - - - name - storage.type - scope - storage.type - settings - - foreground - #cf9950 - - - - name - Support - scope - support - settings - - foreground - #8a5c8dff - - - - name - entity.name.function - scope - entity.name.function - settings - - foreground - #bb00ff - - - - name - keyword control - scope - keyword.control - settings - - foreground - #ff00ff - - - - name - keyword.control.declaration - scope - keyword.control.declaration - settings - - foreground - #8888aa - - - - name - keyword.control.module - scope - keyword.control.module - settings - - foreground - #ffff33 - background - #ffff3333 - options - underline - - - - name - keyword.control.flow - scope - keyword.control.flow - settings - - fontStyle - bold - foreground - #ff6600 - background - #110300 - - - - - name - keyword.control.conditional - scope - keyword.control.conditional - settings - - foreground - #ff00ff - - - - name - keyword.control.trycatch - scope - keyword.control.trycatch - settings - - foreground - #ff0033 - - - - name - keyword.control.loop - scope - keyword.control.loop - settings - - foreground - #009999 - - - - name - keyword.control.switch - scope - keyword.control.switch - settings - - foreground - #999999 - - - - name - keyword operator - scope - keyword.operator - settings - - foreground - #ff0080 - - - - name - Function arg - scope - meta.function.argument, variable.parameter, meta.parens.c - settings - - foreground - #77ff11 - - - - name - - scope - punctuation.section.embedded - settings - - background - #0D0D0D37 - foreground - #00d3ffff - - - - name - keyword.other.unit - scope - keyword.other.unit, keyword.unit.css - settings - - foreground - #80ff00ff - - - - name - invalid.illegal - scope - invalid.illegal - settings - - background - #562d56bf - foreground - #fd5ff1ff - - - - name - string.quoted source - scope - string.quoted source - settings - - foreground - #daefa3 - - - - name - string constant - scope - string constant - settings - - foreground - #cfed81 - - - - name - string.regexp - scope - string.regexp - settings - - foreground - #6fff17 - - - - name - punctuation.definition.string - scope - punctuation.definition.string - settings - - background - #15151501 - foreground - #b4ff82 - - - - name - string.regexp.special - scope - - string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition - - settings - - foreground - #00d505 - - - - name - string.regexp punctuation keyword - scope - string.regexp punctuation keyword - settings - - foreground - #c559ff - - - - name - string variable - scope - string variable - settings - - foreground - #8a9a95 - - - - name - support.function - scope - support.function - settings - - foreground - #fcf352ff - - - - name - meta.tag - scope - meta.tag - settings - - foreground - #4f9effff - - - - name - meta.tag entity - scope - meta.tag entity - settings - - foreground - #157eff - - - - name - HTML/XML tag attribute value - scope - meta.tag string.quoted.double.html - settings - - foreground - #E07D2C - - - - name - html5 tag - scope - meta.tag.block.any.html.html5 - settings - - foreground - #e88bfcff - - - - name - html5 tag entity - scope - meta.tag.block.any.html.html5 entity - settings - - foreground - #d730faff - - - - name - meta.tag.inline - scope - - source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity - - settings - - foreground - #87a7e2ff - - - - name - html js tag - scope - source.js.embedded.html entity.name.tag.script.html - settings - - foreground - #FF3535 - - - - name - html js tag braces - scope - source.js.embedded.html punctuation.definition.tag.html - settings - - foreground - #FF1E1E - - - - name - html js tag url - scope - source.js.embedded.html string.quoted.double.html - settings - - foreground - #FF9D9D - - - - name - Attribute - scope - entity.other.attribute-name - settings - - foreground - #7349beff - - - - name - Meta Toc List - scope - meta.toc-list - settings - - background - #162c1aff - foreground - #BEFEC7FF - options - underline - - - - name - js variable readwrite - scope - meta.initialization, variable.other.readwrite.js - settings - - foreground - #ff9122 - - - - name - js object - scope - variable.other.object.js - settings - - foreground - #ffee00 - - - - name - js object with parent - scope - meta.property-name.js variable.other.object.js - settings - - foreground - #ffff88 - - - - name - support.variable.property.js - scope - support.variable.property.js - settings - - foreground - #3399ff - - - - name - variable.other.dot-access - scope - variable.other.dot-access - settings - - foreground - #66ffdd - - - - name - variable.other.property.js - scope - variable.other.property.js - settings - - foreground - #37C1BE - - - - name - punctuation.section.scope.square.js - scope - punctuation.section.scope.square.js - settings - - foreground - #ff2404 - - - - name - punctuation.section.scope.round.js, meta.brace.round - scope - punctuation.section.scope.round.js, meta.brace.round - settings - - foreground - #1c38ff - - - - name - punctuation.definition.arrow.js - scope - punctuation.definition.arrow.js - settings - - fontStyle - bold - foreground - #aa00ff - background - #001133 - - - - name - entity.arrow.function.js - scope - entity.arrow.function.js - settings - - fontStyle - bold - foreground - #aa00ff - background - #001133 - - - - name - variable.language - scope - variable.language - settings - - foreground - #aa0044 - - - - name - variable.language.prototype - scope - variable.language.prototype - settings - - foreground - #ff6600 - - - - name - support.class.error.js - scope - support.class.error.js - settings - - foreground - #ff5522 - - - - name - support.class.builtin.js - scope - support.class.builtin.js - settings - - fontStyle - italic - foreground - #ffee00 - - - - name - support.class.node.js - scope - support.class.node.js - settings - - foreground - #1224fe - - - - name - entity.name.function.node.js - scope - entity.name.function.node.js - settings - - foreground - #d84014 - - - - name - support.keyword.node.js - scope - support.keyword.node.js - settings - - fontStyle - bold - foreground - #99ef25 - - - - name - variable.import.destructuring.js - scope - variable.import.destructuring.js - settings - - foreground - #00bbff - - - - name - other.object.key.js - scope - other.object.key.js - settings - - foreground - #1C98C1 - - - - name - meta.accessor.js punctuation.definition.parameters - scope - meta.accessor.js punctuation.definition.parameters - settings - - foreground - #005588 - - - - name - storage.type.accessor.js - scope - storage.type.accessor.js - settings - - fontStyle - bold italic - foreground - #0066aa - background - #001122 - - - - name - entity.name.module.js, variable.import.parameter.js, variable.other.class.js - scope - entity.name.module.js, variable.import.parameter.js, variable.other.class.js - settings - - foreground - #ff0044 - background - #220011 - - - - name - storage.type.module.js, storage.type.export.js, storage.type.import.js, storage.type.from.js - scope - storage.type.module.js, storage.type.export.js, storage.type.import.js, storage.type.from.js - settings - - foreground - #cccc44 - background - #222211 - - - - name - storage.type.class.js, storage.type.extends.js - scope - storage.type.class.js, storage.type.extends.js - settings - - foreground - #0044aa - background - #001122 - - - - name - meta.function.call.class.static.js - scope - meta.function.call.class.static.js - settings - - foreground - #880011 - - - - name - variable.other.class.static.js - scope - variable.other.class.static.js - settings - - foreground - #aa0066 - - - - name - entity.name.accessor.js - scope - entity.name.accessor.js - settings - - fontStyle - bold italic - foreground - #00ffcc - background - #001122 - - - - name - entity.name.method.js - scope - entity.name.method.js - settings - - fontStyle - italic bold - foreground - #aa00ff - background - #110022 - - - - name - meta.method.js - scope - meta.method.js - settings - - fontStyle - bold - foreground - #660099 - - - - name - storage.type.function.js - scope - storage.type.function.js - settings - - fontStyle - bold - foreground - #99cc44 - - - - name - string.quoted.single - scope - string.quoted.single - settings - - foreground - #88FFAAAA - - - - name - variable.other.quasi.js - scope - variable.other.quasi.js - settings - - foreground - #ff0099 - - - - name - string.quasi.js - scope - string.quasi.js - settings - - foreground - #00FF00 - - - - name - punctuation.quasi.element - scope - punctuation.quasi.element - settings - - foreground - #008800 - - - - name - entity.quasi.tag.name.js - scope - entity.quasi.tag.name.js - settings - - foreground - #ffff00 - - - - name - meta.group.braces.square, punctuation.destructuring - scope - meta.group.braces.square string.quoted.single, punctuation.destructuring - settings - - foreground - #47E9AC - - - - name - string.quoted.double - scope - string.quoted.double - settings - - foreground - #11bb11 - - - - name - punctuation.section.scope.curly.js - scope - punctuation.section.scope.curly.js - settings - - foreground - #F9044E - - - - name - meta.delimiter.object.comma.js - scope - meta.delimiter.object.comma.js - settings - - foreground - #00ffff - - - - name - meta.group.braces.curly string.quoted.single - scope - meta.group.braces.curly string.quoted.single - settings - - foreground - #16B853 - - - - name - support.function - scope - support.function - settings - - foreground - #B532ff - - - - name - punctuation.definition.string.begin.js - scope - punctuation.definition.string.begin.js - settings - - foreground - #D2E20C - - - - name - punctuation.definition.string.end.js - scope - punctuation.definition.string.end.js - settings - - foreground - #CEA30D - - - - name - instance constructor - scope - meta.class.inheritance, meta.instance.constructor - settings - - fontStyle - italic underline - foreground - #e81e41 - - - - name - entity.name.class.js - scope - entity.name.class.js - settings - - fontStyle - italic - background - #00ffff33 - foreground - #00ffff - - - - name - entity.name.extends.js - scope - entity.name.extends.js - settings - - background - #00ff9933 - foreground - #00ff99 - fontStyle - italic - - - - name - function call - scope - meta.function-call entity.name.function - settings - - foreground - #5b24ff - - - - name - function call with args - scope - meta.function-call.function.with-arguments.js - settings - - foreground - #33ff00 - - - - name - js brace - scope - meta.brace.curly.js - settings - - foreground - #ff0099 - - - - name - js paren - scope - meta.brace.round.js - settings - - background - #000000ff - foreground - #d0c5feff - - - - name - js constant escape - scope - constant.character.escape - settings - - foreground - #10cf62ff - - - - name - pseudo-class - scope - - meta.selector.css entity.other.attribute-name.tag.pseudo-class - - settings - - foreground - #4fbc4b - - - - name - css selectors - scope - entity.namespace.unicode.css - settings - - foreground - #FF4F4F - - - - name - entity.other.attribute-name.id - scope - entity.other.attribute-name.id - settings - - background - #0b0028ff - foreground - #f20073ff - - - - name - class name - scope - meta.prototype support.class - settings - - foreground - #ff0099 - - - - name - support object - scope - support.object - settings - - fontStyle - bold - foreground - #ffee00 - - - - name - class name prototype - scope - meta.prototype support.constant - settings - - foreground - #ff6600 - - - - name - prototype declaration - scope - meta.prototype.declaration.js - settings - - fontStyle - bold - - - - name - js undefined - scope - constant.language.undefined.js - settings - - foreground - #555588 - - - - name - variable.other.constant.js - scope - variable.other.constant.js - settings - - foreground - #00ff33 - background - #003311 - - - - name - false - scope - constant.language.boolean.false - settings - - foreground - #aaaa55 - - - - name - true - scope - constant.language.boolean.true - settings - - foreground - #cc7744 - - - - name - js null - scope - constant.language.null.js - settings - - foreground - #558855 - - - - name - css#id punctuation - scope - punctuation.definition.entity.id.css - settings - - background - #0b0028 - foreground - #ff489f - - - - name - css.class - scope - - entity.other.attribute-name.class, source.css.less entity.other.attribute-name.class.css - - settings - - background - #0b0028 - foreground - #9529b8 - - - - name - css.class puntuation - scope - punctuation.definition.entity.class.css - settings - - background - #0b0028ff - foreground - #cd87e4ff - - - - name - css pseudo element - scope - entity.other.attribute-name.pseudo-element.css - settings - - background - #0b0028ff - foreground - #ff00ffff - - - - name - css property-name - scope - support.type.property-name.css - settings - - foreground - #b8efecff - - - - name - css @at-rule - scope - meta.preprocessor.at-rule keyword.control.at-rule - settings - - foreground - #d7c271ff - - - - name - css color - scope - - constant.other.color.rgb-value.css, support.constant.color.w3c-standard-color-name.css - - settings - - foreground - #fb7720ff - - - - name - css constants - scope - support.constant.property-value.css - settings - - foreground - #7ce85eff - - - - name - Puncation Termination - scope - punctuation.terminator, punctuation.separator - settings - - foreground - #4bfcf8ff - - - - name - css constructor.argument - scope - meta.constructor.argument.css - settings - - foreground - #8f9d6aff - - - - name - diff.header - scope - meta.diff, meta.diff.header, entity.name.namespace - settings - - background - #0e2231ff - foreground - #f8f8f8ff - - - - name - diff.deleted - scope - markup.deleted - settings - - background - #420e09ff - foreground - #f8f8f8ff - - - - name - diff.changed - scope - markup.changed - settings - - background - #4a410dff - foreground - #f8f8f8ff - - - - name - diff.inserted - scope - markup.inserted - settings - - background - #253b22ff - foreground - #f8f8f8ff - - - - name - Markup: Italic - scope - markup.italic - settings - - fontStyle - italic - foreground - #6ad500ff - - - - name - Markup: Underline - scope - markup.underline - settings - - foreground - #e18964ff - options - underline - - - - name - Markup: Quote - scope - markup.quote - settings - - background - #fee09c12 - fontStyle - italic - foreground - #e1d4b9ff - - - - name - Markup: Heading - scope - markup.heading, markup.heading entity - settings - - background - #de3280ff - foreground - #ffffffff - - - - name - Markup: List - scope - markup.list - settings - - foreground - #6657eaff - - - - name - Markup: Raw - scope - markup.raw - settings - - background - #b1b3ba08 - foreground - #578bb3ff - - - - name - Markup: Comment - scope - markup comment - settings - - foreground - #f67b37ff - - - - name - Markup: Separator - scope - meta.separator - settings - - background - #242424ff - foreground - #60a633ff - - - - name - Log Entry - scope - meta.line.entry.logfile, meta.line.exit.logfile - settings - - background - #eeeeee29 - foreground - #f8f8f8ff - - - - name - Log Entry Error - scope - meta.line.error.logfile - settings - - background - #751012 - foreground - #f8f8f8 - - - - name - JSON property top - scope - meta.structure.dictionary.json string.quoted.double - settings - - background - #111111 - foreground - #1144bb - - - - name - JSON property level 2 - scope - - meta.structure meta.structure.dictionary.json string.quoted.double - - settings - - foreground - #1122bb - - - - name - JSON property level 3 - scope - - meta.structure meta.structure meta.structure meta.structure.dictionary.json string.quoted.double - - settings - - foreground - #2938eb - - - - name - JSON property level 4 - scope - - meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.json string.quoted.double - - settings - - foreground - #6d7ef1 - - - - name - JSON property level 5 - scope - - meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.json string.quoted.double - - settings - - foreground - #b3bbf7 - - - - name - JSON value - scope - meta.structure.dictionary.value.json string.quoted.double - settings - - foreground - #aa00aa - - - - name - JSON value level 2 - scope - - meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double - - settings - - foreground - #bf00bf - - - - name - JSON value level 3 - scope - - meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double - - settings - - foreground - #ff00ff - - - - name - JSON value level 4 - scope - - meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double - - settings - - foreground - #ff40ff - - - - name - JSON value level 5 - scope - - meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double - - settings - - foreground - #ff80ff - - - - name - JSON value string punctuation - scope - - meta.structure.dictionary.value.json string punctuation.definition.string.double - - settings - - foreground - #8409ff - - - - name - JSON array value - scope - meta.structure.array.json string.quoted.double - settings - - foreground - #5522aa - - - - name - JSON array value level 1 - scope - - meta.structure meta.structure meta.structure.array.json string.quoted.double - - settings - - foreground - #7017c8ff - - - - name - JSON array value level 2 - scope - - meta.structure meta.structure meta.structure meta.structure meta.structure.array.json string.quoted.double - - settings - - foreground - #9541e9ff - - - - name - JSON array value level 3 - scope - - meta.structure meta.structure meta.structure meta.structure meta.structure.array.json string.quoted.double - - settings - - foreground - #ba83f1ff - - - - name - JSON array value level 4 - scope - - meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.array.json string.quoted.double - - settings - - foreground - #dfc6f9ff - - - - name - JSON prop string punctuation - scope - - meta.structure.dictionary.json string punctuation.definition.string - - settings - - foreground - #66bbddff - - - - name - JSON array string puntuation - scope - - meta.structure.array.json string punctuation.definition.string - - settings - - foreground - #416be9ff - - - - name - JSON array brackets - scope - meta.structure.array.json punctuation.definition.array - settings - - foreground - #fcc401ff - - - - name - JSON object braces - scope - - meta.structure.dictionary.json punctuation.definition.dictionary - - settings - - foreground - #fedf76ff - - - - uuid - b238c753-1549-3f12-a519-0faa5dcd4f65 - - diff --git a/Monokai Phoenix.YAML-tmTheme b/Monokai Phoenix.YAML-tmTheme new file mode 100644 index 0000000..2e61b23 --- /dev/null +++ b/Monokai Phoenix.YAML-tmTheme @@ -0,0 +1,253 @@ +# [PackageDev] target_format: plist, ext: tmTheme +name: Monokai Phoenix +uuid: 5815b34d-fb7d-4593-bf0c-4f41f8b1f0a9 + +settings: +- settings: + activeGuide: '#9D550FB0' + background: '#111111' + bracketContentsForeground: '#F8F8F2A5' + bracketContentsOptions: underline + bracketsForeground: '#F8F8F2A5' + bracketsOptions: underline + caret: '#F8F8F0' + findHighlight: '#FFE792' + findHighlightForeground: '#000000' + foreground: '#F8F8F2' + invisibles: '#3B3A32' + lineHighlight: '#3E3D32' + selection: '#49483E' + selectionBorder: '#222218' + tagsOptions: stippled_underline + +- name: comment + scope: comment + settings: + fontStyle: italic + foreground: '#75715E' + +- name: String + scope: string + settings: + foreground: '#E6DB74' + +- name: Built-in constant + scope: constant.language + settings: + foreground: '#AE81FF' + +- name: User-defined constant + scope: constant.character, constant.other + settings: + foreground: '#AE81FF' + +- name: Invalid + scope: invalid + settings: + background: '#F92672' + +- name: constant + scope: constant + settings: + foreground: '#AE81FFA0' + +- name: Keyword + scope: keyword + settings: + foreground: '#F92672' + +- name: constant.numeric + scope: constant.numeric + settings: + foreground: '#AE81FF' + +- name: Storage + scope: storage + settings: + foreground: '#F92672' + +- name: storage.type + scope: storage.type + settings: + foreground: '#66D9EF' + +- name: Support + scope: support + settings: + foreground: '#8A5C8DFF' + +- name: Function arg + scope: meta.function.argument, variable.parameter, meta.parens.c + settings: + foreground: '#FD971F' + +- name: invalid.illegal + scope: invalid.illegal + settings: + background: '#562D56BF' + foreground: '#FD5FF1FF' + +- name: support.function + scope: support.function + settings: + foreground: '#A6E22E' + +- name: meta.tag entity + scope: entity.name.tag + settings: + foreground: '#F92672' + +- name: Attribute + scope: entity.other.attribute-name + settings: + foreground: '#A6E22E' + +- name: entity.arrow.function.js + scope: entity.arrow.function.js + settings: + foreground: '#AA00FF' + +- name: support.class.error.js + scope: support.class.error.js + settings: + foreground: '#FF5522' + +- name: support.class.node.js + scope: support.class.node.js + settings: + foreground: '#1224FE' + +- name: support.keyword.node.js + scope: support.keyword.node.js + settings: + fontStyle: bold + foreground: '#F92672' + +- name: entity.name.module.js, variable.import.parameter.js, variable.other.class.js + scope: entity.name.module.js, variable.import.parameter.js, variable.other.class.js + settings: + foreground: '#A6E22E' + +- name: entity.name.accessor.js + scope: entity.name.accessor.js + settings: + foreground: '#A6E22E' + +- name: entity.name.method.js + scope: entity.name.method.js + settings: + foreground: '#A6E22E' + +- name: meta.method.js + scope: meta.method.js + settings: + foreground: '#FFF' + +- name: support.function + scope: support.function + settings: + foreground: '#66D9EF' + +- name: Function name + scope: entity.name.function + settings: + foreground: '#A6E22E' + +- name: entity.name.class.js + scope: entity.name.class.js + settings: + fontStyle: italic + foreground: '#A6E22E' + +- name: entity.name.extends.js + scope: entity.name.extends.js + settings: + fontStyle: italic + foreground: '#00FF99' + +- name: entity.other.attribute-name.id + scope: entity.other.attribute-name.id + settings: + foreground: '#A6E22E' + +- name: class name + scope: meta.prototype support.class + settings: + foreground: '#A6E22E' + +- name: Library constant + scope: support.constant + settings: + foreground: '#66D9EF' + +- name: Library class/type + scope: support.type, support.class, variable.language + settings: + fontStyle: italic + foreground: '#66D9EF' + +- name: js undefined + scope: constant.language.undefined.js + settings: + foreground: '#AE81FF' + +- name: 'false' + scope: constant.language.boolean.false + settings: + foreground: '#AE81FF' + +- name: 'true' + scope: constant.language.boolean.true + settings: + foreground: '#AE81FF' + +- name: js null + scope: constant.language.null.js + settings: + foreground: '#AE81FF' + +- name: Inherited class + scope: entity.other.inherited-class + settings: + fontStyle: italic underline + foreground: '#A6E22E' + +- name: diff.header + scope: meta.diff, meta.diff.header, entity.name.namespace + settings: + foreground: '#75715E' + +- name: diff.deleted + scope: markup.deleted + settings: + background: '#420E09FF' + foreground: '#F92672' + +- name: diff.changed + scope: markup.changed + settings: + background: '#4A410DFF' + foreground: '#E6DB74' + +- name: diff.inserted + scope: markup.inserted + settings: + background: '#253B22FF' + foreground: '#F8F8F8FF' + +- name: Log Entry + scope: meta.line.entry.logfile, meta.line.exit.logfile + settings: + background: '#EEEEEE29' + foreground: '#F8F8F8FF' + +- name: Log Entry Error + scope: meta.line.error.logfile + settings: + background: '#751012' + foreground: '#F8F8F8' + +- name: JSON String + scope: meta.structure.dictionary.json string.quoted.double + settings: + foreground: '#CFCFC2' diff --git a/Monokai Phoenix.tmTheme b/Monokai Phoenix.tmTheme new file mode 100644 index 0000000..041f03e --- /dev/null +++ b/Monokai Phoenix.tmTheme @@ -0,0 +1,556 @@ + + + + + name + Monokai Phoenix + settings + + + settings + + activeGuide + #9D550FB0 + background + #111111 + bracketContentsForeground + #F8F8F2A5 + bracketContentsOptions + underline + bracketsForeground + #F8F8F2A5 + bracketsOptions + underline + caret + #F8F8F0 + findHighlight + #FFE792 + findHighlightForeground + #000000 + foreground + #F8F8F2 + invisibles + #3B3A32 + lineHighlight + #3E3D32 + selection + #49483E + selectionBorder + #222218 + tagsOptions + stippled_underline + + + + name + comment + scope + comment + settings + + fontStyle + italic + foreground + #75715E + + + + name + String + scope + string + settings + + foreground + #E6DB74 + + + + name + Built-in constant + scope + constant.language + settings + + foreground + #AE81FF + + + + name + User-defined constant + scope + constant.character, constant.other + settings + + foreground + #AE81FF + + + + name + Invalid + scope + invalid + settings + + background + #F92672 + + + + name + constant + scope + constant + settings + + foreground + #AE81FFA0 + + + + name + Keyword + scope + keyword + settings + + foreground + #F92672 + + + + name + constant.numeric + scope + constant.numeric + settings + + foreground + #AE81FF + + + + name + Storage + scope + storage + settings + + foreground + #F92672 + + + + name + storage.type + scope + storage.type + settings + + foreground + #66D9EF + + + + name + Support + scope + support + settings + + foreground + #8A5C8DFF + + + + name + Function arg + scope + meta.function.argument, variable.parameter, meta.parens.c + settings + + foreground + #FD971F + + + + name + invalid.illegal + scope + invalid.illegal + settings + + background + #562D56BF + foreground + #FD5FF1FF + + + + name + support.function + scope + support.function + settings + + foreground + #A6E22E + + + + name + meta.tag entity + scope + entity.name.tag + settings + + foreground + #F92672 + + + + name + Attribute + scope + entity.other.attribute-name + settings + + foreground + #A6E22E + + + + name + entity.arrow.function.js + scope + entity.arrow.function.js + settings + + foreground + #AA00FF + + + + name + support.class.error.js + scope + support.class.error.js + settings + + foreground + #FF5522 + + + + name + support.class.node.js + scope + support.class.node.js + settings + + foreground + #1224FE + + + + name + support.keyword.node.js + scope + support.keyword.node.js + settings + + fontStyle + bold + foreground + #F92672 + + + + name + entity.name.module.js, variable.import.parameter.js, variable.other.class.js + scope + entity.name.module.js, variable.import.parameter.js, variable.other.class.js + settings + + foreground + #A6E22E + + + + name + entity.name.accessor.js + scope + entity.name.accessor.js + settings + + foreground + #A6E22E + + + + name + entity.name.method.js + scope + entity.name.method.js + settings + + foreground + #A6E22E + + + + name + meta.method.js + scope + meta.method.js + settings + + foreground + #FFF + + + + name + support.function + scope + support.function + settings + + foreground + #66D9EF + + + + name + Function name + scope + entity.name.function + settings + + foreground + #A6E22E + + + + name + entity.name.class.js + scope + entity.name.class.js + settings + + fontStyle + italic + foreground + #A6E22E + + + + name + entity.name.extends.js + scope + entity.name.extends.js + settings + + fontStyle + italic + foreground + #00FF99 + + + + name + entity.other.attribute-name.id + scope + entity.other.attribute-name.id + settings + + foreground + #A6E22E + + + + name + class name + scope + meta.prototype support.class + settings + + foreground + #A6E22E + + + + name + Library constant + scope + support.constant + settings + + foreground + #66D9EF + + + + name + Library class/type + scope + support.type, support.class, variable.language + settings + + fontStyle + italic + foreground + #66D9EF + + + + name + js undefined + scope + constant.language.undefined.js + settings + + foreground + #AE81FF + + + + name + false + scope + constant.language.boolean.false + settings + + foreground + #AE81FF + + + + name + true + scope + constant.language.boolean.true + settings + + foreground + #AE81FF + + + + name + js null + scope + constant.language.null.js + settings + + foreground + #AE81FF + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + fontStyle + italic underline + foreground + #A6E22E + + + + name + diff.header + scope + meta.diff, meta.diff.header, entity.name.namespace + settings + + foreground + #75715E + + + + name + diff.deleted + scope + markup.deleted + settings + + background + #420E09FF + foreground + #F92672 + + + + name + diff.changed + scope + markup.changed + settings + + background + #4A410DFF + foreground + #E6DB74 + + + + name + diff.inserted + scope + markup.inserted + settings + + background + #253B22FF + foreground + #F8F8F8FF + + + + name + Log Entry + scope + meta.line.entry.logfile, meta.line.exit.logfile + settings + + background + #EEEEEE29 + foreground + #F8F8F8FF + + + + name + Log Entry Error + scope + meta.line.error.logfile + settings + + background + #751012 + foreground + #F8F8F8 + + + + name + JSON String + scope + meta.structure.dictionary.json string.quoted.double + settings + + foreground + #CFCFC2 + + + + uuid + 5815b34d-fb7d-4593-bf0c-4f41f8b1f0a9 + + diff --git a/Next.YAML-tmTheme b/Next.YAML-tmTheme new file mode 100644 index 0000000..0ba385f --- /dev/null +++ b/Next.YAML-tmTheme @@ -0,0 +1,854 @@ +# [PackageDev] target_format: plist, ext: tmTheme +name: Next +uuid: b238c753-1549-3f12-a519-0faa5dcd4f65 + +settings: +- settings: + activeGuide: '#3333FFFF' + background: '#000000' + bracketsBackground: '#FF00AA66' + bracketsOptions: background + caret: '#FF0099' + foreground: '#E6E6E6' + guide: '#33333388' + gutter: '#6600FF33' + invisibles: '#404040' + lineHighlight: '#FF009933' + multiEditHighlight: '#00FF0022' + searchHighlight: '#FF00AA99' + selection: '#00FFFF44' + stackGuide: '#333333CC' + +- name: bracket.curly + scope: bracket.curly + settings: + background: '#FF44AA' + foreground: '#3399FF' + +- name: bracket.square + scope: bracket.square + settings: + background: '#2266CC' + foreground: '#FF8800' + +- name: bracket.round + scope: bracket.round + settings: + background: '#9922FF' + foreground: '#00FF00' + +- name: bracket.quote + scope: bracket.quote + settings: + background: '#00FF00' + +- name: comment + scope: comment + settings: + fontStyle: italic + foreground: '#646464FF' + +- name: Invalid + scope: invalid + settings: + background: '#FF000022' + +- name: constant + scope: constant + settings: + foreground: '#3387CCFF' + +- name: Keyword + scope: keyword + settings: + foreground: '#E28964' + +- name: constant.numeric + scope: constant.numeric + settings: + foreground: '#FFFF66' + +- name: Storage + scope: storage + settings: + foreground: '#99CF50' + +- name: storage.modifier + scope: storage.modifier + settings: + foreground: '#CF5099' + +- name: storage.self + scope: storage.self + settings: + fontStyle: bold + foreground: '#CC0033' + +- name: storage.type + scope: storage.type + settings: + foreground: '#CF9950' + +- name: Support + scope: support + settings: + foreground: '#8A5C8DFF' + +- name: entity.name.function + scope: entity.name.function + settings: + foreground: '#BB00FF' + +- name: keyword control + scope: keyword.control + settings: + foreground: '#FF00FF' + +- name: keyword.control.declaration + scope: keyword.control.declaration + settings: + foreground: '#8888AA' + +- name: keyword.control.module + scope: keyword.control.module + settings: + background: '#FFFF3333' + foreground: '#FFFF33' + options: underline + +- name: keyword.control.flow + scope: keyword.control.flow + settings: + background: '#110300' + fontStyle: bold + foreground: '#FF6600' + +- name: keyword.control.conditional + scope: keyword.control.conditional + settings: + foreground: '#FF00FF' + +- name: keyword.control.trycatch + scope: keyword.control.trycatch + settings: + foreground: '#FF0033' + +- name: keyword.control.loop + scope: keyword.control.loop + settings: + foreground: '#009999' + +- name: keyword.control.switch + scope: keyword.control.switch + settings: + foreground: '#999999' + +- name: keyword operator + scope: keyword.operator + settings: + foreground: '#FF0080' + +- name: Function arg + scope: meta.function.argument, variable.parameter, meta.parens.c + settings: + foreground: '#77FF11' + +- name: '' + scope: punctuation.section.embedded + settings: + background: '#0D0D0D37' + foreground: '#00D3FFFF' + +- name: keyword.other.unit + scope: keyword.other.unit, keyword.unit.css + settings: + foreground: '#80FF00FF' + +- name: invalid.illegal + scope: invalid.illegal + settings: + background: '#562D56BF' + foreground: '#FD5FF1FF' + +- name: string.quoted source + scope: string.quoted source + settings: + foreground: '#DAEFA3' + +- name: string constant + scope: string constant + settings: + foreground: '#CFED81' + +- name: string.regexp + scope: string.regexp + settings: + foreground: '#6FFF17' + +- name: punctuation.definition.string + scope: punctuation.definition.string + settings: + background: '#15151501' + foreground: '#B4FF82' + +- name: string.regexp.special + scope: "string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition" + settings: + foreground: '#00D505' + +- name: string.regexp punctuation keyword + scope: string.regexp punctuation keyword + settings: + foreground: '#C559FF' + +- name: string variable + scope: string variable + settings: + foreground: '#8A9A95' + +- name: support.function + scope: support.function + settings: + foreground: '#FCF352FF' + +- name: meta.tag + scope: meta.tag + settings: + foreground: '#4F9EFFFF' + +- name: meta.tag entity + scope: meta.tag entity + settings: + foreground: '#157EFF' + +- name: HTML/XML tag attribute value + scope: meta.tag string.quoted.double.html + settings: + foreground: '#E07D2C' + +- name: html5 tag + scope: meta.tag.block.any.html.html5 + settings: + foreground: '#E88BFCFF' + +- name: html5 tag entity + scope: meta.tag.block.any.html.html5 entity + settings: + foreground: '#D730FAFF' + +- name: meta.tag.inline + scope: "source entity.name.tag, source entity.other.attribute-name,meta.tag.inline, meta.tag.inline entity" + settings: + foreground: '#87A7E2FF' + +- name: html js tag + scope: source.js.embedded.html entity.name.tag.script.html + settings: + foreground: '#FF3535' + +- name: html js tag braces + scope: source.js.embedded.html punctuation.definition.tag.html + settings: + foreground: '#FF1E1E' + +- name: html js tag url + scope: source.js.embedded.html string.quoted.double.html + settings: + foreground: '#FF9D9D' + +- name: Attribute + scope: entity.other.attribute-name + settings: + foreground: '#7349BEFF' + +- name: Meta Toc List + scope: meta.toc-list + settings: + background: '#162C1AFF' + foreground: '#BEFEC7FF' + options: underline + +- name: js variable readwrite + scope: meta.initialization, variable.other.readwrite.js + settings: + foreground: '#FF9122' + +- name: js variable dollar + scope: meta.initialization, variable.other.dollar.js + settings: + fontStyle: italic + foreground: '#FF9122' + +- name: js object + scope: variable.other.object.js + settings: + foreground: '#FFEE00' + +- name: js object with parent + scope: meta.property-name.js variable.other.object.js + settings: + foreground: '#FFFF88' + +- name: support.variable.property.js + scope: support.variable.property.js + settings: + foreground: '#3399FF' + +- name: variable.other.dot-access + scope: variable.other.dot-access + settings: + foreground: '#66FFDD' + +- name: variable.other.property.js + scope: variable.other.property.js + settings: + foreground: '#37C1BE' + +- name: punctuation.section.scope.square.js + scope: punctuation.section.scope.square.js + settings: + foreground: '#FF2404' + +- name: punctuation.section.scope.round.js, meta.brace.round + scope: punctuation.section.scope.round.js, meta.brace.round + settings: + foreground: '#1C38FF' + +- name: punctuation.definition.arrow.js + scope: punctuation.definition.arrow.js + settings: + background: '#001133' + fontStyle: bold + foreground: '#AA00FF' + +- name: entity.arrow.function.js + scope: entity.arrow.function.js + settings: + background: '#001133' + fontStyle: bold + foreground: '#AA00FF' + +- name: variable.language + scope: variable.language + settings: + foreground: '#AA0044' + +- name: variable.language.prototype + scope: variable.language.prototype + settings: + foreground: '#FF6600' + +- name: support.class.error.js + scope: support.class.error.js + settings: + foreground: '#FF5522' + +- name: support.class.builtin.js + scope: support.class.builtin.js + settings: + fontStyle: italic + foreground: '#FFEE00' + +- name: support.class.node.js + scope: support.class.node.js + settings: + foreground: '#1224FE' + +- name: entity.name.function.node.js + scope: entity.name.function.node.js + settings: + foreground: '#D84014' + +- name: support.keyword.node.js + scope: support.keyword.node.js + settings: + fontStyle: bold + foreground: '#99EF25' + +- name: variable.import.destructuring.js + scope: variable.import.destructuring.js + settings: + foreground: '#00BBFF' + +- name: other.object.key.js + scope: other.object.key.js + settings: + foreground: '#1C98C1' + +- name: meta.accessor.js punctuation.definition.parameters + scope: meta.accessor.js punctuation.definition.parameters + settings: + foreground: '#005588' + +- name: storage.type.accessor.js + scope: storage.type.accessor.js + settings: + background: '#001122' + fontStyle: bold italic + foreground: '#0066AA' + +- name: entity.name.module.js, variable.import.parameter.js, variable.other.class.js + scope: entity.name.module.js, variable.import.parameter.js, variable.other.class.js + settings: + background: '#220011' + foreground: '#FF0044' + +- name: storage.type.module.js, storage.type.export.js, storage.type.import.js, storage.type.from.js + scope: storage.type.module.js, storage.type.export.js, storage.type.import.js, storage.type.from.js + settings: + background: '#222211' + foreground: '#CCCC44' + +- name: storage.type.class.js, storage.type.extends.js + scope: storage.type.class.js, storage.type.extends.js + settings: + background: '#001122' + foreground: '#0044AA' + +- name: 'meta.function.call.class.static.js ' + scope: 'meta.function.call.class.static.js ' + settings: + foreground: '#880011' + +- name: variable.other.class.static.js + scope: variable.other.class.static.js + settings: + foreground: '#AA0066' + +- name: entity.name.accessor.js + scope: entity.name.accessor.js + settings: + background: '#001122' + fontStyle: bold italic + foreground: '#00FFCC' + +- name: entity.name.method.js + scope: entity.name.method.js + settings: + background: '#110022' + fontStyle: italic bold + foreground: '#AA00FF' + +- name: meta.method.js + scope: meta.method.js + settings: + fontStyle: bold + foreground: '#660099' + +- name: storage.type.function.js + scope: storage.type.function.js + settings: + fontStyle: bold + foreground: '#99CC44' + +- name: string.quoted.single + scope: string.quoted.single + settings: + foreground: '#88FFAAAA' + +- name: variable.other.quasi.js + scope: variable.other.quasi.js + settings: + foreground: '#FF0099' + +- name: string.quasi.js + scope: string.quasi.js + settings: + foreground: '#00FF00' + +- name: punctuation.quasi.element + scope: punctuation.quasi.element + settings: + foreground: '#008800' + +- name: entity.quasi.tag.name.js + scope: entity.quasi.tag.name.js + settings: + foreground: '#FFFF00' + +- name: meta.group.braces.square, punctuation.destructuring + scope: meta.group.braces.square string.quoted.single, punctuation.destructuring + settings: + foreground: '#47E9AC' + +- name: string.quoted.double + scope: string.quoted.double + settings: + foreground: '#11BB11' + +- name: punctuation.section.scope.curly.js + scope: punctuation.section.scope.curly.js + settings: + foreground: '#F9044E' + +- name: meta.delimiter.comma.js + scope: meta.delimiter.comma.js + settings: + foreground: '#00FFFF' + +- name: meta.group.braces.curly string.quoted.single + scope: meta.group.braces.curly string.quoted.single + settings: + foreground: '#16B853' + +- name: support.function + scope: support.function + settings: + foreground: '#B532FF' + +- name: punctuation.definition.string.begin.js + scope: punctuation.definition.string.begin.js + settings: + foreground: '#D2E20C' + +- name: punctuation.definition.string.end.js + scope: punctuation.definition.string.end.js + settings: + foreground: '#CEA30D' + +- name: instance constructor + scope: meta.class.inheritance, meta.instance.constructor + settings: + fontStyle: italic underline + foreground: '#E81E41' + +- name: entity.name.class.js + scope: entity.name.class.js + settings: + background: '#00FFFF33' + fontStyle: italic + foreground: '#00FFFF' + +- name: entity.name.extends.js + scope: entity.name.extends.js + settings: + background: '#00FF9933' + fontStyle: italic + foreground: '#00FF99' + +- name: function call + scope: meta.function-call entity.name.function + settings: + foreground: '#5B24FF' + +- name: function call with args + scope: meta.function-call.function.with-arguments.js + settings: + foreground: '#33FF00' + +- name: js brace + scope: meta.brace.curly.js + settings: + foreground: '#FF0099' + +- name: js paren + scope: meta.brace.round.js + settings: + background: '#000000FF' + foreground: '#D0C5FEFF' + +- name: js constant escape + scope: constant.character.escape + settings: + foreground: '#10CF62FF' + +- name: pseudo-class + scope: "meta.selector.css entity.other.attribute-name.tag.pseudo-class" + settings: + foreground: '#4FBC4B' + +- name: css selectors + scope: entity.namespace.unicode.css + settings: + foreground: '#FF4F4F' + +- name: entity.other.attribute-name.id + scope: entity.other.attribute-name.id + settings: + background: '#0B0028FF' + foreground: '#F20073FF' + +- name: class name + scope: meta.prototype support.class + settings: + foreground: '#FF0099' + +- name: support object + scope: support.object + settings: + fontStyle: bold + foreground: '#FFEE00' + +- name: class name prototype + scope: meta.prototype support.constant + settings: + foreground: '#FF6600' + +- name: prototype declaration + scope: meta.prototype.declaration.js + settings: + fontStyle: bold + +- name: js undefined + scope: constant.language.undefined.js + settings: + foreground: '#555588' + +- name: variable.other.constant.js + scope: variable.other.constant.js + settings: + background: '#003311' + foreground: '#00FF33' + +- name: 'false' + scope: constant.language.boolean.false + settings: + foreground: '#AAAA55' + +- name: 'true' + scope: constant.language.boolean.true + settings: + foreground: '#CC7744' + +- name: js null + scope: constant.language.null.js + settings: + foreground: '#558855' + +- name: css#id punctuation + scope: punctuation.definition.entity.id.css + settings: + background: '#0B0028' + foreground: '#FF489F' + +- name: css.class + scope: "entity.other.attribute-name.class, source.css.less entity.other.attribute-name.class.css" + settings: + background: '#0B0028' + foreground: '#9529B8' + +- name: css.class puntuation + scope: punctuation.definition.entity.class.css + settings: + background: '#0B0028FF' + foreground: '#CD87E4FF' + +- name: css pseudo element + scope: entity.other.attribute-name.pseudo-element.css + settings: + background: '#0B0028FF' + foreground: '#FF00FFFF' + +- name: css property-name + scope: support.type.property-name.css + settings: + foreground: '#B8EFECFF' + +- name: css @at-rule + scope: meta.preprocessor.at-rule keyword.control.at-rule + settings: + foreground: '#D7C271FF' + +- name: css color + scope: "constant.other.color.rgb-value.css, support.constant.color.w3c-standard-color-name.css" + settings: + foreground: '#FB7720FF' + +- name: css constants + scope: support.constant.property-value.css + settings: + foreground: '#7CE85EFF' + +- name: Puncation Termination + scope: punctuation.terminator, punctuation.separator + settings: + foreground: '#4BFCF8FF' + +- name: css constructor.argument + scope: meta.constructor.argument.css + settings: + foreground: '#8F9D6AFF' + +- name: diff.header + scope: meta.diff, meta.diff.header, entity.name.namespace + settings: + background: '#0E2231FF' + foreground: '#F8F8F8FF' + +- name: diff.deleted + scope: markup.deleted + settings: + background: '#420E09FF' + foreground: '#F8F8F8FF' + +- name: diff.changed + scope: markup.changed + settings: + background: '#4A410DFF' + foreground: '#F8F8F8FF' + +- name: diff.inserted + scope: markup.inserted + settings: + background: '#253B22FF' + foreground: '#F8F8F8FF' + +- name: 'Markup: Italic' + scope: markup.italic + settings: + fontStyle: italic + foreground: '#6AD500FF' + +- name: 'Markup: Underline' + scope: markup.underline + settings: + foreground: '#E18964FF' + options: underline + +- name: 'Markup: Quote' + scope: markup.quote + settings: + background: '#FEE09C12' + fontStyle: italic + foreground: '#E1D4B9FF' + +- name: 'Markup: Heading' + scope: markup.heading, markup.heading entity + settings: + background: '#DE3280FF' + foreground: '#FFFFFFFF' + +- name: 'Markup: List' + scope: markup.list + settings: + foreground: '#6657EAFF' + +- name: 'Markup: Raw' + scope: markup.raw + settings: + background: '#B1B3BA08' + foreground: '#578BB3FF' + +- name: 'Markup: Comment' + scope: markup comment + settings: + foreground: '#F67B37FF' + +- name: 'Markup: Separator' + scope: meta.separator + settings: + background: '#242424FF' + foreground: '#60A633FF' + +- name: Log Entry + scope: meta.line.entry.logfile, meta.line.exit.logfile + settings: + background: '#EEEEEE29' + foreground: '#F8F8F8FF' + +- name: Log Entry Error + scope: meta.line.error.logfile + settings: + background: '#751012' + foreground: '#F8F8F8' + +- name: JSON property top + scope: meta.structure.dictionary.json string.quoted.double + settings: + background: '#111111' + foreground: '#1144BB' + +- name: JSON property level 2 + scope: "meta.structure meta.structure.dictionary.json string.quoted.double" + settings: + foreground: '#1122BB' + +- name: JSON property level 3 + scope: "meta.structure meta.structure meta.structure meta.structure.dictionary.json string.quoted.double" + settings: + foreground: '#2938EB' + +- name: JSON property level 4 + scope: "meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.json string.quoted.double" + settings: + foreground: '#6D7EF1' + +- name: JSON property level 5 + scope: "meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.json string.quoted.double" + settings: + foreground: '#B3BBF7' + +- name: JSON value + scope: meta.structure.dictionary.value.json string.quoted.double + settings: + foreground: '#AA00AA' + +- name: JSON value level 2 + scope: "meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double" + settings: + foreground: '#BF00BF' + +- name: JSON value level 3 + scope: "meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double" + settings: + foreground: '#FF00FF' + +- name: JSON value level 4 + scope: "meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double" + settings: + foreground: '#FF40FF' + +- name: JSON value level 5 + scope: "meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double" + settings: + foreground: '#FF80FF' + +- name: JSON value string punctuation + scope: "meta.structure.dictionary.value.json string punctuation.definition.string.double" + settings: + foreground: '#8409FF' + +- name: JSON array value + scope: meta.structure.array.json string.quoted.double + settings: + foreground: '#5522AA' + +- name: JSON array value level 1 + scope: "meta.structure meta.structure meta.structure.array.json string.quoted.double" + settings: + foreground: '#7017C8FF' + +- name: JSON array value level 2 + scope: "meta.structure meta.structure meta.structure meta.structure meta.structure.array.json string.quoted.double" + settings: + foreground: '#9541E9FF' + +- name: JSON array value level 3 + scope: "meta.structure meta.structure meta.structure meta.structure meta.structure.array.json string.quoted.double" + settings: + foreground: '#BA83F1FF' + +- name: JSON array value level 4 + scope: "meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.array.json string.quoted.double" + settings: + foreground: '#DFC6F9FF' + +- name: JSON prop string punctuation + scope: "meta.structure.dictionary.json string punctuation.definition.string" + settings: + foreground: '#66BBDDFF' + +- name: JSON array string puntuation + scope: "meta.structure.array.json string punctuation.definition.string" + settings: + foreground: '#416BE9FF' + +- name: JSON array brackets + scope: meta.structure.array.json punctuation.definition.array + settings: + foreground: '#FCC401FF' + +- name: JSON object braces + scope: "meta.structure.dictionary.json punctuation.definition.dictionary" + settings: + foreground: '#FEDF76FF' diff --git a/Next.tmTheme b/Next.tmTheme new file mode 100644 index 0000000..4f40ce9 --- /dev/null +++ b/Next.tmTheme @@ -0,0 +1,1869 @@ + + + + + name + Next + settings + + + settings + + activeGuide + #3333FFFF + background + #000000 + bracketsBackground + #FF00AA66 + bracketsOptions + background + caret + #FF0099 + foreground + #E6E6E6 + guide + #33333388 + gutter + #6600FF33 + invisibles + #404040 + lineHighlight + #FF009933 + multiEditHighlight + #00FF0022 + searchHighlight + #FF00AA99 + selection + #00FFFF44 + stackGuide + #333333CC + + + + name + bracket.curly + scope + bracket.curly + settings + + background + #FF44AA + foreground + #3399FF + + + + name + bracket.square + scope + bracket.square + settings + + background + #2266CC + foreground + #FF8800 + + + + name + bracket.round + scope + bracket.round + settings + + background + #9922FF + foreground + #00FF00 + + + + name + bracket.quote + scope + bracket.quote + settings + + background + #00FF00 + + + + name + comment + scope + comment + settings + + fontStyle + italic + foreground + #646464FF + + + + name + Invalid + scope + invalid + settings + + background + #FF000022 + + + + name + constant + scope + constant + settings + + foreground + #3387CCFF + + + + name + Keyword + scope + keyword + settings + + foreground + #E28964 + + + + name + constant.numeric + scope + constant.numeric + settings + + foreground + #FFFF66 + + + + name + Storage + scope + storage + settings + + foreground + #99CF50 + + + + name + storage.modifier + scope + storage.modifier + settings + + foreground + #CF5099 + + + + name + storage.self + scope + storage.self + settings + + fontStyle + bold + foreground + #CC0033 + + + + name + storage.type + scope + storage.type + settings + + foreground + #CF9950 + + + + name + Support + scope + support + settings + + foreground + #8A5C8DFF + + + + name + entity.name.function + scope + entity.name.function + settings + + foreground + #BB00FF + + + + name + keyword control + scope + keyword.control + settings + + foreground + #FF00FF + + + + name + keyword.control.declaration + scope + keyword.control.declaration + settings + + foreground + #8888AA + + + + name + keyword.control.module + scope + keyword.control.module + settings + + background + #FFFF3333 + foreground + #FFFF33 + options + underline + + + + name + keyword.control.flow + scope + keyword.control.flow + settings + + background + #110300 + fontStyle + bold + foreground + #FF6600 + + + + name + keyword.control.conditional + scope + keyword.control.conditional + settings + + foreground + #FF00FF + + + + name + keyword.control.trycatch + scope + keyword.control.trycatch + settings + + foreground + #FF0033 + + + + name + keyword.control.loop + scope + keyword.control.loop + settings + + foreground + #009999 + + + + name + keyword.control.switch + scope + keyword.control.switch + settings + + foreground + #999999 + + + + name + keyword operator + scope + keyword.operator + settings + + foreground + #FF0080 + + + + name + Function arg + scope + meta.function.argument, variable.parameter, meta.parens.c + settings + + foreground + #77FF11 + + + + name + + scope + punctuation.section.embedded + settings + + background + #0D0D0D37 + foreground + #00D3FFFF + + + + name + keyword.other.unit + scope + keyword.other.unit, keyword.unit.css + settings + + foreground + #80FF00FF + + + + name + invalid.illegal + scope + invalid.illegal + settings + + background + #562D56BF + foreground + #FD5FF1FF + + + + name + string.quoted source + scope + string.quoted source + settings + + foreground + #DAEFA3 + + + + name + string constant + scope + string constant + settings + + foreground + #CFED81 + + + + name + string.regexp + scope + string.regexp + settings + + foreground + #6FFF17 + + + + name + punctuation.definition.string + scope + punctuation.definition.string + settings + + background + #15151501 + foreground + #B4FF82 + + + + name + string.regexp.special + scope + string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition + settings + + foreground + #00D505 + + + + name + string.regexp punctuation keyword + scope + string.regexp punctuation keyword + settings + + foreground + #C559FF + + + + name + string variable + scope + string variable + settings + + foreground + #8A9A95 + + + + name + support.function + scope + support.function + settings + + foreground + #FCF352FF + + + + name + meta.tag + scope + meta.tag + settings + + foreground + #4F9EFFFF + + + + name + meta.tag entity + scope + meta.tag entity + settings + + foreground + #157EFF + + + + name + HTML/XML tag attribute value + scope + meta.tag string.quoted.double.html + settings + + foreground + #E07D2C + + + + name + html5 tag + scope + meta.tag.block.any.html.html5 + settings + + foreground + #E88BFCFF + + + + name + html5 tag entity + scope + meta.tag.block.any.html.html5 entity + settings + + foreground + #D730FAFF + + + + name + meta.tag.inline + scope + source entity.name.tag, source entity.other.attribute-name,meta.tag.inline, meta.tag.inline entity + settings + + foreground + #87A7E2FF + + + + name + html js tag + scope + source.js.embedded.html entity.name.tag.script.html + settings + + foreground + #FF3535 + + + + name + html js tag braces + scope + source.js.embedded.html punctuation.definition.tag.html + settings + + foreground + #FF1E1E + + + + name + html js tag url + scope + source.js.embedded.html string.quoted.double.html + settings + + foreground + #FF9D9D + + + + name + Attribute + scope + entity.other.attribute-name + settings + + foreground + #7349BEFF + + + + name + Meta Toc List + scope + meta.toc-list + settings + + background + #162C1AFF + foreground + #BEFEC7FF + options + underline + + + + name + js variable readwrite + scope + meta.initialization, variable.other.readwrite.js + settings + + foreground + #FF9122 + + + + name + js variable dollar + scope + meta.initialization, variable.other.dollar.js + settings + + fontStyle + italic + foreground + #FF9122 + + + + name + js object + scope + variable.other.object.js + settings + + foreground + #FFEE00 + + + + name + js object with parent + scope + meta.property-name.js variable.other.object.js + settings + + foreground + #FFFF88 + + + + name + support.variable.property.js + scope + support.variable.property.js + settings + + foreground + #3399FF + + + + name + variable.other.dot-access + scope + variable.other.dot-access + settings + + foreground + #66FFDD + + + + name + variable.other.property.js + scope + variable.other.property.js + settings + + foreground + #37C1BE + + + + name + punctuation.section.scope.square.js + scope + punctuation.section.scope.square.js + settings + + foreground + #FF2404 + + + + name + punctuation.section.scope.round.js, meta.brace.round + scope + punctuation.section.scope.round.js, meta.brace.round + settings + + foreground + #1C38FF + + + + name + punctuation.definition.arrow.js + scope + punctuation.definition.arrow.js + settings + + background + #001133 + fontStyle + bold + foreground + #AA00FF + + + + name + entity.arrow.function.js + scope + entity.arrow.function.js + settings + + background + #001133 + fontStyle + bold + foreground + #AA00FF + + + + name + variable.language + scope + variable.language + settings + + foreground + #AA0044 + + + + name + variable.language.prototype + scope + variable.language.prototype + settings + + foreground + #FF6600 + + + + name + support.class.error.js + scope + support.class.error.js + settings + + foreground + #FF5522 + + + + name + support.class.builtin.js + scope + support.class.builtin.js + settings + + fontStyle + italic + foreground + #FFEE00 + + + + name + support.class.node.js + scope + support.class.node.js + settings + + foreground + #1224FE + + + + name + entity.name.function.node.js + scope + entity.name.function.node.js + settings + + foreground + #D84014 + + + + name + support.keyword.node.js + scope + support.keyword.node.js + settings + + fontStyle + bold + foreground + #99EF25 + + + + name + variable.import.destructuring.js + scope + variable.import.destructuring.js + settings + + foreground + #00BBFF + + + + name + other.object.key.js + scope + other.object.key.js + settings + + foreground + #1C98C1 + + + + name + meta.accessor.js punctuation.definition.parameters + scope + meta.accessor.js punctuation.definition.parameters + settings + + foreground + #005588 + + + + name + storage.type.accessor.js + scope + storage.type.accessor.js + settings + + background + #001122 + fontStyle + bold italic + foreground + #0066AA + + + + name + entity.name.module.js, variable.import.parameter.js, variable.other.class.js + scope + entity.name.module.js, variable.import.parameter.js, variable.other.class.js + settings + + background + #220011 + foreground + #FF0044 + + + + name + storage.type.module.js, storage.type.export.js, storage.type.import.js, storage.type.from.js + scope + storage.type.module.js, storage.type.export.js, storage.type.import.js, storage.type.from.js + settings + + background + #222211 + foreground + #CCCC44 + + + + name + storage.type.class.js, storage.type.extends.js + scope + storage.type.class.js, storage.type.extends.js + settings + + background + #001122 + foreground + #0044AA + + + + name + meta.function.call.class.static.js + scope + meta.function.call.class.static.js + settings + + foreground + #880011 + + + + name + variable.other.class.static.js + scope + variable.other.class.static.js + settings + + foreground + #AA0066 + + + + name + entity.name.accessor.js + scope + entity.name.accessor.js + settings + + background + #001122 + fontStyle + bold italic + foreground + #00FFCC + + + + name + entity.name.method.js + scope + entity.name.method.js + settings + + background + #110022 + fontStyle + italic bold + foreground + #AA00FF + + + + name + meta.method.js + scope + meta.method.js + settings + + fontStyle + bold + foreground + #660099 + + + + name + storage.type.function.js + scope + storage.type.function.js + settings + + fontStyle + bold + foreground + #99CC44 + + + + name + string.quoted.single + scope + string.quoted.single + settings + + foreground + #88FFAAAA + + + + name + variable.other.quasi.js + scope + variable.other.quasi.js + settings + + foreground + #FF0099 + + + + name + string.quasi.js + scope + string.quasi.js + settings + + foreground + #00FF00 + + + + name + punctuation.quasi.element + scope + punctuation.quasi.element + settings + + foreground + #008800 + + + + name + entity.quasi.tag.name.js + scope + entity.quasi.tag.name.js + settings + + foreground + #FFFF00 + + + + name + meta.group.braces.square, punctuation.destructuring + scope + meta.group.braces.square string.quoted.single, punctuation.destructuring + settings + + foreground + #47E9AC + + + + name + string.quoted.double + scope + string.quoted.double + settings + + foreground + #11BB11 + + + + name + punctuation.section.scope.curly.js + scope + punctuation.section.scope.curly.js + settings + + foreground + #F9044E + + + + name + meta.delimiter.comma.js + scope + meta.delimiter.comma.js + settings + + foreground + #00FFFF + + + + name + meta.group.braces.curly string.quoted.single + scope + meta.group.braces.curly string.quoted.single + settings + + foreground + #16B853 + + + + name + support.function + scope + support.function + settings + + foreground + #B532FF + + + + name + punctuation.definition.string.begin.js + scope + punctuation.definition.string.begin.js + settings + + foreground + #D2E20C + + + + name + punctuation.definition.string.end.js + scope + punctuation.definition.string.end.js + settings + + foreground + #CEA30D + + + + name + instance constructor + scope + meta.class.inheritance, meta.instance.constructor + settings + + fontStyle + italic underline + foreground + #E81E41 + + + + name + entity.name.class.js + scope + entity.name.class.js + settings + + background + #00FFFF33 + fontStyle + italic + foreground + #00FFFF + + + + name + entity.name.extends.js + scope + entity.name.extends.js + settings + + background + #00FF9933 + fontStyle + italic + foreground + #00FF99 + + + + name + function call + scope + meta.function-call entity.name.function + settings + + foreground + #5B24FF + + + + name + function call with args + scope + meta.function-call.function.with-arguments.js + settings + + foreground + #33FF00 + + + + name + js brace + scope + meta.brace.curly.js + settings + + foreground + #FF0099 + + + + name + js paren + scope + meta.brace.round.js + settings + + background + #000000FF + foreground + #D0C5FEFF + + + + name + js constant escape + scope + constant.character.escape + settings + + foreground + #10CF62FF + + + + name + pseudo-class + scope + meta.selector.css entity.other.attribute-name.tag.pseudo-class + settings + + foreground + #4FBC4B + + + + name + css selectors + scope + entity.namespace.unicode.css + settings + + foreground + #FF4F4F + + + + name + entity.other.attribute-name.id + scope + entity.other.attribute-name.id + settings + + background + #0B0028FF + foreground + #F20073FF + + + + name + class name + scope + meta.prototype support.class + settings + + foreground + #FF0099 + + + + name + support object + scope + support.object + settings + + fontStyle + bold + foreground + #FFEE00 + + + + name + class name prototype + scope + meta.prototype support.constant + settings + + foreground + #FF6600 + + + + name + prototype declaration + scope + meta.prototype.declaration.js + settings + + fontStyle + bold + + + + name + js undefined + scope + constant.language.undefined.js + settings + + foreground + #555588 + + + + name + variable.other.constant.js + scope + variable.other.constant.js + settings + + background + #003311 + foreground + #00FF33 + + + + name + false + scope + constant.language.boolean.false + settings + + foreground + #AAAA55 + + + + name + true + scope + constant.language.boolean.true + settings + + foreground + #CC7744 + + + + name + js null + scope + constant.language.null.js + settings + + foreground + #558855 + + + + name + css#id punctuation + scope + punctuation.definition.entity.id.css + settings + + background + #0B0028 + foreground + #FF489F + + + + name + css.class + scope + entity.other.attribute-name.class, source.css.less entity.other.attribute-name.class.css + settings + + background + #0B0028 + foreground + #9529B8 + + + + name + css.class puntuation + scope + punctuation.definition.entity.class.css + settings + + background + #0B0028FF + foreground + #CD87E4FF + + + + name + css pseudo element + scope + entity.other.attribute-name.pseudo-element.css + settings + + background + #0B0028FF + foreground + #FF00FFFF + + + + name + css property-name + scope + support.type.property-name.css + settings + + foreground + #B8EFECFF + + + + name + css @at-rule + scope + meta.preprocessor.at-rule keyword.control.at-rule + settings + + foreground + #D7C271FF + + + + name + css color + scope + constant.other.color.rgb-value.css, support.constant.color.w3c-standard-color-name.css + settings + + foreground + #FB7720FF + + + + name + css constants + scope + support.constant.property-value.css + settings + + foreground + #7CE85EFF + + + + name + Puncation Termination + scope + punctuation.terminator, punctuation.separator + settings + + foreground + #4BFCF8FF + + + + name + css constructor.argument + scope + meta.constructor.argument.css + settings + + foreground + #8F9D6AFF + + + + name + diff.header + scope + meta.diff, meta.diff.header, entity.name.namespace + settings + + background + #0E2231FF + foreground + #F8F8F8FF + + + + name + diff.deleted + scope + markup.deleted + settings + + background + #420E09FF + foreground + #F8F8F8FF + + + + name + diff.changed + scope + markup.changed + settings + + background + #4A410DFF + foreground + #F8F8F8FF + + + + name + diff.inserted + scope + markup.inserted + settings + + background + #253B22FF + foreground + #F8F8F8FF + + + + name + Markup: Italic + scope + markup.italic + settings + + fontStyle + italic + foreground + #6AD500FF + + + + name + Markup: Underline + scope + markup.underline + settings + + foreground + #E18964FF + options + underline + + + + name + Markup: Quote + scope + markup.quote + settings + + background + #FEE09C12 + fontStyle + italic + foreground + #E1D4B9FF + + + + name + Markup: Heading + scope + markup.heading, markup.heading entity + settings + + background + #DE3280FF + foreground + #FFFFFFFF + + + + name + Markup: List + scope + markup.list + settings + + foreground + #6657EAFF + + + + name + Markup: Raw + scope + markup.raw + settings + + background + #B1B3BA08 + foreground + #578BB3FF + + + + name + Markup: Comment + scope + markup comment + settings + + foreground + #F67B37FF + + + + name + Markup: Separator + scope + meta.separator + settings + + background + #242424FF + foreground + #60A633FF + + + + name + Log Entry + scope + meta.line.entry.logfile, meta.line.exit.logfile + settings + + background + #EEEEEE29 + foreground + #F8F8F8FF + + + + name + Log Entry Error + scope + meta.line.error.logfile + settings + + background + #751012 + foreground + #F8F8F8 + + + + name + JSON property top + scope + meta.structure.dictionary.json string.quoted.double + settings + + background + #111111 + foreground + #1144BB + + + + name + JSON property level 2 + scope + meta.structure meta.structure.dictionary.json string.quoted.double + settings + + foreground + #1122BB + + + + name + JSON property level 3 + scope + meta.structure meta.structure meta.structure meta.structure.dictionary.json string.quoted.double + settings + + foreground + #2938EB + + + + name + JSON property level 4 + scope + meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.json string.quoted.double + settings + + foreground + #6D7EF1 + + + + name + JSON property level 5 + scope + meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.json string.quoted.double + settings + + foreground + #B3BBF7 + + + + name + JSON value + scope + meta.structure.dictionary.value.json string.quoted.double + settings + + foreground + #AA00AA + + + + name + JSON value level 2 + scope + meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double + settings + + foreground + #BF00BF + + + + name + JSON value level 3 + scope + meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double + settings + + foreground + #FF00FF + + + + name + JSON value level 4 + scope + meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double + settings + + foreground + #FF40FF + + + + name + JSON value level 5 + scope + meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.dictionary.value.json string.quoted.double + settings + + foreground + #FF80FF + + + + name + JSON value string punctuation + scope + meta.structure.dictionary.value.json string punctuation.definition.string.double + settings + + foreground + #8409FF + + + + name + JSON array value + scope + meta.structure.array.json string.quoted.double + settings + + foreground + #5522AA + + + + name + JSON array value level 1 + scope + meta.structure meta.structure meta.structure.array.json string.quoted.double + settings + + foreground + #7017C8FF + + + + name + JSON array value level 2 + scope + meta.structure meta.structure meta.structure meta.structure meta.structure.array.json string.quoted.double + settings + + foreground + #9541E9FF + + + + name + JSON array value level 3 + scope + meta.structure meta.structure meta.structure meta.structure meta.structure.array.json string.quoted.double + settings + + foreground + #BA83F1FF + + + + name + JSON array value level 4 + scope + meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure meta.structure.array.json string.quoted.double + settings + + foreground + #DFC6F9FF + + + + name + JSON prop string punctuation + scope + meta.structure.dictionary.json string punctuation.definition.string + settings + + foreground + #66BBDDFF + + + + name + JSON array string puntuation + scope + meta.structure.array.json string punctuation.definition.string + settings + + foreground + #416BE9FF + + + + name + JSON array brackets + scope + meta.structure.array.json punctuation.definition.array + settings + + foreground + #FCC401FF + + + + name + JSON object braces + scope + meta.structure.dictionary.json punctuation.definition.dictionary + settings + + foreground + #FEDF76FF + + + + uuid + b238c753-1549-3f12-a519-0faa5dcd4f65 + + diff --git a/README.md b/README.md index e220a8c..f1b81f4 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,20 @@ # JavaScript.tmLanguage -Better JavaScript language definition for TextMate and SublimeText2. This builds on the language files commonly used and adds more fine grained matching and also includes new features from ECMAScript 6 like modules, succinct methods, arrow functions, classes, and accessors (ES5). +Better JavaScript language definition for TextMate and SublimeText. This builds on the language files commonly used and adds more fine grained matching and also includes new features from ECMAScript 6 like modules, succinct methods, arrow functions, classes, generators, and accessors (ES5). -__ES6__ +## Installation and Use -![screenshot](https://raw.github.com/Benvie/JavaScriptNext.tmLanguage/master/ss-es6.png) +If you haven't already, [install Package Control](https://sublime.wbond.net/installation), then select `JavaScript Next` from the `Package Control: Install Package` dropdown list in the Command Palette. -__ES5__ +To set this as your default JavaScript syntax, open a javascript file, then select `View -> Syntax -> Open all with current extension as... -> JavascriptNext`. -![screenshot](https://raw.github.com/Benvie/JavaScriptNext.tmLanguage/master/ss-es5.png) +You may also need to change the ColorScheme. Pick one from `Preferences -> Color Scheme -> JavaScriptNext`. + +## Screenshots + +![screenshot](https://raw.github.com/Benvie/JavaScriptNext.tmLanguage/master/screenshots/es6.png) + +## Contributing + +Edit the yaml files with the `YAML-XXX` extensions, convert them to plist xml files, and send in a pull request. The easiest way to do this is by using [AAAPackageDev](https://github.com/SublimeText/AAAPackageDev). You can do all of the above without leaving sublime text. + +YAML is used since it's a lot more compact and easier to edit than xml. \ No newline at end of file diff --git a/Regular Expressions (JavaScriptNext).YAML-tmLanguage b/Regular Expressions (JavaScriptNext).YAML-tmLanguage new file mode 100644 index 0000000..7f240c6 --- /dev/null +++ b/Regular Expressions (JavaScriptNext).YAML-tmLanguage @@ -0,0 +1,105 @@ +# [PackageDev] target_format: plist, ext: tmLanguage +name: Regular Expressions (Javascript Next) +scopeName: source.regexp.js +fileTypes: [re] +uuid: 6D74161E-E1A2-4AF3-922D-759E88DEFF63 +foldingStartMarker: (/\*|\{|\() +foldingStopMarker: (\*/|\}|\)) + +patterns: +- include: '#anchor' +- include: '#backref' +- include: '#quantifier' +- include: '#operator' +- include: '#group-assertion' +- include: '#group-definition' +- include: '#character-class' +- include: '#character-class-definition' + +repository: + anchor: + patterns: + - name: keyword.control.anchor.regexp + match: \\[bB]|\^|\$ + + backref: + patterns: + - name: keyword.other.back-reference.regexp + match: \\[1-9][0-9]* + + quantifier: + patterns: + - name: keyword.operator.quantifier.regexp + match: '(\?|\*\??|\+\??)|\{(\d+,\d+|\d+,|\d+)\}' + + operator: + patterns: + - name: keyword.operator.or.regexp + match: \| + + group-assertion: + patterns: + - name: meta.group.assertion.regexp + begin: (\()((\?=)|(\?!)) + beginCaptures: + '1': {name: punctuation.definition.group.regexp} + '2': {name: punctuation.definition.group.assertion.regexp} + '3': {name: meta.assertion.look-ahead.regexp} + '4': {name: meta.assertion.negative-look-ahead.regexp} + end: (\)) + endCaptures: + '1': {name: punctuation.definition.group.regexp} + patterns: + - include: $self + + group-definition: + patterns: + - name: meta.group.regexp + begin: (\()((\?:))? + beginCaptures: + '1': {name: punctuation.definition.group.regexp} + '3': {name: punctuation.definition.group.capture.regexp} + '5': {name: punctuation.definition.group.capture.regexp} + '6': {name: punctuation.definition.group.no-capture.regexp} + end: (\)) + endCaptures: + '1': {name: punctuation.definition.group.regexp} + patterns: + - include: $self + + character-class: + patterns: + - name: constant.other.character-class.escape.backslash.regexp + match: \\[wWsSdD]|\. + + - name: constant.character.escape.backslash.regexp + match: \\([trnvf0\\]|c[A-Z]|x[\da-fA-F]{2}|u[\da-fA-F]{4}|.) + + character-class-definition: + patterns: + - name: constant.other.character-class.set.regexp + begin: (\[)(\^)? + beginCaptures: + '1': {name: punctuation.definition.character-class.regexp} + '2': {name: keyword.operator.negation.regexp} + end: (\]) + endCaptures: + '1': {name: punctuation.definition.character-class.regexp} + patterns: + - include: '#character-class' + - name: constant.other.character-class.range.regexp + match: >- + (?x) + ( + (\\[wWsSdD]|\.)| + (\\([trnvf0]|c[A-Z]|x[\da-fA-F]{2}|u[\da-fA-F]{4}|.)) + )\- + ( + (\\[wWsSdD]|\.)| + (\\([trnvf0]|c[A-Z]|x[\da-fA-F]{2}|u[\da-fA-F]{4}|.)) + ) + captures: + '2': {name: constant.other.character-class.escape.backslash.regexp} + '3': {name: constant.character.escape.backslash.regexp} + '5': {name: constant.other.character-class.escape.backslash.regexp} + '6': {name: constant.character.escape.backslash.regexp} diff --git a/Regular Expressions (JavaScriptNext).tmLanguage b/Regular Expressions (JavaScriptNext).tmLanguage new file mode 100644 index 0000000..2aba44d --- /dev/null +++ b/Regular Expressions (JavaScriptNext).tmLanguage @@ -0,0 +1,307 @@ + + + + + fileTypes + + re + + foldingStartMarker + (/\*|\{|\() + foldingStopMarker + (\*/|\}|\)) + name + Regular Expressions (Javascript Next) + patterns + + + include + #anchor + + + include + #backref + + + include + #quantifier + + + include + #operator + + + include + #group-assertion + + + include + #group-definition + + + include + #character-class + + + include + #character-class-definition + + + repository + + anchor + + patterns + + + match + \\[bB]|\^|\$ + name + keyword.control.anchor.regexp + + + + backref + + patterns + + + match + \\[1-9][0-9]* + name + keyword.other.back-reference.regexp + + + + character-class + + patterns + + + match + \\[wWsSdD]|\. + name + constant.other.character-class.escape.backslash.regexp + + + match + \\([trnvf0\\]|c[A-Z]|x[\da-fA-F]{2}|u[\da-fA-F]{4}|.) + name + constant.character.escape.backslash.regexp + + + + character-class-definition + + patterns + + + begin + (\[)(\^)? + beginCaptures + + 1 + + name + punctuation.definition.character-class.regexp + + 2 + + name + keyword.operator.negation.regexp + + + end + (\]) + endCaptures + + 1 + + name + punctuation.definition.character-class.regexp + + + name + constant.other.character-class.set.regexp + patterns + + + include + #character-class + + + captures + + 2 + + name + constant.other.character-class.escape.backslash.regexp + + 3 + + name + constant.character.escape.backslash.regexp + + 5 + + name + constant.other.character-class.escape.backslash.regexp + + 6 + + name + constant.character.escape.backslash.regexp + + + match + (?x) + ( + (\\[wWsSdD]|\.)| + (\\([trnvf0]|c[A-Z]|x[\da-fA-F]{2}|u[\da-fA-F]{4}|.)) + )\- + ( + (\\[wWsSdD]|\.)| + (\\([trnvf0]|c[A-Z]|x[\da-fA-F]{2}|u[\da-fA-F]{4}|.)) + ) + name + constant.other.character-class.range.regexp + + + + + + group-assertion + + patterns + + + begin + (\()((\?=)|(\?!)) + beginCaptures + + 1 + + name + punctuation.definition.group.regexp + + 2 + + name + punctuation.definition.group.assertion.regexp + + 3 + + name + meta.assertion.look-ahead.regexp + + 4 + + name + meta.assertion.negative-look-ahead.regexp + + + end + (\)) + endCaptures + + 1 + + name + punctuation.definition.group.regexp + + + name + meta.group.assertion.regexp + patterns + + + include + $self + + + + + + group-definition + + patterns + + + begin + (\()((\?:))? + beginCaptures + + 1 + + name + punctuation.definition.group.regexp + + 3 + + name + punctuation.definition.group.capture.regexp + + 5 + + name + punctuation.definition.group.capture.regexp + + 6 + + name + punctuation.definition.group.no-capture.regexp + + + end + (\)) + endCaptures + + 1 + + name + punctuation.definition.group.regexp + + + name + meta.group.regexp + patterns + + + include + $self + + + + + + operator + + patterns + + + match + \| + name + keyword.operator.or.regexp + + + + quantifier + + patterns + + + match + (\?|\*\??|\+\??)|\{(\d+,\d+|\d+,|\d+)\} + name + keyword.operator.quantifier.regexp + + + + + scopeName + source.regexp.js + uuid + 6D74161E-E1A2-4AF3-922D-759E88DEFF63 + + diff --git a/Symbol List Banned.YAML-tmPreferences b/Symbol List Banned.YAML-tmPreferences new file mode 100644 index 0000000..eef90e1 --- /dev/null +++ b/Symbol List Banned.YAML-tmPreferences @@ -0,0 +1,7 @@ +# [PackageDev] target_format: plist, ext: tmPreferences +name: Symbol List Banned +uuid: 71B2B356-23EC-43B8-80A7-CB32E8F2718F +scope: source.js meta.function-call, source.js meta.instance.constructor +settings: + showInSymbolList: '0' + showInIndexedSymbolList: '1' diff --git a/Symbol List Banned.tmPreferences b/Symbol List Banned.tmPreferences new file mode 100644 index 0000000..bcad4ab --- /dev/null +++ b/Symbol List Banned.tmPreferences @@ -0,0 +1,19 @@ + + + + + name + Symbol List Banned + scope + source.js meta.function-call, source.js meta.instance.constructor + settings + + showInIndexedSymbolList + 1 + showInSymbolList + 0 + + uuid + 71B2B356-23EC-43B8-80A7-CB32E8F2718F + + diff --git a/Symbol List Function.YAML-tmPreferences b/Symbol List Function.YAML-tmPreferences new file mode 100644 index 0000000..d6253c6 --- /dev/null +++ b/Symbol List Function.YAML-tmPreferences @@ -0,0 +1,8 @@ +# [PackageDev] target_format: plist, ext: tmPreferences +name: Symbol List Function +uuid: B521FCF1-DDA6-4C69-8170-F6C2DE4C86CD +scope: source.js meta.function, source.js meta.accessor.js, source.js meta.method.js, source.js meta.prototype.function.js, source.js meta.prototype.function.arrow.js, source.js meta.class.js entity.name.class.js +settings: + showInSymbolList: '1' + showInIndexedSymbolList: '1' + symbolTransformation: s/\s+/ /g; diff --git a/Symbol List Function.tmPreferences b/Symbol List Function.tmPreferences new file mode 100644 index 0000000..c1552b0 --- /dev/null +++ b/Symbol List Function.tmPreferences @@ -0,0 +1,21 @@ + + + + + name + Symbol List Function + scope + source.js meta.function, source.js meta.accessor.js, source.js meta.method.js, source.js meta.prototype.function.js, source.js meta.prototype.function.arrow.js, source.js meta.class.js entity.name.class.js + settings + + showInIndexedSymbolList + 1 + showInSymbolList + 1 + symbolTransformation + s/\s+/ /g; + + uuid + B521FCF1-DDA6-4C69-8170-F6C2DE4C86CD + + diff --git a/screenshots/es6.png b/screenshots/es6.png new file mode 100644 index 0000000..f43ac94 Binary files /dev/null and b/screenshots/es6.png differ diff --git a/ss-es5.png b/ss-es5.png deleted file mode 100644 index 591f92c..0000000 Binary files a/ss-es5.png and /dev/null differ diff --git a/ss-es6.png b/ss-es6.png deleted file mode 100644 index 5a2efef..0000000 Binary files a/ss-es6.png and /dev/null differ