1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-12-13 20:41:09 +01:00
nixvim/plugins/by-name/treesitter/injections.scm
Austin Horstman 3e6e23a719 plugins/treesitter: match -> any-of pattern
No real performance gain but might be easier to maintain / understand.
2025-12-09 14:37:55 +00:00

103 lines
2.9 KiB
Scheme

;; extends
(binding
attrpath: (attrpath
(identifier) @_path)
expression: [
(string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
(indented_string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
]
(#any-of? @_path "__raw" "extraConfigLua" "extraConfigLuaPre" "extraConfigLuaPost"))
(binding
attrpath: (attrpath
(identifier) @_path)
expression: (apply_expression
argument: [
(string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
(indented_string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
])
(#any-of? @_path "__raw" "extraConfigLua" "extraConfigLuaPre" "extraConfigLuaPost"))
(apply_expression
function: (_) @_func
argument: [
(string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
(indented_string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
]
(#match? @_func "(^|\\.)mkRaw$"))
(binding
attrpath: (attrpath
(identifier) @_path)
expression: [
(string_expression
((string_fragment) @injection.content
(#set! injection.language "vim")))
(indented_string_expression
((string_fragment) @injection.content
(#set! injection.language "vim")))
]
(#any-of? @_path "extraConfigVim" "extraConfigVimPre" "extraConfigVimPost"))
(binding
attrpath: (attrpath
(identifier) @_path)
expression: (apply_expression
argument: [
(string_expression
((string_fragment) @injection.content
(#set! injection.language "vim")))
(indented_string_expression
((string_fragment) @injection.content
(#set! injection.language "vim")))
])
(#any-of? @_path "extraConfigVim" "extraConfigVimPre" "extraConfigVimPost"))
(binding
attrpath: (attrpath
(identifier) @namespace
(identifier) @name)
expression: [
(string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
(indented_string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
]
(#eq? @namespace "luaConfig")
(#any-of? @name "pre" "post" "content"))
(binding
attrpath: (attrpath
(identifier) @_path)
expression: [
(attrset_expression
(binding_set
(binding
attrpath: (attrpath
(identifier) @_nested_path)
expression: [
(string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
(indented_string_expression
((string_fragment) @injection.content
(#set! injection.language "lua")))
]
(#any-of? @_nested_path "pre" "post" "content"))))
]
(#eq? @_path "luaConfig"))