feat(ui): add BufWriteCmd to handle ":w" in quick menu

Fix #36
This commit is contained in:
Asbjørn Håland 2021-03-18 21:08:25 +01:00
parent dcaf802877
commit 5e3b5e39f7

View File

@ -42,7 +42,6 @@ end
M.toggle_quick_menu = function() M.toggle_quick_menu = function()
if win_id ~= nil and vim.api.nvim_win_is_valid(win_id) then if win_id ~= nil and vim.api.nvim_win_is_valid(win_id) then
save_changes()
vim.api.nvim_win_close(win_id, true) vim.api.nvim_win_close(win_id, true)
win_id = nil win_id = nil
@ -55,7 +54,7 @@ M.toggle_quick_menu = function()
local contents = {} local contents = {}
win_id = win_info.win_id win_id = win_info.win_id
bufh = win_info.bufh bufh = win_info.bufnr
for idx = 1, Marked.get_length() do for idx = 1, Marked.get_length() do
local file = Marked.get_marked_file(idx) local file = Marked.get_marked_file(idx)
@ -65,8 +64,16 @@ M.toggle_quick_menu = function()
contents[idx] = string.format("%d %s", idx, file) contents[idx] = string.format("%d %s", idx, file)
end 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_lines(bufh, 0, #contents, false, contents)
vim.api.nvim_buf_set_option(bufh, "filetype", "harpoon") vim.api.nvim_buf_set_option(bufh, "filetype", "harpoon")
vim.api.nvim_buf_set_option(bufh, "buftype", "acwrite")
vim.cmd(string.format("autocmd BufWriteCmd <buffer=%s> :lua require('harpoon.ui').on_menu_save()", bufh))
end
M.on_menu_save = function()
save_changes()
vim.cmd("set nomodified")
end end
M.nav_file = function(id) M.nav_file = function(id)