Merge branch 'main' into fix/nickel-highlights

This commit is contained in:
Salomon Popp 2026-02-22 00:27:20 +01:00 committed by GitHub
commit 723a6c9d33
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
37 changed files with 519 additions and 170 deletions

View file

@ -28,6 +28,12 @@
(binding_name
(identifier) @keyword)
(class_binding
[
(identifier)
(class_name)
] @keyword)
(event_binding
(binding_name
(identifier) @keyword))

View file

@ -0,0 +1,229 @@
; Comments
[
(line_comment)
(block_comment)
] @comment @spell
; String and numeric literals
(string_literal) @string
(escape_sequence) @string.escape
(integer_literal) @number
(boolean_literal) @boolean
; Variables
(identifier) @variable
(args_keyword) @variable.builtin
(argn_identifier) @variable.builtin
(retval_identifier) @variable.builtin
(scratch_variable) @variable
(map_variable) @variable
(script_parameter) @variable.parameter
; Macro
(macro_definition
(identifier) @function.macro)
; Probes
; fentry/fexit, kprobe/kretprobe, rawtracepoint
(probe
provider: (_) @type.builtin
module: (wildcard_identifier) @module
function: (wildcard_identifier) @property)
(probe
provider: (_) @type.builtin
function: (wildcard_identifier) @property)
; uprobe/uretprobe
(probe
provider: (uprobe_uretprobe_provider) @type.builtin
binary: (file_identifier) @string.special.path
function: (identifier) @property)
; tracepoint
(probe
provider: (_) @type.builtin
subsys: (wildcard_identifier) @module
event: (wildcard_identifier) @property)
; software/hardware
(probe
provider: (_) @type.builtin
event: (identifier_with_dash) @property
count: (integer_literal) @number)
(probe
provider: (_) @type.builtin
event: (identifier_with_dash) @property)
; bench/test
(probe
provider: (bench_test_provider) @type.builtin
function: (identifier) @property)
; profile/interval
(probe
provider: (profile_interval_provider) @type.builtin
unit: (time_unit) @string.special
count: (integer_literal) @property)
(probe
provider: (profile_interval_provider) @type.builtin
count: (integer_literal) @number)
; iter
(probe
provider: (iter_provider) @type.builtin
object: (identifier) @module
pin: (file_identifier) @property)
(probe
provider: (iter_provider) @type.builtin
object: (identifier) @module)
; ustd
(probe
provider: (ustd_provider) @type.builtin
binary: (file_identifier) @string.special.path
namespace: (identifier) @variable
function: (identifier) @property)
(probe
provider: (ustd_provider) @type.builtin
binary: (file_identifier) @string.special.path
function: (identifier) @property)
; watchpoint/asyncwatchpoint
(probe
provider: (watchpoint_provider) @type.builtin
address: (integer_literal) @number
length: (integer_literal) @number
mode: (watchpoint_mode) @property)
; Types
(type_specifier) @type
(integer_type) @type.builtin
[
"BEGIN"
"begin"
"END"
"end"
] @type.builtin
; Keywords
(hashbang) @keyword.directive
(return_statement) @keyword.return
[
"config"
"let"
"macro"
"offsetof"
"sizeof"
] @keyword
[
"if"
"else"
] @keyword.conditional
[
"for"
"unroll"
"while"
(break_statement)
(continue_statement)
] @keyword.repeat
"import" @keyword.import
(field_expression
field: (identifier) @property)
(call_expression
function: (identifier) @function.call)
; Punctuations
[
"("
")"
"["
"]"
"{"
"}"
] @punctuation.bracket
[
","
";"
":"
"."
] @punctuation.delimiter
; Operators
[
; Field access
"->"
; Range
".."
; Assignment
"="
"<<="
">>="
"+="
"-="
"*="
"/="
"%="
"&="
"|="
"^="
; Update
"--"
"++"
; Arithmetic
"%"
"+"
"-"
"*"
"/"
; Relational
"<="
"<"
">="
">"
"=="
"!="
; Bitwise
"&"
"^"
"|"
"~"
"<<"
">>"
; Logical
"&&"
"||"
"!"
] @operator
(conditional_expression
[
"?"
":"
] @keyword.conditional.ternary)
(predicate
"/" @punctuation.delimiter)

View file

@ -0,0 +1,12 @@
([
(c_struct)
(c_preproc)
(c_preproc_block)
] @injection.content
(#set! injection.language "c"))
([
(line_comment)
(block_comment)
] @injection.content
(#set! injection.language "comment"))

View file

@ -106,6 +106,7 @@
"$if"
"$include"
"$is_const"
"$kindof"
"$nameof"
"$offsetof"
"$qnameof"
@ -218,6 +219,8 @@
"&&&"
"+++"
"|||"
"???"
"+++="
] @operator
(range_expr
@ -232,6 +235,7 @@
(ternary_expr
[
"?"
"???"
":"
] @keyword.conditional.ternary)
@ -268,8 +272,8 @@
(#any-of? @variable.builtin
"alignof" "associated" "elements" "extnameof" "from_ordinal" "get" "inf" "is_eq" "is_ordered"
"is_substruct" "len" "lookup" "lookup_field" "max" "membersof" "methodsof" "min" "nan" "inner"
"kindof" "names" "nameof" "params" "paramsof" "parentof" "qnameof" "returns" "sizeof" "tagof"
"has_tagof" "values" "typeid")))
"kindof" "names" "nameof" "params" "paramsof" "parentof" "qnameof" "returns" "sizeof" "set"
"tagof" "has_tagof" "values" "typeid")))
; Label
[
@ -285,7 +289,7 @@
(path_ident
(ident) @module))
(import_declaration
(import_path
(path_ident
(ident) @module))
@ -298,6 +302,9 @@
(call_inline_attributes
(at_ident) @attribute)
(type_suffix
(at_ident) @attribute)
(asm_block_stmt
(at_ident) @attribute)

View file

@ -112,15 +112,16 @@
(command
name: (word) @function.call)
; derived from builtin -n (fish 3.2.2)
; derived from builtin -n (fish 4.3.3)
(command
name: [
(word) @function.builtin
(#any-of? @function.builtin
"." ":" "_" "abbr" "alias" "argparse" "bg" "bind" "block" "breakpoint" "builtin" "cd"
"command" "commandline" "complete" "contains" "count" "disown" "echo" "emit" "eval" "exec"
"exit" "fg" "functions" "history" "isatty" "jobs" "math" "path" "printf" "pwd" "random" "read"
"realpath" "set" "set_color" "source" "status" "string" "test" "time" "type" "ulimit" "wait")
"exit" "fg" "fish_indent" "fish_key_reader" "functions" "history" "isatty" "jobs" "math"
"path" "printf" "pwd" "random" "read" "realpath" "set" "set_color" "source" "status" "string"
"test" "time" "type" "ulimit" "wait")
])
; Functions
@ -163,15 +164,15 @@
; Reference: https://fishshell.com/docs/current/language.html#special-variables
((variable_name) @variable.builtin
(#any-of? @variable.builtin
"PATH" "CDPATH" "LANG" "LC_ALL" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES" "LC_MONETARY" "LC_NUMERIC"
"LC_TIME" "fish_color_normal" "fish_color_command" "fish_color_keyword" "fish_color_keyword"
"fish_color_redirection" "fish_color_end" "fish_color_error" "fish_color_param"
"fish_color_valid_path" "fish_color_option" "fish_color_comment" "fish_color_selection"
"fish_color_operator" "fish_color_escape" "fish_color_autosuggestion" "fish_color_cwd"
"fish_color_cwd_root" "fish_color_user" "fish_color_host" "fish_color_host_remote"
"fish_color_status" "fish_color_cancel" "fish_color_search_match" "fish_color_history_current"
"fish_pager_color_progress" "fish_pager_color_background" "fish_pager_color_prefix"
"fish_pager_color_completion" "fish_pager_color_description"
"PATH" "CDPATH" "LANG" "LANGUAGE" "LC_ALL" "LC_COLLATE" "LC_CTYPE" "LC_MESSAGES" "LC_MONETARY"
"LC_NUMERIC" "LC_TIME" "fish_color_normal" "fish_color_command" "fish_color_keyword"
"fish_color_keyword" "fish_color_redirection" "fish_color_end" "fish_color_error"
"fish_color_param" "fish_color_valid_path" "fish_color_option" "fish_color_comment"
"fish_color_selection" "fish_color_operator" "fish_color_escape" "fish_color_autosuggestion"
"fish_color_cwd" "fish_color_cwd_root" "fish_color_user" "fish_color_host"
"fish_color_host_remote" "fish_color_status" "fish_color_cancel" "fish_color_search_match"
"fish_color_history_current" "fish_pager_color_progress" "fish_pager_color_background"
"fish_pager_color_prefix" "fish_pager_color_completion" "fish_pager_color_description"
"fish_pager_color_selected_background" "fish_pager_color_selected_prefix"
"fish_pager_color_selected_completion" "fish_pager_color_selected_description"
"fish_pager_color_secondary_background" "fish_pager_color_secondary_prefix"
@ -183,8 +184,8 @@
"fish_cursor_visual" "fish_cursor_external" "fish_function_path" "fish_greeting" "fish_history"
"fish_trace" "FISH_DEBUG" "FISH_DEBUG_OUTPUT" "fish_user_paths" "umask" "BROWSER" "_" "argv"
"CMD_DURATION" "COLUMNS" "LINES" "fish_kill_signal" "fish_killring" "fish_read_limit" "fish_pid"
"history" "HOME" "hostname" "IFS" "last_pid" "PWD" "pipestatus" "SHLVL" "status"
"status_generation" "TERM" "USER" "EUID" "version" "FISH_VERSION"))
"fish_terminal_color_theme" "history" "HOME" "hostname" "IFS" "last_pid" "PWD" "pipestatus"
"SHLVL" "status" "status_generation" "TERM" "USER" "EUID" "version" "FISH_VERSION"))
; Nodes
[

View file

@ -3,19 +3,12 @@
(#set! injection.language "comment"))
; <style> tags
((element_node
(element_node_start
(tag_name) @_tag_name
(#eq? @_tag_name "style"))) @injection.content
(#offset! @injection.content 0 7 0 -8)
(#set! injection.language "css")
(#set! injection.include-children))
((style_element
(raw_text) @injection.content)
(#set! injection.language "css"))
; <script> tags
((element_node
(element_node_start
(tag_name) @_tag_name
(#eq? @_tag_name "script"))) @injection.content
(#offset! @injection.content 0 8 0 -9)
(#set! injection.language "glimmer_javascript")
((script_element
(raw_text) @injection.content)
(#set! injection.language "javascript")
(#set! injection.include-children))

View file

@ -1,3 +1,5 @@
; inherits: typescript
(glimmer_opening_tag) @indent.begin
(glimmer_closing_tag) @indent.end

View file

@ -9,7 +9,8 @@
(_) @variable.parameter))
(expression/lambda
(_)+ @variable.parameter
patterns: (patterns
(_) @variable.parameter)
"->")
(decl/function
@ -226,7 +227,8 @@
(qualified
((module) @module
(variable) @function.call))
])
]
operator: (operator))
; infix operators applied to variables
((expression/variable) @variable
@ -245,7 +247,7 @@
(function
(infix
left_operand: [
(variable) @variable
(variable) @variable.parameter
(qualified
((module) @module
(variable) @variable))

View file

@ -1,9 +1,11 @@
(tag_name) @tag
(tag_name) @tag @nospell
; (erroneous_end_tag_name) @error ; we do not lint syntax errors
(comment) @comment @spell
(attribute_name) @tag.attribute
(attribute_name) @tag.attribute @nospell
(attribute_value) @nospell
((attribute
(quoted_attribute_value) @string)

View file

@ -4,8 +4,13 @@
(number) @number
(float_number) @number.float
(identifier) @variable
(parameter
parameter: (identifier) @variable.parameter)
(property_identifier) @property
[
@ -57,8 +62,9 @@
"=>"
] @keyword.function
"_" @character.special
[
"_"
(line)
"assert"
;"async"
@ -96,6 +102,15 @@
"}"
] @punctuation.bracket
(string_literal_begin
"\\(" @punctuation.special)
(string_literal_continuation
"\\(" @punctuation.special)
(formatted_string
")" @punctuation.special)
[
";"
":"

View file

@ -153,7 +153,7 @@
"charArrayOf" "emptyArray" "mapOf" "setOf" "listOf" "emptyMap" "emptySet" "emptyList"
"mutableMapOf" "mutableSetOf" "mutableListOf" "print" "println" "error" "TODO" "run"
"runCatching" "repeat" "lazy" "lazyOf" "enumValues" "enumValueOf" "assert" "check"
"checkNotNull" "require" "requireNotNull" "with" "suspend" "synchronized"))
"checkNotNull" "require" "requireNotNull" "with" "synchronized"))
; Literals
[
@ -343,12 +343,11 @@
"?:"
"!!"
"is"
"!is"
"in"
"!in"
"as"
"as?"
".."
"..<"
"->"
] @operator

View file

@ -34,10 +34,10 @@
(_)
.
(string
content: _ @_method)
content: (_) @_method)
.
(string
content: _ @injection.content)))
content: (_) @injection.content)))
(#any-of? @_vimcmd_identifier "vim.rpcrequest" "vim.rpcnotify")
(#eq? @_method "nvim_exec_lua")
(#set! injection.language "lua"))

View file

@ -48,7 +48,8 @@
((string_fragment) @injection.content
(#set! injection.language "bash")))
]
(#lua-match? @_path "^%a+Phase$"))
(#lua-match? @_path "^%a+Phase$")
(#set! injection.combined))
(binding
attrpath: (attrpath
@ -61,7 +62,8 @@
((string_fragment) @injection.content
(#set! injection.language "bash")))
]
(#lua-match? @_path "^pre%a+$"))
(#lua-match? @_path "^pre%a+$")
(#set! injection.combined))
(binding
attrpath: (attrpath
@ -74,7 +76,8 @@
((string_fragment) @injection.content
(#set! injection.language "bash")))
]
(#lua-match? @_path "^post%a+$"))
(#lua-match? @_path "^post%a+$")
(#set! injection.combined))
(binding
attrpath: (attrpath
@ -87,7 +90,8 @@
((string_fragment) @injection.content
(#set! injection.language "bash")))
]
(#lua-match? @_path "^script$"))
(#lua-match? @_path "^script$")
(#set! injection.combined))
(apply_expression
function: (_) @_func

View file

@ -476,9 +476,12 @@
[
(line_comment)
(block_comment)
] @comment @spell
[
(outer_doc_comment_marker)
(inner_doc_comment_marker)
] @comment @spell
] @comment.documentation
(line_comment
(doc_comment)) @comment.documentation

View file

@ -5,7 +5,7 @@
(identifier) @_macro_name
]
(token_tree) @injection.content
(#not-any-of? @_macro_name "slint" "html" "json")
(#not-any-of? @_macro_name "slint" "html" "json" "xml")
(#set! injection.language "rust")
(#set! injection.include-children))
@ -16,7 +16,7 @@
(identifier) @injection.language
]
(token_tree) @injection.content
(#any-of? @injection.language "slint" "html" "json")
(#any-of? @injection.language "slint" "html" "json" "xml")
(#offset! @injection.content 0 1 0 -1)
(#set! injection.include-children))

View file

@ -106,7 +106,17 @@
(emph) @markup.italic
(url) @markup.link.url
((url) @markup.link.url
(#set! @markup.link.url url @markup.link.url))
(call
item: (ident) @_link
(#eq? @_link "link")
(group
.
(string) @markup.link.url
(#offset! @markup.link.url 0 1 0 -1)
(#set! @markup.link.url url @markup.link.url)))
; code blocks
(raw_span) @markup.raw

View file

@ -52,12 +52,14 @@
"]"
"{"
"}"
"[]"
] @punctuation.bracket
[
":"
";"
"."
","
] @punctuation.delimiter
"=" @operator

View file

@ -1,6 +1,26 @@
(comment) @comment @spell
(keyword) @keyword
[
"if"
"/if"
"else"
"for"
"/for"
"layout"
"/layout"
"set"
"/set"
"import"
"export"
"/export"
"include"
"function"
"/function"
"fragment"
"/fragment"
"of"
"async"
] @keyword
(tag
[