diff options
| author | LostNeophyte <[email protected]> | 2023-01-25 20:35:07 +0100 | 
|---|---|---|
| committer | LostNeophyte <[email protected]> | 2023-01-25 20:35:14 +0100 | 
| commit | bfe8ee9cba642525a5bbbe0b27f6049ba9ee1ef4 (patch) | |
| tree | a8090330ae29bcb109ec3690b9226b837d799a37 /lua/lvim/core/bufferline.lua | |
| parent | 75b653cc623a8cd6de397e42f21b838a065eb0e0 (diff) | |
fix: don't overriding user's config
Diffstat (limited to 'lua/lvim/core/bufferline.lua')
| -rw-r--r-- | lua/lvim/core/bufferline.lua | 186 | 
1 files changed, 91 insertions, 95 deletions
diff --git a/lua/lvim/core/bufferline.lua b/lua/lvim/core/bufferline.lua index a48bffb9..605eca85 100644 --- a/lua/lvim/core/bufferline.lua +++ b/lua/lvim/core/bufferline.lua @@ -41,110 +41,106 @@ local function custom_filter(buf, buf_nums)  end  M.config = function() -  local config = { -    keymap = { -      normal_mode = {}, +  lvim.builtin.bufferline.keymap = { +    normal_mode = {}, +  } +  lvim.builtin.bufferline.opts = { +    highlights = { +      background = { +        italic = true, +      }, +      buffer_selected = { +        bold = true, +      },      }, -    opts = { -      highlights = { -        background = { -          italic = true, +    options = { +      mode = "buffers", -- set to "tabs" to only show tabpages instead +      numbers = "none", -- can be "none" | "ordinal" | "buffer_id" | "both" | function +      close_command = function(bufnr) -- can be a string | function, see "Mouse actions" +        M.buf_kill("bd", bufnr, false) +      end, +      right_mouse_command = "vert sbuffer %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 = lvim.icons.ui.BoldLineLeft, -- this should be omitted if indicator style is not 'icon' +        style = "icon", -- can also be 'underline'|'none', +      }, +      buffer_close_icon = lvim.icons.ui.Close, +      modified_icon = lvim.icons.ui.Circle, +      close_icon = lvim.icons.ui.BoldClose, +      left_trunc_marker = lvim.icons.ui.ArrowCircleLeft, +      right_trunc_marker = lvim.icons.ui.ArrowCircleRight, +      --- 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 a "name", "path" and "bufnr" +        -- remove extension from markdown files for example +        if buf.name:match "%.md" then +          return vim.fn.fnamemodify(buf.name, ":t:r") +        end +      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 = "nvim_lsp", +      diagnostics_update_in_insert = false, +      diagnostics_indicator = diagnostics_indicator, +      -- NOTE: this will be called a lot so don't do any heavy processing here +      custom_filter = custom_filter, +      offsets = { +        { +          filetype = "undotree", +          text = "Undotree", +          highlight = "PanelHeading", +          padding = 1,          }, -        buffer_selected = { -          bold = true, +        { +          filetype = "NvimTree", +          text = "Explorer", +          highlight = "PanelHeading", +          padding = 1,          }, -      }, -      options = { -        mode = "buffers", -- set to "tabs" to only show tabpages instead -        numbers = "none", -- can be "none" | "ordinal" | "buffer_id" | "both" | function -        close_command = function(bufnr) -- can be a string | function, see "Mouse actions" -          M.buf_kill("bd", bufnr, false) -        end, -        right_mouse_command = "vert sbuffer %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 = lvim.icons.ui.BoldLineLeft, -- this should be omitted if indicator style is not 'icon' -          style = "icon", -- can also be 'underline'|'none', +        { +          filetype = "DiffviewFiles", +          text = "Diff View", +          highlight = "PanelHeading", +          padding = 1,          }, -        buffer_close_icon = lvim.icons.ui.Close, -        modified_icon = lvim.icons.ui.Circle, -        close_icon = lvim.icons.ui.BoldClose, -        left_trunc_marker = lvim.icons.ui.ArrowCircleLeft, -        right_trunc_marker = lvim.icons.ui.ArrowCircleRight, -        --- 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 a "name", "path" and "bufnr" -          -- remove extension from markdown files for example -          if buf.name:match "%.md" then -            return vim.fn.fnamemodify(buf.name, ":t:r") -          end -        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 = "nvim_lsp", -        diagnostics_update_in_insert = false, -        diagnostics_indicator = diagnostics_indicator, -        -- NOTE: this will be called a lot so don't do any heavy processing here -        custom_filter = custom_filter, -        offsets = { -          { -            filetype = "undotree", -            text = "Undotree", -            highlight = "PanelHeading", -            padding = 1, -          }, -          { -            filetype = "NvimTree", -            text = "Explorer", -            highlight = "PanelHeading", -            padding = 1, -          }, -          { -            filetype = "DiffviewFiles", -            text = "Diff View", -            highlight = "PanelHeading", -            padding = 1, -          }, -          { -            filetype = "flutterToolsOutline", -            text = "Flutter Outline", -            highlight = "PanelHeading", -          }, -          { -            filetype = "lazy", -            text = "Lazy", -            highlight = "PanelHeading", -            padding = 1, -          }, +        { +          filetype = "flutterToolsOutline", +          text = "Flutter Outline", +          highlight = "PanelHeading",          }, -        color_icons = true, -- whether or not to add the filetype icon highlights -        show_buffer_icons = lvim.use_icons, -- disable filetype icons for buffers -        show_buffer_close_icons = lvim.use_icons, -        show_close_icon = false, -        show_tab_indicators = true, -        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 = "thin", -        enforce_regular_tabs = false, -        always_show_bufferline = false, -        hover = { -          enabled = false, -- requires nvim 0.8+ -          delay = 200, -          reveal = { "close" }, +        { +          filetype = "lazy", +          text = "Lazy", +          highlight = "PanelHeading", +          padding = 1,          }, -        sort_by = "id",        }, +      color_icons = true, -- whether or not to add the filetype icon highlights +      show_buffer_icons = lvim.use_icons, -- disable filetype icons for buffers +      show_buffer_close_icons = lvim.use_icons, +      show_close_icon = false, +      show_tab_indicators = true, +      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 = "thin", +      enforce_regular_tabs = false, +      always_show_bufferline = false, +      hover = { +        enabled = false, -- requires nvim 0.8+ +        delay = 200, +        reveal = { "close" }, +      }, +      sort_by = "id",      },    } -  ---@cast config +LvimBuiltin -  require("lvim.core.builtins").extend_defaults(config) -  lvim.builtin.bufferline = config +  lvim.builtin.bufferline = require("lvim.core.builtins").add_completion "bufferline"  end  M.setup = function()  | 
