View this document inside of a text editor with hex colour highlighting support, otherwise you won't be able to see the colours in each sub-heading. For vscode, the colorize extension is a good one.
- s:
represent Semantic Highlighting scopes.- tm:
represent TextMate scopes.
- s: "newOperator" -
new
- s: "keyword"
- tm: "keyword"
- tm: "storage.modifier" -
mut
keyword - tm: "storage.type.rust" -
enum
andstruct
declarations,let
keyword
- s: "plainKeyword"
- s: "controlKeyword"
- tm: "keyword"
- tm: "storage.modifier.cs" -
public
,static
,override
etc.
- tm: "keyword"
- tm: "keyword.operator.new.js" -
new
- tm: "keyword.operator.ternary.js" =
?
,:
- tm: "keyword.control.import.js" -
import
- tm: "keyword.control.as.js" -
as
- tm: "keyword.control.from.js" -
from
- tm: "variable.language.this.js" -
this
- tm: "storage.type.js" -
var
,const
,let
- tm: "constant.language.null.js"
- tm: "constant.language.undefined.js"
- tm: "keyword"
- tm: "keyword.operator.new.ts" -
new
- tm: "keyword.operator.ternary.ts" -
?
,:
- tm: "keyword.operator.expression.typeof.ts" -
typeof
- tm: "keyword.operator.expression.of.ts" -
of
- tm: "keyword.operator.expression.in.ts" -
in
- tm: "keyword.operator.expression.instanceof.ts" -
instanceof
- tm: "keyword.operator.expression.is.ts" -
is
- tm: "keyword.operator.expression.keyof.ts" -
keyof
- tm: "keyword.operator.expression.infer.ts" -
keyof
- tm: "keyword.control.import.ts" -
import
- tm: "keyword.control.as.ts" -
as
- tm: "keyword.control.from.ts" -
from
- tm: "keyword.control.export.ts" -
export
- tm: "storage.type.ts" -
var
,const
,let
,constructor
- tm: "storage.type.class.ts" -
class
- tm: "storage.type.enum.ts" -
enum
- tm: "storage.type.interface.ts" -
interface
- tm: "storage.type.namespace.ts" -
namespace
- tm: "storage.type.function.ts" -
function
- tm: "storage.type.function.arrow.ts" -
=>
- tm: "storage.type.numeric.bigint.ts" -
n
numeric suffix - tm: "storage.type.property.ts" -
get
,set
- tm: "storage.modifier.ts" -
implements
,static
,public
,private
,extends
,readonly
,declare
,protected
,abstract
- tm: "storage.modifier.async.ts" -
async
- tm: "constant.language.null.ts" -
null
- tm: "constant.language.undefined.ts" -
undefined
- s: "selfKeyword"
- tm: "variable.language.self.rust"
- s: "plainKeyword"
- tm: "keyword.other.this.cs"
- tm: "variable.language.this.js"
- tm: "variable.language.this.ts" -
this
- tm: "variable.language.super.ts" -
super.
,super()
- s: "type"
- s: "builtinType"
- tm: "entity.name.type.numeric.rust" - All number types like
u32
etc. - tm: "entity.name.type.primitive.rust" -
char
,str
,bool
- s: "plainKeyword"
- tm: "keyword.type.cs"
- tm: "support.type.primitive.js"
- tm: "support.type.primitive.ts" -
number
,string
,boolean
,any
,bigint
,never
,void
,unknown
- tm: "support.type.builtin.ts" -
undefined
,object
,null
- s: "punctuation"
- tm: "punctuation"
- s: "parenthesis"
- s: "brace"
- s: "bracket"
- s: "angle"
- s: "colon"
- s: "semicolon"
- s: "comma"
- tm: "meta.brace.round.js" - For some reason not all braces/brackets have the punctuation token
- tm: "meta.brace.square.js" - see above
- tm: "meta.brace.round.ts" - see above
- tm: "meta.brace.square.ts" - see above
- tm: "keyword.operator.optional.ts" -
?
⚠ This is not styled like the rust question mark because this is always used as part of?:
, and vscode currently doesn't support mutliple colours in a single glyph which will be the case if you have a font with ligatures. - tm: "keyword.operator.rest.ts" -
...
- s: "operator"
- tm: "keyword.operator"
- s: "arithmetic"
- s: "comparison"
- s: "logical"
- s: "bitwise"
- tm: "keyword.operator"
- s: "function"
- tm: "entity.name.function.rust" ⚠ Cannot differentiate between functions and enum tuple variants. Cannot differentiate static functions from object methods.
- s: "member.static"
- tm: "entity.name.function.cs" ⚠ Cannot differentiate static methods from object methods.
- s: "function"
- tm: "entity.name.function.js"
- s: "function"
- tm: "entity.name.function.ts"
- s: "method"
- tm: "entity.name.function.rust"
- s: "member"
- tm: "entity.name.function.cs"
- s: "member"
- tm: "entity.name.function.ts"
- s: "namespace"
- tm: "entity.name.namespace.rust"
- s: "namespace"
- tm: "entity.name.type.namespace.cs" - ⚠ (Only for the using/namespace statements) Cannot differentiate namespaces, in function bodies, from other local variables.
- s: "namespace" - Only in code, not in imports header.
- s: "struct"
- s: "enum"
- s: "union"
- s: "typeAlias"
- tm: "entity.name.type.rust" - Actual typename references
- tm: "entity.name.type.struct.rust" - Struct declaration
- tm: "entity.name.type.enum.rust" - Enum declaration
- tm: "entity.name.type.union.rust" - Union declaration
- tm: "entity.name.type.declaration.rust" - Type alias declaration
- s: "class"
- s: "struct"
- s: "enum"
- tm: "storage.type.cs" - Actual typename references
- tm: "entity.name.type.class.cs" - Class declaration
- tm: "entity.name.type.struct.cs" - Struct declaration
- tm: "entity.name.type.enum.cs" - Enum declaration
- s: "class"
- tm: "entity.name.type.class.js" - Class declaration (⚠ Cannot differentiate between classes and functions outside of the class declaration).
- tm: "support.class.builtin.js" - Classes from the std lib
- tm: "support.class.component.js" - React "classes" (types)
- s: "class - Types defined using
class
. - s: "enum" - Types defined using
enum
. - s: "type" - Types defined using
type
. - s: ".defaultLibrary" - Defined in the std lib
- tm: "entity.name.type.class.ts" - Class declaration only (⚠ Cannot differentiate between classes and functions outside of the class declaration).
- s: "enumMember"
- s: "boolean"
- tm: "constant.language.bool.rust"
- tm: "support.enum.core.rust"
- tm: "entity.name.type.option.rust"
- tm: "entity.name.type.result.rust"
- s: "enumMember"
- tm: "entity.name.variable.enum-member.cs" - Enum variant declarations only.
- tm: "constant.language.boolean.true.cs"
- tm: "constant.language.boolean.false.cs"
- tm: "constant.language.boolean.true.js"
- tm: "constant.language.boolean.false.js"
- s: "enumMember"
- tm: "variable.other.enummember.ts" - Enum variant declarations only.
- tm: "constant.language.boolean.true.ts"
- tm: "constant.language.boolean.false.ts"
- s: "interface"
- tm: "entity.name.type.trait.rust" - Trait declaration only
- s: "interface"
- tm: "entity.name.type.interface.ts" - Interface declaration only
- s: "typeParameter"
- s: "typeParameter"
- tm: "entity.name.type.type-parameter.cs" - In object declaration only.
- s: "typeParameter"
- s: "variable"
- tm: "variable.other.rust" - ⚠ Cannot differentiate between variables and parameters/members
- s: "local"
- tm: "entity.name.variable.local.cs" - Only for declarations, not later uses
- tm: "variable.other.readwrite.cs" - For later uses.
- s: "variable"
- tm: "variable.other.readwrite.js"
- s: "variable"
- tm: "variable.other.readwrite.ts"
- s: "parameter"
- s: "parameter"
- tm: "entity.name.variable.parameter.cs" - Only for declarations in function header, not uses
- s: "parameter"
- tm: "variable.parameter.js" - Only highlights within the function definition.
- s: "parameter"
- tm: "variable.parameter.ts" - Only highlights within the function definition.
- s: "property"
- s: "field"
- tm: "entity.name.variable.field.cs" - Only for declarations within class.
- tm: "variable.other.object.property.cs" - Incorrectly highlights static objects in namespace paths.
- s: "property" - Only applies to static values inside a class.
- tm: "variable.other.property.js"
- s: "property"
- tm: "variable.object.property.ts" - Only inside class declarations.
- tm: "variable.other.property.ts" - Accessing through the dot notation, i.e.
obj.something
- s: "*.constant"
- tm: "constant.other.caps.rust"
- s: "variable.static" - Declarations of
const
. - s: "variable.readonly" - Later uses of the variable.
- tm: "constant.language.null.cs"
- s: "variable.readonly"
- tm: "variable.other.constant.js - Only applies to the declaration.
- s: "variable.readonly"
- tm: "variable.other.constant.ts" - Only applies to the declaration.
- s: "string"
- tm: "string.quoted.double.rust"
- tm: "punctuation.definition.string.rust"
- s: "string"
- tm: "string.quoted.double.cs"
- tm: "punctuation.definition.string.begin.cs"
- tm: "punctuation.definition.string.end.cs"
- tm: "string.quoted.single.js"
- tm: "string.quoted.double.js"
- tm: "string.template.js"
- tm: "punctuation.definition.string.begin.js"
- tm: "punctuation.definition.string.end.js"
- tm: "punctuation.definition.string.template.begin.js"
- tm: "punctuation.definition.string.template.end.js"
- tm: "string.quoted.single.ts"
- tm: "string.quoted.double.ts"
- tm: "string.template.ts"
- tm: "punctuation.definition.string.begin.ts"
- tm: "punctuation.definition.string.end.ts"
- tm: "punctuation.definition.string.template.begin.ts"
- tm: "punctuation.definition.string.template.end.ts"
- s: "stringVerbatim" -
@"..."
- s: "escapeSequence"
- tm: "constant.character.escape.rust"
- tm: "constant.character.escape.cs"
- tm: "constant.character.escape.js"
- tm: "constant.character.escape.ts"
- s: "formatSpecifier"
- tm: "meta.interpolation.rust"
- tm: "punctuation.definition.interpolation.rust
- tm: "punctuation.definition.interpolation.begin.cs"
- tm: "punctuation.definition.interpolation.end.cs"
- tm: "punctuation.definition.template-expression.begin.js"
- tm: "punctuation.definition.template-expression.end.js"
- tm: "punctuation.definition.template-expression.begin.ts"
- tm: "punctuation.definition.template-expression.end.ts"
- s: "character"
- tm: "string.quoted.single.char.rust"
- tm: "punctuation.definition.char.rust"
- tm: "string.quoted.single.cs"
- tm: "punctuation.definition.char.begin.cs"
- tm: "punctuation.definition.char.end.cs"
- s: "number"
- tm: "constant.numeric.decimal.rust"
- tm: "punctuation.separator.dot.decimal.rust",
- tm: "constant.numeric.bin.rust"
- tm: "constant.numeric.hex.rust"
- tm: "constant.numeric.oct.rust"
- s: "number"
- tm: "constant.numeric.decimal.cs"
- tm: "constant.numeric.binary.cs"
- tm: "constant.numeric.hex.cs"
- tm: "constant.numeric.decimal.js"
- tm: "constant.numeric.binary.js"
- tm: "constant.numeric.hex.js"
- tm: "constant.numeric.octal.js"
- tm: "constant.numeric.decimal.ts"
- tm: "constant.numeric.binary.ts" -
0b...
- tm: "constant.numeric.hex.ts" -
0x...
- tm: "constant.numeric.octal.ts" -
0o...
- tm: "constant.language.nan.ts" -
NaN
- s: "comment"
- tm: "comment"
- s: "comment"
- s: "comment.documentation.cs"
- tm: "comment.line.double-slash.cs"
- tm: "comment.block.cs"
- tm: "comment.block.js"
- tm: "comment.block.documentation.js"
- tm: "comment.line.double-slash.js"
- tm: "comment.block.ts"
- tm: "comment.block.documentation.ts"
- tm: "comment.line.double-slash.ts"
- s: "attributeBracket.attribute" - The
#[
and]
- s: "builtinAttribute.attribute" -
inline
,cfg
,allow
, etc. - s: "toolModule.attribute" - All things
rustfmt
- s: "decorator.attribute" -
derive
- s: "derive.attribute" - The actual derives, such as
Clone
,Eq
, etc. - s: "generic.attribute" - Attribute args, such as
debug_assertions
oralways
- s: "parenthesis.attribute" - The
( )
- tm: "meta.attribute.rust" - General, including things like
inline
,cfg
, etc. - tm: "meta.attribute.rust punctuation.definition.attribute.rust" - The
#
- tm: "meta.attribute.rust punctuation.brackets.attribute.rust" - The
[
and]
- tm: "meta.attribute.rust punctuation.brackets.round.rust" - The
( )
- tm: "meta.attribute.rust entity.name.type.rust" - The actual derives Not used:
- s: "operator.attribute" The
::
inrustfmt::skip
for example. - s: "punctuation.attribute" The
( )
, but also things like commas,
. - tm: "meta.attribute.rust punctuation.comma.rust"
- tm: "meta.attribute.rust keyword.operator.namespace.rust" The
::
- s: "unresolvedReference"
- tm: "invalid.illegal"
- s: "*.reference"
- "variable.reference" - Reference to a variable.
- "method.reference" - Method which takes
&self
. - "parameter.reference" - Parameter of type
&T
. - "selfKeyword.reference" -
&self
.
- s: "*.mutable"
- "variable.mutable" - Mutable variable.
- "method.mutable" - Method which takes
mut self
. - "parameter.mutable" - Parameter of type
mut T
. - "selfKeyword.mutable" -
mut self
.
- s: "*.mutable.reference"
- "variable.mutable.reference" - Mutable reference to a variable.
- "method.mutable.reference" - Method which takes
&mut self
. - "parameter.mutable.reference" - Parameter of type
&mut T
. - "selfKeyword.mutable.reference" -
&mut self
.
- s: "operator.controlFlow"
- tm: "keyword.operator.misc.question-mark.rust"
- tm: "keyword.operator.question.rust"
- s: "lifetime"
- tm: "punctuation.definition.lifetime.rust"
- tm: "entity.name.type.lifetime.rust"
- tm: "storage.modifier.lifetime.rust"
- s: "label"
- s: "*.unsafe"
- s: "keyword.unsafe" -
unsafe
Bold underline
- tm: "variable.other.metavariable.specifier.rust"
- No way to colour enum variants (empty enum variants appear like types and tuple enum variants appear like functions).
- No way to colour trait constrains in generics.
- No way to colour labels.
- No support for distinguishing mutability, referencing, etc.
- Only partial support for attributes.
- No support for object members or function parameters.
- No support for any unsafe highlighting.
- s: "member.static"
- s: "class.static"
- s: "field.static"
- s: "property"
- s: "property.static"
- s: "xmlDocCommentName" -
<summary> ...
- s: "xmlDocCommentDelimiter" -
</para>
- tm: "entity.name.tag.cs" -
summary
- tm: "comment.block.documentation.cs punctuation.definition.tag.cs" -
<
,/>
- tm: "comment.block.documentation.cs punctuation.separator.equals.cs" -
..=..
- s: "xmlDocCommentAttributeName"
- tm: "entity.other.attribute-name.cs"
- s: "xmlDocCommentAttributeQuotes" -
="...."
- s: "xmlDocCommentAttributeValue" -
...="..."
- s: "xmlDocCommentText"
- tm: "comment.block.documentation.cs"
- No way to differentiate base classes from inherited classes.
- No way to colour booleans since they get overridden by the semantic "plainKeyword" token.
- No distinction between character strings
''
and proper strings""
. - No support for attributes.
- No support for "unresolved" symbols.
- No way to colour string interpolation delimiters.
- No support for enum members.
- No support for constants.
- No support for static functions or classes.
- Syntax highlighting can get confused between object fields and namespace paths.
- No distinction between parameters and local variables inside of function bodies.
- No distinction between fields and properties.
- No distinction between classes and inherited classes.
The official powershell language extension does not support semantic highlighting, but even within the traditional 'Textmate' highlighting, it lacks a number of scopes which makes the results look a bit primitive and basic in places.
Keywords #F767BB #f85eb4
- "keyword.control.powershell" -
if
,foreach
,param
,return
, etc. - "storage.type.powershell" -
function ... {}
- "keyword.operator.comparison.powershell" -
-eq
,-gt
, etc. - "keyword.operator.logical.powershell" -
-not
Classes/Built-in types #F767BB #f85eb4
- "storage.type.powershell" -
char
,string
,System.Collections.Generic.List
, etc.
Operator/Punctuation #777777 #828da0
- "keyword.operator"
Cmdlet/Functions #09A1ED #10b1fe
- "support.function.powershell" -
Get-Item
, etc.
Variables #2DAE58 #3fc56b
- "variable.other.readwrite.powershell" -
$variableName
- "punctuation.definition.variable.powershell" - The
$
beforehand
Variable Scopes #2DAE58 #3fc56b (underlined)
- "storage.modifier.scope.powershell" -
global:
,script:
, etc.
Storage Scopes #2DAE58 #3fc56b (underlined)
- "support.variable.drive.powershell" -
env:
,Temp:
, etc.
Special/Built-In Variables #cd6bf4 #d177f5
- "support.variable.automatic.powershell" - The
$_
in loops for example - "support.variable.automatic.powershell punctuation.definition.variable.powershell" - The
$
beforehand - "variable.language.powershell" - Built-in variables, e.g.
$WhatIfPreference
- "variable.language.powershell punctuation.definition.variable.powershell" - The
$
beforehand
Members/Methods #a8759a #b58e95
- "variable.other.member.powershell" -
.something
Constants/Booleans #13BBB7 #15c9c5
- "constant.language.powershell" -
true
,false
,null
, etc. - "constant.language.powershell punctuation.definition.variable.powershell" - The
$
beforehand - "support.constant.variable.powershell" - Things like
$Host
, etc. - "support.constant.variable.powershell punctuation.definition.variable.powershell" - The
$
beforehand
Strings #CF9C00 #f9c859
- "string.quoted.double.powershell"
- "string.quoted.single.powershell"
- "punctuation.definition.string.begin.powershell"
- "punctuation.definition.string.end.powershell"
Escape characters #FF5C57 #ff6b66
- "constant.character.escape.powershell" -
`a
String Interpolation $(...)
#cd6bf4 #d177f5
- "punctuation.section.embedded.substatement.begin.powershell"
- "punctuation.section.embedded.substatement.end.powershell"
Number Literals #FF5C57 #ff6b66
- "constant.numeric.integer.powershell"
- "constant.numeric.hex.powershell"
- "constant.numeric.octal.powershell"
Attributes #FF5C57 #ff6b66
- "support.function.attribute.powershell" -
[Parameter ...]
- "variable.parameter.attribute.powershell" -
[... Position ...]
Comments #ADB1C2 #636d83
- "comment.line.powershell" -
# ...
Comment Keywords #565869 #b9bfca
- "keyword.operator.documentation.powershell" -
.SYNOPSIS ...
- No way to differentiate between function declaration and type/class, hence why types are in pink rather than green.
- No way to colour booleans.
- No support for differentiation between built-in types and classes.
- No support for parameters, e.g.
-Path
. - No support for pipe
|
.
HTML/Css/Scss only support textmate highlighting.
- "entity.name.tag.html"
- "entity.name.tag.css"
- "meta.attribute.class.html"
- "entity.other.attribute-name.class.css"
- "meta.attribute.id.html"
- "entity.other.attribute-name.id.css"
- "entity.other.attribute-name.html"
- "entity.other.attribute-name.css" - The "type" in
input[type="radio"]
- "string.quoted.double.html"
- "meta.attribute-selector.css string.quoted.double.css"
- "meta.attribute.href.html"
- "meta.attribute.src.html"
- "meta.attribute.unrecognized.xmlns.html"
- "meta.embedded.line.css"
- "punctuation.definition.string.begin.html"
- "punctuation.definition.string.end.html"
- "support.type.property-name.css"
- "meta.property-name.css"
- "meta.property-name.scss"
- "support.type.property-name.media.css"
- "string.quoted.double.css"
- "string.quoted.double.scss"
- "string.quoted.single.css"
- "string.quoted.single.scss"
- "support.constant.font-name.css"
- "constant.numeric.css"
- "keyword.other.unit.rem.css"
- "keyword.other.unit.em.css"
- "keyword.other.unit.ex.css"
- "keyword.other.unit.ch.css"
- "keyword.other.unit.vw.css"
- "keyword.other.unit.vh.css"
- "keyword.other.unit.vmin.css"
- "keyword.other.unit.vmax.css"
- "keyword.other.unit.percentage.css"
- "keyword.other.unit.mm.css"
- "keyword.other.unit.in.css"
- "keyword.other.unit.px.css"
- "keyword.other.unit.pt.css"
- "keyword.other.unit.pc.css"
- "keyword.other.unit.deg.css"
- "constant.other.scss"
- "support.constant.property-value.css"
- "entity.other.attribute-name.pseudo-class.css"
- "entity.other.attribute-name.pseudo-element.css"
- "variable.css"
- "variable.argument.css"
- "variable.scss"
- "support.function.misc.css"
- "support.function.misc.scss"
- "keyword.operator.logical.and.media.css"
- "keyword.operator.logical.not.media.css"
- "keyword.operator.logical.only.media.css"
- "support.constant.media.css"
- "entity.name.tag.reference.scss" -
&
- "punctuation.definition.keyword.scss" -
@
- "keyword.control.at-rule.include.scss" -
@
- "entity.name.tag.wildcard.scss" -
*
- tm: "constant.other.character-class.regexp"
- tm: "keyword.operator.quantifier.regexp"
- tm: "keyword.control.anchor.regexp"
- tm: "punctuation.definition.look-ahead.regexp"
- tm: "meta.assertion.look-ahead.regexp"
- tm: "meta.group.assertion.regexp"
- tm: "punctuation.definition.group.regexp"
- tm: "punctuation.definition.group.no-capture.regexp"
- tm: "punctuation.section.embedded.begin.js"
- tm: "punctuation.section.embedded.end.js"
- tm: "entity.other.attribute-name.js"
- Distinction between methods and functions only applies within classes; outside, a method is treated the same as a function, so there is no highlighting difference.
- Distinction between constants is pointless since constants are used differently in javascript compared to most languages, i.e. declaring a value or function as
const
is very common. - No way to differentiate between class constructor calls and function calls.
- No support for parameter highlighting inside of the function body.
- s: "method.static"
- s: "property.static"
- Distinction between constants is pointless since constants are used differently in javascript compared to most languages, i.e. declaring a value or function as
const
is very common. - No way to differentiate between class constructor calls and function calls.
- No support for parameter highlighting inside of the function body.
- No support for static functions or members.
- No way to differentiate enum variants from object members outside of their declarations.
- No support for interface usage.
XML only supports textmate highlighting; it has no semantic highlighting.
- "entity.name.tag.xml" - Global xml tags?
- "entity.name.tag.localname.xml" - Normal xml tags
- "entity.other.attribute-name.html"
- "entity.other.attribute-name.localname.html"
- "string.quoted.double.xml"
- "string.quoted.single.xml"
- "variable.language.documentroot.xml"
- "entity.name.tag.namespace.xml" - Tags
- "entity.other.attribute-name.namespace.xml" - Attributes (italicised)
- "punctuation.definition.constant.xml" -
&...
- "constant.character.entity.xml"
- "comment.block.xml"
- "punctuation.definition.comment.xml"
- "punctuation.definition.string.begin.xml"
- "punctuation.definition.string.end.xml"
Markdown only supports textmate highlighting; it has no semantic highlighting.
For markdown "traditonal"
and "mutedPlaintext"
styles, any control characters (e.g. *
, `
) are styled the same as the text they surround. This is different from markdown "alternate"
and asciidoc where the control characters are grayed-out.
Root: text.html.markdown
when inside of a markdown file
<none>
- inline
markup.bold.markdown
, includes the actual bold textpunctuation.definition.bold.markdown
, the**
- inline
markup.italic.markdown
, includes the actual italic textpunctuation.definition.italic.markdown
, the*
- inline
markup.strikethrough.markdown
, includes the actual strikethrough textpunctuation.definition.strikethrough.markdown
, the~~
- inline
markup.inline.raw.string.markdown
, includes the actual raw textpunctuation.definition.raw.markdown
, the`
Url $inline Link #cd6bf4 #d177f5 #bd86d3 (underline) and Title #8cba10 #9acc12 #b8bb26 and Description #CF9C00 #F9C859 #fabd2f
meta.link.email.lt-gt.markdown
, a<mailto:foo@bar.com>
punctuation.definition.link.markdown
, the<
and>
markup.underline.link.markdown
, the actual url text
meta.link.inet.lt-gt.markdown
, a<https://foo.com>
or<ftp://bar.net>
punctuation.definition.link.markdown
, the<
and>
markup.underline.link.markdown
, the actual url text
meta.link.inline.markdown
, a[foo](bar "baz")
punctuation.definition.link.title.begin.markdown
, the[
string.other.link.title.markdown
, the title within square bracketspunctuation.definition.link.title.end.markdown
, the]
punctuation.definition.metadata.markdown
, the(
and)
markup.underline.link.markdown
, the actual url textstring.other.link.description.title.markdown
, the description textpunctuation.definition.string.begin.markdown
, the"
,'
or(
punctuation.definition.string.end.markdown
, the"
,'
or)
meta.link.reference.markdown
, a[foo][1]
punctuation.definition.link.title.begin.markdown
, the[
string.other.link.title.markdown
, the titlepunctuation.definition.link.title.end.markdown
, the]
punctuation.definition.constant.begin.markdown
, the[
constant.other.reference.link.markdown
, the referencepunctuation.definition.constant.end.markdown
, the]
meta.link.reference.def.markdown
punctuation.definition.constant.markdown
, the[
and]
constant.other.reference.link.markdown
, the reference titlepunctuation.separator.key-value.markdown
, the:
markup.underline.link.markdown
, if the text is a url
meta.image.inline.markdown
, a
punctuation.definition.link.description.begin.markdown
, the![
string.other.link.description.markdown
, the image titlepunctuation.definition.link.description.end.markdown
, the]
punctuation.definition.metadata.markdown
, the(
and)
markup.underline.link.image.markdown
, the actual url textstring.other.link.description.title.markdown
, the description textpunctuation.definition.string.begin.markdown
, the"
,'
or(
punctuation.definition.string.end.markdown
, the"
,'
or)
meta.image.reference.markdown
, a![image][1]
punctuation.definition.link.description.begin.markdown
, the![
string.other.link.description.markdown
, the image titlepunctuation.definition.link.description.end.markdown
, the]
punctuation.definition.constant.markdown
, the[
and]
constant.other.reference.link.markdown
, the reference
constant.character.escape.markdown
markup.math.inline.markdown
/markup.math.block.markdown
punctuation.definition.math.begin.markdown
, the$
punctuation.definition.math.end.markdown
, the$
meta.embedded.math.markdown
, the actual math textconstant.numeric.math.tex
, numbers4
,1.0
markup.heading.markdown
heading.$x.markdown
, where1 <= $x <= 6
punctuation.definition.heading.markdown
, the#
,##
, etc.entity.name.section.markdown
, the actual heading text
markup.heading.setext.1.markdown
, a heading by underlining with=
markup.heading.setext.2.markdown
, a heading by underlining with-
markup.fenced_code.block.markdown
punctuation.definition.markdown
, the```
fenced_code.block.language.markdown
, the languagefenced_code.block.language.attributes.markdown
, anything after the languagemeta.embedded.block.$x
, where$x
is the language
markup.raw.block.markdown
markup.quote.markdown
punctuation.definition.quote.begin.markdown
, the>
meta.paragraph.markdown
, the actual quote paragraph text
meta.separator.markdown
markup.list.numbered.markdown
punctuation.definition.list.begin.markdown
, the1.
,1)
markup.list.unnumbered.markdown
punctuation.definition.list.begin.markdown
, the-
,*
,+
markup.table.markdown
, all text within tablepunctuation.definition.table.markdown
, the|
punctuation.separator.table.markdown
, the-
,:
See HTML styles.
See HTML styles.
JSON only supports textmate highlighting; it has no semantic highlighting.
- "support.type.property-name.json"
- "string.quoted.double.json"
- "constant.numeric.json"
- "constant.language.json"
- "comment"
- "comment.line.double-slash.js"
- "comment.block.json"
- "punctuation.definition.string.begin.json"
- "punctuation.definition.string.end.json"
- "punctuation.support.type.property-name.begin.json"
- "punctuation.support.type.property-name.end.json"
YAML only supports textmate highlighting; it has no semantic highlighting.
- "entity.name.tag.yaml"
- "string.unquoted.plain.out.yaml"
- "string.unquoted.block.yaml"
- "punctuation.definition.string.begin.yaml"
- "punctuation.definition.string.end.yaml"
- "string.quoted.single.yaml"
- "string.quoted.double.yaml"
- "constant.numeric.integer.yaml"
- "constant.numeric.float.yaml"
- "constant.language.boolean.yaml"
- "constant.other.timestamp.yaml"
- "constant.language.null.yaml"
- "storage.type.tag-handle.yaml"
- "entity.name.type.anchor.yaml"
- "punctuation.definition.anchor.yaml"
- "variable.other.alias.yaml"
- "keyword.control.flow.alias.yaml punctuation.definition.alias.yaml"
- "constant.character.escape.yaml"
- "punctuation.definition.comment.yaml"
- "comment.line.number-sign.yaml"
TOML has some support for semantic highlighting.
- tm: "keyword.key.toml",
- tm: "support.type.property-name.toml"
- tm: "string.quoted.single.basic.line.toml"
- tm: "string.quoted.single.literal.line.toml"
- tm: "string.quoted.triple.basic.block.toml"
- tm: "string.quoted.triple.literal.block.toml"
- tm: "constant.numeric.integer.toml"
- tm: "constant.numeric.float.toml"
- tm: "constant.numeric.bin.toml"
- tm: "constant.numeric.hex.toml"
- tm: "constant.numeric.oct.toml"
- tm: "constant.numeric.inf.toml"
- tm: "constant.numeric.nan.toml"
- tm: "constant.language.boolean.toml"
- tm: "constant.other.boolean.toml"
- tm: "constant.other.date.toml"
- tm: "constant.other.datetime.toml"
- tm: "constant.other.datetime-with-timezone.toml"
- tm: "constant.other.time.date.toml"
- tm: "constant.other.time.time.toml"
- tm: "constant.other.time.datetime.local.toml"
- tm: "constant.other.time.datetime.offset.toml"
- s: "tomlTableKey"
- tm: "entity.other.attribute-name.table.toml"
- tm: "support.type.property-name.table.toml"
- s: "tomlArrayKey"
- tm: "entity.other.attribute-name.table.array.toml"
- tm: "support.type.property-name.array.toml"
- tm: "constant.character.escape.toml"
- tm: "punctuation.definition.comment.toml"
- tm: "comment.line.number-sign.toml"
INI only supports textmate highlighting; it has no semantic highlighting.
- "keyword.other.definition.ini"
- "entity.name.section.group-title.ini"
- "string.quoted.single.ini"
- "string.quoted.double.ini"
- "punctuation.definition.string.begin.ini"
- "punctuation.definition.string.end.ini"
- "punctuation.definition.comment.ini"
- "comment.line.semicolon.ini"
- "comment.line.number-sign.ini"
BNF only supports textmate highlighting; it has no semantic highlighting.
- "entity.name.class.bnf"
- "string.quoted.double.bnf"
- "string.quoted.single.bnf"
- "support.variable.bnf"
- "comment.line.bnf"
- "comment.block.bnf"