diff --git a/nvim/.config/nvim/lua/romanzy/custom/tabline.lua b/nvim/.config/nvim/lua/romanzy/custom/tabline.lua index 46493e2..aacc39b 100644 --- a/nvim/.config/nvim/lua/romanzy/custom/tabline.lua +++ b/nvim/.config/nvim/lua/romanzy/custom/tabline.lua @@ -1,55 +1,5 @@ local M = {} -local function truncate_label(label, max_width) - if vim.fn.strdisplaywidth(label) <= max_width then - return label - end - - return vim.fn.strcharpart(label, 0, max_width - 1) .. "…" -end - -local function terminal_label(bufnr) - local term_title = vim.b[bufnr].term_title - if type(term_title) == "string" and term_title ~= "" then - local cmd = vim.fn.fnamemodify(term_title:match("^%S+") or "", ":t") - if cmd ~= "" then - return cmd - end - end - - local bufname = vim.api.nvim_buf_get_name(bufnr) - local cmd = bufname:match("term://.*:(.+)$") - if cmd then - local first_word = vim.split(cmd, " ", { plain = true })[1] or "" - local basename = vim.fn.fnamemodify(first_word, ":t") - if basename ~= "" then - return basename - end - end - - return "terminal" -end - -local function tab_label(tabnr) - local buflist = vim.fn.tabpagebuflist(tabnr) - local winnr = vim.fn.tabpagewinnr(tabnr) - local bufnr = buflist[winnr] - local label - - if vim.bo[bufnr].buftype == "terminal" then - label = terminal_label(bufnr) - else - local bufname = vim.api.nvim_buf_get_name(bufnr) - label = bufname == "" and "[No Name]" or vim.fn.fnamemodify(bufname, ":t") - end - - if vim.bo[bufnr].modified then - label = label .. " +" - end - - return truncate_label(label, 18) -end - function M.render() local current = vim.fn.tabpagenr() local last = vim.fn.tabpagenr("$") @@ -58,7 +8,7 @@ function M.render() for index = 1, last do parts[#parts + 1] = index == current and "%#TabLineSel#" or "%#TabLine#" parts[#parts + 1] = "%" .. index .. "T" - parts[#parts + 1] = " " .. index .. " " .. tab_label(index) .. " " + parts[#parts + 1] = " " .. index .. " " end parts[#parts + 1] = "%#TabLineFill#%T"