Update highlights for golang (#6204)

- update tree-sitter-go
- refine keywords
- set package as namespace
- add label
This commit is contained in:
Erasin Wang 2023-03-08 08:33:13 +08:00 committed by GitHub
parent 622f90a157
commit 0e5a4e55a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 56 additions and 23 deletions

View File

@ -324,7 +324,7 @@ args = { mode = "local", processId = "{0}" }
[[grammar]]
name = "go"
source = { git = "https://github.com/tree-sitter/tree-sitter-go", rev = "05900faa3cdb5d2d8c8bd5e77ee698487e0a8611" }
source = { git = "https://github.com/tree-sitter/tree-sitter-go", rev = "64457ea6b73ef5422ed1687178d4545c3e91334a" }
[[language]]
name = "gomod"

View File

@ -19,6 +19,9 @@
(method_declaration
name: (field_identifier) @function.method)
(method_spec
name: (field_identifier) @function.method)
; Identifiers
((identifier) @constant (match? @constant "^[A-Z][A-Z\\d_]+$"))
@ -32,10 +35,19 @@
(match? @type.builtin "^(any|bool|byte|comparable|complex128|complex64|error|float32|float64|int|int16|int32|int64|int8|rune|string|uint|uint16|uint32|uint64|uint8|uintptr)$"))
(type_identifier) @type
(type_spec
name: (type_identifier) @constructor)
(field_identifier) @variable.other.member
(identifier) @variable
(package_identifier) @variable
(package_identifier) @namespace
(parameter_declaration (identifier) @variable.parameter)
(variadic_parameter_declaration (identifier) @variable.parameter)
(label_name) @label
(const_spec
name: (identifier) @constant)
; Operators
@ -82,36 +94,57 @@
; Keywords
[
"break"
"case"
"chan"
"const"
"continue"
"default"
"defer"
"else"
"fallthrough"
"for"
"func"
"go"
"goto"
"if"
"interface"
"map"
"range"
"return"
"select"
"struct"
"switch"
"type"
"var"
] @keyword
[
"if"
"else"
"switch"
"select"
"case"
] @keyword.control.conditional
[
"for"
"range"
] @keyword.control.repeat
[
"import"
"package"
] @keyword.control.import
[
"return"
"continue"
"break"
"fallthrough"
] @keyword.control.return
[
"func"
] @keyword.function
[
"var"
"chan"
"interface"
"map"
"struct"
] @keyword.storage.type
[
"const"
] @keyword.storage.modifier
[
"defer"
"goto"
"go"
] @function.macro
; Delimiters
[