mirror of https://github.com/helix-editor/helix
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.1 KiB
Scheme
65 lines
1.1 KiB
Scheme
3 years ago
|
; Method definitions
|
||
|
|
||
|
(
|
||
|
(comment)* @doc
|
||
|
.
|
||
|
[
|
||
|
(method
|
||
|
name: (_) @name) @definition.method
|
||
|
(singleton_method
|
||
|
name: (_) @name) @definition.method
|
||
|
]
|
||
|
(#strip! @doc "^#\\s*")
|
||
|
(#select-adjacent! @doc @definition.method)
|
||
|
)
|
||
|
|
||
|
(alias
|
||
|
name: (_) @name) @definition.method
|
||
|
|
||
|
(setter
|
||
|
(identifier) @ignore)
|
||
|
|
||
|
; Class definitions
|
||
|
|
||
|
(
|
||
|
(comment)* @doc
|
||
|
.
|
||
|
[
|
||
|
(class
|
||
|
name: [
|
||
|
(constant) @name
|
||
|
(scope_resolution
|
||
|
name: (_) @name)
|
||
|
]) @definition.class
|
||
|
(singleton_class
|
||
|
value: [
|
||
|
(constant) @name
|
||
|
(scope_resolution
|
||
|
name: (_) @name)
|
||
|
]) @definition.class
|
||
|
]
|
||
|
(#strip! @doc "^#\\s*")
|
||
|
(#select-adjacent! @doc @definition.class)
|
||
|
)
|
||
|
|
||
|
; Module definitions
|
||
|
|
||
|
(
|
||
|
(module
|
||
|
name: [
|
||
|
(constant) @name
|
||
|
(scope_resolution
|
||
|
name: (_) @name)
|
||
|
]) @definition.module
|
||
|
)
|
||
|
|
||
|
; Calls
|
||
|
|
||
|
(call method: (identifier) @name) @reference.call
|
||
|
|
||
|
(
|
||
|
[(identifier) (constant)] @name @reference.call
|
||
|
(#is-not? local)
|
||
|
(#not-match? @name "^(lambda|load|require|require_relative|__FILE__|__LINE__)$")
|
||
|
)
|