feat(keywords) add keyword.return & keyword.yield

This commit is contained in:
antonk52 2021-07-04 19:55:59 +03:00 committed by Stephan Seitz
parent 859c743296
commit bd9095e969
23 changed files with 112 additions and 25 deletions

View file

@ -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)

View file

@ -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.

View file

@ -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"

View file

@ -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

View file

@ -6,7 +6,6 @@
"enum"
"extern"
"inline"
"return"
"sizeof"
"static"
"struct"
@ -17,6 +16,10 @@
"register"
] @keyword
[
"return"
] @keyword.return
[
"while"
"for"

View file

@ -260,8 +260,6 @@
"params"
"operator"
"default"
"yield"
"return"
"abstract"
"const"
"extern"
@ -288,3 +286,11 @@
"where"
] @keyword
[
"return"
] @keyword.return
[
"yield"
] @keyword.yield

View file

@ -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

View file

@ -214,7 +214,6 @@
"in"
"instanceof"
"let"
"return"
"set"
"static"
"switch"
@ -223,9 +222,16 @@
"var"
"void"
"with"
"yield"
] @keyword
[
"return"
] @keyword.return
[
"yield"
] @keyword.yield
[
"function"
] @keyword.function

View file

@ -76,11 +76,14 @@
[
"in"
"return"
(break)
(continue)
] @keyword
[
"return"
] @keyword.return
;; Punctuation
[

View file

@ -70,7 +70,6 @@
"print"
"program"
"read"
"return"
"stop"
"use"
"write"
@ -78,6 +77,10 @@
(procedure_qualifier)
] @keyword
[
"return"
] @keyword.return
[
"else"
"elseif"

View file

@ -108,7 +108,6 @@
[
"pass"
"return"
"class"
"class_name"
"extends"
@ -126,3 +125,7 @@
"mastersync"
"puppetsync"
] @keyword
[
"return"
] @keyword.return

View file

@ -94,7 +94,6 @@
"interface"
"map"
"range"
"return"
"select"
"struct"
"type"
@ -102,6 +101,10 @@
"fallthrough"
] @keyword
[
"return"
] @keyword.return
"for" @repeat
[

View file

@ -174,8 +174,6 @@
"provides"
"public"
"requires"
"return"
"yield"
"static"
"strictfp"
"synchronized"
@ -187,6 +185,14 @@
"with"
] @keyword
[
"return"
] @keyword.return
[
"yield"
] @keyword.yield
[
"new"
] @keyword.operator

View file

@ -127,13 +127,16 @@
[
"const"
"return"
"macro"
"struct"
"primitive"
"type"
] @keyword
[
"return"
] @keyword.return
((identifier) @keyword (#any-of? @keyword "global" "local"))
(compound_expression

View file

@ -117,11 +117,14 @@
"by"
"fun"
"companion"
"return"
"constructor"
"throw"
] @keyword
[
"return"
] @keyword.return
(null_literal) @keyword
; const etc.

View file

@ -54,11 +54,14 @@
[
"in"
"local"
"return"
(break_statement)
"goto"
] @keyword
[
"return"
] @keyword.return
;; Operators
[

View file

@ -106,11 +106,14 @@
"private"
"protected"
"public"
"return"
"static"
"trait"
] @keyword
[
"return"
] @keyword.return
[
"case"
"else"

View file

@ -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)

View file

@ -19,11 +19,17 @@
"next"
"rescue"
"retry"
"return"
"then"
"yield"
] @keyword
[
"return"
] @keyword.return
[
"yield"
] @keyword.yield
[
"and"
"or"

View file

@ -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)

View file

@ -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

View file

@ -13,7 +13,6 @@
"typedef"
"class"
"endclass"
"return"
"default"
"break"
"interface"
@ -28,6 +27,10 @@
"assert"
] @keyword
[
"return"
] @keyword.return
[
"begin"
"end"

View file

@ -95,7 +95,6 @@
; "packed"
"pub"
"resume"
"return"
; "linksection"
"struct"
"suspend"
@ -113,6 +112,10 @@
"while"
] @keyword
[
"return"
] @keyword.return
"fn" @keyword.function
[