/ queries / csharp / scopes.scm
scopes.scm
 1  ;; ═════════════════════════════════════════════════════════════════════════
 2  ;; C# Scope Node Queries
 3  ;; ═════════════════════════════════════════════════════════════════════════
 4  
 5  ;; ───────────────────────────────────────────────────────────────────────────
 6  ;; Methods and constructors
 7  ;; ───────────────────────────────────────────────────────────────────────────
 8  (method_declaration) @scope_node
 9  (constructor_declaration) @scope_node
10  (local_function_statement) @scope_node
11  
12  ;; ───────────────────────────────────────────────────────────────────────────
13  ;; Blocks
14  ;; ───────────────────────────────────────────────────────────────────────────
15  (block) @scope_node
16  
17  ;; ───────────────────────────────────────────────────────────────────────────
18  ;; Loops
19  ;; ───────────────────────────────────────────────────────────────────────────
20  (for_statement) @scope_node
21  (foreach_statement) @scope_node
22  (while_statement) @scope_node
23  (do_statement) @scope_node
24  
25  ;; ───────────────────────────────────────────────────────────────────────────
26  ;; Conditionals
27  ;; ───────────────────────────────────────────────────────────────────────────
28  (if_statement) @scope_node
29  (switch_statement) @scope_node
30  
31  ;; ───────────────────────────────────────────────────────────────────────────
32  ;; Exception handling
33  ;; ───────────────────────────────────────────────────────────────────────────
34  (try_statement) @scope_node
35  (catch_clause) @scope_node
36  
37  ;; ───────────────────────────────────────────────────────────────────────────
38  ;; Types
39  ;; ───────────────────────────────────────────────────────────────────────────
40  (class_declaration) @scope_node
41  (struct_declaration) @scope_node
42  (interface_declaration) @scope_node
43  (namespace_declaration) @scope_node
44  
45  ;; ───────────────────────────────────────────────────────────────────────────
46  ;; Lambda expressions
47  ;; ───────────────────────────────────────────────────────────────────────────
48  (lambda_expression) @scope_node