|
1 | 1 | # Julia Syntax Highlighting
|
2 | 2 |
|
| 3 | +The `JuliaSyntaxHighlighting` library serves as a small convenience package to |
| 4 | +syntax highlight Julia code using `JuliaSyntax` and `StyledStrings`. |
| 5 | + |
| 6 | +It is intended for use across the standard library, and the wider ecosystem. |
| 7 | + |
| 8 | +## Functions |
| 9 | + |
3 | 10 | ```@docs
|
4 | 11 | JuliaSyntaxHighlighting.highlight
|
5 | 12 | JuliaSyntaxHighlighting.highlight!
|
6 | 13 | ```
|
| 14 | + |
| 15 | +## Faces |
| 16 | + |
| 17 | +The `highlight`/`highlight!` methods work by applying custom faces to Julia |
| 18 | +code. As part of the standard library, these faces use privileged face names, of |
| 19 | +the form `julia_*`. These can be re-used in other packages, and customised with |
| 20 | +`faces.toml` configuration. |
| 21 | + |
| 22 | +!!! warning "Unstable faces" |
| 23 | + The particular faces used by `JuliaSyntaxHighlighting` are liable to change |
| 24 | + without warning in point releases. As the syntax highlighting rules are refined |
| 25 | + over time, changes should become less and less frequent though. |
| 26 | + |
| 27 | +The current set of faces, and their default values are as follows: |
| 28 | +- `julia_macro`: magenta |
| 29 | +- `julia_symbol`: magenta |
| 30 | +- `julia_singleton_identifier`: inherits from `julia_symbol` |
| 31 | +- `julia_type`: yellow |
| 32 | +- `julia_typedec`: bright blue |
| 33 | +- `julia_comment`: grey |
| 34 | +- `julia_string`: green |
| 35 | +- `julia_regex`: inherits from `julia_string` |
| 36 | +- `julia_backslash_literal`: magenta, inherits from `julia_string` |
| 37 | +- `julia_string_delim`: bright green |
| 38 | +- `julia_cmdstring`: inherits from `julia_string` |
| 39 | +- `julia_char`: inherits from `julia_string` |
| 40 | +- `julia_char_delim`: inherits from `julia_string_delim` |
| 41 | +- `julia_number`: bright magenta |
| 42 | +- `julia_bool`: inherits from `julia_number` |
| 43 | +- `julia_funcall`: cyan |
| 44 | +- `julia_broadcast`: bright blue, bold |
| 45 | +- `julia_builtin`: bright blue |
| 46 | +- `julia_operator`: blue |
| 47 | +- `julia_comparator`: inherits from `julia_operator` |
| 48 | +- `julia_assignment`: bright red |
| 49 | +- `julia_keyword`: red |
| 50 | +- `julia_parenthetical`: unstyled |
| 51 | +- `julia_unpaired_parenthetical`: inherit from `julia_error` and `julia_parenthetical` |
| 52 | +- `julia_error`: red background |
| 53 | +- `julia_rainbow_paren_1`: bright green, inherits from `julia_parenthetical` |
| 54 | +- `julia_rainbow_paren_2`: bright blue, inherits from `julia_parenthetical` |
| 55 | +- `julia_rainbow_paren_3`: bright red, inherits from `julia_parenthetical` |
| 56 | +- `julia_rainbow_paren_4`: inherits from `julia_rainbow_paren_1` |
| 57 | +- `julia_rainbow_paren_5`: inherits from `julia_rainbow_paren_2` |
| 58 | +- `julia_rainbow_paren_6`: inherits from `julia_rainbow_paren_3` |
| 59 | +- `julia_rainbow_bracket_1`: blue, inherits from `julia_parenthetical` |
| 60 | +- `julia_rainbow_bracket_2`: bright_magenta, inherits from `julia_parenthetical` |
| 61 | +- `julia_rainbow_bracket_3`: inherits from `julia_rainbow_bracket_1` |
| 62 | +- `julia_rainbow_bracket_4`: inherits from `julia_rainbow_bracket_2` |
| 63 | +- `julia_rainbow_bracket_5`: inherits from `julia_rainbow_bracket_1` |
| 64 | +- `julia_rainbow_bracket_6`: inherits from `julia_rainbow_bracket_2` |
| 65 | +- `julia_rainbow_curly_1`: bright yellow, inherits from `julia_parenthetical` |
| 66 | +- `julia_rainbow_curly_2`: yellow, inherits from `julia_parenthetical` |
| 67 | +- `julia_rainbow_curly_3`: inherits from `julia_rainbow_curly_1` |
| 68 | +- `julia_rainbow_curly_4`: inherits from `julia_rainbow_curly_2` |
| 69 | +- `julia_rainbow_curly_5`: inherits from `julia_rainbow_curly_1` |
| 70 | +- `julia_rainbow_curly_6`: inherits from `julia_rainbow_curly_2` |
0 commit comments