((comment) @injection.content (#set! injection.language "comment")) ; mark arbitary languages with a comment ((((comment) @injection.language) . (indented_string_expression (string_fragment) @injection.content)) (#set! injection.combined)) ((binding attrpath: (attrpath (identifier) @_path) expression: (indented_string_expression (string_fragment) @injection.content)) (#match? @_path "(^\\w*Phase|(pre|post)\\w*|(.*\\.)?\\w*([sS]cript|[hH]ook)|(.*\\.)?startup)$") (#set! injection.language "bash") (#set! injection.combined)) ((apply_expression function: (apply_expression function: (_) @_func) argument: (indented_string_expression (string_fragment) @injection.content)) (#match? @_func "(^|\\.)writeShellScript(Bin)?$") (#set! injection.language "bash") (#set! injection.combined)) (apply_expression (apply_expression function: (apply_expression function: ((_) @_func))) argument: (indented_string_expression (string_fragment) @injection.content) (#match? @_func "(^|\\.)runCommand(((No)?(CC))?(Local)?)?$") (#set! injection.language "bash") (#set! injection.combined)) (apply_expression function: ((_) @_func) argument: (_ (_)* (_ (_)* (binding attrpath: (attrpath (identifier) @_path) expression: (indented_string_expression (string_fragment) @injection.content)))) (#match? @_func "(^|\\.)writeShellApplication$") (#match? @_path "^text$") (#set! injection.language "bash") (#set! injection.combined))