diff --git a/lua/harpoon/ui.lua b/lua/harpoon/ui.lua index fcb310b..07df6a9 100644 --- a/lua/harpoon/ui.lua +++ b/lua/harpoon/ui.lua @@ -180,6 +180,8 @@ function M.nav_file(id) local buf_id = get_or_create_buffer(filename) local set_row = not vim.api.nvim_buf_is_loaded(buf_id) + local old_bufnr = vim.api.nvim_get_current_buf() + vim.api.nvim_set_current_buf(buf_id) vim.api.nvim_buf_set_option(buf_id, "buflisted", true) if set_row and mark.row and mark.col then @@ -192,6 +194,14 @@ function M.nav_file(id) ) ) end + + local old_bufinfo = vim.fn.getbufinfo(old_bufnr)[1] + local no_name = old_bufinfo.name == "" + local one_line = old_bufinfo.linecount == 1 + local unchanged = old_bufinfo.changed == 0 + if no_name and one_line and unchanged then + vim.api.nvim_buf_delete(old_bufnr, {}) + end end function M.location_window(options)