on 0b8a00a help sign in
helix/runtime/queries/ruby/highlights.scm
146 lines 2.3 kB history raw
1; Keywords
3[
4 "alias"
5 "and"
6 "begin"
7 "break"
8 "case"
9 "class"
10 "def"
11 "do"
12 "else"
13 "elsif"
14 "end"
15 "ensure"
16 "for"
17 "if"
18 "in"
19 "module"
20 "next"
21 "or"
22 "rescue"
23 "retry"
24 "return"
25 "then"
26 "unless"
27 "until"
28 "when"
29 "while"
30 "yield"
31] @keyword
33((identifier) @keyword
34 (#match? @keyword "^(private|protected|public)$"))
36; Function calls
38((identifier) @function.method.builtin
39 (#eq? @function.method.builtin "require"))
41"defined?" @function.method.builtin
43(call
44 method: [(identifier) (constant)] @function.method)
46; Function definitions
48(alias (identifier) @function.method)
49(setter (identifier) @function.method)
50(method name: [(identifier) (constant)] @function.method)
51(singleton_method name: [(identifier) (constant)] @function.method)
53; Identifiers
56 (class_variable)
57 (instance_variable)
58] @variable.other.member
60((identifier) @constant.builtin
61 (#match? @constant.builtin "^__(FILE|LINE|ENCODING)__$"))
63((constant) @constant
64 (#match? @constant "^[A-Z\\d_]+$"))
66(constant) @constructor
68(self) @variable.builtin
69(super) @variable.builtin
71(block_parameter (identifier) @variable.parameter)
72(block_parameters (identifier) @variable.parameter)
73(destructured_parameter (identifier) @variable.parameter)
74(hash_splat_parameter (identifier) @variable.parameter)
75(lambda_parameters (identifier) @variable.parameter)
76(method_parameters (identifier) @variable.parameter)
77(splat_parameter (identifier) @variable.parameter)
79(keyword_parameter name: (identifier) @variable.parameter)
80(optional_parameter name: (identifier) @variable.parameter)
82((identifier) @function.method
83 (#is-not? local))
84(identifier) @variable
86; Literals
89 (string)
90 (bare_string)
91 (subshell)
92 (heredoc_body)
93 (heredoc_beginning)
94] @string
97 (simple_symbol)
98 (delimited_symbol)
99 (hash_key_symbol)
100 (bare_symbol)
101] @string.special.symbol
103(regex) @string.regexp
104(escape_sequence) @constant.character.escape
107 (integer)
108 (float)
109] @constant.numeric.integer
112 (nil)
113 (true)
114 (false)
115]@constant.builtin
117(interpolation
118 "#{" @punctuation.special
119 "}" @punctuation.special) @embedded
121(comment) @comment
123; Operators
126"="
127"=>"
128"->"
129] @operator
132 ","
133 ";"
134 "."
135] @punctuation.delimiter
138 "("
139 ")"
140 "["
141 "]"
142 "{"
143 "}"
144 "%w("
145 "%i("
146] @punctuation.bracket