From 91666776ff5efd589a16ea1a1ad4094ff5f4111a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Schwanck=20dos=20Santos?= Date: Sat, 20 May 2023 18:13:03 +0100 Subject: [PATCH] detect current by index --- lua/harpoon/tabline.lua | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lua/harpoon/tabline.lua b/lua/harpoon/tabline.lua index 3013250..cc6f874 100644 --- a/lua/harpoon/tabline.lua +++ b/lua/harpoon/tabline.lua @@ -32,20 +32,21 @@ end function M.setup(opts) function _G.tabline() - local original_tabs = require('harpoon').get_mark_config().marks - local tabs = shorten_filenames(original_tabs) + local tabs = shorten_filenames(require('harpoon').get_mark_config().marks) local tabline = '' - for i, tab in ipairs(original_tabs) do - local is_current = string.match(vim.fn.bufname(), tab.filename) or vim.fn.bufname() == tab.filename + local index = require('harpoon.mark').get_index_of(vim.fn.bufname()) + + for i, tab in ipairs(tabs) do + local is_current = i == index local label - if tabs[i].filename == "" or tabs[i].filename == "(empty)" then + if tab.filename == "" or tab.filename == "(empty)" then label = "(empty)" is_current = false else - label = tabs[i].filename + label = tab.filename end @@ -58,6 +59,7 @@ function M.setup(opts) end tabline = tabline .. label .. (opts.tabline_suffix or ' ') .. '%*' + if i < #tabs then tabline = tabline .. '%T' end