45 lines
2.3 KiB
Nix
45 lines
2.3 KiB
Nix
{pkgs, ...}: {
|
|
vim = {
|
|
autopairs.nvim-autopairs.enable = true;
|
|
comments.comment-nvim.enable = true;
|
|
|
|
extraPlugins = with pkgs.vimPlugins; {
|
|
vim-sleuth = {
|
|
package = vim-sleuth;
|
|
};
|
|
flash-nvim = {
|
|
package = flash-nvim;
|
|
setup = ''require("flash").setup({})'';
|
|
};
|
|
trouble-nvim = {
|
|
package = trouble-nvim;
|
|
setup = ''require("trouble").setup({})'';
|
|
};
|
|
inc-rename-nvim = {
|
|
package = inc-rename-nvim;
|
|
setup = ''require("inc_rename").setup({})'';
|
|
};
|
|
dressing-nvim = {
|
|
package = dressing-nvim;
|
|
};
|
|
};
|
|
|
|
keymaps = [
|
|
# Flash
|
|
{key = "s"; mode = ["n" "x" "o"]; lua = true; action = ''function() require("flash").jump() end''; desc = "Flash";}
|
|
{key = "S"; mode = ["n" "x" "o"]; lua = true; action = ''function() require("flash").treesitter() end''; desc = "Flash Treesitter";}
|
|
{key = "R"; mode = ["o" "x"]; lua = true; action = ''function() require("flash").treesitter_search() end''; desc = "Treesitter Search";}
|
|
|
|
# Trouble
|
|
{key = "<leader>lD"; mode = ["n"]; lua = true; action = ''function() require("trouble").open({mode = "diagnostics"}) end''; desc = "Workspace Diagnostics";}
|
|
{key = "<leader>ld"; mode = ["n"]; lua = true; action = ''function() require("trouble").open({mode = "diagnostics", filter = {buf = 0}}) end''; desc = "Document Diagnostics";}
|
|
{key = "<leader>lx"; mode = ["n"]; lua = true; action = ''function() require("trouble").open({mode = "lsp_definitions"}) end''; desc = "Lsp Definitions";}
|
|
{key = "<leader>lt"; mode = ["n"]; lua = true; action = ''function() require("trouble").open({mode = "lsp_type_definitions"}) end''; desc = "Lsp Type Definitions";}
|
|
{key = "<leader>li"; mode = ["n"]; lua = true; action = ''function() require("trouble").open({mode = "lsp_implementations"}) end''; desc = "Lsp Implementations";}
|
|
{key = "<leader>lr"; mode = ["n"]; lua = true; action = ''function() require("trouble").open({mode = "lsp_references"}) end''; desc = "Lsp References";}
|
|
|
|
# Inc-rename (expr = true to build the command string dynamically)
|
|
{key = "<leader>ln"; mode = ["n"]; lua = true; expr = true; action = ''function() return ":IncRename " .. vim.fn.expand("<cword>") end''; desc = "LSP Rename";}
|
|
];
|
|
};
|
|
}
|