diff --git a/Comments.YAML-tmLanguage b/Comments.YAML-tmLanguage
new file mode 100644
index 0000000..7ef1c0d
--- /dev/null
+++ b/Comments.YAML-tmLanguage
@@ -0,0 +1,12 @@
+# [PackageDev] target_format: plist, ext: tmLanguage
+name: Comments
+uuid: BCCA5D24-53BF-4C69-9419-D393D5590D54
+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..b26c1f9
--- /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/JavaScriptNext Monokai-Phoenix.tmTheme b/JavaScriptNext Monokai-Phoenix.tmTheme
new file mode 100644
index 0000000..b68c190
--- /dev/null
+++ b/JavaScriptNext Monokai-Phoenix.tmTheme
@@ -0,0 +1,571 @@
+
+
+
+
+ name
+ JavaScriptNext Monokai-Phoenix
+ settings
+
+
+ settings
+
+ background
+ #111111
+ caret
+ #F8F8F0
+ foreground
+ #F8F8F2
+ invisibles
+ #3B3A32
+ lineHighlight
+ #3E3D32
+ selection
+ #49483E
+ findHighlight
+ #FFE792
+ findHighlightForeground
+ #000000
+ selectionBorder
+ #222218
+ activeGuide
+ #9D550FB0
+
+ bracketsForeground
+ #F8F8F2A5
+ bracketsOptions
+ underline
+
+ bracketContentsForeground
+ #F8F8F2A5
+ bracketContentsOptions
+ underline
+
+ 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
+
+ background
+ #001122
+ fontStyle
+
+ foreground
+ #A6E22E
+
+
+
+ name
+ entity.name.method.js
+ scope
+ entity.name.method.js
+ settings
+
+ background
+ #110022
+ fontStyle
+
+ foreground
+ #A6E22E
+
+
+
+ name
+ meta.method.js
+ scope
+ meta.method.js
+ settings
+
+ fontStyle
+
+ foreground
+ #fff
+
+
+
+ name
+ support.function
+ scope
+ support.function
+ settings
+
+ foreground
+ #66D9EF
+
+
+
+ name
+ Function name
+ scope
+ entity.name.function
+ settings
+
+ fontStyle
+
+ 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
+ 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
+ b238c753-1549-3f12-a519-0faa5dcd4f65
+
+
diff --git a/JavaScriptNext.YAML-tmLanguage b/JavaScriptNext.YAML-tmLanguage
new file mode 100644
index 0000000..bf97c26
--- /dev/null
+++ b/JavaScriptNext.YAML-tmLanguage
@@ -0,0 +1,746 @@
+# [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)
+keyEquivalent: ^~J
+
+patterns:
+- include: '#comments'
+- include: '#support'
+- include: '#core'
+- include: '#special'
+
+repository:
+ brackets:
+ patterns:
+ - name: meta.function-call.method.with-arguments.js
+ match: >-
+ (?x)
+ (?<=\.)
+ ([_$a-zA-Z][_$\w]*)?
+ (?=\()
+ captures:
+ '1': {name: entity.name.function.js}
+
+ - name: meta.group.braces.round
+ begin: (\()
+ beginCaptures:
+ '1': {name: meta.brace.round.js}
+ end: (\))
+ endCaptures:
+ '1': {name: meta.brace.round.js}
+ patterns:
+ - include: source.js
+
+ - name: meta.group.braces.square
+ begin: (\[)
+ beginCaptures:
+ '1': {name: meta.brace.square.js}
+ end: (\])
+ endCaptures:
+ '1': {name: meta.brace.square.js}
+ patterns:
+ - include: source.js
+
+ 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.line.double-slash.js
+ match: (//).*$\n?
+ captures:
+ '1': {name: punctuation.definition.comment.js}
+
+ - name: comment.block.html.js
+ match: ()
+ captures:
+ '0': {name: punctuation.definition.comment.html.js}
+ '2': {name: punctuation.definition.comment.html.js}
+
+ function-declaration-parameters:
+ patterns:
+ - begin: (\()
+ beginCaptures:
+ '1': {name: punctuation.definition.parameters.begin.js}
+ end: (\))
+ endCaptures:
+ '1': {name: punctuation.definition.parameters.end.js}
+ patterns:
+ - name: variable.parameter.function.js
+ match: |-
+ (?x)
+ [_$a-zA-Z][_$\w]*
+ - name: punctuation.separator.parameter.function.js
+ match: ','
+ - include: '#comments'
+
+ core:
+ patterns:
+ - include: '#leading-space'
+
+ # literals
+ - include: '#literal-regex' # before operators to avoid ambiguities
+ - include: '#literal-number'
+ - include: '#literal-quasi'
+ - include: '#literal-language-constant'
+
+ # keywords/operators
+ - include: '#literal-keywords'
+
+ # modules/classes/functions
+ - include: '#literal-class'
+ - include: '#literal-module'
+ - include: '#literal-arrow-function'
+ - include: '#literal-function-storage'
+ - include: '#literal-method' # before function calls & after function declarations, to differentiate methods from them
+ - include: '#literal-prototype-storage' # after literal-function-storage, which includes some prototype strings
+
+ # after literal-function-storage which requires the below in some cases
+ - include: '#literal-string'
+ - include: '#literal-language-variable'
+
+ # function calls
+ - include: '#literal-function-call'
+
+ # punctuation
+ - include: '#literal-labels'
+ - include: '#literal-variable'
+ - include: '#literal-punctuation'
+
+ # brackets
+ - include: '#brackets'
+
+ literal-module:
+ patterns:
+ # module names are defined using strings
+ - name: storage.type.module.js
+ match: \b(module)\b
+
+ - name: keyword.operator.module.js
+ match: \b(import|export|from|as)\b
+
+ literal-class:
+ patterns:
+ # e.g. class MyClass { }
+ - name: meta.class.js
+ match: \b(class)\b(?:\s+([_$a-zA-Z][_$\w]*)\s*(?:\b(extends)\b\s*([_$a-zA-Z][_$\w]*))?)?\s*
+ 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}
+
+ # definitions here don't include field modifications (e.g. this.a = 'b'), as modifications can occur outside the class
+ - match: \b(?:(public|private|static)\s+)(?:(var|let|const)\s+)?([_$a-zA-Z][_$\w]*\s*)(?=\=)
+ captures:
+ '1': {name: storage.modifier.js}
+ '2': {name: storage.type.js}
+ '3': {name: entity.name.field.js}
+
+ - match: \b(private)(?=\s*\()
+ captures:
+ '1': {name: support.function.private.js}
+
+ - name: storage.modifier.js
+ match: \b(public|private|static)\b
+
+ # getter/setter
+ - name: meta.accessor.js
+ begin: \b(get|set)\s*\b([_$a-zA-Z][_$\w]*)\s*
+ beginCaptures:
+ '1': {name: storage.type.accessor.js}
+ '2': {name: entity.name.accessor.js}
+ end: (?<=\))
+ patterns:
+ - include: '#function-declaration-parameters'
+
+ literal-function-call:
+ patterns:
+ - name: meta.function-call.static.with-arguments.js
+ begin: (?=[_$a-zA-Z][_$\w]*\s*\()
+ end: (?=\()
+ patterns:
+ - name: entity.name.function.js
+ match: ([_$a-zA-Z][_$\w]*)?
+
+ literal-prototype-storage:
+ patterns:
+ # 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: support.constant.js}
+
+ # e.g. Sound.prototype
+ - name: meta.prototype.js
+ match: ([_$a-zA-Z][_$\w]*)\.(prototype)
+ captures:
+ '1': {name: entity.name.class.js}
+ '2': {name: support.constant.js}
+
+ literal-function-storage:
+ patterns:
+ # e.g. function play(arg1, arg2) { }
+ - name: meta.function.js
+ begin: \b(function(?:\s*\*|(?=\s|[(])))(?:\s*([a-zA-Z_$][_$\w]*))?\s*
+ beginCaptures:
+ '1': {name: storage.type.function.js}
+ '2': {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: ([_$a-zA-Z][_$\w]*)\.(prototype)\.([_$a-zA-Z][_$\w]*)\s*=\s*(function(?:\s*\*|(?=\s|[(])))\s*
+ beginCaptures:
+ '1': {name: entity.name.class.js}
+ '2': {name: support.constant.js}
+ '3': {name: entity.name.function.js}
+ '4': {name: storage.type.function.js}
+ end: (?<=\))
+ patterns:
+ - include: '#function-declaration-parameters'
+
+ # include symbol classes which not involve expressions
+ # e.g. Sound.play = function(arg1, arg2) { }
+ - name: meta.function.static.js
+ begin: >-
+ (?x)
+ (?=
+ ([_$a-zA-Z][_$\w]*)?
+ \.([_$a-zA-Z][_$\w]*)\s*
+ =\s*
+ (function\s*\*?)\s*
+ )
+ end: (?<=\))
+ patterns:
+ - include: '#literal-language-variable'
+ - begin: \b(function(?:\s*\*|(?=\s|[(])))(?:\s*([a-zA-Z_$][_$\w]*))?\s*
+ beginCaptures:
+ '1': {name: storage.type.function.js}
+ '2': {name: entity.name.function.js}
+ end: (?<=\))
+ patterns:
+ - include: '#function-declaration-parameters'
+
+ # e.g. play: function(arg1, arg2) { }
+ - name: meta.function.json.js
+ begin: \b([_$a-zA-Z][_$\w]*)\s*(:)\s*\b(function(?:\s*\*|(?=\s|[(])))\s*
+ beginCaptures:
+ '1': {name: entity.name.function.js}
+ '2': {name: punctuation.separator.key-value.js}
+ '3': {name: storage.type.function.js}
+ end: (?<=\))
+ patterns:
+ - include: '#function-declaration-parameters'
+
+ # e.g. "play": function(arg1, arg2) { }
+ - name: meta.function.json.js
+ begin: |-
+ (?x)
+ (?:
+ ((')(.*?)(? { }
+ - name: meta.function.arrow.js
+ begin: |-
+ (?x)
+ (?=\([^())]*\)\s*(=>))
+ end: (?<=\))\s*(=>)
+ endCaptures:
+ '1': {name: storage.type.function.arrow.js}
+ patterns:
+ - include: '#function-declaration-parameters'
+
+ literal-method:
+ patterns:
+ - name: meta.function-call.method.with-arguments.js
+ match: |-
+ (?x)
+ (?<=\.)
+ ([_$a-zA-Z][_$\w]*)
+ (?=\()
+ captures:
+ '1': {name: entity.name.function.js}
+
+ - name: meta.function-call.method.without-arguments.js
+ match: |-
+ (?x)
+ (?<=\.)
+ ([_$a-zA-Z][_$\w]*)
+ (\(\s*\))
+ captures:
+ '1': {name: entity.name.function.js}
+ '2': {name: meta.group.braces.round.function.arguments.js}
+ '3': {name: meta.brace.round.js}
+
+ # ES6 methods, e.g. play(arg1, arg2) { }
+ - name: meta.method.js
+ begin: |-
+ (?x)
+ (?=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|/=|%=|\+=|\-=|&=|\^='
+
+ - name: punctuation.separator.key-value
+ match: ':'
+
+ - name: keyword.operator.logical.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.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.assignment.js
+ match: (?x)=
+
+ - 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
+
+ literal-labels:
+ patterns:
+ - match: (?<=['"])(\s*)(:)
+ captures:
+ '2': {name: punctuation.separator.key-value.js}
+
+ - name: constant.other.object.key.js
+ match: (?-
+ (?x)
+ (?<=
+ [\[,=(:?]|
+ ^|&&|
+ return
+ )\s*
+ (/)
+ (?![/*+{}?]|$)
+ beginCaptures:
+ '1': {name: string.regexp.js}
+ '2': {name: punctuation.definition.string.begin.js}
+ end: ((/)([gimy]*))
+ endCaptures:
+ '1': {name: string.regexp.js}
+ '2': {name: punctuation.definition.string.end.js}
+ '3': {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'
+
+ literal-variable:
+ patterns:
+ - name: variable.other.constant.js
+ match: \.?[A-Z][_$\dA-Z]*\b
+
+ - name: meta.entity.static.js
+ match: \b([A-Z][_$\w]*\.?)\s*?(?:([a-z$_][\w_$]*(?=\())|([a-z$_][\w_$]*))?
+ captures:
+ '1': {name: variable.other.class.js}
+ '2': {name: meta.function-call.class.static.js}
+ '3': {name: variable.other.class.static.js}
+
+ - 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
+
+ # firebug
+ - name: support.type.object.firebug.js
+ match: \b(console)\b
+
+ # node
+ - name: support.module.node.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.type.object.node.js
+ match: \b(process(.env)?|global|GLOBAL|root|std(out|in|err)|exports|__dirname|__filename|console)\b
+
+ - name: support.class.node.js
+ match: \b(Buffer|EventEmitter|Server|Pipe|Socket|REPLServer|ReadStream|WriteStream|Stream|Inflate|Deflate|InflateRaw|DeflateRaw|GZip|GUnzip|Unzip|Zip)\b
diff --git a/JavaScriptNext.YAML-tmTheme b/JavaScriptNext.YAML-tmTheme
new file mode 100644
index 0000000..4164c46
--- /dev/null
+++ b/JavaScriptNext.YAML-tmTheme
@@ -0,0 +1,848 @@
+# [PackageDev] target_format: plist, ext: tmTheme
+name: JavaScriptNext
+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 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.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:
+ 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/JavaScriptNext.tmLanguage b/JavaScriptNext.tmLanguage
index 9668791..4dc8f78 100644
--- a/JavaScriptNext.tmLanguage
+++ b/JavaScriptNext.tmLanguage
@@ -1,1883 +1,1861 @@
-
+
-
- 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)
+ keyEquivalent
+ ^~J
+ name
+ JavaScript Next
+ patterns
+
+
+ include
+ #comments
+
+
+ include
+ #support
+
+
+ include
+ #core
+
+
+ include
+ #special
+
+
+ repository
+
+ brackets
+
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ entity.name.function.js
+
+
+ match
+ (?x)
+ (?<=\.)
+ ([_$a-zA-Z][_$\w]*)?
+ (?=\()
+ name
+ meta.function-call.method.with-arguments.js
+
+
+ begin
+ (\()
+ beginCaptures
+
+ 1
+
+ name
+ meta.brace.round.js
+
+
+ end
+ (\))
+ endCaptures
+
+ 1
+
+ name
+ meta.brace.round.js
+
+
+ name
+ meta.group.braces.round
+ patterns
+
+
+ include
+ source.js
+
+
+
+
+ begin
+ (\[)
+ beginCaptures
+
+ 1
+
+ name
+ meta.brace.square.js
+
+
+ end
+ (\])
+ endCaptures
+
+ 1
+
+ name
+ meta.brace.square.js
+
+
+ name
+ meta.group.braces.square
+ patterns
+
+
+ include
+ source.js
+
+
+
+
+
+ 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
+ #literal-regex
+
+
+ include
+ #literal-number
+
+
+ include
+ #literal-quasi
+
+
+ include
+ #literal-language-constant
+
+
+ include
+ #literal-keywords
+
+
+ include
+ #literal-class
+
+
+ include
+ #literal-module
+
+
+ include
+ #literal-arrow-function
+
+
+ include
+ #literal-function-storage
+
+
+ include
+ #literal-method
+
+
+ include
+ #literal-prototype-storage
+
+
+ include
+ #literal-string
+
+
+ include
+ #literal-language-variable
+
+
+ include
+ #literal-function-call
+
+
+ include
+ #literal-labels
+
+
+ include
+ #literal-variable
+
+
+ include
+ #literal-punctuation
+
+
+ include
+ #brackets
+
+
+
+ function-declaration-parameters
+
+ patterns
+
+
+ begin
+ (\()
+ beginCaptures
+
+ 1
+
+ name
+ punctuation.definition.parameters.begin.js
+
+
+ end
+ (\))
+ endCaptures
+
+ 1
+
+ name
+ punctuation.definition.parameters.end.js
+
+
+ patterns
+
+
+ match
+ (?x)
+ [_$a-zA-Z][_$\w]*
+ name
+ variable.parameter.function.js
+
+
+ match
+ ,
+ name
+ punctuation.separator.parameter.function.js
+
+
+ include
+ #comments
+
+
+
+
+
+ leading-space
+
+ 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)?
+
+
+
+
+
+ literal-arrow-function
+
+ patterns
+
+
+ begin
+ (?x)
+ (?=\([^())]*\)\s*(=>))
+ end
+ (?<=\))\s*(=>)
+ endCaptures
+
+ 1
+
+ name
+ storage.type.function.arrow.js
+
+
+ name
+ meta.function.arrow.js
+ patterns
+
+
+ include
+ #function-declaration-parameters
+
+
+
+
+
+ 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
+
+
+ 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.modifier.js
+
+ 2
+
+ name
+ storage.type.js
+
+ 3
+
+ name
+ entity.name.field.js
+
+
+ match
+ \b(?:(public|private|static)\s+)(?:(var|let|const)\s+)?([_$a-zA-Z][_$\w]*\s*)(?=\=)
+
+
+ captures
+
+ 1
+
+ name
+ support.function.private.js
+
+
+ match
+ \b(private)(?=\s*\()
+
+
+ match
+ \b(public|private|static)\b
+ name
+ storage.modifier.js
+
+
+ begin
+ \b(get|set)\s*\b([_$a-zA-Z][_$\w]*)\s*
+ beginCaptures
+
+ 1
+
+ name
+ storage.type.accessor.js
+
+ 2
+
+ name
+ entity.name.accessor.js
+
+
+ end
+ (?<=\))
+ name
+ meta.accessor.js
+ patterns
+
+
+ include
+ #function-declaration-parameters
+
+
+
+
+
+ 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-function-storage
+
+ patterns
+
+
+ begin
+ \b(function(?:\s*\*|(?=\s|[(])))(?:\s*([a-zA-Z_$][_$\w]*))?\s*
+ beginCaptures
+
+ 1
+
+ name
+ storage.type.function.js
+
+ 2
+
+ name
+ entity.name.function.js
+
+
+ end
+ (?<=\))
+ name
+ meta.function.js
+ patterns
+
+
+ include
+ #function-declaration-parameters
+
+
+
+
+ begin
+ ([_$a-zA-Z][_$\w]*)\.(prototype)\.([_$a-zA-Z][_$\w]*)\s*=\s*(function(?:\s*\*|(?=\s|[(])))\s*
+ beginCaptures
+
+ 1
+
+ name
+ entity.name.class.js
+
+ 2
+
+ name
+ support.constant.js
+
+ 3
+
+ name
+ entity.name.function.js
+
+ 4
+
+ name
+ storage.type.function.js
+
+
+ end
+ (?<=\))
+ name
+ meta.prototype.function.js
+ patterns
+
+
+ include
+ #function-declaration-parameters
+
+
+
+
+ begin
+ (?x)
+ (?=
+ ([_$a-zA-Z][_$\w]*)?
+ \.([_$a-zA-Z][_$\w]*)\s*
+ =\s*
+ (function\s*\*?)\s*
+ )
+ end
+ (?<=\))
+ name
+ meta.function.static.js
+ patterns
+
+
+ include
+ #literal-language-variable
+
+
+ begin
+ \b(function(?:\s*\*|(?=\s|[(])))(?:\s*([a-zA-Z_$][_$\w]*))?\s*
+ beginCaptures
+
+ 1
+
+ name
+ storage.type.function.js
+
+ 2
+
+ name
+ entity.name.function.js
+
+
+ end
+ (?<=\))
+ patterns
+
+
+ include
+ #function-declaration-parameters
+
+
+
+
+
+
+ begin
+ \b([_$a-zA-Z][_$\w]*)\s*(:)\s*\b(function(?:\s*\*|(?=\s|[(])))\s*
+ beginCaptures
+
+ 1
+
+ name
+ entity.name.function.js
+
+ 2
+
+ name
+ punctuation.separator.key-value.js
+
+ 3
+
+ name
+ storage.type.function.js
+
+
+ end
+ (?<=\))
+ name
+ meta.function.json.js
+ patterns
+
+
+ include
+ #function-declaration-parameters
+
+
+
+
+ begin
+ (?x)
+ (?:
+ ((')(.*?)(?<!\\)('))|
+ ((")(.*?)(?<!\\)("))
+ )\s*
+ (:)\s*
+ \b(function(?:\s*\*|(?=\s|[(])))\s*
+ beginCaptures
+
+ 1
+
+ name
+ string.quoted.single.js
+
+ 10
+
+ name
+ storage.type.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-keywords
+
+ 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]*)
+
+
+
+
+ match
+ \b(var|let|const)\b
+ name
+ storage.type.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)?|of|new|typeof|void|with)\b
+ name
+ keyword.operator.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-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
+
+
+ captures
+
+ 1
+
+ name
+ entity.name.function.js
+
+
+ match
+ (?x)
+ (?<=\.)
+ ([_$a-zA-Z][_$\w]*)
+ (?=\()
+ name
+ meta.function-call.method.with-arguments.js
+
+
+ captures
+
+ 1
+
+ name
+ entity.name.function.js
+
+ 2
+
+ name
+ meta.group.braces.round.function.arguments.js
+
+ 3
+
+ name
+ meta.brace.round.js
+
+
+ match
+ (?x)
+ (?<=\.)
+ ([_$a-zA-Z][_$\w]*)
+ (\(\s*\))
+ name
+ meta.function-call.method.without-arguments.js
+
+
+ begin
+ (?x)
+ (?<!function\s) # An approximation due to fixed width look-behind, but usually good enough
+ \b([_$a-zA-Z][_$\w]*)
+ \s*
+ (?=\([^())]*\)\s*\{)
+ beginCaptures
+
+ 1
+
+ name
+ entity.name.method.js
+
+
+ end
+ (?<=\))
+ name
+ meta.method.js
+ patterns
+
+
+ include
+ #function-declaration-parameters
+
+
+
+
+
+ literal-module
+
+ patterns
+
+
+ match
+ \b(module)\b
+ name
+ storage.type.module.js
+
+
+ match
+ \b(import|export|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[-+])?
+ (?:
+ \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-prototype-storage
+
+ patterns
+
+
+ captures
+
+ 1
+
+ name
+ entity.name.class.js
+
+ 2
+
+ name
+ support.constant.js
+
+
+ match
+ ([_$a-zA-Z][_$\w]*)\.(prototype)\s*=\s*
+ name
+ meta.prototype.declaration.js
+
+
+ captures
+
+ 1
+
+ name
+ entity.name.class.js
+
+ 2
+
+ name
+ support.constant.js
+
+
+ match
+ ([_$a-zA-Z][_$\w]*)\.(prototype)
+ name
+ meta.prototype.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
+
+
+ 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
+ source.js
+
+
+
+
+
+
+
+ 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
+ ((/)([gimy]*))
+ endCaptures
+
+ 1
+
+ name
+ string.regexp.js
+
+ 2
+
+ name
+ punctuation.definition.string.end.js
+
+ 3
+
+ name
+ keyword.other.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-variable
+
+ patterns
+
+
+ match
+ \.?[A-Z][_$\dA-Z]*\b
+ name
+ variable.other.constant.js
+
+
+ captures
+
+ 1
+
+ name
+ variable.other.class.js
+
+ 2
+
+ name
+ meta.function-call.class.static.js
+
+ 3
+
+ name
+ variable.other.class.static.js
+
+
+ match
+ \b([A-Z][_$\w]*\.?)\s*?(?:([a-z$_][\w_$]*(?=\())|([a-z$_][\w_$]*))?
+ name
+ meta.entity.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
+ source.js
+
+
+
+
+ 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-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|Number|Object|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
+ \b(s(hift|ort|plice)|unshift|p(op|ush)|reverse)\b(?=\()
+ name
+ support.function.mutator.js
+
+
+ match
+ \b((Eval|Range|Reference|Syntax|Type|URI)?Error)\b
+ name
+ support.class.error.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
+
+
+ match
+ \b(console)\b
+ name
+ support.type.object.firebug.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|__dirname|__filename|console)\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
+
+
+
+
+ scopeName
+ source.js
+ uuid
+ 487CF323-A3F9-48FA-B140-DCE8C893E664
+
diff --git a/JavaScriptNext.tmTheme b/JavaScriptNext.tmTheme
index 2e05217..0447945 100644
--- a/JavaScriptNext.tmTheme
+++ b/JavaScriptNext.tmTheme
@@ -2,1898 +2,1855 @@
- 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
+ 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
+
+ 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 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.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
+
+ 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..fac3acd 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,22 @@
# 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).
+
+## 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.
+
+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, `Preferences -> Color Scheme --> JavaScriptNext - ES6 Syntax`.
+
+## Screenshots
__ES6__
-
+
+
+
__ES5__
-
+
diff --git a/Regular Expressions (JavaScriptNext).YAML-tmLanguage b/Regular Expressions (JavaScriptNext).YAML-tmLanguage
new file mode 100644
index 0000000..11233e0
--- /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..faa4f1e
--- /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..e0d1969
--- /dev/null
+++ b/Symbol List Function.YAML-tmPreferences
@@ -0,0 +1,7 @@
+# [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
+settings:
+ showInSymbolList: '1'
+ symbolTransformation: s/\s+/ /g;
diff --git a/Symbol List Function.tmPreferences b/Symbol List Function.tmPreferences
new file mode 100644
index 0000000..4a59e75
--- /dev/null
+++ b/Symbol List Function.tmPreferences
@@ -0,0 +1,19 @@
+
+
+
+
+ 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
+ settings
+
+ showInSymbolList
+ 1
+ symbolTransformation
+ s/\s+/ /g;
+
+ uuid
+ B521FCF1-DDA6-4C69-8170-F6C2DE4C86CD
+
+
diff --git a/ss-es5.png b/screenshots/es5.png
similarity index 100%
rename from ss-es5.png
rename to screenshots/es5.png
diff --git a/ss-es6.png b/screenshots/es6.png
similarity index 100%
rename from ss-es6.png
rename to screenshots/es6.png