aboutsummaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/queries/angular/highlights.scm6
-rw-r--r--runtime/queries/bash/indents.scm32
-rw-r--r--runtime/queries/bpftrace/highlights.scm229
-rw-r--r--runtime/queries/bpftrace/injections.scm12
-rw-r--r--runtime/queries/c3/highlights.scm13
-rw-r--r--runtime/queries/fish/highlights.scm29
-rw-r--r--runtime/queries/glimmer/injections.scm19
-rw-r--r--runtime/queries/glimmer_typescript/indents.scm2
-rw-r--r--runtime/queries/haskell/highlights.scm8
-rw-r--r--runtime/queries/html_tags/highlights.scm6
-rw-r--r--runtime/queries/kos/folds.scm19
-rw-r--r--runtime/queries/kos/highlights.scm156
-rw-r--r--runtime/queries/kos/injections.scm6
-rw-r--r--runtime/queries/kos/locals.scm41
-rw-r--r--runtime/queries/kotlin/highlights.scm5
-rw-r--r--runtime/queries/lua/injections.scm4
-rw-r--r--runtime/queries/nix/injections.scm12
-rw-r--r--runtime/queries/ruby/highlights.scm9
-rw-r--r--runtime/queries/rust/highlights.scm5
-rw-r--r--runtime/queries/rust/injections.scm4
-rw-r--r--runtime/queries/typst/highlights.scm12
-rw-r--r--runtime/queries/usd/highlights.scm2
-rw-r--r--runtime/queries/vento/highlights.scm22
23 files changed, 604 insertions, 49 deletions
diff --git a/runtime/queries/angular/highlights.scm b/runtime/queries/angular/highlights.scm
index ad192329a..d248d2e4c 100644
--- a/runtime/queries/angular/highlights.scm
+++ b/runtime/queries/angular/highlights.scm
@@ -28,6 +28,12 @@
(binding_name
(identifier) @keyword)
+(class_binding
+ [
+ (identifier)
+ (class_name)
+ ] @keyword)
+
(event_binding
(binding_name
(identifier) @keyword))
diff --git a/runtime/queries/bash/indents.scm b/runtime/queries/bash/indents.scm
new file mode 100644
index 000000000..c0a4bed47
--- /dev/null
+++ b/runtime/queries/bash/indents.scm
@@ -0,0 +1,32 @@
+[
+ (if_statement)
+ (for_statement)
+ (while_statement)
+ (case_statement)
+ (function_definition)
+ (compound_statement)
+ (subshell)
+ (command_substitution)
+ (do_group)
+ (case_item)
+] @indent.begin
+
+[
+ "fi"
+ "done"
+ "esac"
+ "}"
+ ")"
+ "then"
+ "do"
+ (elif_clause)
+ (else_clause)
+] @indent.branch
+
+[
+ "fi"
+ "done"
+ "esac"
+ "}"
+ ")"
+] @indent.end
diff --git a/runtime/queries/bpftrace/highlights.scm b/runtime/queries/bpftrace/highlights.scm
new file mode 100644
index 000000000..19e568515
--- /dev/null
+++ b/runtime/queries/bpftrace/highlights.scm
@@ -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)
diff --git a/runtime/queries/bpftrace/injections.scm b/runtime/queries/bpftrace/injections.scm
new file mode 100644
index 000000000..8907d9f84
--- /dev/null
+++ b/runtime/queries/bpftrace/injections.scm
@@ -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"))
diff --git a/runtime/queries/c3/highlights.scm b/runtime/queries/c3/highlights.scm
index 1f02496b8..f2aa46dea 100644
--- a/runtime/queries/c3/highlights.scm
+++ b/runtime/queries/c3/highlights.scm
@@ -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)
diff --git a/runtime/queries/fish/highlights.scm b/runtime/queries/fish/highlights.scm
index 549bceda0..da5c52a32 100644
--- a/runtime/queries/fish/highlights.scm
+++ b/runtime/queries/fish/highlights.scm
@@ -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
[
diff --git a/runtime/queries/glimmer/injections.scm b/runtime/queries/glimmer/injections.scm
index 30b438682..9efa71f5e 100644
--- a/runtime/queries/glimmer/injections.scm
+++ b/runtime/queries/glimmer/injections.scm
@@ -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))
diff --git a/runtime/queries/glimmer_typescript/indents.scm b/runtime/queries/glimmer_typescript/indents.scm
index 237254d4c..ec026473f 100644
--- a/runtime/queries/glimmer_typescript/indents.scm
+++ b/runtime/queries/glimmer_typescript/indents.scm
@@ -1,3 +1,5 @@
+; inherits: typescript
+
(glimmer_opening_tag) @indent.begin
(glimmer_closing_tag) @indent.end
diff --git a/runtime/queries/haskell/highlights.scm b/runtime/queries/haskell/highlights.scm
index de0eaf0a1..d0fdc17f6 100644
--- a/runtime/queries/haskell/highlights.scm
+++ b/runtime/queries/haskell/highlights.scm
@@ -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))
diff --git a/runtime/queries/html_tags/highlights.scm b/runtime/queries/html_tags/highlights.scm
index 9eaf813be..94a338aa7 100644
--- a/runtime/queries/html_tags/highlights.scm
+++ b/runtime/queries/html_tags/highlights.scm
@@ -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)
diff --git a/runtime/queries/kos/folds.scm b/runtime/queries/kos/folds.scm
new file mode 100644
index 000000000..ca51a5406
--- /dev/null
+++ b/runtime/queries/kos/folds.scm
@@ -0,0 +1,19 @@
+[
+ (function_decl)
+ (constructor_literal)
+ (function_literal)
+ (class_decl)
+ (class_literal)
+ (do_statement)
+ (if_statement)
+ (try_statement)
+ (defer_statement)
+ (with_statement)
+ (switch_statement)
+ (switch_case)
+ (default_case)
+ (loop_statement)
+ (repeat_statement)
+ (while_statement)
+ (for_statement)
+] @fold
diff --git a/runtime/queries/kos/highlights.scm b/runtime/queries/kos/highlights.scm
new file mode 100644
index 000000000..07757d2e3
--- /dev/null
+++ b/runtime/queries/kos/highlights.scm
@@ -0,0 +1,156 @@
+(hash_bang) @keyword.directive
+
+(comment) @comment @spell
+
+(number) @number
+
+(float_number) @number.float
+
+(identifier) @variable
+
+(parameter
+ parameter: (identifier) @variable.parameter)
+
+(property_identifier) @property
+
+[
+ (string_literal)
+ (string_literal_begin)
+ (string_literal_continuation)
+ (string_literal_end)
+] @string
+
+[
+ "case"
+ "default"
+ "else"
+ "if"
+ "switch"
+] @keyword.conditional
+
+"import" @keyword.import
+
+[
+ (break_statement)
+ (continue_statement)
+ "for"
+ "loop"
+ "repeat"
+ "while"
+] @keyword.repeat
+
+(for_statement
+ "in" @keyword.repeat)
+
+"class" @keyword.type
+
+[
+ "return"
+ "yield"
+] @keyword.return
+
+[
+ "catch"
+ "defer"
+ "throw"
+ "try"
+] @keyword.exception
+
+[
+ "constructor"
+ "fun"
+ "=>"
+] @keyword.function
+
+"_" @character.special
+
+[
+ (line)
+ "assert"
+ ;"async"
+ "const"
+ "do"
+ "extends"
+ (fallthrough_statement)
+ ;"get"
+ ;"match"
+ "public"
+ ;"set"
+ ;"static"
+ "var"
+ "with"
+] @keyword
+
+[
+ (this)
+ (super)
+] @variable.builtin
+
+[
+ (false)
+ (true)
+] @boolean
+
+(void) @constant.builtin
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+(string_literal_begin
+ "\\(" @punctuation.special)
+
+(string_literal_continuation
+ "\\(" @punctuation.special)
+
+(formatted_string
+ ")" @punctuation.special)
+
+[
+ ";"
+ ":"
+ "."
+ ","
+] @punctuation.delimiter
+
+[
+ (arithmetic_assignment_operator)
+ (comparison_operator)
+ (bitwise_operator)
+ (additive_operator)
+ (multiplicative_operator)
+ (logical_operator)
+ (unary_operator)
+ "->"
+ "..."
+ "="
+ "?"
+] @operator
+
+(conditional_expression
+ [
+ "?"
+ ":"
+ ] @keyword.conditional.ternary)
+
+(class_member
+ (function_decl
+ name: (identifier) @function.method))
+
+(function_decl
+ name: (identifier) @function)
+
+(class_decl
+ name: (identifier) @type)
+
+(invocation
+ (identifier) @function.call)
+
+(invocation
+ (refinement
+ property: (property_identifier) @function.method.call))
diff --git a/runtime/queries/kos/injections.scm b/runtime/queries/kos/injections.scm
new file mode 100644
index 000000000..2677f272b
--- /dev/null
+++ b/runtime/queries/kos/injections.scm
@@ -0,0 +1,6 @@
+(((comment) @_jsdoc_comment
+ (#lua-match? @_jsdoc_comment "^/[*][*][^*].*[*]/$")) @injection.content
+ (#set! injection.language "jsdoc"))
+
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/runtime/queries/kos/locals.scm b/runtime/queries/kos/locals.scm
new file mode 100644
index 000000000..37f14f4e6
--- /dev/null
+++ b/runtime/queries/kos/locals.scm
@@ -0,0 +1,41 @@
+; Scopes
+;-------
+(compound_statement) @local.scope
+
+(for_statement) @local.scope
+
+(function_decl) @local.scope
+
+(constructor_literal) @local.scope
+
+(function_literal) @local.scope
+
+(with_statement) @local.scope
+
+(catch_clause) @local.scope
+
+; Definitions
+;------------
+(variable_decl
+ variable: (identifier) @local.definition.var)
+
+(parameter
+ parameter: (identifier) @local.definition.parameter)
+
+(import
+ module: (identifier) @local.definition.import)
+
+(import
+ symbol: (identifier) @local.definition.import)
+
+(function_decl
+ name: (identifier) @local.definition.function
+ (#set! definition.var.scope parent))
+
+(class_decl
+ name: (identifier) @local.definition.type
+ (#set! definition.var.scope parent))
+
+; References
+;------------
+(identifier) @local.reference
diff --git a/runtime/queries/kotlin/highlights.scm b/runtime/queries/kotlin/highlights.scm
index 8eda6ef61..a45ab23d5 100644
--- a/runtime/queries/kotlin/highlights.scm
+++ b/runtime/queries/kotlin/highlights.scm
@@ -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
diff --git a/runtime/queries/lua/injections.scm b/runtime/queries/lua/injections.scm
index e76745f4f..8f371c9ed 100644
--- a/runtime/queries/lua/injections.scm
+++ b/runtime/queries/lua/injections.scm
@@ -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"))
diff --git a/runtime/queries/nix/injections.scm b/runtime/queries/nix/injections.scm
index 718a9c1c5..c1593b91f 100644
--- a/runtime/queries/nix/injections.scm
+++ b/runtime/queries/nix/injections.scm
@@ -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
diff --git a/runtime/queries/ruby/highlights.scm b/runtime/queries/ruby/highlights.scm
index 0472df092..5aa518a28 100644
--- a/runtime/queries/ruby/highlights.scm
+++ b/runtime/queries/ruby/highlights.scm
@@ -48,6 +48,9 @@
"then"
] @keyword.conditional
+(in_clause
+ "in" @keyword.conditional)
+
(if
"end" @keyword.conditional)
@@ -61,6 +64,9 @@
"next"
] @keyword.repeat
+(in
+ "in" @keyword.repeat)
+
(constant) @constant
((identifier) @keyword.modifier
@@ -291,6 +297,9 @@
(pair
":" @punctuation.delimiter)
+(keyword_pattern
+ ":" @punctuation.delimiter)
+
[
"("
")"
diff --git a/runtime/queries/rust/highlights.scm b/runtime/queries/rust/highlights.scm
index de9d09684..2342dcfa3 100644
--- a/runtime/queries/rust/highlights.scm
+++ b/runtime/queries/rust/highlights.scm
@@ -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
diff --git a/runtime/queries/rust/injections.scm b/runtime/queries/rust/injections.scm
index 7bffd1fc9..b7d5b4bb6 100644
--- a/runtime/queries/rust/injections.scm
+++ b/runtime/queries/rust/injections.scm
@@ -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))
diff --git a/runtime/queries/typst/highlights.scm b/runtime/queries/typst/highlights.scm
index a0dcc1b89..0ae538fe1 100644
--- a/runtime/queries/typst/highlights.scm
+++ b/runtime/queries/typst/highlights.scm
@@ -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
diff --git a/runtime/queries/usd/highlights.scm b/runtime/queries/usd/highlights.scm
index d6c2a3668..98a7ff95c 100644
--- a/runtime/queries/usd/highlights.scm
+++ b/runtime/queries/usd/highlights.scm
@@ -52,12 +52,14 @@
"]"
"{"
"}"
+ "[]"
] @punctuation.bracket
[
":"
";"
"."
+ ","
] @punctuation.delimiter
"=" @operator
diff --git a/runtime/queries/vento/highlights.scm b/runtime/queries/vento/highlights.scm
index 9d35b2f66..ec31aae20 100644
--- a/runtime/queries/vento/highlights.scm
+++ b/runtime/queries/vento/highlights.scm
@@ -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
[