{ pkgs, ... }: {
programs.neovim = {
plugins = [{
plugin = pkgs.vimPlugins.nvim-navic;
type = "lua";
config = ''
require("nvim-navic").setup {
lsp = {
auto_attach = true,
-- vue_ls forwards TypeScript requests to vtsls, so .vue buffers attach both.
-- nvim-navic can use only one LSP per buffer; prefer vtsls to avoid warnings.
preference = { "vtsls", "vue_ls" },
},
}
'';
}{
plugin = pkgs.vimPlugins.nvim-navbuddy;
type = "lua";
config = ''
require("nvim-navbuddy").setup {
lsp = {
auto_attach = true,
},
mappings = {
["<S-Tab>"] = require("nvim-navbuddy.actions").parent(),
["<Tab>"] = require("nvim-navbuddy.actions").children(),
},
}
'';
}];
};
}