From 1c169fe4c0c3b59e910e1ebf2f4f45d77528e83e Mon Sep 17 00:00:00 2001 From: Khachig Date: Fri, 20 Jan 2023 00:07:16 -0500 Subject: [PATCH] fix: don't leave empty unnamed buffer after navigating to file --- lua/harpoon/ui.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) 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)