185 lines
7.5 KiB
Lua
185 lines
7.5 KiB
Lua
|
||
local enable = false
|
||
if (enable) then
|
||
|
||
local map = vim.api.nvim_set_keymap
|
||
local opts = { noremap = true, silent = true }
|
||
|
||
-- Move to previous/next
|
||
map('n', '<A-,>', '<Cmd>BufferPrevious<CR>', opts)
|
||
map('n', '<A-.>', '<Cmd>BufferNext<CR>', opts)
|
||
-- Re-order to previous/next
|
||
map('n', '<A-<>', '<Cmd>BufferMovePrevious<CR>', opts)
|
||
map('n', '<A->>', '<Cmd>BufferMoveNext<CR>', opts)
|
||
-- Goto buffer in position...
|
||
map('n', '<A-1>', '<Cmd>BufferGoto 1<CR>', opts)
|
||
map('n', '<A-2>', '<Cmd>BufferGoto 2<CR>', opts)
|
||
map('n', '<A-3>', '<Cmd>BufferGoto 3<CR>', opts)
|
||
map('n', '<A-4>', '<Cmd>BufferGoto 4<CR>', opts)
|
||
map('n', '<A-5>', '<Cmd>BufferGoto 5<CR>', opts)
|
||
map('n', '<A-6>', '<Cmd>BufferGoto 6<CR>', opts)
|
||
map('n', '<A-7>', '<Cmd>BufferGoto 7<CR>', opts)
|
||
map('n', '<A-8>', '<Cmd>BufferGoto 8<CR>', opts)
|
||
map('n', '<A-9>', '<Cmd>BufferGoto 9<CR>', opts)
|
||
map('n', '<A-0>', '<Cmd>BufferLast<CR>', opts)
|
||
-- Pin/unpin buffer
|
||
map('n', '<A-p>', '<Cmd>BufferPin<CR>', opts)
|
||
-- Close buffer
|
||
map('n', '<A-c>', '<Cmd>BufferClose<CR>', opts)
|
||
-- Wipeout buffer
|
||
-- :BufferWipeout
|
||
-- Close commands
|
||
-- :BufferCloseAllButCurrent
|
||
-- :BufferCloseAllButPinned
|
||
-- :BufferCloseAllButCurrentOrPinned
|
||
-- :BufferCloseBuffersLeft
|
||
-- :BufferCloseBuffersRight
|
||
-- Magic buffer-picking mode
|
||
map('n', '<C-p>', '<Cmd>BufferPick<CR>', opts)
|
||
-- Sort automatically by...
|
||
map('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', opts)
|
||
map('n', '<Space>bn', '<Cmd>BufferOrderByName<CR>', opts)
|
||
map('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', opts)
|
||
map('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', opts)
|
||
map('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', opts)
|
||
|
||
-- Other:
|
||
-- :BarbarEnable - enables barbar (enabled by default)
|
||
-- :BarbarDisable - very bad command, should never be used
|
||
|
||
require'barbar'.setup {
|
||
-- WARN: do not copy everything below into your config!
|
||
-- It is just an example of what configuration options there are.
|
||
-- The defaults are suitable for most people.
|
||
|
||
-- Enable/disable animations
|
||
animation = true,
|
||
|
||
-- Automatically hide the tabline when there are this many buffers left.
|
||
-- Set to any value >=0 to enable.
|
||
auto_hide = false,
|
||
|
||
-- Enable/disable current/total tabpages indicator (top right corner)
|
||
tabpages = true,
|
||
|
||
-- Enables/disable clickable tabs
|
||
-- - left-click: go to buffer
|
||
-- - middle-click: delete buffer
|
||
clickable = true,
|
||
|
||
-- Excludes buffers from the tabline
|
||
exclude_ft = {'javascript'},
|
||
exclude_name = {'package.json'},
|
||
|
||
-- A buffer to this direction will be focused (if it exists) when closing the current buffer.
|
||
-- Valid options are 'left' (the default), 'previous', and 'right'
|
||
focus_on_close = 'left',
|
||
|
||
-- Hide inactive buffers and file extensions. Other options are `alternate`, `current`, and `visible`.
|
||
--hide = {extensions = true, inactive = true},
|
||
|
||
-- Disable highlighting alternate buffers
|
||
highlight_alternate = false,
|
||
|
||
-- Disable highlighting file icons in inactive buffers
|
||
highlight_inactive_file_icons = false,
|
||
|
||
-- Enable highlighting visible buffers
|
||
highlight_visible = true,
|
||
|
||
icons = {
|
||
-- Configure the base icons on the bufferline.
|
||
-- Valid options to display the buffer index and -number are `true`, 'superscript' and 'subscript'
|
||
buffer_index = true,
|
||
buffer_number = false,
|
||
button = '',
|
||
-- Enables / disables diagnostic symbols
|
||
diagnostics = {
|
||
[vim.diagnostic.severity.ERROR] = {enabled = true, icon = 'ff'},
|
||
[vim.diagnostic.severity.WARN] = {enabled = false},
|
||
[vim.diagnostic.severity.INFO] = {enabled = false},
|
||
[vim.diagnostic.severity.HINT] = {enabled = true},
|
||
},
|
||
gitsigns = {
|
||
added = {enabled = true, icon = '+'},
|
||
changed = {enabled = true, icon = '~'},
|
||
deleted = {enabled = true, icon = '-'},
|
||
},
|
||
filetype = {
|
||
-- Sets the icon's highlight group.
|
||
-- If false, will use nvim-web-devicons colors
|
||
custom_colors = false,
|
||
|
||
-- Requires `nvim-web-devicons` if `true`
|
||
enabled = true,
|
||
},
|
||
separator = {left = '▎', right = ''},
|
||
|
||
-- If true, add an additional separator at the end of the buffer list
|
||
separator_at_end = true,
|
||
|
||
-- Configure the icons on the bufferline when modified or pinned.
|
||
-- Supports all the base icon options.
|
||
modified = {button = '●'},
|
||
pinned = {button = '', filename = true},
|
||
|
||
-- Use a preconfigured buffer appearance— can be 'default', 'powerline', or 'slanted'
|
||
preset = 'default',
|
||
|
||
-- Configure the icons on the bufferline based on the visibility of a buffer.
|
||
-- Supports all the base icon options, plus `modified` and `pinned`.
|
||
alternate = {filetype = {enabled = false}},
|
||
current = {buffer_index = true},
|
||
inactive = {button = '×'},
|
||
visible = {modified = {buffer_number = false}},
|
||
},
|
||
|
||
-- If true, new buffers will be inserted at the start/end of the list.
|
||
-- Default is to insert after current buffer.
|
||
insert_at_end = false,
|
||
insert_at_start = false,
|
||
|
||
-- Sets the maximum padding width with which to surround each tab
|
||
maximum_padding = 1,
|
||
|
||
-- Sets the minimum padding width with which to surround each tab
|
||
minimum_padding = 1,
|
||
|
||
-- Sets the maximum buffer name length.
|
||
maximum_length = 30,
|
||
|
||
-- Sets the minimum buffer name length.
|
||
minimum_length = 0,
|
||
|
||
-- If set, the letters for each buffer in buffer-pick mode will be
|
||
-- assigned based on their name. Otherwise or in case all letters are
|
||
-- already assigned, the behavior is to assign letters in order of
|
||
-- usability (see order below)
|
||
semantic_letters = true,
|
||
|
||
-- Set the filetypes which barbar will offset itself for
|
||
sidebar_filetypes = {
|
||
-- Use the default values: {event = 'BufWinLeave', text = '', align = 'left'}
|
||
NvimTree = true,
|
||
-- Or, specify the text used for the offset:
|
||
undotree = {
|
||
text = 'undotree',
|
||
align = 'center', -- *optionally* specify an alignment (either 'left', 'center', or 'right')
|
||
},
|
||
-- Or, specify the event which the sidebar executes when leaving:
|
||
['neo-tree'] = {event = 'BufWipeout'},
|
||
-- Or, specify all three
|
||
Outline = {event = 'BufWinLeave', text = 'symbols-outline', align = 'right'},
|
||
},
|
||
|
||
-- New buffer letters are assigned in this order. This order is
|
||
-- optimal for the qwerty keyboard layout but might need adjustment
|
||
-- for other layouts.
|
||
letters = 'asdfjkl;ghnmxcvbziowerutyqpASDFJKLGHNMXCVBZIOWERUTYQP',
|
||
|
||
-- Sets the name of unnamed buffers. By default format is "[Buffer X]"
|
||
-- where X is the buffer number. But only a static string is accepted here.
|
||
no_name_title = nil,
|
||
}
|
||
end
|