From 697ee7aa7035841866bd2af0dcdbde45ae2e053c Mon Sep 17 00:00:00 2001 From: Dave Lage Date: Fri, 22 Apr 2022 10:20:59 -0400 Subject: feat: lua autocmd (#1707) --- lua/telescope/pickers.lua | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'lua/telescope/pickers.lua') diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua index 97e5ec6..56f0ada 100644 --- a/lua/telescope/pickers.lua +++ b/lua/telescope/pickers.lua @@ -339,7 +339,7 @@ function Picker:find() self.original_win_id = a.nvim_get_current_win() -- User autocmd run it before create Telescope window - vim.cmd [[doautocmd User TelescopeFindPre]] + vim.api.nvim_exec_autocmds("User TelescopeFindPre", {}) -- Create three windows: -- 1. Prompt window @@ -508,22 +508,26 @@ function Picker:find() end, }) + vim.api.nvim_create_augroup("PickerInsert", {}) -- TODO: Use WinLeave as well? - local on_buf_leave = string.format( - [[ autocmd BufLeave ++nested ++once :silent lua require('telescope.pickers').on_close_prompt(%s)]], - prompt_bufnr - ) - - local on_vim_resize = string.format( - [[ autocmd VimResized ++nested :lua require('telescope.pickers').on_resize_window(%s)]], - prompt_bufnr - ) - - vim.cmd [[augroup PickerInsert]] - vim.cmd [[ au!]] - vim.cmd(on_buf_leave) - vim.cmd(on_vim_resize) - vim.cmd [[augroup END]] + vim.api.nvim_create_autocmd("BufLeave", { + buffer = prompt_bufnr, + group = "PickerInsert", + nested = true, + once = true, + callback = function() + require("telescope.pickers").on_close_prompt(prompt_bufnr) + end, + }) + vim.api.nvim_create_autocmd("VimResized", { + buffer = prompt_bufnr, + group = "PickerInsert", + nested = true, + once = true, + callback = function() + require("telescope.pickers").on_resize_window(prompt_bufnr) + end, + }) self.prompt_bufnr = prompt_bufnr -- cgit v1.2.3