Skip to content

Commit 5882c46

Browse files
feat(c_sharp) add assignment support for all possible assignable statements
Supports for all assignment statements. Lambda Method ```cs public static string Method() => $"return result"; ``` class/struct/record fields ```cs const int CONST_FIELD = 10; public static Node head; public static Node tempHead = new Node(); ``` local variables declarations ```cs int count = 10; int[] arr = new int[] {1, 2, 3, 4, 5, 6}; head = new Node{data = arr[0]}; count = 100; ``` Above local fields also support in field scope
1 parent 3e450cd commit 5882c46

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

queries/c_sharp/textobjects.scm

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,3 +196,64 @@
196196

197197
; comments
198198
(comment) @comment.outer
199+
200+
; assignments
201+
(field_declaration
202+
(_)
203+
(variable_declaration
204+
type: (_)
205+
(variable_declarator
206+
name: (_) @assignment.lhs
207+
(_) @assignment.rhs) @assignment.inner)) @assignment.outer
208+
209+
(field_declaration
210+
(variable_declaration
211+
type: (_)
212+
(variable_declarator
213+
name: (_) @assignment.lhs
214+
(_) @assignment.rhs) @assignment.inner)) @assignment.outer
215+
216+
(field_declaration
217+
(_)
218+
(variable_declaration
219+
type: (_)
220+
(variable_declarator
221+
name: (_) @assignment.lhs @assignment.inner))) @assignment.outer
222+
223+
(local_declaration_statement
224+
(_)
225+
(variable_declaration
226+
type: (_)
227+
(variable_declarator
228+
name: (_) @assignment.lhs
229+
(_) @assignment.rhs) @assignment.inner)) @assignment.outer
230+
231+
(local_declaration_statement
232+
(variable_declaration
233+
type: (_)
234+
(variable_declarator
235+
name: (_) @assignment.lhs
236+
(_) @assignment.rhs) @assignment.inner)) @assignment.outer
237+
238+
(local_declaration_statement
239+
(_)
240+
(variable_declaration
241+
type: (_)
242+
(variable_declarator
243+
name: (_) @assignment.lhs @assignment.inner))) @assignment.outer
244+
245+
(expression_statement
246+
(assignment_expression
247+
left: (_) @assignment.lhs
248+
right: (_) @assignment.rhs)) @assignment.inner @assignment.outer
249+
250+
(method_declaration
251+
name: (_) @assignment.lhs
252+
body: (arrow_expression_clause
253+
(_) @assignment.rhs) @assignment.inner) @assignment.outer
254+
255+
(local_function_statement
256+
type: (_)
257+
name: (_) @assignment.lhs
258+
body: (arrow_expression_clause
259+
(_) @assignment.rhs)) @assignment.inner @assignment.outer

0 commit comments

Comments
 (0)