Skip to content

Commit 65dda96

Browse files
committed
update highlight
1 parent 1603c5f commit 65dda96

File tree

6 files changed

+101
-56
lines changed

6 files changed

+101
-56
lines changed

extension.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ repository = "https://github.com/tree-sitter-grammars/tree-sitter-lua"
1515
commit = "d76023017f7485eae629cb60d406c7a1ca0f40c9"
1616
[grammars.emmyluadoc]
1717
repository = "https://github.com/EmmyLuaLs/tree-sitter-emmyluadoc"
18-
commit = "c35436fb77c61dff0a41e3e774d8dc0373752f37"
18+
commit = "96c68175990802ad687235c31df8760efeb558c7"

languages/emmylua/highlights.scm

Lines changed: 52 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
;; Keywords
22

3-
"return" @keyword
3+
"return" @keyword.return
44

55
[
66
"goto"
77
"in"
88
"local"
99
] @keyword
1010

11+
(label_statement) @label
12+
1113
(break_statement) @keyword
1214

1315
(do_statement
@@ -21,13 +23,13 @@
2123
"while"
2224
"do"
2325
"end"
24-
] @keyword)
26+
] @repeat)
2527

2628
(repeat_statement
2729
[
2830
"repeat"
2931
"until"
30-
] @keyword)
32+
] @repeat)
3133

3234
(if_statement
3335
[
@@ -36,71 +38,51 @@
3638
"else"
3739
"then"
3840
"end"
39-
] @keyword)
41+
] @conditional)
4042

4143
(elseif_statement
4244
[
4345
"elseif"
4446
"then"
4547
"end"
46-
] @keyword)
48+
] @conditional)
4749

4850
(else_statement
4951
[
5052
"else"
5153
"end"
52-
] @keyword)
54+
] @conditional)
5355

5456
(for_statement
5557
[
5658
"for"
5759
"do"
5860
"end"
59-
] @keyword)
61+
] @repeat)
6062

6163
(function_declaration
6264
[
6365
"function"
6466
"end"
65-
] @keyword)
67+
] @keyword.function)
6668

6769
(function_definition
6870
[
6971
"function"
7072
"end"
71-
] @keyword)
73+
] @keyword.function)
7274

7375
;; Operators
7476

77+
(binary_expression operator: _ @operator)
78+
79+
(unary_expression operator: _ @operator)
80+
7581
[
7682
"and"
7783
"not"
7884
"or"
79-
] @operator
80-
81-
[
82-
"+"
83-
"-"
84-
"*"
85-
"/"
86-
"%"
87-
"^"
88-
"#"
89-
"=="
90-
"~="
91-
"<="
92-
">="
93-
"<"
94-
">"
95-
"="
96-
"&"
97-
"~"
98-
"|"
99-
"<<"
100-
">>"
101-
"//"
102-
".."
103-
] @operator
85+
] @keyword.operator
10486

10587
;; Punctuations
10688

@@ -126,13 +108,14 @@
126108

127109
(identifier) @variable
128110

