73 lines
3 KiB
Lua
Executable file
73 lines
3 KiB
Lua
Executable file
require("bufferline").setup {
|
|
animation = true,
|
|
auto_hide = true,
|
|
tabpages = true,
|
|
closable = true,
|
|
clickable = true,
|
|
icon_separator_active = '',
|
|
icon_separator_inactive = '▎',
|
|
icon_close_tab = '',
|
|
icon_close_tab_modified = '',
|
|
icon_pinned = '車',
|
|
--separator_style = "slant",
|
|
--numbers = "buffer_id",
|
|
}
|
|
|
|
|
|
vim.keymap.set('n', '<leader>bh', '<Cmd>BufferPrevious<CR>', {desc = "buffer previous"})
|
|
vim.keymap.set('n', '<leader>bl', '<Cmd>BufferNext<CR>', {desc = "buffer next"})
|
|
-- Re-order to previous/next
|
|
vim.keymap.set('n', '<leader>b<', '<Cmd>BufferMovePrevious<CR>', { desc = "move previous" })
|
|
vim.keymap.set('n', '<leader>b>', '<Cmd>BufferMoveNext<CR>', { desc = "move next" })
|
|
-- Goto buffer in position...
|
|
vim.keymap.set("n", "<leader>bH", "<Cmd>BufferFirst<CR>", { desc = "first" })
|
|
vim.keymap.set('n', '<leader>bs1', '<Cmd>BufferGoto 1<CR>', { desc = "1" })
|
|
vim.keymap.set('n', '<leader>bs2', '<Cmd>BufferGoto 2<CR>', { desc = "2" })
|
|
vim.keymap.set('n', '<leader>bs3', '<Cmd>BufferGoto 3<CR>', { desc = "3" })
|
|
vim.keymap.set('n', '<leader>bs4', '<Cmd>BufferGoto 4<CR>', { desc = "4" })
|
|
vim.keymap.set('n', '<leader>bs5', '<Cmd>BufferGoto 5<CR>', { desc = "5" })
|
|
vim.keymap.set('n', '<leader>bs6', '<Cmd>BufferGoto 6<CR>', { desc = "6" })
|
|
vim.keymap.set('n', '<leader>bs7', '<Cmd>BufferGoto 7<CR>', { desc = "7" })
|
|
vim.keymap.set('n', '<leader>bs8', '<Cmd>BufferGoto 8<CR>', { desc = "8" })
|
|
vim.keymap.set('n', '<leader>bs9', '<Cmd>BufferGoto 9<CR>', { desc = "9" })
|
|
vim.keymap.set('n', '<leader>bL', '<Cmd>BufferLast<CR>', { desc = "last" })
|
|
-- Pin/unpin buffer
|
|
vim.keymap.set('n', '<leadder>bp', '<Cmd>BufferPin<CR>', { desc = "pin" })
|
|
-- Close buffer
|
|
vim.keymap.set('n', '<leader>bc', '<Cmd>BufferClose<CR>', { desc = "close" })
|
|
-- Wipeout buffer
|
|
-- :BufferWipeout
|
|
-- Close commands
|
|
-- :BufferCloseAllButCurrent
|
|
-- :BufferCloseAllButPinned
|
|
-- :BufferCloseAllButCurrentOrPinned
|
|
-- :BufferCloseBuffersLeft
|
|
-- :BufferCloseBuffersRight
|
|
-- Magic buffer-picking mode
|
|
vim.keymap.set('n', '<leader>bb', '<Cmd>BufferPick<CR>', { desc = "buffer picker" })
|
|
-- Sort automatically by...
|
|
--vim.keymap.set('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', { desc = "" })
|
|
--vim.keymap.set('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', { desc = "" })
|
|
--vim.keymap.set('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', { desc = "" })
|
|
--vim.keymap.set('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', { desc = "" })
|
|
|
|
|
|
local nvim_tree_events = require('nvim-tree.events')
|
|
local bufferline_api = require('bufferline.api')
|
|
|
|
local function get_tree_size()
|
|
return require'nvim-tree.view'.View.width
|
|
end
|
|
|
|
nvim_tree_events.subscribe('TreeOpen', function()
|
|
bufferline_api.set_offset(get_tree_size())
|
|
end)
|
|
|
|
nvim_tree_events.subscribe('Resize', function()
|
|
bufferline_api.set_offset(get_tree_size())
|
|
end)
|
|
|
|
nvim_tree_events.subscribe('TreeClose', function()
|
|
bufferline_api.set_offset(0)
|
|
end)
|
|
|