aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/vim')
-rw-r--r--runtime/queries/vim/folds.scm4
-rw-r--r--runtime/queries/vim/highlights.scm254
-rw-r--r--runtime/queries/vim/injections.scm64
3 files changed, 182 insertions, 140 deletions
diff --git a/runtime/queries/vim/folds.scm b/runtime/queries/vim/folds.scm
index 4c99735836..0a1fb695f3 100644
--- a/runtime/queries/vim/folds.scm
+++ b/runtime/queries/vim/folds.scm
@@ -1,4 +1,4 @@
[
- (if_statement)
- (function_definition)
+ (if_statement)
+ (function_definition)
] @fold
diff --git a/runtime/queries/vim/highlights.scm b/runtime/queries/vim/highlights.scm
index 09188ddb68..54832ffa56 100644
--- a/runtime/queries/vim/highlights.scm
+++ b/runtime/queries/vim/highlights.scm
@@ -1,15 +1,15 @@
(identifier) @variable
-((identifier) @constant
- (#lua-match? @constant "^[A-Z][A-Z_0-9]*$"))
-;; Keywords
+((identifier) @constant
+ (#lua-match? @constant "^[A-Z][A-Z_0-9]*$"))
+; Keywords
[
"if"
"else"
"elseif"
"endif"
-] @conditional
+] @keyword.conditional
[
"try"
@@ -17,7 +17,7 @@
"finally"
"endtry"
"throw"
-] @exception
+] @keyword.exception
[
"for"
@@ -27,31 +27,50 @@
"endwhile"
"break"
"continue"
-] @repeat
+] @keyword.repeat
[
"function"
"endfunction"
] @keyword.function
-;; Function related
-(function_declaration name: (_) @function)
-(call_expression function: (identifier) @function.call)
-(call_expression function: (scoped_identifier (identifier) @function.call))
-(parameters (identifier) @parameter)
-(default_parameter (identifier) @parameter)
+; Function related
+(function_declaration
+ name: (_) @function)
+
+(call_expression
+ function: (identifier) @function.call)
+
+(call_expression
+ function:
+ (scoped_identifier
+ (identifier) @function.call))
-[ (bang) (spread) ] @punctuation.special
+(parameters
+ (identifier) @variable.parameter)
+
+(default_parameter
+ (identifier) @variable.parameter)
+
+[
+ (bang)
+ (spread)
+] @punctuation.special
+
+[
+ (no_option)
+ (inv_option)
+ (default_option)
+ (option_name)
+] @variable.builtin
-[ (no_option) (inv_option) (default_option) (option_name) ] @variable.builtin
[
(scope)
"a:"
"$"
-] @namespace
-
-;; Commands and user defined commands
+] @module
+; Commands and user defined commands
[
"let"
"unlet"
@@ -83,6 +102,7 @@
"delcommand"
"comclear"
"colorscheme"
+ "scriptencoding"
"startinsert"
"stopinsert"
"global"
@@ -106,41 +126,48 @@
"visual"
"view"
"eval"
+ "sign"
] @keyword
-(map_statement cmd: _ @keyword)
+
+(map_statement
+ cmd: _ @keyword)
+
(command_name) @function.macro
-;; Filetype command
-
-(filetype_statement [
- "detect"
- "plugin"
- "indent"
- "on"
- "off"
-] @keyword)
-
-;; Syntax command
-
-(syntax_statement (keyword) @string)
-(syntax_statement [
- "enable"
- "on"
- "off"
- "reset"
- "case"
- "spell"
- "foldlevel"
- "iskeyword"
- "keyword"
- "match"
- "cluster"
- "region"
- "clear"
- "include"
-] @keyword)
-
-(syntax_argument name: _ @keyword)
+; Filetype command
+(filetype_statement
+ [
+ "detect"
+ "plugin"
+ "indent"
+ "on"
+ "off"
+ ] @keyword)
+
+; Syntax command
+(syntax_statement
+ (keyword) @string)
+
+(syntax_statement
+ [
+ "enable"
+ "on"
+ "off"
+ "reset"
+ "case"
+ "spell"
+ "foldlevel"
+ "iskeyword"
+ "keyword"
+ "match"
+ "cluster"
+ "region"
+ "clear"
+ "include"
+ ] @keyword)
+
+(syntax_argument
+ name: _ @keyword)
[
"<buffer>"
@@ -151,70 +178,96 @@
"<unique>"
] @constant.builtin
-(augroup_name) @namespace
+(augroup_name) @module
(au_event) @constant
-(normal_statement (commands) @constant)
-;; Highlight command
+(normal_statement
+ (commands) @constant)
+; Highlight command
(hl_attribute
key: _ @property
val: _ @constant)
(hl_group) @type
-(highlight_statement [
- "default"
- "link"
- "clear"
-] @keyword)
-
-;; Command command
+(highlight_statement
+ [
+ "default"
+ "link"
+ "clear"
+ ] @keyword)
+; Command command
(command) @string
(command_attribute
name: _ @property
- val: (behavior
- name: _ @constant
- val: (identifier)? @function)?)
+ val:
+ (behavior
+ name: _ @constant
+ val: (identifier)? @function)?)
-;; Edit command
+; Edit command
(plus_plus_opt
val: _? @constant) @property
-(plus_cmd "+" @property) @property
-
-;; Runtime command
-(runtime_statement (where) @keyword.operator)
+(plus_cmd
+ "+" @property) @property
-;; Colorscheme command
+; Runtime command
+(runtime_statement
+ (where) @keyword.operator)
-(colorscheme_statement (name) @string)
+; Colorscheme command
+(colorscheme_statement
+ (name) @string)
-;; Literals
+; Scriptencoding command
+(scriptencoding_statement
+ (encoding) @string.special)
+; Literals
(string_literal) @string
+
(integer_literal) @number
-(float_literal) @float
+
+(float_literal) @number.float
+
(comment) @comment @spell
+
(line_continuation_comment) @comment @spell
+
(pattern) @string.special
-(pattern_multi) @string.regex
-(filename) @string
-(heredoc (body) @string)
-(heredoc (parameter) @keyword)
-[ (marker_definition) (endmarker) ] @label
-(literal_dictionary (literal_key) @label)
-((scoped_identifier
- (scope) @_scope . (identifier) @boolean)
- (#eq? @_scope "v:")
- (#any-of? @boolean "true" "false"))
-;; Operators
+(pattern_multi) @string.regexp
+
+(filename) @string.special.path
+
+(heredoc
+ (body) @string)
+
+(heredoc
+ (parameter) @keyword)
[
+ (marker_definition)
+ (endmarker)
+] @label
+
+(literal_dictionary
+ (literal_key) @property)
+
+((scoped_identifier
+ (scope) @_scope
+ .
+ (identifier) @boolean)
+ (#eq? @_scope "v:")
+ (#any-of? @boolean "true" "false"))
+
+; Operators
+[
"||"
"&&"
"&"
@@ -248,12 +301,13 @@
] @operator
; Some characters have different meanings based on the context
-(unary_operation "!" @operator)
-(binary_operation "." @operator)
-
+(unary_operation
+ "!" @operator)
-;; Punctuation
+(binary_operation
+ "." @operator)
+; Punctuation
[
"("
")"
@@ -264,27 +318,31 @@
"#{"
] @punctuation.bracket
-(field_expression "." @punctuation.delimiter)
+(field_expression
+ "." @punctuation.delimiter)
[
","
":"
] @punctuation.delimiter
-(ternary_expression ["?" ":"] @conditional.ternary)
+(ternary_expression
+ [
+ "?"
+ ":"
+ ] @keyword.conditional.ternary)
; Options
((set_value) @number
- (#lua-match? @number "^[%d]+(%.[%d]+)?$"))
+ (#lua-match? @number "^[%d]+(%.[%d]+)?$"))
+
+(inv_option
+ "!" @operator)
-(inv_option "!" @operator)
-(set_item "?" @operator)
+(set_item
+ "?" @operator)
((set_item
- option: (option_name) @_option
- value: (set_value) @function)
- (#any-of? @_option
- "tagfunc" "tfu"
- "completefunc" "cfu"
- "omnifunc" "ofu"
- "operatorfunc" "opfunc"))
+ option: (option_name) @_option
+ value: (set_value) @function)
+ (#any-of? @_option "tagfunc" "tfu" "completefunc" "cfu" "omnifunc" "ofu" "operatorfunc" "opfunc"))
diff --git a/runtime/queries/vim/injections.scm b/runtime/queries/vim/injections.scm
index 50f0190112..16ec57ca99 100644
--- a/runtime/queries/vim/injections.scm
+++ b/runtime/queries/vim/injections.scm
@@ -1,48 +1,32 @@
-((lua_statement (script (body) @injection.content))
- (#set! injection.language "lua"))
+(lua_statement
+ (script
+ (body) @injection.content
+ (#set! injection.language "lua")))
-((lua_statement (chunk) @injection.content)
- (#set! injection.language "lua"))
+(lua_statement
+ (chunk) @injection.content
+ (#set! injection.language "lua"))
-((ruby_statement (script (body) @injection.content))
- (#set! injection.language "ruby"))
+(ruby_statement
+ (script
+ (body) @injection.content
+ (#set! injection.language "ruby")))
-((ruby_statement (chunk) @injection.content)
- (#set! injection.language "ruby"))
+(ruby_statement
+ (chunk) @injection.content
+ (#set! injection.language "ruby"))
-((python_statement (script (body) @injection.content))
- (#set! injection.language "python"))
+(python_statement
+ (script
+ (body) @injection.content
+ (#set! injection.language "python")))
-((python_statement (chunk) @injection.content)
- (#set! injection.language "python"))
-
-;; If we support perl at some point...
-;; ((perl_statement (script (body) @injection.content))
-;; (#set! injection.language "perl"))
-;; ((perl_statement (chunk) @injection.content)
-;; (#set! injection.language "perl"))
-
-((autocmd_statement (pattern) @injection.content)
- (#set! injection.language "regex"))
+(python_statement
+ (chunk) @injection.content
+ (#set! injection.language "python"))
((set_item
- option: (option_name) @_option
- value: (set_value) @injection.content)
- (#any-of? @_option
- "includeexpr" "inex"
- "printexpr" "pexpr"
- "formatexpr" "fex"
- "indentexpr" "inde"
- "foldtext" "fdt"
- "foldexpr" "fde"
- "diffexpr" "dex"
- "patchexpr" "pex"
- "charconvert" "ccv")
+ option: (option_name) @_option
+ value: (set_value) @injection.content)
+ (#any-of? @_option "includeexpr" "inex" "printexpr" "pexpr" "formatexpr" "fex" "indentexpr" "inde" "foldtext" "fdt" "foldexpr" "fde" "diffexpr" "dex" "patchexpr" "pex" "charconvert" "ccv")
(#set! injection.language "vim"))
-
-
-; ((comment) @injection.content
-; (#set! injection.language "comment"))
-
-; ((line_continuation_comment) @injection.content
-; (#set! injection.language "comment"))