129-
((identifier) @variable.special
130-
(#eq? @variable.special "self"))
111+
((identifier) @variable.builtin
112+
(#eq? @variable.builtin "self"))
131113

132114
(variable_list
133-
attribute: (attribute
134-
(["<" ">"] @punctuation.bracket
135-
(identifier) @attribute)))
115+
(attribute
116+
"<" @punctuation.bracket
117+
(identifier) @attribute
118+
">" @punctuation.bracket))
136119

137120
;; Constants
138121

@@ -150,9 +133,9 @@
150133

151134
;; Tables
152135

153-
(field name: (identifier) @property)
136+
(field name: (identifier) @field)
154137

155-
(dot_index_expression field: (identifier) @property)
138+
(dot_index_expression field: (identifier) @field)
156139

157140
(table_constructor
158141
[
@@ -164,20 +147,41 @@
164147

165148
(parameters (identifier) @parameter)
166149

167-
(function_call
150+
(function_declaration
168151
name: [
169152
(identifier) @function
170-
(dot_index_expression field: (identifier) @function)
153+
(dot_index_expression
154+
field: (identifier) @function)
171155
])
172156

173157
(function_declaration
158+
name: (method_index_expression
159+
method: (identifier) @method))
160+
161+
(assignment_statement
162+
(variable_list .
163+
name: [
164+
(identifier) @function
165+
(dot_index_expression
166+
field: (identifier) @function)
167+
])
168+
(expression_list .
169+
value: (function_definition)))
170+
171+
(table_constructor
172+
(field
173+
name: (identifier) @function
174+
value: (function_definition)))
175+
176+
(function_call
174177
name: [
175-
(identifier) @function.definition
176-
(dot_index_expression field: (identifier) @function.definition)
178+
(identifier) @function.call
179+
(dot_index_expression
180+
field: (identifier) @function.call)
181+
(method_index_expression
182+
method: (identifier) @method.call)
177183
])
178184

179-
(method_index_expression method: (identifier) @function.method)
180-
181185
(function_call
182186
(identifier) @function.builtin
183187
(#any-of? @function.builtin
@@ -189,12 +193,12 @@
189193

190194
;; Others
191195

192-
;; Regular comments
193196
(comment) @comment
194197

195198
(hash_bang_line) @preproc
196199

197200
(number) @number
198201

199202
(string) @string
203+
200204
(escape_sequence) @string.escape

languages/emmyluadoc/highlights.scm

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
; ============================================
5454

5555
((identifier) @type.builtin
56-
(#match? @type.builtin "^(string|number|boolean|table|function|thread|userdata|nil|any|unknown|self)$"))
56+
(#match? @type.builtin "^(string|number|integer|boolean|table|function|thread|userdata|nil|any|unknown|self)$"))
5757

5858
; 自定义类型
5959
(basic_type
@@ -78,10 +78,10 @@
7878
; ============================================
7979

8080
(field_annotation
81-
name: (identifier) @variable.member)
81+
name: (field_name) @variable.member)
8282

8383
(param_annotation
84-
name: (identifier) @variable.parameter)
84+
name: (param_name) @variable.parameter)
8585

8686
(return_annotation
8787
name: (identifier)? @variable.parameter)
@@ -225,3 +225,39 @@
225225

226226
(table_type
227227
"table" @type.builtin)
228+
229+
; 表字面量类型 (Table Literal Types)
230+
(table_literal_type
231+
"{" @punctuation.bracket
232+
"}" @punctuation.bracket)
233+
234+
(table_field
235+
name: (identifier) @property
236+
":" @punctuation.delimiter
237+
type: (type_list
238+
(type
239+
(primary_type
240+
(basic_type
241+
(identifier) @type)))))
242+
243+
; 表字段中的逗号
244+
(table_literal_type
245+
"," @punctuation.delimiter)
246+
247+
; ============================================
248+
; 泛型参数 (Generic Parameters)
249+
; ============================================
250+
251+
; @class@alias 的泛型参数定义
252+
(generic_params
253+
"<" @punctuation.bracket
254+
">" @punctuation.bracket)
255+
256+
(generic_params
257+
params: (identifier) @type.parameter)
258+
259+
; ============================================
260+
; nil 字面量 (nil Literal)
261+
; ============================================
262+
263+
"nil" @constant.builtin
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
; Injections query for EmmyLuaDoc
2+
; 用于嵌入其他语言的语法
3+
4+
; 目前 EmmyLuaDoc 不需要特殊的注入
5+
; 此文件保留为空,供未来扩展使用

languages/emmyluadoc/locals.scm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010

1111
; 字段定义
1212
(field_annotation
13-
name: (identifier) @definition.field)
13+
name: (field_name) @definition.field)
1414

1515
; 参数定义
1616
(param_annotation
17-
name: (identifier) @definition.parameter)
17+
name: (param_name) @definition.parameter)
1818

1919
; 泛型定义
2020
(generic_annotation

languages/emmyluadoc/tags.scm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
; 字段定义
99
(field_annotation
10-
name: (identifier) @name) @definition.field
10+
name: (field_name) @name) @definition.field
1111

1212
; 枚举定义
1313
(enum_annotation
@@ -19,7 +19,7 @@
1919

2020
; 函数参数
2121
(param_annotation
22-
name: (identifier) @name) @definition.parameter
22+
name: (param_name) @name) @definition.parameter
2323

2424
; 泛型参数
2525
(generic_annotation

0 commit comments

Comments
 (0)