From f70576030cd80d22db8b3b8354e82e3aaa07e5fa Mon Sep 17 00:00:00 2001 From: mariobucatini <255834586+mariobucatini@users.noreply.github.com> Date: Sat, 4 Jul 2026 21:18:00 +0200 Subject: [PATCH] injection(nix): support optional attrs in writers (#15781) Match optional attrs argument in write{Bash,Dash,Fish,Nu}[Bin] functions. Co-authored-by: Calamario --- runtime/queries/nix/injections.scm | 33 ++++++++++++++++++------------ 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/runtime/queries/nix/injections.scm b/runtime/queries/nix/injections.scm index 5e350929..d4a7d9dd 100644 --- a/runtime/queries/nix/injections.scm +++ b/runtime/queries/nix/injections.scm @@ -144,17 +144,23 @@ (#set! injection.language "c") (#set! injection.combined)) -; pkgs.writers.write{Bash,Dash}[Bin] name content +; pkgs.writers.write{Bash,Dash}[Bin] name [attrs] content ((apply_expression - function: (apply_expression function: (_) @_func) + function: (apply_expression function: [ + ((_) @_func) + (apply_expression function: (_) @_func) + ]) argument: (indented_string_expression (string_fragment) @injection.content)) (#match? @_func "(^|\\.)write[BD]ash(Bin)?$") (#set! injection.language "bash") (#set! injection.combined)) -; pkgs.writers.writeFish[Bin] name content +; pkgs.writers.writeFish[Bin] name [attrs] content ((apply_expression - function: (apply_expression function: (_) @_func) + function: (apply_expression function: [ + ((_) @_func) + (apply_expression function: (_) @_func) + ]) argument: (indented_string_expression (string_fragment) @injection.content)) (#match? @_func "(^|\\.)writeFish(Bin)?$") (#set! injection.language "fish") @@ -222,15 +228,16 @@ (#set! injection.language "python") (#set! injection.combined)) -; pkgs.writers.writeNu[Bin] name attrs content -(apply_expression - (apply_expression - function: (apply_expression - function: ((_) @_func))) - argument: (indented_string_expression (string_fragment) @injection.content) - (#match? @_func "(^|\\.)writeNu(Bin)?$") - (#set! injection.language "nu") - (#set! injection.combined)) +; pkgs.writers.writeNu[Bin] name [attrs] content +((apply_expression + function: (apply_expression function: [ + ((_) @_func) + (apply_expression function: (_) @_func) + ]) + argument: (indented_string_expression (string_fragment) @injection.content)) + (#match? @_func "(^|\\.)writeNu(Bin)?$") + (#set! injection.language "nu") + (#set! injection.combined)) ; pkgs.writers.writeRuby[Bin] name attrs content (apply_expression -- 2.51.2