final: prev: { vimPlugins = prev.vimPlugins // { minitab-nvim = prev.vimUtils.buildVimPlugin rec { pname = "minitab.nvim"; version = "2024-11-28"; rev = "f6183e8cb6f408e54dd5d1d13c0075376655a3ec"; src = prev.fetchzip { url = "https://git.tjkeller.xyz/${pname}/snapshot/${pname}-${rev}.tar.xz"; sha256 = "sha256-INJC+6GNTF5MpvtOh6/eYD5CMiXxlP6aHT5TX2lJqiM="; }; meta.homepage = "https://git.tjkeller.xyz/minitab.nvim"; }; tree-sitter-jinja2 = prev.vimUtils.buildVimPlugin rec { pname = "tree-sitter-jinja2"; version = "2026-07-17"; src = prev.fetchFromGitHub { owner = "geigerzaehler"; repo = "tree-sitter-jinja2"; rev = "7af726f7ac42db3fe798d45ee375078bbef28a41"; sha256 = "sha256-6lw38wvrQP/c3z7m40ygXNij60Gh2owx+Ibvfzwa47s="; }; nativeBuildInputs = [ prev.tree-sitter ]; buildPhase = '' # Provide tree-sitter with a place it can write to mkdir -p $TMPDIR/.cache/tree-sitter export XDG_CACHE_HOME=$TMPDIR/.cache # Copy build instructions from repo tree-sitter build --output parser/jinja2.so ''; meta.homepage = "https://github.com/geigerzaehler/tree-sitter-jinja2"; }; rainbow-delimiters-nvim = prev.vimPlugins.rainbow-delimiters-nvim.overrideAttrs (finalAttrs: previousAttrs: { patches = [ # Add support for htmljinja (prev.fetchpatch { url = "https://github.com/HiPhish/rainbow-delimiters.nvim/pull/194.diff"; sha256 = "sha256-ulJJnBUACs1evBbKoAg7LVJ4p2rdz+nhRKAP757Ysrc="; }) ]; }); # TODO replace plugin for simple grammar #nvim-treesitter-parsers = prev.vimPlugins.nvim-treesitter-parsers // { # jinja2 = prev.tree-sitter.buildGrammar rec { # language = "jinja2"; # version = "2026-07-17"; # src = prev.fetchFromGitHub { # owner = "geigerzaehler"; # repo = "tree-sitter-jinja2"; # rev = "7af726f7ac42db3fe798d45ee375078bbef28a41"; # sha256 = "sha256-6lw38wvrQP/c3z7m40ygXNij60Gh2owx+Ibvfzwa47s="; # }; # nativeBuildInputs = [ prev.tree-sitter prev.jq ]; # buildPhase = '' # mkdir -p $TMPDIR/.cache/tree-sitter # export XDG_CACHE_HOME=$TMPDIR/.cache # tree-sitter build --output parser/jinja2.so # # FIXME the parser needs to be built with tree_sitter_htmljinja as the # #grammar name instead of jinja2. # # The plugin registers htmljinja to use the jinja2 parser within nvim. # # But if you want this to be a "dumb" solution without any lua commands # # to register the language then it needs to be built with the correct # # symbol. # #ln -s jinja2.so parsers/htmljinja.so # ''; # meta.homepage = "https://github.com/geigerzaehler/tree-sitter-jinja2"; # }; #}; }; }