mirror of
https://github.com/ThePrimeagen/harpoon.git
synced 2025-07-13 17:40:25 +00:00
Merge pull request #39 from asbjornhaland/write_quick_menu
feat(ui): add BufWriteCmd to handle ":w" in quick menu
This commit is contained in:
commit
0e23b5653e
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user