mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
feat(keywords) add keyword.return & keyword.yield
This commit is contained in:
parent
859c743296
commit
bd9095e969
23 changed files with 112 additions and 25 deletions
|
|
@ -136,6 +136,8 @@ effect on highlighting. We will work on improving highlighting in the near futur
|
||||||
@keyword
|
@keyword
|
||||||
@keyword.function
|
@keyword.function
|
||||||
@keyword.operator (for operators that are English words, e.g. `and`, `or`)
|
@keyword.operator (for operators that are English words, e.g. `and`, `or`)
|
||||||
|
@keyword.return
|
||||||
|
@keyword.yield
|
||||||
@operator (for symbolic operators, e.g. `+`, `*`)
|
@operator (for symbolic operators, e.g. `+`, `*`)
|
||||||
@exception
|
@exception
|
||||||
@include keywords for including modules (e.g. import/from in Python)
|
@include keywords for including modules (e.g. import/from in Python)
|
||||||
|
|
|
||||||
|
|
@ -528,6 +528,14 @@ For keywords used to define a fuction.
|
||||||
`TSKeywordOperator`
|
`TSKeywordOperator`
|
||||||
for operators that are English words, e.g. `and`, `as`, `or`.
|
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*
|
*hl-TSLabel*
|
||||||
`TSLabel`
|
`TSLabel`
|
||||||
For labels: `label:` in C and `:label:` in Lua.
|
For labels: `label:` in C and `:label:` in Lua.
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,8 @@ hlmap["include"] = "TSInclude"
|
||||||
hlmap["keyword"] = "TSKeyword"
|
hlmap["keyword"] = "TSKeyword"
|
||||||
hlmap["keyword.function"] = "TSKeywordFunction"
|
hlmap["keyword.function"] = "TSKeywordFunction"
|
||||||
hlmap["keyword.operator"] = "TSKeywordOperator"
|
hlmap["keyword.operator"] = "TSKeywordOperator"
|
||||||
|
hlmap["keyword.return"] = "TSKeywordReturn"
|
||||||
|
hlmap["keyword.yield"] = "TSKeywordYield"
|
||||||
|
|
||||||
hlmap["label"] = "TSLabel"
|
hlmap["label"] = "TSLabel"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,8 @@ highlight default link TSOperator Operator
|
||||||
highlight default link TSKeyword Keyword
|
highlight default link TSKeyword Keyword
|
||||||
highlight default link TSKeywordFunction Keyword
|
highlight default link TSKeywordFunction Keyword
|
||||||
highlight default link TSKeywordOperator TSOperator
|
highlight default link TSKeywordOperator TSOperator
|
||||||
|
highlight default link TSKeywordReturn TSKeyword
|
||||||
|
highlight default link TSKeywordYield TSKeyword
|
||||||
highlight default link TSException Exception
|
highlight default link TSException Exception
|
||||||
|
|
||||||
highlight default link TSType Type
|
highlight default link TSType Type
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
"enum"
|
"enum"
|
||||||
"extern"
|
"extern"
|
||||||
"inline"
|
"inline"
|
||||||
"return"
|
|
||||||
"sizeof"
|
"sizeof"
|
||||||
"static"
|
"static"
|
||||||
"struct"
|
"struct"
|
||||||
|
|
@ -17,6 +16,10 @@
|
||||||
"register"
|
"register"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
[
|
[
|
||||||
"while"
|
"while"
|
||||||
"for"
|
"for"
|
||||||
|
|
|
||||||
|
|
@ -260,8 +260,6 @@
|
||||||
"params"
|
"params"
|
||||||
"operator"
|
"operator"
|
||||||
"default"
|
"default"
|
||||||
"yield"
|
|
||||||
"return"
|
|
||||||
"abstract"
|
"abstract"
|
||||||
"const"
|
"const"
|
||||||
"extern"
|
"extern"
|
||||||
|
|
@ -288,3 +286,11 @@
|
||||||
"where"
|
"where"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
|
[
|
||||||
|
"yield"
|
||||||
|
] @keyword.yield
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -182,11 +182,14 @@
|
||||||
"in"
|
"in"
|
||||||
"is"
|
"is"
|
||||||
"new"
|
"new"
|
||||||
"return"
|
|
||||||
"super"
|
"super"
|
||||||
"with"
|
"with"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
|
|
||||||
; Built in identifiers:
|
; Built in identifiers:
|
||||||
; alone these are marked as keywords
|
; alone these are marked as keywords
|
||||||
|
|
@ -195,7 +198,6 @@
|
||||||
"as"
|
"as"
|
||||||
"async"
|
"async"
|
||||||
"async*"
|
"async*"
|
||||||
"yield"
|
|
||||||
"sync*"
|
"sync*"
|
||||||
"await"
|
"await"
|
||||||
"covariant"
|
"covariant"
|
||||||
|
|
@ -216,6 +218,10 @@
|
||||||
"typedef"
|
"typedef"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"yield"
|
||||||
|
] @keyword.yield
|
||||||
|
|
||||||
; when used as an identifier:
|
; when used as an identifier:
|
||||||
((identifier) @variable.builtin
|
((identifier) @variable.builtin
|
||||||
(#any-of? @variable.builtin
|
(#any-of? @variable.builtin
|
||||||
|
|
|
||||||
|
|
@ -214,7 +214,6 @@
|
||||||
"in"
|
"in"
|
||||||
"instanceof"
|
"instanceof"
|
||||||
"let"
|
"let"
|
||||||
"return"
|
|
||||||
"set"
|
"set"
|
||||||
"static"
|
"static"
|
||||||
"switch"
|
"switch"
|
||||||
|
|
@ -223,9 +222,16 @@
|
||||||
"var"
|
"var"
|
||||||
"void"
|
"void"
|
||||||
"with"
|
"with"
|
||||||
"yield"
|
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
|
[
|
||||||
|
"yield"
|
||||||
|
] @keyword.yield
|
||||||
|
|
||||||
[
|
[
|
||||||
"function"
|
"function"
|
||||||
] @keyword.function
|
] @keyword.function
|
||||||
|
|
|
||||||
|
|
@ -76,11 +76,14 @@
|
||||||
|
|
||||||
[
|
[
|
||||||
"in"
|
"in"
|
||||||
"return"
|
|
||||||
(break)
|
(break)
|
||||||
(continue)
|
(continue)
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
;; Punctuation
|
;; Punctuation
|
||||||
|
|
||||||
[
|
[
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,6 @@
|
||||||
"print"
|
"print"
|
||||||
"program"
|
"program"
|
||||||
"read"
|
"read"
|
||||||
"return"
|
|
||||||
"stop"
|
"stop"
|
||||||
"use"
|
"use"
|
||||||
"write"
|
"write"
|
||||||
|
|
@ -78,6 +77,10 @@
|
||||||
(procedure_qualifier)
|
(procedure_qualifier)
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
[
|
[
|
||||||
"else"
|
"else"
|
||||||
"elseif"
|
"elseif"
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,6 @@
|
||||||
|
|
||||||
[
|
[
|
||||||
"pass"
|
"pass"
|
||||||
"return"
|
|
||||||
"class"
|
"class"
|
||||||
"class_name"
|
"class_name"
|
||||||
"extends"
|
"extends"
|
||||||
|
|
@ -126,3 +125,7 @@
|
||||||
"mastersync"
|
"mastersync"
|
||||||
"puppetsync"
|
"puppetsync"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,6 @@
|
||||||
"interface"
|
"interface"
|
||||||
"map"
|
"map"
|
||||||
"range"
|
"range"
|
||||||
"return"
|
|
||||||
"select"
|
"select"
|
||||||
"struct"
|
"struct"
|
||||||
"type"
|
"type"
|
||||||
|
|
@ -102,6 +101,10 @@
|
||||||
"fallthrough"
|
"fallthrough"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
"for" @repeat
|
"for" @repeat
|
||||||
|
|
||||||
[
|
[
|
||||||
|
|
|
||||||
|
|
@ -174,8 +174,6 @@
|
||||||
"provides"
|
"provides"
|
||||||
"public"
|
"public"
|
||||||
"requires"
|
"requires"
|
||||||
"return"
|
|
||||||
"yield"
|
|
||||||
"static"
|
"static"
|
||||||
"strictfp"
|
"strictfp"
|
||||||
"synchronized"
|
"synchronized"
|
||||||
|
|
@ -187,6 +185,14 @@
|
||||||
"with"
|
"with"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
|
[
|
||||||
|
"yield"
|
||||||
|
] @keyword.yield
|
||||||
|
|
||||||
[
|
[
|
||||||
"new"
|
"new"
|
||||||
] @keyword.operator
|
] @keyword.operator
|
||||||
|
|
|
||||||
|
|
@ -127,13 +127,16 @@
|
||||||
|
|
||||||
[
|
[
|
||||||
"const"
|
"const"
|
||||||
"return"
|
|
||||||
"macro"
|
"macro"
|
||||||
"struct"
|
"struct"
|
||||||
"primitive"
|
"primitive"
|
||||||
"type"
|
"type"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
((identifier) @keyword (#any-of? @keyword "global" "local"))
|
((identifier) @keyword (#any-of? @keyword "global" "local"))
|
||||||
|
|
||||||
(compound_expression
|
(compound_expression
|
||||||
|
|
|
||||||
|
|
@ -117,11 +117,14 @@
|
||||||
"by"
|
"by"
|
||||||
"fun"
|
"fun"
|
||||||
"companion"
|
"companion"
|
||||||
"return"
|
|
||||||
"constructor"
|
"constructor"
|
||||||
"throw"
|
"throw"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
(null_literal) @keyword
|
(null_literal) @keyword
|
||||||
|
|
||||||
; const etc.
|
; const etc.
|
||||||
|
|
|
||||||
|
|
@ -54,11 +54,14 @@
|
||||||
[
|
[
|
||||||
"in"
|
"in"
|
||||||
"local"
|
"local"
|
||||||
"return"
|
|
||||||
(break_statement)
|
(break_statement)
|
||||||
"goto"
|
"goto"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
;; Operators
|
;; Operators
|
||||||
|
|
||||||
[
|
[
|
||||||
|
|
|
||||||
|
|
@ -106,11 +106,14 @@
|
||||||
"private"
|
"private"
|
||||||
"protected"
|
"protected"
|
||||||
"public"
|
"public"
|
||||||
"return"
|
|
||||||
"static"
|
"static"
|
||||||
"trait"
|
"trait"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
[
|
[
|
||||||
"case"
|
"case"
|
||||||
"else"
|
"else"
|
||||||
|
|
|
||||||
|
|
@ -210,13 +210,19 @@
|
||||||
"pass"
|
"pass"
|
||||||
"print"
|
"print"
|
||||||
"raise"
|
"raise"
|
||||||
"return"
|
|
||||||
"try"
|
"try"
|
||||||
"with"
|
"with"
|
||||||
"yield"
|
|
||||||
"as"
|
"as"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
|
[
|
||||||
|
"yield"
|
||||||
|
] @keyword.yield
|
||||||
|
|
||||||
["from" "import"] @include
|
["from" "import"] @include
|
||||||
(aliased_import "as" @include)
|
(aliased_import "as" @include)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,11 +19,17 @@
|
||||||
"next"
|
"next"
|
||||||
"rescue"
|
"rescue"
|
||||||
"retry"
|
"retry"
|
||||||
"return"
|
|
||||||
"then"
|
"then"
|
||||||
"yield"
|
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
|
[
|
||||||
|
"yield"
|
||||||
|
] @keyword.yield
|
||||||
|
|
||||||
[
|
[
|
||||||
"and"
|
"and"
|
||||||
"or"
|
"or"
|
||||||
|
|
|
||||||
|
|
@ -160,7 +160,6 @@
|
||||||
"move"
|
"move"
|
||||||
"pub"
|
"pub"
|
||||||
"ref"
|
"ref"
|
||||||
"return"
|
|
||||||
"static"
|
"static"
|
||||||
"struct"
|
"struct"
|
||||||
"trait"
|
"trait"
|
||||||
|
|
@ -174,6 +173,10 @@
|
||||||
(super)
|
(super)
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
"fn" @keyword.function
|
"fn" @keyword.function
|
||||||
|
|
||||||
(use_list (self) @keyword)
|
(use_list (self) @keyword)
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,8 @@
|
||||||
;; Basic statements/Keywords
|
;; Basic statements/Keywords
|
||||||
[ "if" "then" "elseif" "else" ] @conditional
|
[ "if" "then" "elseif" "else" ] @conditional
|
||||||
[ "for" "while" "repeat" "until" ] @repeat
|
[ "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
|
(label) @label
|
||||||
|
|
||||||
;; Global isn't a real keyword, but it gets special treatment in these places
|
;; Global isn't a real keyword, but it gets special treatment in these places
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@
|
||||||
"typedef"
|
"typedef"
|
||||||
"class"
|
"class"
|
||||||
"endclass"
|
"endclass"
|
||||||
"return"
|
|
||||||
"default"
|
"default"
|
||||||
"break"
|
"break"
|
||||||
"interface"
|
"interface"
|
||||||
|
|
@ -28,6 +27,10 @@
|
||||||
"assert"
|
"assert"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
[
|
[
|
||||||
"begin"
|
"begin"
|
||||||
"end"
|
"end"
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,6 @@
|
||||||
; "packed"
|
; "packed"
|
||||||
"pub"
|
"pub"
|
||||||
"resume"
|
"resume"
|
||||||
"return"
|
|
||||||
; "linksection"
|
; "linksection"
|
||||||
"struct"
|
"struct"
|
||||||
"suspend"
|
"suspend"
|
||||||
|
|
@ -113,6 +112,10 @@
|
||||||
"while"
|
"while"
|
||||||
] @keyword
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"return"
|
||||||
|
] @keyword.return
|
||||||
|
|
||||||
"fn" @keyword.function
|
"fn" @keyword.function
|
||||||
|
|
||||||
[
|
[
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue