perf(nix): fix problematic nixosTest injections query

This commit is contained in:
Marc Jakobi 2025-12-29 15:55:52 +01:00
parent 45d08da7bb
commit dc5e74717c
No known key found for this signature in database
GPG key ID: A62702B226DB0A22
2 changed files with 32 additions and 14 deletions

View file

@ -251,17 +251,35 @@
(#lua-match? @_func "^%a*%.*writeRust%a*$") (#lua-match? @_func "^%a*%.*writeRust%a*$")
(#set! injection.combined)) (#set! injection.combined))
; (nixosTest) testScript ; (runTest) testScript
((binding (apply_expression
attrpath: (attrpath) @_attr_name function: (_) @_func
(#eq? @_attr_name "nodes")) argument: (_
(binding (_)*
attrpath: (attrpath) @_func_name
(#eq? @_func_name "testScript")
(_ (_
(string_fragment) @injection.content (binding
(#set! injection.language "python"))) attrpath: (attrpath) @_func_name
(#set! injection.combined)) expression: (_
(string_fragment) @injection.content
(#set! injection.language "python")))
(#eq? @_func_name "testScript")
(#lua-match? @_func "^.*%.*runTest$")
(#set! injection.combined))))
; (nixosTest) testScript
(apply_expression
function: (_) @_func
argument: (_
(_)*
(_
(binding
attrpath: (attrpath) @_func_name
expression: (_
(string_fragment) @injection.content
(#set! injection.language "python")))
(#eq? @_func_name "testScript")
(#lua-match? @_func "^.*%.*nixosTest$")
(#set! injection.combined))))
; home-manager Neovim plugin config ; home-manager Neovim plugin config
(attrset_expression (attrset_expression

View file

@ -1,5 +1,5 @@
# NOTE: This file is for testing queries. If evaluated with nix, this will probably error. # NOTE: This file is for testing queries. If evaluated with nix, this will probably error.
{ pkgs, stdenv }: let { pkgs, stdenv, lib }: let
match = builtins.match; match = builtins.match;
in { in {
regex = builtins.match "^.*[{](.+)[}].*$" "blahblah {something} blahblah" [ "something" ]; regex = builtins.match "^.*[{](.+)[}].*$" "blahblah {something} blahblah" [ "something" ];
@ -62,7 +62,7 @@ in {
} }
''; '';
drv12 = { drv12 = lib.nixos.runTest {
nodes = null; nodes = null;
testScript = '' testScript = ''
print("Hello world!"); print("Hello world!");