mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-06-26 10:48:45 +02:00
fix(copilot-chat): switch from deprecated picker integrations (#5707)
- Instead of using picker integrations (that are now deprecated), switch to using CopilotChat.select_prompt() that is using `vim.ui.select` which brings the selector integration responsibility to pickers instead of plugin - Use vim.ui.input instead of vim.fn.input for consistency Reason why this was deprecated in CopilotChat.nvim (by me) and will be removed in future is because these integrations never made any sense anyway when `vim.ui.select` overrides exist. ## Screenshots Using fzf-lua in my config, outside of LazyNvim but same thing applies:  ## Checklist - [x] I've read the [CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md) guidelines. Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
parent
cb223553ff
commit
b0334fd57c
1 changed files with 15 additions and 31 deletions
|
@ -1,28 +1,3 @@
|
||||||
local M = {}
|
|
||||||
|
|
||||||
---@param kind string
|
|
||||||
function M.pick(kind)
|
|
||||||
return function()
|
|
||||||
local actions = require("CopilotChat.actions")
|
|
||||||
local items = actions[kind .. "_actions"]()
|
|
||||||
if not items then
|
|
||||||
LazyVim.warn("No " .. kind .. " found on the current line")
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local map = {
|
|
||||||
telescope = "telescope",
|
|
||||||
fzf = "fzflua",
|
|
||||||
snacks = "snacks",
|
|
||||||
}
|
|
||||||
for _, def in pairs(LazyVim.config.get_defaults()) do
|
|
||||||
if def.enabled and map[def.name] then
|
|
||||||
return require("CopilotChat.integrations." .. map[def.name]).pick(items)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Snacks.notify.error("No picker found")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"CopilotC-Nvim/CopilotChat.nvim",
|
"CopilotC-Nvim/CopilotChat.nvim",
|
||||||
|
@ -62,16 +37,25 @@ return {
|
||||||
{
|
{
|
||||||
"<leader>aq",
|
"<leader>aq",
|
||||||
function()
|
function()
|
||||||
local input = vim.fn.input("Quick Chat: ")
|
vim.ui.input({
|
||||||
if input ~= "" then
|
prompt = "Quick Chat: ",
|
||||||
require("CopilotChat").ask(input)
|
}, function(input)
|
||||||
end
|
if input ~= "" then
|
||||||
|
require("CopilotChat").ask(input)
|
||||||
|
end
|
||||||
|
end)
|
||||||
end,
|
end,
|
||||||
desc = "Quick Chat (CopilotChat)",
|
desc = "Quick Chat (CopilotChat)",
|
||||||
mode = { "n", "v" },
|
mode = { "n", "v" },
|
||||||
},
|
},
|
||||||
-- Show prompts actions with telescope
|
{
|
||||||
{ "<leader>ap", M.pick("prompt"), desc = "Prompt Actions (CopilotChat)", mode = { "n", "v" } },
|
"<leader>ap",
|
||||||
|
function()
|
||||||
|
require("CopilotChat").select_prompt()
|
||||||
|
end,
|
||||||
|
desc = "Prompt Actions (CopilotChat)",
|
||||||
|
mode = { "n", "v" },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
local chat = require("CopilotChat")
|
local chat = require("CopilotChat")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue