summaryrefslogtreecommitdiff
path: root/lua/telescope/actions/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/telescope/actions/init.lua')
-rw-r--r--lua/telescope/actions/init.lua33
1 files changed, 17 insertions, 16 deletions
diff --git a/lua/telescope/actions/init.lua b/lua/telescope/actions/init.lua
index 95f2ce4..03bd20c 100644
--- a/lua/telescope/actions/init.lua
+++ b/lua/telescope/actions/init.lua
@@ -1205,14 +1205,15 @@ actions.which_key = function(prompt_bufnr, opts)
a.nvim_win_set_option(km_win_id, "winblend", opts.winblend)
a.nvim_win_set_option(km_win_id, "foldenable", false)
- vim.cmd(string.format(
- "autocmd BufLeave <buffer> ++once lua %s",
- table.concat({
- string.format("pcall(vim.api.nvim_win_close, %s, true)", km_win_id),
- string.format("pcall(vim.api.nvim_win_close, %s, true)", km_opts.border.win_id),
- string.format("require 'telescope.utils'.buf_delete(%s)", km_buf),
- }, ";")
- ))
+ vim.api.nvim_create_autocmd("BufLeave", {
+ buffer = km_buf,
+ once = true,
+ callback = function()
+ pcall(vim.api.nvim_win_close, km_win_id, true)
+ pcall(vim.api.nvim_win_close, km_opts.border.win_id, true)
+ require("telescope.utils").buf_delete(km_buf)
+ end,
+ })
a.nvim_buf_set_lines(km_buf, 0, -1, false, utils.repeated_table(opts.num_rows + 2 * opts.line_padding, column_indent))
@@ -1245,14 +1246,14 @@ actions.which_key = function(prompt_bufnr, opts)
-- only set up autocommand after showing preview completed
if opts.close_with_action then
vim.schedule(function()
- vim.cmd(string.format(
- "autocmd User TelescopeKeymap ++once lua %s",
- table.concat({
- string.format("pcall(vim.api.nvim_win_close, %s, true)", km_win_id),
- string.format("pcall(vim.api.nvim_win_close, %s, true)", km_opts.border.win_id),
- string.format("require 'telescope.utils'.buf_delete(%s)", km_buf),
- }, ";")
- ))
+ vim.api.nvim_create_autocmd("User TelescopeKeymap", {
+ once = true,
+ callback = function()
+ pcall(vim.api.nvim_win_close, km_win_id, true)
+ pcall(vim.api.nvim_win_close, km_opts.border.win_id, true)
+ require("telescope.utils").buf_delete(km_buf)
+ end,
+ })
end)
end
end