/ queries / cpp / references.scm
references.scm
 1  ;; ═════════════════════════════════════════════════════════════════════════
 2  ;; C++ Environment Variable Reference Queries
 3  ;; ═════════════════════════════════════════════════════════════════════════
 4  
 5  ;; ───────────────────────────────────────────────────────────────────────────
 6  ;; getenv("VAR") - C-style
 7  ;; ───────────────────────────────────────────────────────────────────────────
 8  (call_expression
 9    function: (identifier) @_func
10    arguments: (argument_list
11      (string_literal
12        (string_content) @env_var_name))
13    (#any-of? @_func "getenv" "secure_getenv")) @env_access
14  
15  ;; ───────────────────────────────────────────────────────────────────────────
16  ;; std::getenv("VAR")
17  ;; ───────────────────────────────────────────────────────────────────────────
18  (call_expression
19    function: (qualified_identifier
20      scope: (namespace_identifier) @_ns
21      name: (identifier) @_func)
22    arguments: (argument_list
23      (string_literal
24        (string_content) @env_var_name))
25    (#eq? @_ns "std")
26    (#eq? @_func "getenv")) @env_access