Merge pull request #39 from asbjornhaland/write_quick_menu

feat(ui): add BufWriteCmd to handle ":w" in quick menu
This commit is contained in:
ThePrimeagen 2021-03-23 09:03:51 -06:00 committed by GitHub
commit 0e23b5653e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,3 @@
local Path = require('plenary.path')
local float = require('plenary.window.float')
local Marked = require('harpoon.mark')
@ -42,7 +41,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 +53,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 +63,17 @@ 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.api.nvim_buf_set_option(bufh, "bufhidden", "delete")
vim.cmd(string.format("autocmd BufWriteCmd <buffer=%s> :lua require('harpoon.ui').on_menu_save()", bufh))
vim.cmd(string.format("autocmd BufModifiedSet <buffer=%s> set nomodified", bufh))
end
M.on_menu_save = function()
save_changes()
end
M.nav_file = function(id)