nvim-treesitter: languages parsing
{ pkgs, ... }: {
programs.neovim = {
plugins = [{
# Available languages see:
# https://github.com/nvim-treesitter/nvim-treesitter
# see `pkgs.tree-sitter.builtGrammars.`
# with `tree-sitter-` prefix and `-grammar` suffix removed
plugin = pkgs.vimPlugins.nvim-treesitter.withPlugins (_:
pkgs.vimPlugins.nvim-treesitter.allGrammars ++ [
When edit a large d2 file using d2-vim, the cursor movement becomes lag. However, tree-sitter-d2 works fluently. So I replace the d2-vim with tree-sitter-d2.
(pkgs.tree-sitter.buildGrammar {
language = "d2";
version = pkgs.lib.removePrefix "v" pkgs.npinsed.nvim.tree-sitter-d2.version;
src = pkgs.npinsed.nvim.tree-sitter-d2;
})
]);
type = "lua";
config = /*lua*/''
vim.filetype.add({ extension = { mdx = "markdown" } })
vim.api.nvim_create_autocmd('FileType', {
callback = function(ev)
local lang = vim.treesitter.language.get_lang(vim.bo[ev.buf].filetype)
if lang and vim.treesitter.language.add(lang) then
vim.treesitter.start(ev.buf, lang)
end
end,
})
'';
}];
};
}