bindings.scm
1 ;; ═════════════════════════════════════════════════════════════════════════ 2 ;; C++ Environment Variable Binding Queries 3 ;; ═════════════════════════════════════════════════════════════════════════ 4 5 ;; ─────────────────────────────────────────────────────────────────────────── 6 ;; auto x = getenv("VAR"); 7 ;; const char* x = getenv("VAR"); 8 ;; ─────────────────────────────────────────────────────────────────────────── 9 (declaration 10 declarator: (init_declarator 11 declarator: (identifier) @binding_name 12 value: (call_expression 13 function: (identifier) @_func 14 arguments: (argument_list 15 (string_literal 16 (string_content) @bound_env_var)))) 17 (#any-of? @_func "getenv" "secure_getenv")) @env_binding 18 19 ;; ─────────────────────────────────────────────────────────────────────────── 20 ;; auto x = std::getenv("VAR"); 21 ;; ─────────────────────────────────────────────────────────────────────────── 22 (declaration 23 declarator: (init_declarator 24 declarator: (identifier) @binding_name 25 value: (call_expression 26 function: (qualified_identifier 27 scope: (namespace_identifier) @_ns 28 name: (identifier) @_func) 29 arguments: (argument_list 30 (string_literal 31 (string_content) @bound_env_var)))) 32 (#eq? @_ns "std") 33 (#eq? @_func "getenv")) @env_binding 34 35 ;; ─────────────────────────────────────────────────────────────────────────── 36 ;; char* x = getenv("VAR"); (pointer declarator) 37 ;; ─────────────────────────────────────────────────────────────────────────── 38 (declaration 39 declarator: (init_declarator 40 declarator: (pointer_declarator 41 declarator: (identifier) @binding_name) 42 value: (call_expression 43 function: (identifier) @_func 44 arguments: (argument_list 45 (string_literal 46 (string_content) @bound_env_var)))) 47 (#any-of? @_func "getenv" "secure_getenv")) @env_binding