nixvim buffer_manager

This commit is contained in:
Sam 2024-06-04 12:37:26 +01:00
parent c754aa2fba
commit a0f084a465
2 changed files with 63 additions and 11 deletions

View File

@ -16,17 +16,69 @@
]; ];
# Load Plugins that aren't provided as modules by nixvim # Load Plugins that aren't provided as modules by nixvim
programs.nixvim.extraPlugins = builtins.attrValues { programs.nixvim.extraPlugins = [
inherit (pkgs.vimPlugins) pkgs.vimPlugins.vim-numbertoggle
ale pkgs.vimPlugins.vimwiki
vim-numbertoggle pkgs.vimPlugins.vim-dadbod
vimwiki pkgs.vimPlugins.vim-dadbod-ui
vim-dadbod
vim-dadbod-ui
# Keep vim-devicons as last entry # Keep vim-devicons as last entry
vim-devicons; pkgs.vimPlugins.vim-devicons
(pkgs.vimUtils.buildVimPlugin
{
name = "buffer_manager.nvim";
src = pkgs.fetchFromGitHub {
owner = "j-morano";
repo = "buffer_manager.nvim";
rev = "fd36131";
sha256 = "sha256-abe9ZGmL7U9rC+LxC3LO5/bOn8lHke1FCKO0V3TZGs0=";
}; };
})
];
programs.nixvim.extraConfigLua = ''
-- buffer_manager.nvim
local opts = {noremap = true}
require("buffer_manager").setup(
{
line_keys = "1234567890",
select_menu_item_commands = {
edit = {
key = "<CR>",
command = "edit"
}
},
focus_alternate_buffer = true,
short_file_names = false,
short_term_names = true,
height = 15,
width = 0.8,
loop_nav = true,
highlight = "",
win_extra_options = {},
borderchars = { "", "", "", "", "", "", "", "" },
order_buffers = "lastused",
show_indicators = "before",
}
)
-- Custom color for modified buffers
vim.api.nvim_set_hl(0, "BufferManagerModified", { fg = "#988100" })
local bmui = require("buffer_manager.ui")
vim.keymap.set('n', '<leader>b', bmui.toggle_quick_menu, opts)
vim.keymap.set('n', '<leader>n', bmui.nav_next, opts)
vim.keymap.set('n', '<leader>p', bmui.nav_prev, opts)
local keys="1234567890"
for i = 1, #keys do
local key = keys:sub(i,i)
vim.keymap.set('n', string.format('<leader>%s', key),
function () bmui.nav_file(i) end,
opts
)
end
'';
} }

View File

@ -2,7 +2,7 @@
programs.nixvim.plugins.harpoon = { programs.nixvim.plugins.harpoon = {
enable = true; enable = true;
keymaps = { keymaps = {
toggleQuickMenu = "<leader>b"; toggleQuickMenu = "<leader>h";
}; };
}; };
} }