43 lines
1.0 KiB
Nix
43 lines
1.0 KiB
Nix
{ lib
|
|
, fetchFromGitea
|
|
, htmlq
|
|
, tree-sitter
|
|
, tree-sitter-nix-shell
|
|
}:
|
|
|
|
tree-sitter.buildGrammar {
|
|
version = "0.1.0";
|
|
src = fetchFromGitea {
|
|
domain = "git.uninsane.org";
|
|
owner = "colin";
|
|
repo = "tree-sitter-nix-shell";
|
|
rev = "c2fcc8b6ee91af2cb58a38f62c0800f82d783738";
|
|
hash = "sha256-NU7p4KieSkYRhTSgL5qwFJ9n7hGJwTn0rynicfOf9oA=";
|
|
};
|
|
|
|
language = "nix-shell";
|
|
location = "tree-sitter-nix-shell";
|
|
generate = true;
|
|
|
|
nativeCheckInputs = [ htmlq ];
|
|
checkPhase = ''
|
|
(cd ..; make test)
|
|
'';
|
|
doCheck = true;
|
|
|
|
passthru = {
|
|
generated = tree-sitter-nix-shell.overrideAttrs (orig: {
|
|
# provide a package which has the output of `tree-sitter generate`, but not the binary compiled parser
|
|
buildPhase = "true";
|
|
installPhase = "cp -r . $out";
|
|
checkPhase = "true";
|
|
});
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "parse `#!/usr/bin/env nix-shell` scripts with tree-sitter";
|
|
homepage = "https://git.uninsane.org/colin/tree-sitter-nix-shell";
|
|
maintainers = with maintainers; [ colinsane ];
|
|
};
|
|
}
|