mirror of
https://github.com/ThePrimeagen/harpoon.git
synced 2025-07-14 01:50:27 +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 float = require('plenary.window.float')
|
||||||
local Marked = require('harpoon.mark')
|
local Marked = require('harpoon.mark')
|
||||||
|
|
||||||
@ -42,7 +41,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 +53,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 +63,17 @@ 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.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
|
end
|
||||||
|
|
||||||
M.nav_file = function(id)
|
M.nav_file = function(id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user