From 5e3b5e39f7d6b1573ef8005a5235837310669eaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asbj=C3=B8rn=20H=C3=A5land?= Date: Thu, 18 Mar 2021 21:08:25 +0100 Subject: [PATCH] feat(ui): add BufWriteCmd to handle ":w" in quick menu Fix #36 --- lua/harpoon/ui.lua | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lua/harpoon/ui.lua b/lua/harpoon/ui.lua index de3de3c..1c25ca1 100644 --- a/lua/harpoon/ui.lua +++ b/lua/harpoon/ui.lua @@ -42,7 +42,6 @@ end M.toggle_quick_menu = function() if win_id ~= nil and vim.api.nvim_win_is_valid(win_id) then - save_changes() vim.api.nvim_win_close(win_id, true) win_id = nil @@ -55,7 +54,7 @@ M.toggle_quick_menu = function() local contents = {} win_id = win_info.win_id - bufh = win_info.bufh + bufh = win_info.bufnr for idx = 1, Marked.get_length() do local file = Marked.get_marked_file(idx) @@ -65,8 +64,16 @@ M.toggle_quick_menu = function() contents[idx] = string.format("%d %s", idx, file) end + vim.api.nvim_buf_set_name(bufh, "harpoon-menu") vim.api.nvim_buf_set_lines(bufh, 0, #contents, false, contents) vim.api.nvim_buf_set_option(bufh, "filetype", "harpoon") + vim.api.nvim_buf_set_option(bufh, "buftype", "acwrite") + vim.cmd(string.format("autocmd BufWriteCmd :lua require('harpoon.ui').on_menu_save()", bufh)) +end + +M.on_menu_save = function() + save_changes() + vim.cmd("set nomodified") end M.nav_file = function(id)