fix(language/go): add tree-sitter query for highlighting struct properties

The field_identifier type was recently removed from tree-sitter-go here:
https://github.com/tree-sitter/tree-sitter-go/pull/71

This means that struct keys are no longer syntax highlighted as
properties, which I dislike. Hence this new query targets the first
element of a key/value pair, and marks the first element as a @property
if it contains an identifier.

I'm not sure if this undoes the goal of removing the field_identifier,
but for now, it resolves my personal annoyance of struct keys not be
highlighted as properties when creating a new instance of the struct.
This commit is contained in:
2022-10-05 00:11:46 +01:00
parent 3b280e2d4c
commit 6d4665f3dd

View File

@@ -79,6 +79,12 @@
(call_expression
function: (identifier) @function.builtin
(.match? @function.builtin "^(append|cap|close|complex|copy|delete|imag|len|make|new|panic|print|println|real|recover)$"))
;; Highlight struct/block keys as properties after field_identifier was
;; removed from the Go parser:
;; https://github.com/tree-sitter/tree-sitter-go/pull/71
(keyed_element
\.
(literal_element (identifier)) @property)
]))
:config