From 093d3d12c83a7a8f19b368fc70a81d0f7f5ea32f Mon Sep 17 00:00:00 2001 From: Szwendacz99 Date: Sun, 23 Oct 2022 20:58:08 +0200 Subject: [PATCH] add bufferline plugin and config --- init.vim | 1 + lua/general.lua | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/init.vim b/init.vim index 867ab85..f5bedeb 100644 --- a/init.vim +++ b/init.vim @@ -11,6 +11,7 @@ Plug 'williamboman/mason-lspconfig.nvim' Plug 'jose-elias-alvarez/null-ls.nvim' " various plugins +Plug 'akinsho/bufferline.nvim', { 'tag': 'v3.*' } Plug 'gorbit99/codewindow.nvim' Plug 'vim-perl/vim-perl', { 'for': 'perl', 'do': 'make clean carp dancer highlight-all-pragmas moose test-more try-tiny' } Plug 'neoclide/coc.nvim', {'branch': 'release'} diff --git a/lua/general.lua b/lua/general.lua index f4bee1a..130afea 100644 --- a/lua/general.lua +++ b/lua/general.lua @@ -141,3 +141,59 @@ require("gruvbox").setup({ transparent_mode = false, }) + require('bufferline').setup { + options = { + mode = "buffers", -- set to "tabs" to only show tabpages instead + numbers = "buffer_id", + close_command = "bdelete! %d", -- can be a string | function, see "Mouse actions" + right_mouse_command = "bdelete! %d", -- can be a string | function, see "Mouse actions" + left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" + middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" + indicator = { + icon = '▎', -- this should be omitted if indicator style is not 'icon' + style = 'icon', + }, + buffer_close_icon = '', + modified_icon = '●', + close_icon = '', + left_trunc_marker = '', + right_trunc_marker = '', + --- name_formatter can be used to change the buffer's label in the bufferline. + --- Please note some names can/will break the + --- bufferline so use this at your discretion knowing that it has + --- some limitations that will *NOT* be fixed. + name_formatter = function(buf) -- buf contains: + -- name | str | the basename of the active file + -- path | str | the full path of the active file + -- bufnr (buffer only) | int | the number of the active buffer + -- buffers (tabs only) | table(int) | the numbers of the buffers in the tab + -- tabnr (tabs only) | int | the "handle" of the tab, can be converted to its ordinal number using: `vim.api.nvim_tabpage_get_number(buf.tabnr)` + end, + max_name_length = 18, + max_prefix_length = 15, -- prefix used when a buffer is de-duplicated + truncate_names = true, -- whether or not tab names should be truncated + tab_size = 18, + diagnostics = "coc", + diagnostics_update_in_insert = false, + -- The diagnostics indicator can be set to nil to keep the buffer name highlight but delete the highlighting + color_icons = true, -- whether or not to add the filetype icon highlights + show_buffer_icons = true, -- disable filetype icons for buffers + show_buffer_close_icons = true, + show_buffer_default_icon = true, -- whether or not an unrecognised filetype should show a default icon + show_close_icon = false, + show_tab_indicators = true, + show_duplicate_prefix = true, -- whether to show duplicate buffer prefix + persist_buffer_sort = true, -- whether or not custom sorted buffers should persist + -- can also be a table containing 2 custom separators + -- [focused and unfocused]. eg: { '|', '|' } + separator_style = "thick", + enforce_regular_tabs = false, + always_show_bufferline = true, + hover = { + enabled = true, + delay = 200, + reveal = {'close'} + }, + sort_by = 'tabs' + } + }