From 07674600c99e6775429e2f4c7dbee63e52ff17f0 Mon Sep 17 00:00:00 2001 From: figsoda Date: Wed, 23 Nov 2022 12:32:02 -0500 Subject: [PATCH] injections(nix): add injections for code blocks based on https://github.com/cstrahan/tree-sitter-nix/pull/31 --- queries/nix/injections.scm | 89 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/queries/nix/injections.scm b/queries/nix/injections.scm index 4bb7d675d..e2fab69ff 100644 --- a/queries/nix/injections.scm +++ b/queries/nix/injections.scm @@ -1 +1,90 @@ (comment) @comment + +(binding + attrpath: (attrpath (identifier) @_path) + expression: [ + (string_expression (string_fragment) @bash) + (indented_string_expression (string_fragment) @bash) + ] + (#match? @_path "(^\\w*Phase|(pre|post)\\w*|(.*\\.)?\\w*([sS]cript|[hH]ook)|(.*\\.)?startup)$")) + +(apply_expression + function: (_) @_func + argument: (_ (_)* (_ (_)* (binding + attrpath: (attrpath (identifier) @_path) + expression: [ + (string_expression (string_fragment) @bash) + (indented_string_expression (string_fragment) @bash) + ]))) + (#match? @_func "(^|\\.)writeShellApplication$") + (#match? @_path "^text$")) + +(apply_expression + (apply_expression + function: (apply_expression function: (_) @_func) + argument: [ + (string_expression (string_fragment) @bash) + (indented_string_expression (string_fragment) @bash) + ]) + (#match? @_func "(^|\\.)runCommand(((No)?CC)?(Local)?)?$")) + +((apply_expression + function: (apply_expression function: (_) @_func) + argument: [ + (string_expression (string_fragment) @bash) + (indented_string_expression (string_fragment) @bash) + ]) + (#match? @_func "(^|\\.)write(Bash|Dash|ShellScript)(Bin)?$")) + +((apply_expression + function: (apply_expression function: (_) @_func) + argument: [ + (string_expression (string_fragment) @fish) + (indented_string_expression (string_fragment) @fish) + ]) + (#match? @_func "(^|\\.)writeFish(Bin)?$")) + +((apply_expression + function: (apply_expression + function: (apply_expression function: (_) @_func)) + argument: [ + (string_expression (string_fragment) @haskell) + (indented_string_expression (string_fragment) @haskell) + ]) + (#match? @_func "(^|\\.)writeHaskell(Bin)?$")) + +((apply_expression + function: (apply_expression + function: (apply_expression function: (_) @_func)) + argument: [ + (string_expression (string_fragment) @javascript) + (indented_string_expression (string_fragment) @javascript) + ]) + (#match? @_func "(^|\\.)writeJS(Bin)?$")) + +((apply_expression + function: (apply_expression + function: (apply_expression function: (_) @_func)) + argument: [ + (string_expression (string_fragment) @perl) + (indented_string_expression (string_fragment) @perl) + ]) + (#match? @_func "(^|\\.)writePerl(Bin)?$")) + +((apply_expression + function: (apply_expression + function: (apply_expression function: (_) @_func)) + argument: [ + (string_expression (string_fragment) @python) + (indented_string_expression (string_fragment) @python) + ]) + (#match? @_func "(^|\\.)write(PyPy|Python)[23](Bin)?$")) + +((apply_expression + function: (apply_expression + function: (apply_expression function: (_) @_func)) + argument: [ + (string_expression (string_fragment) @rust) + (indented_string_expression (string_fragment) @rust) + ]) + (#match? @_func "(^|\\.)writeRust(Bin)?$"))