mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
Add highlights.scm for Go
This commit is contained in:
parent
cdc92965d6
commit
04040c61c7
2 changed files with 137 additions and 1 deletions
|
|
@ -155,7 +155,7 @@ List of currently supported languages:
|
|||
- [x] lua (maintained by @vigoux)
|
||||
- [x] ruby (maintained by @TravonteD)
|
||||
- [x] c (maintained by @vigoux)
|
||||
- [ ] go
|
||||
- [x] go (maintained by @theHamsta)
|
||||
- [ ] cpp
|
||||
- [ ] rust
|
||||
- [x] python (maintained by @theHamsta)
|
||||
|
|
|
|||
136
queries/go/highlights.scm
Normal file
136
queries/go/highlights.scm
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
;; Forked from tree-sitter-go
|
||||
;; Copyright (c) 2014 Max Brunsfeld (The MIT License)
|
||||
|
||||
;;
|
||||
; Function calls
|
||||
|
||||
(call_expression
|
||||
function: (identifier) @function)
|
||||
|
||||
(call_expression
|
||||
function: (selector_expression
|
||||
field: (field_identifier) @method))
|
||||
|
||||
; Function definitions
|
||||
|
||||
(function_declaration
|
||||
name: (identifier) @function)
|
||||
|
||||
(method_declaration
|
||||
name: (field_identifier) @method)
|
||||
|
||||
; Identifiers
|
||||
|
||||
(type_identifier) @type
|
||||
(field_identifier) @property
|
||||
(identifier) @variable
|
||||
|
||||
(parameter_declaration (identifier) @parameter)
|
||||
(variadic_parameter_declaration (identifier) @parameter)
|
||||
|
||||
((identifier) @constant
|
||||
(#eq? @constant "_"))
|
||||
|
||||
((identifier) @constant
|
||||
(#match? @constant "^[A-Z][A-Z\\d_]+$"))
|
||||
|
||||
; Operators
|
||||
|
||||
"--" @operator
|
||||
"-" @operator
|
||||
"-=" @operator
|
||||
":=" @operator
|
||||
"!" @operator
|
||||
"!=" @operator
|
||||
"..." @operator
|
||||
"*" @operator
|
||||
"*" @operator
|
||||
"*=" @operator
|
||||
"/" @operator
|
||||
"/=" @operator
|
||||
"&" @operator
|
||||
"&&" @operator
|
||||
"&=" @operator
|
||||
"%" @operator
|
||||
"%=" @operator
|
||||
"^" @operator
|
||||
"^=" @operator
|
||||
"+" @operator
|
||||
"++" @operator
|
||||
"+=" @operator
|
||||
"<-" @operator
|
||||
"<" @operator
|
||||
"<<" @operator
|
||||
"<<=" @operator
|
||||
"<=" @operator
|
||||
"=" @operator
|
||||
"==" @operator
|
||||
">" @operator
|
||||
">=" @operator
|
||||
">>" @operator
|
||||
">>=" @operator
|
||||
"|" @operator
|
||||
"|=" @operator
|
||||
"||" @operator
|
||||
|
||||
; Keywords
|
||||
|
||||
"break" @keyword
|
||||
"case" @conditional
|
||||
"chan" @keyword
|
||||
"const" @keyword
|
||||
"continue" @keyword
|
||||
"default" @keyword
|
||||
"defer" @keyword
|
||||
"else" @conditional
|
||||
"fallthrough" @keyword
|
||||
"for" @repeat
|
||||
"func" @keyword
|
||||
"go" @keyword
|
||||
"goto" @keyword
|
||||
"if" @conditional
|
||||
"import" @include
|
||||
"interface" @keyword
|
||||
"map" @keyword
|
||||
"package" @include
|
||||
"range" @keyword
|
||||
"return" @keyword
|
||||
"select" @keyword
|
||||
"struct" @keyword
|
||||
"switch" @conditional
|
||||
"type" @keyword
|
||||
"var" @keyword
|
||||
|
||||
; Delimiters
|
||||
|
||||
"." @punctuation.delimiter
|
||||
"," @punctuation.delimiter
|
||||
":" @punctuation.delimiter
|
||||
";" @punctuation.delimiter
|
||||
|
||||
"(" @punctuation.bracket
|
||||
")" @punctuation.bracket
|
||||
"{" @punctuation.bracket
|
||||
"}" @punctuation.bracket
|
||||
"[" @punctuation.bracket
|
||||
"]" @punctuation.bracket
|
||||
|
||||
|
||||
; Literals
|
||||
|
||||
(interpreted_string_literal) @string
|
||||
(raw_string_literal) @string
|
||||
(rune_literal) @string
|
||||
(escape_sequence) @escape
|
||||
|
||||
(int_literal) @number
|
||||
(float_literal) @float
|
||||
(imaginary_literal) @number
|
||||
|
||||
(true) @boolean
|
||||
(false) @boolean
|
||||
(nil) @constant.builtin
|
||||
|
||||
(comment) @comment
|
||||
|
||||
(ERROR) @error
|
||||
Loading…
Add table
Add a link
Reference in a new issue