feat: add bufferline buffers renaming

This commit is contained in:
hhhh hgfh 2026-10-20 15:20:20 +03:00
parent cac441aaed
commit b087276057
2 changed files with 102 additions and 74 deletions

View file

@ -1,6 +1,33 @@
local bufferline = require('bufferline')
vim.api.nvim_create_user_command('BufferRename', function(opts)
local bufnr = vim.api.nvim_get_current_buf()
local function rename(name)
if name == nil or not vim.api.nvim_buf_is_valid(bufnr) then
return
end
name = vim.trim(name)
vim.b[bufnr].bufferline_name = name ~= '' and name or nil
vim.cmd('redrawtabline')
end
if opts.bang then
rename('')
elseif opts.args ~= '' then
rename(opts.args)
else
vim.ui.input({
prompt = 'Buffer label (empty to reset): ',
default = vim.b[bufnr].bufferline_name or '',
}, rename)
end
end, { nargs = '*', bang = true, desc = 'Rename bufferline label (use ! to reset)' })
bufferline.setup {
options = {
name_formatter = function(buf)
return vim.b[buf.bufnr].bufferline_name or buf.name
end,
mode = "buffers", -- set to "tabs" to only show tabpages instead
style_preset = bufferline.style_preset.default,
themable = true,

View file

@ -105,6 +105,7 @@ map("n", "<leader>bt", "<cmd>BufferLineGroupToggle tests<CR>", { desc = "Toggle
map("n", "<leader>bc", "<cmd>BufferLineGroupToggle code<CR>", { desc = "Toggle 'code' group" })
map("n", "<leader>bp", "<cmd>BufferLineGroupToggle tornado<CR>", { desc = "Toggle 'tornado' group" })
map("n", "<leader>bg", "<cmd>BufferLineGroupToggle gornado<CR>", { desc = "Toggle 'gornado' group" })
map("n", "<leader>br", "<cmd>BufferRename<CR>", { desc = "Rename buffer label" })
-- ========== Git ============= --