CSS classes reference

Stylable classes

The general purpose classes are intended to be used for any language, but the other classes may also be used when they are semantically correct. For example if you had a general purpose language that allowed inline URLs:

var GOOGLE = https://www.google.com/

It would be wholly reasonable to use the link class for this, even though your language is not considered a “Markup” language.

General purpose

keyword

keyword in a regular Algol-style language

built_in

built-in or library object (constant, class, function)

type

data type (in a language with syntactically significant types) (string, int, array, etc.)

literal

special identifier for a built-in value (true, false, null, etc.)

number

number, including units and modifiers, if any.

operator

operators: +, -, >>, |, ==

punctuation

aux. punctuation that should be subtly highlighted (parentheses, brackets, etc.)

regexp

literal regular expression

string

literal string, character

subst

parsed section inside a literal string

symbol

symbolic constant, interned string, goto label

class

class or class-level declaration (interfaces, traits, modules, etc), typically includes a title submode

function

function or method declaration

variable

variables

title

name of a class or a function at the place of declaration

params

block of function arguments (parameters) at the place of declaration

comment

comments

doctag

documentation markup within comments

Meta

meta

flags, modifiers, annotations, processing instructions, preprocessor directives, etc

meta-keyword

keyword or built-in within meta construct

meta-string

string within meta construct

Tags, attributes, configs

section

heading of a section in a config file, heading in text markup

tag

XML/HTML tag

name

name of an XML tag, the first word in an s-expression

builtin-name

s-expression name from the language standard library

attr

name of an attribute with no language defined semantics (keys in JSON, setting names in .ini), also sub-attribute within another highlighted object, like XML tag

attribute

name of an attribute followed by a structured value part, like CSS properties

Text Markup

bullet

list item bullet

code

code block

emphasis

emphasis

strong

strong emphasis

formula

mathematical formula

link

hyperlink

quote

quotation or blockquote

CSS

selector-tag

tag selector

selector-id

#id selector

selector-class

.class selector

selector-attr

[attr] selector

selector-pseudo

:pseudo selector

Templates

template-tag

tag of a template language

template-variable

variable in a template language

diff

addition

added or changed line

deletion

deleted line

A note on newer classes

Some classes have been added more recently and do not enjoy universal theme support. For themes without support, these items will simply not be highlighted. This doesn’t mean not to use them, only that they will be highlighted better as support improves over time.

A list of these classes:

  • operator

  • punctuation

Reserved classes

The below classes (ReasonML) are left here for documentation purposes but may not be used in other grammars because they are very poorly supported by all themes.

If you’d like to help out with the larger issue here:

ReasonML

pattern-match

pattern matching matchers

typing

type signatures on function parameters

constructor

type constructors

module-access

scope access into a module

module

module reference within scope access

Language names and aliases

The language names and aliases table has moved to SUPPORTED_LANGUAGES.md.