feat(picker): allow appending original window <cWORD>, <cfile> and cursor line to prompt (#3134)
This commit is contained in:
@@ -263,6 +263,9 @@ Many familiar mapping patterns are set up as defaults.
|
|||||||
| `<C-q>` | Send all items not filtered to quickfixlist (qflist) |
|
| `<C-q>` | Send all items not filtered to quickfixlist (qflist) |
|
||||||
| `<M-q>` | Send all selected items to qflist |
|
| `<M-q>` | Send all selected items to qflist |
|
||||||
| `<C-r><C-w>` | Insert cword in original window into prompt (insert mode) |
|
| `<C-r><C-w>` | Insert cword in original window into prompt (insert mode) |
|
||||||
|
| `<C-r><C-a>` | Insert cWORD in original window into prompt (insert mode) |
|
||||||
|
| `<C-r><C-f>` | Insert cfile in original window into prompt (insert mode) |
|
||||||
|
| `<C-r><C-l>` | Insert cline in original window into prompt (insert mode) |
|
||||||
|
|
||||||
To see the full list of mappings, check out `lua/telescope/mappings.lua` and the
|
To see the full list of mappings, check out `lua/telescope/mappings.lua` and the
|
||||||
`default_mappings` table.
|
`default_mappings` table.
|
||||||
|
|||||||
@@ -3393,6 +3393,30 @@ actions.insert_original_cword({prompt_bufnr}) *telescope.actions.insert_original
|
|||||||
{prompt_bufnr} (number) The prompt bufnr
|
{prompt_bufnr} (number) The prompt bufnr
|
||||||
|
|
||||||
|
|
||||||
|
actions.insert_original_cWORD({prompt_bufnr}) *telescope.actions.insert_original_cWORD()*
|
||||||
|
Insert the WORD under the cursor of the original (pre-Telescope) window
|
||||||
|
|
||||||
|
|
||||||
|
Parameters: ~
|
||||||
|
{prompt_bufnr} (number) The prompt bufnr
|
||||||
|
|
||||||
|
|
||||||
|
actions.insert_original_cfile({prompt_bufnr}) *telescope.actions.insert_original_cfile()*
|
||||||
|
Insert the file under the cursor of the original (pre-Telescope) window
|
||||||
|
|
||||||
|
|
||||||
|
Parameters: ~
|
||||||
|
{prompt_bufnr} (number) The prompt bufnr
|
||||||
|
|
||||||
|
|
||||||
|
actions.insert_original_cline({prompt_bufnr}) *telescope.actions.insert_original_cline()*
|
||||||
|
Insert the line under the cursor of the original (pre-Telescope) window
|
||||||
|
|
||||||
|
|
||||||
|
Parameters: ~
|
||||||
|
{prompt_bufnr} (number) The prompt bufnr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
ACTIONS_STATE *telescope.actions.state*
|
ACTIONS_STATE *telescope.actions.state*
|
||||||
|
|||||||
@@ -1496,6 +1496,27 @@ actions.insert_original_cword = function(prompt_bufnr)
|
|||||||
current_picker:set_prompt(current_picker.original_cword, false)
|
current_picker:set_prompt(current_picker.original_cword, false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- Insert the WORD under the cursor of the original (pre-Telescope) window
|
||||||
|
---@param prompt_bufnr number: The prompt bufnr
|
||||||
|
actions.insert_original_cWORD = function(prompt_bufnr)
|
||||||
|
local current_picker = action_state.get_current_picker(prompt_bufnr)
|
||||||
|
current_picker:set_prompt(current_picker.original_cWORD, false)
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Insert the file under the cursor of the original (pre-Telescope) window
|
||||||
|
---@param prompt_bufnr number: The prompt bufnr
|
||||||
|
actions.insert_original_cfile = function(prompt_bufnr)
|
||||||
|
local current_picker = action_state.get_current_picker(prompt_bufnr)
|
||||||
|
current_picker:set_prompt(current_picker.original_cfile, false)
|
||||||
|
end
|
||||||
|
|
||||||
|
--- Insert the line under the cursor of the original (pre-Telescope) window
|
||||||
|
---@param prompt_bufnr number: The prompt bufnr
|
||||||
|
actions.insert_original_cline = function(prompt_bufnr)
|
||||||
|
local current_picker = action_state.get_current_picker(prompt_bufnr)
|
||||||
|
current_picker:set_prompt(current_picker.original_cline, false)
|
||||||
|
end
|
||||||
|
|
||||||
actions.nop = function(_) end
|
actions.nop = function(_) end
|
||||||
|
|
||||||
actions.mouse_click = function(prompt_bufnr)
|
actions.mouse_click = function(prompt_bufnr)
|
||||||
|
|||||||
@@ -176,6 +176,9 @@ mappings.default_mappings = config.values.default_mappings
|
|||||||
["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
|
["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
|
||||||
["<C-w>"] = { "<c-s-w>", type = "command" },
|
["<C-w>"] = { "<c-s-w>", type = "command" },
|
||||||
["<C-r><C-w>"] = actions.insert_original_cword,
|
["<C-r><C-w>"] = actions.insert_original_cword,
|
||||||
|
["<C-r><C-a>"] = actions.insert_original_cWORD,
|
||||||
|
["<C-r><C-f>"] = actions.insert_original_cfile,
|
||||||
|
["<C-r><C-l>"] = actions.insert_original_cline,
|
||||||
|
|
||||||
-- disable c-j because we dont want to allow new lines #2123
|
-- disable c-j because we dont want to allow new lines #2123
|
||||||
["<C-j>"] = actions.nop,
|
["<C-j>"] = actions.nop,
|
||||||
|
|||||||
@@ -537,6 +537,10 @@ function Picker:find()
|
|||||||
|
|
||||||
self.original_win_id = a.nvim_get_current_win()
|
self.original_win_id = a.nvim_get_current_win()
|
||||||
_, self.original_cword = pcall(vim.fn.expand, "<cword>")
|
_, self.original_cword = pcall(vim.fn.expand, "<cword>")
|
||||||
|
_, self.original_cWORD = pcall(vim.fn.expand, "<cWORD>")
|
||||||
|
_, self.original_cfile = pcall(vim.fn.expand, "<cfile>")
|
||||||
|
_, self.original_cline = pcall(vim.api.nvim_get_current_line)
|
||||||
|
_, self.original_cline = pcall(vim.trim, self.original_cline)
|
||||||
|
|
||||||
-- User autocmd run it before create Telescope window
|
-- User autocmd run it before create Telescope window
|
||||||
vim.api.nvim_exec_autocmds("User", { pattern = "TelescopeFindPre" })
|
vim.api.nvim_exec_autocmds("User", { pattern = "TelescopeFindPre" })
|
||||||
|
|||||||
Reference in New Issue
Block a user