mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 10:10:04 +08:00
64 lines
1.3 KiB
Scheme
64 lines
1.3 KiB
Scheme
; inherits: ecma,jsx
|
|
|
|
; Both properties are matched here.
|
|
;
|
|
; class Foo {
|
|
; this.#bar = "baz";
|
|
; this.quuz = "qux";
|
|
; }
|
|
(field_definition
|
|
property: [(property_identifier) (private_property_identifier)] @definition.var)
|
|
|
|
; this.foo = "bar"
|
|
(assignment_expression
|
|
left: (member_expression
|
|
object: (this)
|
|
property: (property_identifier) @definition.var))
|
|
|
|
(formal_parameters
|
|
(identifier) @definition.parameter)
|
|
|
|
; function(arg = []) {
|
|
(formal_parameters
|
|
(assignment_pattern
|
|
left: (identifier) @definition.parameter))
|
|
|
|
; x => x
|
|
(arrow_function
|
|
parameter: (identifier) @definition.parameter)
|
|
|
|
;; ({ a }) => null
|
|
(formal_parameters
|
|
(object_pattern
|
|
(shorthand_property_identifier_pattern) @definition.parameter))
|
|
|
|
;; ({ a: b }) => null
|
|
(formal_parameters
|
|
(object_pattern
|
|
(pair_pattern
|
|
value: (identifier) @definition.parameter)))
|
|
|
|
;; ([ a ]) => null
|
|
(formal_parameters
|
|
(array_pattern
|
|
(identifier) @definition.parameter))
|
|
|
|
(formal_parameters
|
|
(rest_pattern
|
|
(identifier) @definition.parameter))
|
|
|
|
; Both methods are matched here.
|
|
;
|
|
; class Foo {
|
|
; #bar(x) { x }
|
|
; baz(y) { y }
|
|
; }
|
|
(method_definition
|
|
([(property_identifier) (private_property_identifier)] @definition.function)
|
|
(#set! definition.var.scope parent))
|
|
|
|
; this.foo()
|
|
(member_expression
|
|
object: (this)
|
|
property: (property_identifier) @reference)
|