System Style
The bootstrap styles, applied directly by the virtual machine or endorsed standard library.
Author
Leslie Schultz
Todd L Smith
Entries
The characters and whitespace that define the boundaries and sections of an Avail code block. Note that Avail block delimiters ( and ) are not usually part of an enveloping expression; this contrasts with other programming languages that require parentheses around an if condition and/or braces around the then block. In these languages, the delimiters are part of the expression itself. In Avail, certain contexts may accept either a single compact expression or an entire delimited block to evaluate to a single value, so the delimiters are always interpreted as part of the contents, and not part of the context.
The characters and whitespace that signal a method is being defined, excluding the method name and definition block.
The code establishing a method name, or identifying the structure of a method call within a string literal used as part of a method name (i.e. method name metacharacters). In Avail code, methods may be named using any string- or atom-valued expression. In practice, it would make little sense to style an expression or block used to calculate a method name in a special way just because it is used inline in a method definition, so for the purposes of styling, only string literals, atom literals, atom creation sends that embed a string literal, and uses of single string or atom variables or constants will be classified this way. When a lexical element is classified as a METHOD_NAME, that style is applied to all characters that are outside the string literal AND all method name metacharacters that are inside the string literal, including the meta-escape-character ` but not the characters being escaped.
The name of a parameter being declared. Does not include its type or value.
The usage of a parameter.
The elements of a method name that indicate that method is being called, but not any arguments being passed.
The elements of a macro name that indicate that macro is being called, but not any arguments being passed.
The type annotation within a definition, whenever the defined element is phrase-valued.
The header keywords that appear in the header of a module.
The entire module header, including whitespace and comments.
A module entry point, i.e., a string literal within a module header Entries section.
Documentation blocks, including delimiters and documentation tag contents.
The name of a module constant at its definition site.
A use of a module constant.
The name of a module variable at its definition site.
A use of a module variable.
The name of a primitive failure reason constant at its definition site.
A use of a primitive failure reason constant.
The name of a local constant at its definition site.
A use of a local constant.
The name of a local variable at its definition site.
A use of a local variable.
The label that identifies the enclosing continuation.
A string literal, excluding quotation marks around it. Does not include escape sequences.
A string escape sequence, including both the escape character \ and the character(s) that follow it that are being escaped. All escape sequences are styled similarly, even \\ and \", which serve to mark the escape character \ and the delimiter " as actual characters within the string. Also used for delimiting quotes.
A numeric literal, including digits, punctuation, and numeric control characters that indicate base or format (such as 0x, f, e, etc.).
A boolean literal (true or false).
A character literal, including delimiters.
An atom literal, including delimiters. May be overridden if more contextual information is available about the atom's function, e.g., if it serves as a method name, object type field, etc.
A literal of some other Avail datatype than string, number, boolean, character, or atom.
The characters and whitespace that signal a grammatical restriction is being defined for a method or macro, excluding the name and definition block.
The characters and whitespace that signal a special object is being bound or accessed, excluding any literals (like name or ordinal).
The optional primitive name in a block.
The return value of a block.
Properties
Functions
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Returns an array containing the constants of this enum type, in the order they're declared.