fix(highlights): improve member/property distinction

This commit is contained in:
ObserverOfTime 2024-01-10 18:05:37 +02:00 committed by Christian Clason
parent 2f38c36294
commit fa38f4e6f9
34 changed files with 106 additions and 95 deletions

View file

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

View file

@ -16,7 +16,7 @@
(_) @string.special)
(_
key: (_) @label)
key: (_) @property)
(number) @number

View file

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

View file

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

View file

@ -235,7 +235,7 @@
; Properties
(derived_type_member_expression
(type_member) @property)
(type_member) @variable.member)
; Operators
[

View file

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

View file

@ -8,7 +8,7 @@
((tag_name) @constructor
(#lua-match? @constructor "^%u"))
(attribute_name) @property
(attribute_name) @attribute
(string_literal) @string

View file

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

View file

@ -8,7 +8,7 @@
(number) @number
(pair
key: (string) @label)
key: (string) @property)
(pair
value: (string) @string)

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -8,7 +8,7 @@
(tag
(tag_name) @_tag
(#eq? @_tag "@property")
(variable_name) @property)
(variable_name) @variable.member)
(tag
(tag_name) @_tag

View file

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

View file

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

View file

@ -3,7 +3,7 @@
(enum_variant) @constant
(struct_entry
(identifier) @property)
(identifier) @variable.member)
(struct_entry
(enum_variant

View file

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

View file

@ -123,7 +123,7 @@
; expressions
(field_expression
field: (identifier) @property)
field: (identifier) @variable.member)
(field_expression
value: (identifier) @type

View file

@ -73,7 +73,7 @@
; Fields
(field_identifier) @variable.member
(annotation_key) @attribute
(annotation_key) @variable.member
((field_identifier) @constant
(#lua-match? @constant "^[%u_]*$"))

View file

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

View file

@ -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
.
[
"="

View file

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

View file

@ -110,7 +110,7 @@
(type_identifier) @type
(field_identifier) @property
(field_identifier) @variable.member
(identifier) @variable

View file

@ -7,6 +7,10 @@
(pair
(bare_key)) @property
(pair
(dotted_key
(bare_key) @property))
; Literals
;---------
(boolean) @boolean

View file

@ -257,7 +257,7 @@
] @label
(literal_dictionary
(literal_key) @label)
(literal_key) @property)
((scoped_identifier
(scope) @_scope

View file

@ -2,7 +2,7 @@
(reference_identifier) @variable
(member_identifier) @property
(member_identifier) @variable.member
; Classes
(custom_type) @type

View file

@ -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))))
[
","

View file

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

View file

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

View file

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

View file

@ -21,7 +21,7 @@ let
/* ^ @keyword.operator */
in
object.a := 27;
/* ^ @property */
/* ^ @variable.member */
object.meth()
/* ^ @function.method */

View file

@ -1,4 +1,4 @@
test1.test2.test3();
// <- @variable
// ^ @property
// ^ @variable.member
// ^ @function.method.call