dots/.config/nvim/lua/plugins/ui/barbar.lua
2025-05-21 16:25:20 -07:00

62 lines
2.0 KiB
Lua

return {
"romgrk/barbar.nvim",
dependencies = {
"lewis6991/gitsigns.nvim",
"nvim-tree/nvim-web-devicons",
},
init = function()
vim.g.barbar_auto_setup = false
end,
config = function()
require("barbar").setup({
animation = true,
auto_hide = true,
clickable = true,
})
local map = vim.api.nvim_set_keymap
local opts = { noremap = true, silent = true }
-- Move to previous/next
map("n", "<leader>,", "<cmd>BufferPrevious<CR>", opts)
map("n", "<leader>.", "<cmd>BufferNext<CR>", opts)
map("n", "<leader><S-Tab>", "<cmd>BufferPrevious<CR>", opts)
map("n", "<leader><Tab>", "<cmd>BufferNext<CR>", opts)
-- Re-order to previous/next
map("n", "<leader><", "<cmd>BufferMovePrevious<CR>", opts)
map("n", "<leader>>", "<cmd>BufferMoveNext<CR>", opts)
-- Goto buffer in position...
map("n", "<leader>1", "<cmd>BufferGoto 1<CR>", opts)
map("n", "<leader>2", "<cmd>BufferGoto 2<CR>", opts)
map("n", "<leader>3", "<cmd>BufferGoto 3<CR>", opts)
map("n", "<leader>4", "<cmd>BufferGoto 4<CR>", opts)
map("n", "<leader>5", "<cmd>BufferGoto 5<CR>", opts)
map("n", "<leader>6", "<cmd>BufferGoto 6<CR>", opts)
map("n", "<leader>7", "<cmd>BufferGoto 7<CR>", opts)
map("n", "<leader>8", "<cmd>BufferGoto 8<CR>", opts)
map("n", "<leader>9", "<cmd>BufferGoto 9<CR>", opts)
map("n", "<leader>0", "<cmd>BufferLast<CR>", opts)
-- Pin/unpin buffer
map("n", "<leader>p", "<cmd>BufferPin<CR>", opts)
-- Close buffer
map("n", "<leader>c", "<cmd>BufferClose<CR>", opts)
-- Magic buffer-picking mode
map("n", "<C-p>", "<cmd>BufferPick<CR>", opts)
map("n", "<C-x>", "<cmd>BufferPickDelete<CR>", opts)
-- Sort automatically by...
map("n", "<leader>bb", "<cmd>BufferOrderByBufferNumber<CR>", opts)
map("n", "<leader>bn", "<cmd>BufferOrderByName<CR>", opts)
map("n", "<leader>bd", "<cmd>BufferOrderByDirectory<CR>", opts)
--
-- Wipeout buffer
map("n", "<leader>bl", "<cmd>BufferOrderByLanguage<CR>", opts)
map("n", "<leader>bw", "<cmd>BufferOrderByWindowNumber<CR>", opts)
end,
}