nix-files/pkgs/additional/tree-sitter-nix-shell/default.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 ];
};
}