VS Code token scopes
113 syntax scopes for tokenColors: the list VS Code suggests plus common scopes real grammars use, in 14 groups. A theme matches a scope selector to a foreground. This catalog lists the scope and what it marks. It does not include a default hex value.
comment
- comment
Comments.
- comment.block
Multi-line comments, such as /* … */.
- comment.block.documentation
Embedded documentation comments.
- comment.line
Line comments, such as // or #.
constant
- constant
Constants.
- constant.character
Character constants, such as a character literal.
- constant.character.escape
Escape sequences inside characters or strings.
- constant.numeric
Numeric constants.
- constant.numeric.integer
Integer constants.
- constant.numeric.float
Floating-point constants.
- constant.numeric.hex
Hexadecimal numeric constants.
- constant.numeric.octal
Octal numeric constants.
- constant.other
Other constants, such as colors in CSS.
- constant.other.placeholder
Format placeholders inside strings, such as %s or {0}.
- constant.regexp
Regular-expression constants.
- constant.rgb-value
RGB color values.
emphasis
- emphasis
Emphasized text.
entity
- entity
A named part of a larger construct, such as a function, type, or tag.
- entity.name
The name of a larger construct.
- entity.name.class
A class name.
- entity.name.function
The name of a function.
- entity.name.method
The name of a method.
- entity.name.namespace
The name of a namespace or module.
- entity.name.section
The name of a section or heading.
- entity.name.selector
A selector name.
- entity.name.tag
A tag name.
- entity.name.type
The name of a type declaration or class.
- entity.name.type.enum
The name of an enum declaration.
- entity.name.type.interface
The name of an interface declaration.
- entity.name.type.struct
The name of a struct declaration.
- entity.other
Other named entities.
- entity.other.attribute-name
An attribute name, mainly on tags.
- entity.other.inherited-class
A superclass or base class name.
invalid
- invalid
Text marked invalid.
- invalid.deprecated
Deprecated usage.
- invalid.illegal
Illegal text, such as a stray character in HTML.
keyword
- keyword
Keywords that do not fall into another group.
- keyword.control
Flow-control keywords, such as continue, while, and return.
- keyword.control.flow
Flow keywords, such as return, yield, await, and throw.
- keyword.operator
Textual or symbolic operators.
- keyword.operator.new
The new operator.
- keyword.operator.assignment
Assignment operators.
- keyword.operator.arithmetic
Arithmetic operators, such as +.
- keyword.operator.logical
Logical operators.
- keyword.other
Other keywords.
markup
- markup
Markup that applies to a larger span of text.
- markup.bold
Bold or strong text.
- markup.changed
Text marked as changed.
- markup.deleted
Deleted text.
- markup.heading
A section heading.
- markup.inline.raw
Inline verbatim text.
- markup.inserted
Inserted text.
- markup.italic
Italic or emphasized text.
- markup.list
List items.
- markup.list.numbered
Numbered list items.
- markup.list.unnumbered
Unnumbered list items.
- markup.other
Other markup.
- markup.quote
Quoted text.
- markup.raw
Verbatim text, such as a code listing.
- markup.underline
Underlined text.
- markup.underline.link
A link. Themes can inherit this from markup.underline.
meta
- meta
A larger region. The colored pieces inside it use other scopes.
- meta.block
A block region.
- meta.cast
A cast expression.
- meta.class
A class declaration region.
- meta.function
A function declaration region.
- meta.function-call
A function call.
- meta.preprocessor
A preprocessor region.
- meta.return-type
A return type.
- meta.selector
A selector region.
- meta.tag
A tag region.
- meta.type.annotation
A type annotation.
- meta.type
A type region.
punctuation
- punctuation.definition.bracket
Brackets, braces, and parentheses.
- punctuation.definition.comment
The comment characters, such as // or /*.
- punctuation.definition.string.begin
The opening punctuation of a string.
- punctuation.definition.string.end
The closing punctuation of a string.
- punctuation.separator
A separator, such as a comma.
- punctuation.separator.continuation
A line-continuation separator.
- punctuation.terminator
A statement terminator.
storage
- storage
Storage of a value, such as its type or a modifier.
- storage.modifier
A storage modifier, such as static, final, or abstract.
- storage.type
The type of a declaration, such as class, function, int, or var.
string
- string
Strings.
- string.interpolated
A string that is evaluated, such as a shell substitution.
- string.other
Other strings.
- string.quoted
Quoted strings.
- string.quoted.double
Double-quoted strings.
- string.quoted.other
Strings with another quoting style.
- string.quoted.single
Single-quoted strings.
- string.quoted.triple
Triple-quoted strings.
- string.regexp
Regular expression strings.
- string.template
Template literals, such as `…` in JavaScript.
- string.unquoted
Unquoted strings, such as here-docs.
strong
- strong
Strong text.
support
- support
Items provided by a framework or library.
- support.class
A class provided by a framework or library.
- support.constant
A constant provided by a framework or library.
- support.function
A function provided by a framework or library.
- support.other
Other framework or library items.
- support.type
A type provided by a framework or library.
- support.type.primitive
A primitive type provided by the language, such as string or int.
- support.type.property-name
A property name provided by a framework or library.
- support.variable
A variable provided by a framework or library.
variable
- variable
Variables.
- variable.function
A function referenced by a variable, at a call site.
- variable.language
Reserved language variables, such as this, super, and self.
- variable.name
A variable name.
- variable.other
Other variables.
- variable.other.constant
A variable that is constant after assignment.
- variable.other.property
A property of an object.
- variable.other.readwrite
A variable that is read and written.
- variable.parameter
A variable declared as a parameter.