{ lib
, fetchFromGitHub
, ...
} @ inputs:
let
inherit (builtins) readFile;
extraGrammars = {
tree-sitter-d2 = {
language = "d2";
src = fetchFromGitHub {
owner = "pleshevskiy";
repo = "tree-sitter-d2";
rev = "a1a2091ebf4521d965e13c918a601b5acb4d1a72";
sha256 = "sha256-1ZcWhbtmdPDkBoFfswfhlwbFLb2Uwq7lbSTs5wqiFzY=";
};
version = "0.0.0";
tree-sitter = (inputs.tree-sitter.override { inherit extraGrammars; });
grammars = tree-sitter.withPlugins (g: tree-sitter.allGrammars);
nvim-treesitter = inputs.nvim-treesitter.overrideAttrs (oldAttrs: {
postPatch = ''
rm -r parser
ln -s ${grammars} parser
ln -s ${../.}/queries queries/d2
'';
});
in
{
luaConfig = readFile ./treesitter.lua;
plugins = [
nvim-treesitter
];
}