Skip to content

Commit 809f09b

Browse files
authored
Merge pull request #5 from TlexCypher/feat/togglable
feat: make dialog togglable.
2 parents fe242ed + a3708dd commit 809f09b

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

lua/clipper/popup.lua

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ local popup = require("plenary.popup")
22
local utils = require("clipper.utils")
33

44
local M = {}
5+
M.clipper_win_id = nil
6+
M.clipper_bufh = nil
57

68
local function get_displaied_vs_actual_hashmap(displayable, actual)
79
local hashmap = {}
@@ -46,16 +48,21 @@ local function create_window(yank_history, config, callback)
4648
end
4749

4850
function M.toggle_quick_menu(yank_history, config, callback)
51+
if M.clipper_win_id and vim.api.nvim_win_is_valid(M.clipper_win_id) then
52+
vim.api.nvim_win_close(M.clipper_win_id, true)
53+
M.clipper_win_id = nil
54+
return
55+
end
4956
local win_info = create_window(yank_history, config, callback)
50-
local clipper_win_id = win_info.win_id
51-
local clipper_bufh = win_info.bufnr
57+
M.clipper_win_id = win_info.win_id
58+
M.clipper_bufh = win_info.bufnr
5259

53-
vim.api.nvim_win_set_option(clipper_win_id, "number", true)
54-
vim.api.nvim_buf_set_keymap(clipper_bufh, "n", "q",
55-
string.format(":lua vim.api.nvim_win_close(%d, true)<CR>", clipper_win_id), { noremap = true, silent = true }
60+
vim.api.nvim_win_set_option(M.clipper_win_id, "number", true)
61+
vim.api.nvim_buf_set_keymap(M.clipper_bufh, "n", "q",
62+
string.format(":lua vim.api.nvim_win_close(%d, true)<CR>", M.clipper_win_id), { noremap = true, silent = true }
5663
)
57-
vim.api.nvim_buf_set_keymap(clipper_bufh, "n", "<ESC>",
58-
string.format(":lua vim.api.nvim_win_close(%d, true)<CR>", clipper_win_id), { noremap = true, silent = true }
64+
vim.api.nvim_buf_set_keymap(M.clipper_bufh, "n", "<ESC>",
65+
string.format(":lua vim.api.nvim_win_close(%d, true)<CR>", M.clipper_win_id), { noremap = true, silent = true }
5966
)
6067
end
6168

0 commit comments

Comments
 (0)