injections(nix): add nixosTest.testScript + home-manager nvim config

(+ add Check to mkDerivation bash matches)

(+ add Check to mkDerivation bash matches)
This commit is contained in:
Marc Jakobi
2023-06-28 16:34:13 +02:00
committed by Christian Clason
parent b171f948da
commit 628d5e442c
2 changed files with 99 additions and 0 deletions

View File

@@ -188,3 +188,32 @@
])
(#match? @_func "(^|\\.)writeRust(Bin)?$")
(#set! injection.combined))
; (nixosTest) testScript
((binding
attrpath: (attrpath) @_attr_name
(#eq? @_attr_name "nodes"))
(binding
attrpath: (attrpath) @_func_name
(#eq? @_func_name "testScript")
(_
(string_fragment) @injection.content
(#set! injection.language "python")))
(#set! injection.combined))
; home-manager Neovim plugin config
(attrset_expression
(binding_set
(binding
attrpath: (attrpath) @_ty_attr
(_
(string_fragment) @_ty)
(#eq? @_ty_attr "type")
(#eq? @_ty "lua"))
(binding
attrpath: (attrpath) @_cfg_attr
(_
(string_fragment) @injection.content
(#set! injection.language "lua"))
(#eq? @_cfg_attr "config")))
(#set! injection.combined))

View File

@@ -0,0 +1,70 @@
{ pkgs, stdenv }:
# NOTE: This file is for testing queries. If evaluated with nix, this will probably error.
{
regex = builtins.match "^.*[{](.+)[}].*$" "blahblah {something} blahblah" [ "something" ];
drv1 = stdenv.mkDerivation {
buildPhase = "mkdir $out";
installPhase = ''
echo "bar" > $out/foo.txt
'';
};
drv2 = pkgs.writeShellApplication {
name = "shellApp";
buildInputs = [];
text = ''
echo "Hello world!"
'';
};
drv3 = pkgs.runCommand "foo-bar" {} ''
mkir $out
echo "bar" > $out/foo.txt
'';
drv4 = pkgs.writeShellScriptBin "hello" ''
echo "Hello world!"
'';
drv5 = pkgs.writeFishBin "hello" ''
echo "Hello world!"
'';
drv6 = pkgs.writeHaskellBin "hello" ''
main :: IO ()
main = putStrLn "Hello world!"
'';
drv7 = pkgs.writeJSBin "hello" ''
console.log('Hello world!');
'';
drv8 = pkgs.writePerlBin "hello" ''
print("Hello world!\n");
'';
drv9 = pkgs.writePythonBin "hello" ''
print("Hello world!");
'';
drv10 = pkgs.writeRustBin "hello" ''
fn main() {
println!("Hello world!");
}
'';
drv11 = {
nodes = null;
testScript = ''
print("Hello world!");
'';
};
mod1 = {
type = "lua";
config = ''
require('nvim-treesitter.configs').setup()
'';
};
}