nix-community.nixvim/plugins/by-name/treesitter/injections.scm

76 lines
2.1 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")))
]
(#match? @_path "(^(extraConfigLua(Pre|Post)?|__raw))$"))
(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$")
(#set! injection.combined))
(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")))
]
(#match? @_path "(^extraConfigVim(Pre|Post)?)$"))
(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")))
]
(#match? @namespace "^luaConfig$")
(#match? @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")))
]
(#match? @_nested_path "^(pre|post|content)$"))))
]
(#match? @_path "^luaConfig$"))