Module: reefvision.syntax
Source: ./reefvision/syntax.reef
Overview
Kate-style syntax coloring: TOML language files + theme roles. Unknown files stay LANG_NONE (plain). Multiline state is a context stack.
Types
SyntaxScheme
Fields:
| Name | Type |
|---|---|
name |
string |
bg |
cell.Color |
fg |
cell.Color |
keyword |
cell.Color |
type_fg |
cell.Color |
string_fg |
cell.Color |
comment |
cell.Color |
number |
cell.Color |
operator |
cell.Color |
function |
cell.Color |
preprocessor |
cell.Color |
variable |
cell.Color |
constant |
cell.Color |
alert |
cell.Color |
error |
cell.Color |
others |
cell.Color |
special |
cell.Color |
attribute |
cell.Color |
builtin |
cell.Color |
gutter_fg |
cell.Color |
gutter_bg |
cell.Color |
keyword_bold |
bool |
Rule
Fields:
| Name | Type |
|---|---|
kind |
int |
needle |
string |
list |
string |
attribute |
string |
next |
string |
Ctx
Fields:
| Name | Type |
|---|---|
name |
string |
attribute |
string |
line_end |
string |
rules |
[Rule] |
rule_n |
int |
Lang
Fields:
| Name | Type |
|---|---|
id |
string |
title |
string |
casesensitive |
bool |
extensions |
[string] |
ext_n |
int |
filenames |
[string] |
file_n |
int |
list_name |
[string] |
list_pack |
[string] |
list_n |
int |
item_name |
[string] |
item_role |
[string] |
item_n |
int |
ctxs |
[Ctx] |
ctx_n |
int |
HlStack
Fields:
| Name | Type |
|---|---|
ids |
[int] |
n |
int |
Functions
fn rgb(r: int, g: int, b: int): cell.Color
fn scheme_make(name: string, bg: cell.Color, fg: cell.Color, kw: cell.Color, ty: cell.Color, strc: cell.Color, com: cell.Color, num: cell.Color, op: cell.Color, fun: cell.Color, pp: cell.Color, varc: cell.Color, cst: cell.Color, al: cell.Color, err: cell.Color, oth: cell.Color, sp: cell.Color, attr: cell.Color, bi: cell.Color, gfg: cell.Color, gbg: cell.Color, bold: bool): SyntaxScheme
fn scheme_default(): SyntaxScheme
fn scheme_darcula(): SyntaxScheme
fn scheme_highcontrast(): SyntaxScheme
fn scheme_paper(): SyntaxScheme
fn scheme_monokai(): SyntaxScheme
fn scheme_solarized_dark(): SyntaxScheme
fn scheme_solarized_light(): SyntaxScheme
fn scheme_twilight(): SyntaxScheme
fn scheme_vibrant_ink(): SyntaxScheme
fn scheme_dracula(): SyntaxScheme
fn scheme_one_dark(): SyntaxScheme
fn scheme_tokyo_night(): SyntaxScheme
fn scheme_gruvbox(): SyntaxScheme
fn scheme_catppuccin(): SyntaxScheme
fn scheme_everforest(): SyntaxScheme
fn scheme_gruvbox_light(): SyntaxScheme
fn scheme_synthwave(): SyntaxScheme
fn scheme_count(): int
fn scheme_at(idx: int): SyntaxScheme
fn scheme_by_name(name: string): SyntaxScheme
fn scheme_title(sc: SyntaxScheme): string
fn scheme_next(name: string): SyntaxScheme
fn scheme_style(sc: SyntaxScheme, role: string): cell.Style
fn LANG_NONE(): int
fn LANG_REEF(): int
fn LANG_TOML(): int
fn LANG_SH(): int
fn LANG_C(): int
fn RK_CHAR(): int
fn RK_DETECT2(): int
fn RK_STRING(): int
fn RK_KEYWORD(): int
fn RK_IDENT(): int
fn RK_NUMBER(): int
fn RK_HEX(): int
fn max_langs(): int
fn max_ctx(): int
fn max_rules(): int
fn max_lists(): int
fn max_items(): int
fn max_ext(): int
fn max_stack(): int
fn empty_rule(): Rule
fn empty_stack(): HlStack
fn find_id(id: string): int
fn find_ctx(lang: Lang, name: string): option.Option[int]
C16: index of the named context, or None. Returned -1, and lang.ctxs[-1]
is a bounds violation rather than a miss.
fn find_list(lang: Lang, name: string): option.Option[int]
fn item_role(lang: Lang, attr: string): string
fn list_has(lang: Lang, list: string, word: string): bool
fn pack_list(doc: toml.TomlDoc, key: string): string
fn load_string_array(doc: toml.TomlDoc, key: string, out: [string], cap: int): int
fn kind_of(t: string): int
fn parse_lang(text: string): Lang
fn load_language_text(text: string): bool
fn lang_id(lang: int): option.Option[string]
The language's id string, or None if lang names no language. C16 /
ROADMAP 8.2b: "" was indistinguishable from a language whose id is empty.
fn lang_id_or(lang: int, fallback: string): string
fn lang_title(lang: int): string
fn base_name(path: string): string
fn lang_from_path(path: string): int
fn starts_at(line: string, i: int, needle: string): bool
fn ident_len(line: string, i: int): int
fn hex_len(line: string, i: int): int
fn number_len(line: string, i: int): int
fn match_rule(lang: Lang, rule: Rule, line: string, i: int): int
fn stack_top(st: HlStack): int
fn stack_apply(st: HlStack, lang: Lang, next: string): HlStack
fn apply_line(lang: Lang, line: string, st0: HlStack, buf: cell.CellBuffer, x: int, y: int, sc: SyntaxScheme, clip: cell.Rect, do_paint: bool): HlStack
Procedures
proc register_lang(lang: Lang)
proc load_dir(dir: string)
proc add_syntax_dir(dir: string)
proc ensure_catalog()
proc paint_span(buf: cell.CellBuffer, x: int, y: int, line: string, a: int, b: int, st: cell.Style, clip: cell.Rect)
proc paint_line(buf: cell.CellBuffer, x: int, y: int, line: string, lang: int, sc: SyntaxScheme, clip: cell.Rect)
proc paint_lines(buf: cell.CellBuffer, lines: [string], line_count: int, first: int, vis: int, x: int, y: int, lang: int, sc: SyntaxScheme, clip: cell.Rect)
Generated by reefc doc