assignments.scm
1 ;; ═════════════════════════════════════════════════════════════════ 2 ;; Python Variable Assignment Queries (for chain tracking) 3 ;; ═════════════════════════════════════════════════════════════════ 4 ;; These patterns capture variable-to-variable assignments that may 5 ;; form chains back to environment variables. 6 ;; 7 ;; Example chain: env = os.environ; config = env; val = config["KEY"] 8 9 ;; ─────────────────────────────────────────────────────────────────── 10 ;; b = a (simple assignment from identifier) 11 ;; ─────────────────────────────────────────────────────────────────── 12 (assignment 13 left: (identifier) @assignment_target 14 right: (identifier) @assignment_source) @assignment 15 16 ;; ─────────────────────────────────────────────────────────────────── 17 ;; b: type = a (annotated assignment) 18 ;; ─────────────────────────────────────────────────────────────────── 19 (assignment 20 left: (identifier) @assignment_target 21 type: (_)? 22 right: (identifier) @assignment_source) @assignment 23 24 ;; ─────────────────────────────────────────────────────────────────── 25 ;; Walrus operator: (b := a) 26 ;; ─────────────────────────────────────────────────────────────────── 27 (named_expression 28 name: (identifier) @assignment_target 29 value: (identifier) @assignment_source) @assignment