aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md2
-rw-r--r--doc/nvim-treesitter.txt8
-rw-r--r--lua/nvim-treesitter/highlight.lua2
-rw-r--r--plugin/nvim-treesitter.vim2
-rw-r--r--queries/c/highlights.scm5
-rw-r--r--queries/c_sharp/highlights.scm10
-rw-r--r--queries/dart/highlights.scm10
-rw-r--r--queries/ecma/highlights.scm10
-rw-r--r--queries/fish/highlights.scm5
-rw-r--r--queries/fortran/highlights.scm5
-rw-r--r--queries/gdscript/highlights.scm5
-rw-r--r--queries/go/highlights.scm5
-rw-r--r--queries/java/highlights.scm10
-rw-r--r--queries/julia/highlights.scm5
-rw-r--r--queries/kotlin/highlights.scm5
-rw-r--r--queries/lua/highlights.scm5
-rw-r--r--queries/php/highlights.scm5
-rw-r--r--queries/python/highlights.scm10
-rw-r--r--queries/ruby/highlights.scm10
-rw-r--r--queries/rust/highlights.scm5
-rw-r--r--queries/teal/highlights.scm3
-rw-r--r--queries/verilog/highlights.scm5
-rw-r--r--queries/zig/highlights.scm5
23 files changed, 112 insertions, 25 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 909ad9eeb..d1dd66f6b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -136,6 +136,8 @@ effect on highlighting. We will work on improving highlighting in the near futur
@keyword
@keyword.function
@keyword.operator (for operators that are English words, e.g. `and`, `or`)
+@keyword.return
+@keyword.yield
@operator (for symbolic operators, e.g. `+`, `*`)
@exception
@include keywords for including modules (e.g. import/from in Python)
diff --git a/doc/nvim-treesitter.txt b/doc/nvim-treesitter.txt
index 47ccdf72a..3161ca58d 100644
--- a/doc/nvim-treesitter.txt
+++ b/doc/nvim-treesitter.txt
@@ -528,6 +528,14 @@ For keywords used to define a fuction.
`TSKeywordOperator`
for operators that are English words, e.g. `and`, `as`, `or`.
+ *hl-TSKeywordReturn*
+`TSKeywordReturn`
+for the `return` keyword.
+
+ *hl-TSKeywordYield*
+`TSKeywordYield`
+for the `yield` keyword.
+
*hl-TSLabel*
`TSLabel`
For labels: `label:` in C and `:label:` in Lua.
diff --git a/lua/nvim-treesitter/highlight.lua b/lua/nvim-treesitter/highlight.lua
index 176608622..9ffc5ac0e 100644
--- a/lua/nvim-treesitter/highlight.lua
+++ b/lua/nvim-treesitter/highlight.lua
@@ -46,6 +46,8 @@ hlmap["include"] = "TSInclude"
hlmap["keyword"] = "TSKeyword"
hlmap["keyword.function"] = "TSKeywordFunction"
hlmap["keyword.operator"] = "TSKeywordOperator"
+hlmap["keyword.return"] = "TSKeywordReturn"
+hlmap["keyword.yield"] = "TSKeywordYield"
hlmap["label"] = "TSLabel"
diff --git a/plugin/nvim-treesitter.vim b/plugin/nvim-treesitter.vim
index e9a630a22..30aba6699 100644
--- a/plugin/nvim-treesitter.vim
+++ b/plugin/nvim-treesitter.vim
@@ -63,6 +63,8 @@ highlight default link TSOperator Operator
highlight default link TSKeyword Keyword
highlight default link TSKeywordFunction Keyword
highlight default link TSKeywordOperator TSOperator
+highlight default link TSKeywordReturn TSKeyword
+highlight default link TSKeywordYield TSKeyword
highlight default link TSException Exception
highlight default link TSType Type
diff --git a/queries/c/highlights.scm b/queries/c/highlights.scm
index 3ff76e4c7..29fff0fc2 100644
--- a/queries/c/highlights.scm
+++ b/queries/c/highlights.scm
@@ -6,7 +6,6 @@
"enum"
"extern"
"inline"
- "return"
"sizeof"
"static"
"struct"
@@ -18,6 +17,10 @@
] @keyword
[
+ "return"
+] @keyword.return
+
+[
"while"
"for"
"do"
diff --git a/queries/c_sharp/highlights.scm b/queries/c_sharp/highlights.scm
index 0bf777f0d..d702187de 100644
--- a/queries/c_sharp/highlights.scm
+++ b/queries/c_sharp/highlights.scm
@@ -260,8 +260,6 @@
"params"
"operator"
"default"
- "yield"
- "return"
"abstract"
"const"
"extern"
@@ -288,3 +286,11 @@
"where"
] @keyword
+[
+ "return"
+] @keyword.return
+
+[
+ "yield"
+] @keyword.yield
+
diff --git a/queries/dart/highlights.scm b/queries/dart/highlights.scm
index d873c9e52..343f6c905 100644
--- a/queries/dart/highlights.scm
+++ b/queries/dart/highlights.scm
@@ -182,11 +182,14 @@
"in"
"is"
"new"
- "return"
"super"
"with"
] @keyword
+[
+ "return"
+] @keyword.return
+
; Built in identifiers:
; alone these are marked as keywords
@@ -195,7 +198,6 @@
"as"
"async"
"async*"
- "yield"
"sync*"
"await"
"covariant"
@@ -216,6 +218,10 @@
"typedef"
] @keyword
+[
+ "yield"
+] @keyword.yield
+
; when used as an identifier:
((identifier) @variable.builtin
(#any-of? @variable.builtin
diff --git a/queries/ecma/highlights.scm b/queries/ecma/highlights.scm
index b202e3b4e..073a0d697 100644
--- a/queries/ecma/highlights.scm
+++ b/queries/ecma/highlights.scm
@@ -214,7 +214,6 @@
"in"
"instanceof"
"let"
-"return"
"set"
"static"
"switch"
@@ -223,10 +222,17 @@
"var"
"void"
"with"
-"yield"
] @keyword
[
+"return"
+] @keyword.return
+
+[
+"yield"
+] @keyword.yield
+
+[
"function"
] @keyword.function
diff --git a/queries/fish/highlights.scm b/queries/fish/highlights.scm
index 3a17ead21..bcac60a3e 100644
--- a/queries/fish/highlights.scm
+++ b/queries/fish/highlights.scm
@@ -76,11 +76,14 @@
[
"in"
- "return"
(break)
(continue)
] @keyword
+[
+ "return"
+] @keyword.return
+
;; Punctuation
[
diff --git a/queries/fortran/highlights.scm b/queries/fortran/highlights.scm
index bc4bbd358..9bad6965f 100644
--- a/queries/fortran/highlights.scm
+++ b/queries/fortran/highlights.scm
@@ -70,7 +70,6 @@
"print"
"program"
"read"
- "return"
"stop"
"use"
"write"
@@ -79,6 +78,10 @@
] @keyword
[
+ "return"
+] @keyword.return
+
+[
"else"
"elseif"
"endif"
diff --git a/queries/gdscript/highlights.scm b/queries/gdscript/highlights.scm
index 06801747b..8be07a0b4 100644
--- a/queries/gdscript/highlights.scm
+++ b/queries/gdscript/highlights.scm
@@ -108,7 +108,6 @@
[
"pass"
- "return"
"class"
"class_name"
"extends"
@@ -126,3 +125,7 @@
"mastersync"
"puppetsync"
] @keyword
+
+[
+ "return"
+] @keyword.return
diff --git a/queries/go/highlights.scm b/queries/go/highlights.scm
index 9bd831fa6..c076b774c 100644
--- a/queries/go/highlights.scm
+++ b/queries/go/highlights.scm
@@ -94,7 +94,6 @@
"interface"
"map"
"range"
- "return"
"select"
"struct"
"type"
@@ -102,6 +101,10 @@
"fallthrough"
] @keyword
+[
+ "return"
+] @keyword.return
+
"for" @repeat
[
diff --git a/queries/java/highlights.scm b/queries/java/highlights.scm
index 07c524e9d..c494b687b 100644
--- a/queries/java/highlights.scm
+++ b/queries/java/highlights.scm
@@ -174,8 +174,6 @@
"provides"
"public"
"requires"
-"return"
-"yield"
"static"
"strictfp"
"synchronized"
@@ -188,6 +186,14 @@
] @keyword
[
+"return"
+] @keyword.return
+
+[
+"yield"
+] @keyword.yield
+
+[
"new"
] @keyword.operator
diff --git a/queries/julia/highlights.scm b/queries/julia/highlights.scm
index a53dabe53..760d26bff 100644
--- a/queries/julia/highlights.scm
+++ b/queries/julia/highlights.scm
@@ -127,13 +127,16 @@
[
"const"
- "return"
"macro"
"struct"
"primitive"
"type"
] @keyword
+[
+ "return"
+] @keyword.return
+
((identifier) @keyword (#any-of? @keyword "global" "local"))
(compound_expression
diff --git a/queries/kotlin/highlights.scm b/queries/kotlin/highlights.scm
index 17eeab2a3..f47358e48 100644
--- a/queries/kotlin/highlights.scm
+++ b/queries/kotlin/highlights.scm
@@ -117,11 +117,14 @@
"by"
"fun"
"companion"
- "return"
"constructor"
"throw"
] @keyword
+[
+ "return"
+] @keyword.return
+
(null_literal) @keyword
; const etc.
diff --git a/queries/lua/highlights.scm b/queries/lua/highlights.scm
index a8dad1a53..53020c2d8 100644
--- a/queries/lua/highlights.scm
+++ b/queries/lua/highlights.scm
@@ -54,11 +54,14 @@
[
"in"
"local"
- "return"
(break_statement)
"goto"
] @keyword
+[
+ "return"
+] @keyword.return
+
;; Operators
[
diff --git a/queries/php/highlights.scm b/queries/php/highlights.scm
index 18b001937..760dd8f5f 100644
--- a/queries/php/highlights.scm
+++ b/queries/php/highlights.scm
@@ -106,12 +106,15 @@
"private"
"protected"
"public"
- "return"
"static"
"trait"
] @keyword
[
+ "return"
+] @keyword.return
+
+[
"case"
"else"
"elseif"
diff --git a/queries/python/highlights.scm b/queries/python/highlights.scm
index b97af471a..ce5970747 100644
--- a/queries/python/highlights.scm
+++ b/queries/python/highlights.scm
@@ -210,13 +210,19 @@
"pass"
"print"
"raise"
- "return"
"try"
"with"
- "yield"
"as"
] @keyword
+[
+ "return"
+] @keyword.return
+
+[
+ "yield"
+] @keyword.yield
+
["from" "import"] @include
(aliased_import "as" @include)
diff --git a/queries/ruby/highlights.scm b/queries/ruby/highlights.scm
index 3437605c1..718268aaf 100644
--- a/queries/ruby/highlights.scm
+++ b/queries/ruby/highlights.scm
@@ -19,12 +19,18 @@
"next"
"rescue"
"retry"
- "return"
"then"
- "yield"
] @keyword
[
+ "return"
+] @keyword.return
+
+[
+ "yield"
+] @keyword.yield
+
+[
"and"
"or"
"in"
diff --git a/queries/rust/highlights.scm b/queries/rust/highlights.scm
index 8f7beb234..912ce2800 100644
--- a/queries/rust/highlights.scm
+++ b/queries/rust/highlights.scm
@@ -160,7 +160,6 @@
"move"
"pub"
"ref"
-"return"
"static"
"struct"
"trait"
@@ -174,6 +173,10 @@
(super)
] @keyword
+[
+"return"
+] @keyword.return
+
"fn" @keyword.function
(use_list (self) @keyword)
diff --git a/queries/teal/highlights.scm b/queries/teal/highlights.scm
index 535a49cdf..cf074d1f0 100644
--- a/queries/teal/highlights.scm
+++ b/queries/teal/highlights.scm
@@ -19,7 +19,8 @@
;; Basic statements/Keywords
[ "if" "then" "elseif" "else" ] @conditional
[ "for" "while" "repeat" "until" ] @repeat
-[ "in" "local" "return" (break) (goto) "do" "end" ] @keyword
+[ "in" "local" (break) (goto) "do" "end" ] @keyword
+[ "return" ] @keyword.return
(label) @label
;; Global isn't a real keyword, but it gets special treatment in these places
diff --git a/queries/verilog/highlights.scm b/queries/verilog/highlights.scm
index 40d85beab..3e8df8339 100644
--- a/queries/verilog/highlights.scm
+++ b/queries/verilog/highlights.scm
@@ -13,7 +13,6 @@
"typedef"
"class"
"endclass"
- "return"
"default"
"break"
"interface"
@@ -29,6 +28,10 @@
] @keyword
[
+ "return"
+] @keyword.return
+
+[
"begin"
"end"
] @label
diff --git a/queries/zig/highlights.scm b/queries/zig/highlights.scm
index c2a31c252..a76f65a98 100644
--- a/queries/zig/highlights.scm
+++ b/queries/zig/highlights.scm
@@ -95,7 +95,6 @@
; "packed"
"pub"
"resume"
- "return"
; "linksection"
"struct"
"suspend"
@@ -113,6 +112,10 @@
"while"
] @keyword
+[
+ "return"
+] @keyword.return
+
"fn" @keyword.function
[