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
-
+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`.
-
+You may also need to change the ColorScheme. Pick one from `Preferences -> Color Scheme -> JavaScriptNext`.
+
+## Screenshots
+
+
+
+## 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