1
0
mirror of https://github.com/helix-editor/helix synced 2026-03-07 08:41:40 +01:00
helix/runtime/queries/bovex/highlights.scm

89 lines
3.6 KiB
Scheme

[(code_comment) (layout_comment)] @comment.block
(do_decl "do" @keyword.control)
(val_decl "val" @keyword.storage.type)
(fun_decl ["fun" "and"] @keyword.storage.type)
(datatype_decl ["datatype" "and"] @keyword.storage.type)
(datatype_arm "of" @keyword.storage.type)
(object_decl ["object" "of"] @keyword.storage.type)
(type_decl "type" @keyword.storage.type)
(local_decl ["local" "in" "end"] @keyword.storage.modifier)
(open_decl "open" @keyword.control)
(import_decl "import" @keyword.control.import)
(with_expr ["with" "without"] @keyword.operator)
(orelse_expr ["orelse" "otherwise"] @keyword.operator)
(andalso_expr ["andalso" "andthen"] @keyword.operator)
(fn_expr ["fn" "as"] @keyword.function)
(if_expr ["if" "then" "else"] @keyword.control.conditional)
(case_expr ["case" "of"] @keyword.control)
(fail_expr "fail" @keyword.control)
(let_expr ["let" "in" "end"] @keyword.storage.modifier)
(pat "as" @keyword.operator)
(boolean_lit) @constant.builtin.boolean
(numeric_lit) @constant.numeric.integer
(float_lit) @constant.numeric.float
(string_lit) @string.quoted.double
(backslash_escape) @constant.character.escape
["=" ":" ","] @punctuation.delimiter
["->" "=>"] @operator
["(" ")" "[" "]" "{" "}"] @punctuation.bracket
[(ident) (label)] @variable.other
(type_ident) @type
(atomic_pat (ident) @variable.other)
(pat (app_pat (atomic_pat (ident) @variable.parameter)))
(type_var) @type.parameter
(atomic_type (type_ident) @type.builtin)
[(record_type) (product_type) (app_type) (arrow_type)] @type
(atomic_expr (ident) @variable.other)
(project_expr) @variable.member
(field_binding (label) @variable.member.private)
(field_binding (expr) @variable.other)
(record_pat (ident) @variable.member.private)
(app_expr
(app_expr (atomic_expr (ident) @function.call))
(atomic_expr))
(app_expr
_
[":=" "@" "::" "o" "==" "!=" "==." "!=."
"<" "<=" ">" ">=" "<." "<=." ">." ">=."
"+" "-" "+." "-." "*" "*." "/" "/." "div" "mod"
"shl" "shr" "andb" "xorb" "orb"] @operator
_)
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#eq? @function.builtin "b")))
(atomic_expr (layout_lit (layout_content (layout_text) @markup.bold))))
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#eq? @function.builtin "it")))
(atomic_expr (layout_lit (layout_content (layout_text) @markup.italic))))
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#eq? @function.builtin "rm")))
(atomic_expr (layout_lit)))
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#match? @function.builtin "^(tt|courier|fixedersys)$")))
(atomic_expr (layout_lit (layout_content (layout_text) @markup.raw.inline))))
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#eq? @function.builtin "title")))
(atomic_expr (layout_lit (layout_content (layout_text) @markup.heading.1))))
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#eq? @function.builtin "section")))
(atomic_expr (layout_lit (layout_content (layout_text) @markup.heading.2))))
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#eq? @function.builtin "subsection")))
(atomic_expr (layout_lit (layout_content (layout_text) @markup.heading.3))))
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#eq? @function.builtin "subsubsection")))
(atomic_expr (layout_lit (layout_content (layout_text) @markup.heading.4))))
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#eq? @function.builtin "paragraph")))
(atomic_expr (layout_lit (layout_content (layout_text) @markup.heading.5))))
(app_expr
(app_expr (atomic_expr (ident) @function.builtin (#eq? @function.builtin "blockquote")))
(atomic_expr (layout_lit (layout_content (layout_text) @markup.quote))))