/ queries / cpp / completion.scm
completion.scm
 1  ;; ═════════════════════════════════════════════════════════════════════════
 2  ;; C++ Completion Context Queries
 3  ;; ═════════════════════════════════════════════════════════════════════════
 4  
 5  ;; ───────────────────────────────────────────────────────────────────────────
 6  ;; getenv(" - trigger completion inside getenv call
 7  ;; ───────────────────────────────────────────────────────────────────────────
 8  (call_expression
 9    function: (identifier) @object
10    arguments: (argument_list
11      (string_literal) @completion_target)
12    (#any-of? @object "getenv" "secure_getenv")) @completion_call
13  
14  ;; ───────────────────────────────────────────────────────────────────────────
15  ;; std::getenv(" - trigger completion inside std::getenv call
16  ;; ───────────────────────────────────────────────────────────────────────────
17  (call_expression
18    function: (qualified_identifier
19      scope: (namespace_identifier) @object
20      name: (identifier) @_func)
21    arguments: (argument_list
22      (string_literal) @completion_target)
23    (#eq? @object "std")
24    (#eq? @_func "getenv")) @completion_call