Constant THEME_KEYS

Source
pub const THEME_KEYS: &[&str];
Expand description

All theme keys that are recognized by syntastica.

A Theme or ResolvedTheme should define styles for any subset of these.

View the full list
[
    "none",                        // completely disable the highlight

    // punctuation
    "punctuation.delimiter",       // delimiters (e.g. `;` / `.` / `,`)
    "punctuation.bracket",         // brackets (e.g. `()` / `{}` / `[]`)
    "punctuation.special",         // special symbols (e.g. `{}` in string interpolation)

    // literals
    "string",                      // string literals
    "string.documentation",        // string documenting code (e.g. Python docstrings)
    "string.regexp",               // regular expressions
    "string.escape",               // escape sequences
    "string.special",              // other special strings (e.g. dates)
    "string.special.symbol",       // symbols or atoms
    "string.special.url",          // URIs (e.g. hyperlinks)
    "string.special.path",         // filenames
    "character",                   // character literals
    "character.special",           // special characters (e.g. wildcards)
    "boolean",                     // boolean literals
    "number",                      // numeric literals
    "number.float",                // floating-point number literals

    // functions
    "function",                    // function definitions
    "function.builtin",            // built-in functions
    "function.call",               // function calls
    "function.macro",              // preprocessor macros
    "function.method",             // method definitions
    "function.method.call",        // method calls
    "constructor",                 // constructor calls and definitions
    "operator",                    // symbolic operators (e.g. `+` / `*`)

    // keywords
    "keyword",                     // keywords not fitting into specific categories
    "keyword.coroutine",           // keywords related to coroutines (e.g. `go` in Go, `async/await` in Python)
    "keyword.function",            // keywords that define a function (e.g. `func` in Go, `def` in Python)
    "keyword.operator",            // operators that are English words (e.g. `and` / `or`)
    "keyword.import",              // keywords for including or exporting modules (e.g. `import` / `from` in Python)
    "keyword.type",                // keywords describing namespaces and composite types (e.g. `struct`, `enum`)
    "keyword.modifier",            // keywords modifying other constructs (e.g. `const`, `static`, `public`)
    "keyword.repeat",              // keywords related to loops (e.g. `for` / `while`)
    "keyword.return",              // keywords like `return` and `yield`
    "keyword.debug",               // keywords related to debugging
    "keyword.exception",           // keywords related to exceptions (e.g. `throw` / `catch`)
    "keyword.conditional",         // keywords related to conditionals (e.g. `if` / `else`)
    "keyword.conditional.ternary", // ternary operator (e.g. `?` / `:`)
    "keyword.directive",           // various preprocessor directives & shebangs
    "keyword.directive.define",    // preprocessor definition directives

    // types
    "type",                        // type or class definitions and annotations
    "type.builtin",                // built-in types
    "type.definition",             // identifiers in type definitions (e.g. `typedef <type> <identifier>` in C)
    "attribute",                   // attribute annotations (e.g. Python decorators, Rust lifetimes)
    "attribute.builtin",           // builtin annotations (e.g. `@property` in Python)
    "property",                    // the key in key/value pairs

    // identifiers
    "variable",                    // various variable names
    "variable.builtin",            // built-in variable names (e.g. `this`)
    "variable.parameter",          // parameters of a function
    "variable.parameter.builtin",  // special parameters (e.g. `_`, `it`)
    "variable.member",             // object and struct fields
    "constant",                    // constant identifiers
    "constant.builtin",            // built-in constant values
    "constant.macro",              // constants defined by the preprocessor
    "module",                      // modules or namespaces
    "module.builtin",              // built-in modules or namespaces
    "label",                       // GOTO and other labels (e.g. `label:` in C), including heredoc labels

    // markup
    "markup.strong",               // bold text
    "markup.italic",               // italic text
    "markup.strikethrough",        // struck-through text
    "markup.underline",            // underlined text (only for literal underline markup!)
    "markup.heading",              // headings, titles (including markers)
    "markup.heading.1",            // top-level heading
    "markup.heading.2",            // section heading
    "markup.heading.3",            // subsection heading
    "markup.heading.4",            // and so on
    "markup.heading.5",            // and so forth
    "markup.heading.6",            // six levels ought to be enough for anybody
    "markup.quote",                // block quotes
    "markup.math",                 // math environments (e.g. `$ ... $` in LaTeX)
    "markup.link",                 // text references, footnotes, citations, etc.
    "markup.link.label",           // link, reference descriptions
    "markup.link.url",             // URL-style links
    "markup.raw",                  // literal or verbatim text (e.g. inline code)
    "markup.raw.block",            // literal or verbatim text as a stand-alone block
    "markup.list",                 // list markers
    "markup.list.checked",         // checked todo-style list markers
    "markup.list.unchecked",       // unchecked todo-style list markers
    "diff.plus",                   // added text (for diff files)
    "diff.minus",                  // deleted text (for diff files)
    "diff.delta",                  // changed text (for diff files)

    // comments
    "comment",                     // line and block comments
    "comment.documentation",       // comments documenting code
    "comment.error",               // error-type comments (e.g. `ERROR`, `FIXME`, `DEPRECATED`)
    "comment.warning",             // warning-type comments (e.g. `WARNING`, `FIX`, `HACK`)
    "comment.todo",                // todo-type comments (e.g. `TODO`, `WIP`)
    "comment.note",                // note-type comments (e.g. `NOTE`, `INFO`, `XXX`)

    // tags
    "tag",                         // XML-style tag names (and similar)
    "tag.builtin",                 // builtin tag names (e.g. HTML5 tags)
    "tag.attribute",               // XML-style tag attributes
    "tag.delimiter",               // XML-style tag delimiters
]

The list is based on the list from nvim-treesitter.