mirror of
https://github.com/nvim-treesitter/nvim-treesitter
synced 2024-09-16 14:34:05 +02:00
fix(highlights): improve member/property distinction
This commit is contained in:
parent
2f38c36294
commit
fa38f4e6f9
34 changed files with 106 additions and 95 deletions
|
@ -33,12 +33,12 @@
|
|||
|
||||
(variation) @type.qualifier
|
||||
|
||||
(alias) @property
|
||||
(alias) @keyword.directive
|
||||
|
||||
(number) @number
|
||||
|
||||
(argument
|
||||
key: (string) @label
|
||||
key: (string) @property
|
||||
value: (string) @string)
|
||||
|
||||
(escape) @string.escape
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
(_) @string.special)
|
||||
|
||||
(_
|
||||
key: (_) @label)
|
||||
key: (_) @property)
|
||||
|
||||
(number) @number
|
||||
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
; Properties
|
||||
;-----------
|
||||
(property_identifier) @property
|
||||
(property_identifier) @variable.member
|
||||
|
||||
(shorthand_property_identifier) @property
|
||||
(shorthand_property_identifier) @variable.member
|
||||
|
||||
(private_property_identifier) @property
|
||||
(private_property_identifier) @variable.member
|
||||
|
||||
(variable_declarator
|
||||
name:
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
service_name: (identifier) @type)
|
||||
|
||||
(error_set
|
||||
(identifier) @property)
|
||||
(identifier) @variable.member)
|
||||
|
||||
(error_set
|
||||
name: (identifier) @type)
|
||||
|
@ -70,10 +70,10 @@
|
|||
] @attribute.builtin
|
||||
|
||||
(parameter
|
||||
name: (identifier) @property)
|
||||
name: (identifier) @variable.parameter)
|
||||
|
||||
(field
|
||||
name: (identifier) @variable)
|
||||
name: (identifier) @variable.member)
|
||||
|
||||
(method
|
||||
name: (identifier) @function.method)
|
||||
|
|
|
@ -235,7 +235,7 @@
|
|||
|
||||
; Properties
|
||||
(derived_type_member_expression
|
||||
(type_member) @property)
|
||||
(type_member) @variable.member)
|
||||
|
||||
; Operators
|
||||
[
|
||||
|
|
|
@ -128,20 +128,20 @@
|
|||
arguments:
|
||||
(arguments
|
||||
(argument
|
||||
label: (label) @property)?))
|
||||
label: (label) @variable.member)?))
|
||||
|
||||
(record_pattern_argument
|
||||
label: (label) @property)
|
||||
label: (label) @variable.member)
|
||||
|
||||
(record_update_argument
|
||||
label: (label) @property)
|
||||
label: (label) @variable.member)
|
||||
|
||||
(field_access
|
||||
record: (identifier) @variable
|
||||
field: (label) @property)
|
||||
field: (label) @variable.member)
|
||||
|
||||
(data_constructor_argument
|
||||
(label) @property)
|
||||
(label) @variable.member)
|
||||
|
||||
; Types
|
||||
[
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
((tag_name) @constructor
|
||||
(#lua-match? @constructor "^%u"))
|
||||
|
||||
(attribute_name) @property
|
||||
(attribute_name) @attribute
|
||||
|
||||
(string_literal) @string
|
||||
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
; highlights.scm
|
||||
[
|
||||
(key_string)
|
||||
(json_key_string)
|
||||
] @property
|
||||
|
||||
[
|
||||
"[QueryStringParams]"
|
||||
"[FormParams]"
|
||||
|
@ -8,9 +13,7 @@
|
|||
"[Asserts]"
|
||||
"[Options]"
|
||||
"[BasicAuth]"
|
||||
(key_string)
|
||||
(json_key_string)
|
||||
] @property
|
||||
] @module
|
||||
|
||||
[
|
||||
"\\"
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(number) @number
|
||||
|
||||
(pair
|
||||
key: (string) @label)
|
||||
key: (string) @property)
|
||||
|
||||
(pair
|
||||
value: (string) @string)
|
||||
|
|
|
@ -25,17 +25,17 @@
|
|||
"@" @variable.builtin)
|
||||
|
||||
(class_parameter
|
||||
(simple_identifier) @property)
|
||||
(simple_identifier) @variable.member)
|
||||
|
||||
(class_body
|
||||
(property_declaration
|
||||
(variable_declaration
|
||||
(simple_identifier) @property)))
|
||||
(simple_identifier) @variable.member)))
|
||||
|
||||
; id_1.id_2.id_3: `id_2` and `id_3` are assumed as object properties
|
||||
(_
|
||||
(navigation_suffix
|
||||
(simple_identifier) @property))
|
||||
(simple_identifier) @variable.member))
|
||||
|
||||
; SCREAMING CASE identifiers are assumed to be constants
|
||||
((simple_identifier) @constant
|
||||
|
|
|
@ -86,14 +86,14 @@
|
|||
|
||||
(superclass
|
||||
"."
|
||||
(identifier) @property)
|
||||
(identifier) @variable.member)
|
||||
|
||||
(property_name
|
||||
"."
|
||||
(identifier) @property)
|
||||
(identifier) @variable.member)
|
||||
|
||||
(property
|
||||
name: (identifier) @property)
|
||||
name: (identifier) @variable.member)
|
||||
|
||||
; Types
|
||||
(class_definition
|
||||
|
|
|
@ -229,10 +229,10 @@
|
|||
; Properties
|
||||
(property_implementation
|
||||
"@synthesize"
|
||||
(identifier) @property)
|
||||
(identifier) @variable.member)
|
||||
|
||||
((identifier) @property
|
||||
(#has-ancestor? @property struct_declaration))
|
||||
((identifier) @variable.member
|
||||
(#has-ancestor? @variable.member struct_declaration))
|
||||
|
||||
; Parameters
|
||||
(method_parameter
|
||||
|
|
|
@ -76,13 +76,16 @@
|
|||
((value_name) @function.builtin
|
||||
(#any-of? @function.builtin "raise" "raise_notrace" "failwith" "invalid_arg"))
|
||||
|
||||
; Properties
|
||||
;-----------
|
||||
; Fields
|
||||
;-------
|
||||
[
|
||||
(label_name)
|
||||
(field_name)
|
||||
(instance_variable_name)
|
||||
] @property
|
||||
] @variable.member
|
||||
|
||||
; Labels
|
||||
; ------
|
||||
(label_name) @label
|
||||
|
||||
; Constants
|
||||
;----------
|
||||
|
@ -306,7 +309,7 @@
|
|||
|
||||
; Attributes
|
||||
;-----------
|
||||
(attribute_id) @property
|
||||
(attribute_id) @attribute
|
||||
|
||||
; Comments
|
||||
;---------
|
||||
|
|
|
@ -325,10 +325,10 @@
|
|||
name: (identifier) @function)
|
||||
|
||||
(declProp
|
||||
getter: (identifier) @property)
|
||||
getter: (identifier) @variable.member)
|
||||
|
||||
(declProp
|
||||
setter: (identifier) @property)
|
||||
setter: (identifier) @variable.member)
|
||||
|
||||
; -- Function parameters
|
||||
(declArg
|
||||
|
@ -399,26 +399,26 @@
|
|||
|
||||
; -- Fields
|
||||
(exprDot
|
||||
rhs: (identifier) @property)
|
||||
rhs: (identifier) @variable.member)
|
||||
|
||||
(exprDot
|
||||
rhs: (exprDot) @property)
|
||||
rhs: (exprDot) @variable.member)
|
||||
|
||||
(declClass
|
||||
(declField
|
||||
name: (identifier) @property))
|
||||
name: (identifier) @variable.member))
|
||||
|
||||
(declSection
|
||||
(declField
|
||||
name: (identifier) @property))
|
||||
name: (identifier) @variable.member))
|
||||
|
||||
(declSection
|
||||
(declVars
|
||||
(declVar
|
||||
name: (identifier) @property)))
|
||||
name: (identifier) @variable.member)))
|
||||
|
||||
(recInitializerField
|
||||
name: (identifier) @property)
|
||||
name: (identifier) @variable.member)
|
||||
|
||||
; ---------------------------------------------- ;;;
|
||||
; EVERYTHING BELOW THIS IS OF QUESTIONABLE VALUE ;;;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
(tag
|
||||
(tag_name) @_tag
|
||||
(#eq? @_tag "@property")
|
||||
(variable_name) @property)
|
||||
(variable_name) @variable.member)
|
||||
|
||||
(tag
|
||||
(tag_name) @_tag
|
||||
|
|
|
@ -36,14 +36,14 @@
|
|||
(default_case
|
||||
"default" @keyword.conditional)
|
||||
|
||||
; Properties
|
||||
; Attributes
|
||||
(attribute
|
||||
name: (identifier) @property)
|
||||
name: (identifier) @attribute)
|
||||
|
||||
(attribute
|
||||
name:
|
||||
(variable
|
||||
(identifier) @property))
|
||||
(identifier) @attribute))
|
||||
|
||||
; Parameters
|
||||
(lambda
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
[
|
||||
(ivar_name)
|
||||
(cvar_name)
|
||||
] @property
|
||||
] @variable.member
|
||||
|
||||
(alias_member
|
||||
(method_name) @function)
|
||||
|
@ -80,7 +80,7 @@
|
|||
(const_name
|
||||
(constant) @constant)
|
||||
|
||||
(global_name) @property
|
||||
(global_name) @variable.global
|
||||
|
||||
; Standard Arguments
|
||||
(parameter
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
(enum_variant) @constant
|
||||
|
||||
(struct_entry
|
||||
(identifier) @property)
|
||||
(identifier) @variable.member)
|
||||
|
||||
(struct_entry
|
||||
(enum_variant
|
||||
|
|
|
@ -122,7 +122,7 @@
|
|||
[
|
||||
(class_variable)
|
||||
(instance_variable)
|
||||
] @label
|
||||
] @variable.member
|
||||
|
||||
((identifier) @constant.builtin
|
||||
(#any-of? @constant.builtin "__callee__" "__dir__" "__id__" "__method__" "__send__" "__ENCODING__" "__FILE__" "__LINE__"))
|
||||
|
@ -176,7 +176,7 @@
|
|||
[
|
||||
(heredoc_beginning)
|
||||
(heredoc_end)
|
||||
] @constant
|
||||
] @label
|
||||
|
||||
[
|
||||
(bare_symbol)
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
|
||||
; expressions
|
||||
(field_expression
|
||||
field: (identifier) @property)
|
||||
field: (identifier) @variable.member)
|
||||
|
||||
(field_expression
|
||||
value: (identifier) @type
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
; Fields
|
||||
(field_identifier) @variable.member
|
||||
|
||||
(annotation_key) @attribute
|
||||
(annotation_key) @variable.member
|
||||
|
||||
((field_identifier) @constant
|
||||
(#lua-match? @constant "^[%u_]*$"))
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
(field_identifier
|
||||
(identifier) @property)
|
||||
(identifier) @variable.member)
|
||||
|
||||
(field_identifier
|
||||
(dotted_identifier
|
||||
(identifier) @property))
|
||||
(identifier) @variable.member))
|
||||
|
||||
(type_of_clause
|
||||
(identifier) @property)
|
||||
(identifier) @variable.member)
|
||||
|
||||
(when_expression
|
||||
(identifier) @type)
|
||||
|
||||
(when_expression
|
||||
(field_list
|
||||
(identifier) @property))
|
||||
(identifier) @variable.member))
|
||||
|
||||
(when_expression
|
||||
(field_list
|
||||
(dotted_identifier
|
||||
(identifier) @property)))
|
||||
(identifier) @variable.member)))
|
||||
|
||||
(else_expression
|
||||
(field_list
|
||||
(identifier) @property))
|
||||
(identifier) @variable.member))
|
||||
|
||||
(else_expression
|
||||
(field_list
|
||||
(dotted_identifier
|
||||
(identifier) @property)))
|
||||
(identifier) @variable.member)))
|
||||
|
||||
(alias_expression
|
||||
(identifier) @label)
|
||||
|
|
|
@ -85,16 +85,16 @@
|
|||
(deref_expression
|
||||
"."
|
||||
.
|
||||
(identifier) @property)
|
||||
(identifier) @variable.member)
|
||||
|
||||
(member_declaration
|
||||
(identifier) @property
|
||||
(identifier) @variable.member
|
||||
.
|
||||
"=")
|
||||
|
||||
((table_slot
|
||||
.
|
||||
(identifier) @property
|
||||
(identifier) @variable.member
|
||||
.
|
||||
[
|
||||
"="
|
||||
|
|
|
@ -95,18 +95,18 @@
|
|||
(class_body
|
||||
(property_declaration
|
||||
(pattern
|
||||
(simple_identifier) @property)))
|
||||
(simple_identifier) @variable.member)))
|
||||
|
||||
(protocol_property_declaration
|
||||
(pattern
|
||||
(simple_identifier) @property))
|
||||
(simple_identifier) @variable.member))
|
||||
|
||||
(navigation_expression
|
||||
(navigation_suffix
|
||||
(simple_identifier) @property))
|
||||
(simple_identifier) @variable.member))
|
||||
|
||||
(value_argument
|
||||
name: (value_argument_label) @property)
|
||||
name: (value_argument_label) @variable.member)
|
||||
|
||||
(import_declaration
|
||||
"import" @keyword.import)
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
|
||||
(type_identifier) @type
|
||||
|
||||
(field_identifier) @property
|
||||
(field_identifier) @variable.member
|
||||
|
||||
(identifier) @variable
|
||||
|
||||
|
|
|
@ -7,6 +7,10 @@
|
|||
(pair
|
||||
(bare_key)) @property
|
||||
|
||||
(pair
|
||||
(dotted_key
|
||||
(bare_key) @property))
|
||||
|
||||
; Literals
|
||||
;---------
|
||||
(boolean) @boolean
|
||||
|
|
|
@ -257,7 +257,7 @@
|
|||
] @label
|
||||
|
||||
(literal_dictionary
|
||||
(literal_key) @label)
|
||||
(literal_key) @property)
|
||||
|
||||
((scoped_identifier
|
||||
(scope) @_scope
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
(reference_identifier) @variable
|
||||
|
||||
(member_identifier) @property
|
||||
(member_identifier) @variable.member
|
||||
|
||||
; Classes
|
||||
(custom_type) @type
|
||||
|
|
|
@ -19,9 +19,10 @@
|
|||
|
||||
(comment) @comment @spell
|
||||
|
||||
(anchor_name) @type
|
||||
|
||||
(alias_name) @type
|
||||
[
|
||||
(anchor_name)
|
||||
(alias_name)
|
||||
] @label
|
||||
|
||||
(tag) @type
|
||||
|
||||
|
@ -37,13 +38,13 @@
|
|||
[
|
||||
(double_quote_scalar)
|
||||
(single_quote_scalar)
|
||||
] @variable.member))
|
||||
] @property))
|
||||
|
||||
(block_mapping_pair
|
||||
key:
|
||||
(flow_node
|
||||
(plain_scalar
|
||||
(string_scalar) @variable.member)))
|
||||
(string_scalar) @property)))
|
||||
|
||||
(flow_mapping
|
||||
(_
|
||||
|
@ -52,14 +53,14 @@
|
|||
[
|
||||
(double_quote_scalar)
|
||||
(single_quote_scalar)
|
||||
] @variable.member)))
|
||||
] @property)))
|
||||
|
||||
(flow_mapping
|
||||
(_
|
||||
key:
|
||||
(flow_node
|
||||
(plain_scalar
|
||||
(string_scalar) @variable.member))))
|
||||
(string_scalar) @property))))
|
||||
|
||||
[
|
||||
","
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
class H {
|
||||
pub_field = "Hello";
|
||||
// ^ @property
|
||||
// ^ @variable.member
|
||||
|
||||
#priv_field = "World!";
|
||||
// ^ @property
|
||||
// ^ @variable.member
|
||||
|
||||
#private_method() {
|
||||
// ^ @function.method
|
||||
return `${this.pub_field} -- ${this.#priv_field}`;
|
||||
// ^ @property
|
||||
// ^ @property
|
||||
// ^ @variable.member
|
||||
// ^ @variable.member
|
||||
}
|
||||
|
||||
public_method() {
|
||||
|
|
|
@ -6,11 +6,11 @@ pub type Cat {
|
|||
Cat(name: String, cuteness: Int)
|
||||
// <- @constructor
|
||||
// ^ @punctuation.bracket
|
||||
// ^^^^ @property
|
||||
// ^^^^ @variable.member
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^^^^ @type.builtin
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^^^^^^ @property
|
||||
// ^^^^^^^^ @variable.member
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^ @type.builtin
|
||||
// ^ @punctuation.bracket
|
||||
|
@ -20,11 +20,11 @@ fn cats() {
|
|||
Cat(name: "Nubi", cuteness: 2001)
|
||||
// <- @type
|
||||
// ^ @punctuation.bracket
|
||||
// ^^^^ @property
|
||||
// ^^^^ @variable.member
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^^^^ @string
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^^^^^^ @property
|
||||
// ^^^^^^^^ @variable.member
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^^ @number
|
||||
// ^ @punctuation.bracket
|
||||
|
@ -47,7 +47,7 @@ type Box(inner_type) {
|
|||
Box(inner: inner_type)
|
||||
// <- @constructor
|
||||
// ^ @punctuation.bracket
|
||||
// ^^^^^ @property
|
||||
// ^^^^^ @variable.member
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^^^^^^^^ @type
|
||||
// ^ @punctuation.bracket
|
||||
|
@ -69,15 +69,15 @@ pub fn have_birthday(person) {
|
|||
// ^^ @operator
|
||||
// ^^^^^^ @variable
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^ @property
|
||||
// ^^^ @variable.member
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^^^^ @variable
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^ @property
|
||||
// ^^^ @variable.member
|
||||
// ^ @operator
|
||||
// ^ @number
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^^^^^^ @property
|
||||
// ^^^^^^^^ @variable.member
|
||||
// ^ @punctuation.delimiter
|
||||
// ^^^^ @boolean
|
||||
// ^ @punctuation.bracket
|
||||
|
|
|
@ -6,16 +6,16 @@ type int_array = array of int
|
|||
/* ^ @type.builtin */
|
||||
|
||||
type record = {a: int, b: string}
|
||||
/* ^ @property */
|
||||
/* ^ @variable.member */
|
||||
/* ^ @type.builtin */
|
||||
/* ^ @property */
|
||||
/* ^ @variable.member */
|
||||
/* ^ @type.builtin */
|
||||
|
||||
var record := record {a = 12, b = "27"}
|
||||
/* ^ @variable */
|
||||
/* ^ @type */
|
||||
/* ^ @property */
|
||||
/* ^ @property */
|
||||
/* ^ @variable.member */
|
||||
/* ^ @variable.member */
|
||||
|
||||
var array := int_array[12] of 27;
|
||||
/* ^ @variable */
|
||||
|
|
|
@ -21,7 +21,7 @@ let
|
|||
/* ^ @keyword.operator */
|
||||
in
|
||||
object.a := 27;
|
||||
/* ^ @property */
|
||||
/* ^ @variable.member */
|
||||
|
||||
object.meth()
|
||||
/* ^ @function.method */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
test1.test2.test3();
|
||||
// <- @variable
|
||||
// ^ @property
|
||||
// ^ @variable.member
|
||||
// ^ @function.method.call
|
||||
|
|
Loading…
Reference in a new issue