bufferline
This commit is contained in:
		
							
								
								
									
										48
									
								
								nvim/lua/plugins/bufferline.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								nvim/lua/plugins/bufferline.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					return   {
 | 
				
			||||||
 | 
					  "akinsho/bufferline.nvim",
 | 
				
			||||||
 | 
					  event = "VeryLazy",
 | 
				
			||||||
 | 
					  keys = {
 | 
				
			||||||
 | 
					    { "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle Pin" },
 | 
				
			||||||
 | 
					    { "<leader>bP", "<Cmd>BufferLineGroupClose ungrouped<CR>", desc = "Delete Non-Pinned Buffers" },
 | 
				
			||||||
 | 
					    { "<leader>br", "<Cmd>BufferLineCloseRight<CR>", desc = "Delete Buffers to the Right" },
 | 
				
			||||||
 | 
					    { "<leader>bl", "<Cmd>BufferLineCloseLeft<CR>", desc = "Delete Buffers to the Left" },
 | 
				
			||||||
 | 
					    { "<S-h>", "<cmd>BufferLineCyclePrev<cr>", desc = "Prev Buffer" },
 | 
				
			||||||
 | 
					    { "<S-l>", "<cmd>BufferLineCycleNext<cr>", desc = "Next Buffer" },
 | 
				
			||||||
 | 
					    { "[b", "<cmd>BufferLineCyclePrev<cr>", desc = "Prev Buffer" },
 | 
				
			||||||
 | 
					    { "]b", "<cmd>BufferLineCycleNext<cr>", desc = "Next Buffer" },
 | 
				
			||||||
 | 
					    { "[B", "<cmd>BufferLineMovePrev<cr>", desc = "Move buffer prev" },
 | 
				
			||||||
 | 
					    { "]B", "<cmd>BufferLineMoveNext<cr>", desc = "Move buffer next" },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  opts = {
 | 
				
			||||||
 | 
					    options = {
 | 
				
			||||||
 | 
					      -- stylua: ignore
 | 
				
			||||||
 | 
					      close_command = function(n) Snacks.bufdelete(n) end,
 | 
				
			||||||
 | 
					      -- stylua: ignore
 | 
				
			||||||
 | 
					      right_mouse_command = function(n) Snacks.bufdelete(n) end,
 | 
				
			||||||
 | 
					      diagnostics = "nvim_lsp",
 | 
				
			||||||
 | 
					      always_show_bufferline = true,
 | 
				
			||||||
 | 
					      offsets = {
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          filetype = "neo-tree",
 | 
				
			||||||
 | 
					          text = "Neo-tree",
 | 
				
			||||||
 | 
					          highlight = "Directory",
 | 
				
			||||||
 | 
					          text_align = "left",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          filetype = "snacks_layout_box",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  config = function(_, opts)
 | 
				
			||||||
 | 
					    require("bufferline").setup(opts)
 | 
				
			||||||
 | 
					    -- Fix bufferline when restoring a session
 | 
				
			||||||
 | 
					    vim.api.nvim_create_autocmd({ "BufAdd", "BufDelete" }, {
 | 
				
			||||||
 | 
					      callback = function()
 | 
				
			||||||
 | 
					        vim.schedule(function()
 | 
				
			||||||
 | 
					          pcall(nvim_bufferline)
 | 
				
			||||||
 | 
					        end)
 | 
				
			||||||
 | 
					      end,
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  end,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user