vim-settings/neovim/lua/plugins/copilotchat.lua
ViViDboarder 46baaf7c1e feat(neovim): add GitHub Copilot and CopilotChat plugins
This commit introduces two new plugins to the Neovim configuration:
GitHub Copilot and CopilotChat. The GitHub Copilot plugin is added
directly, while the CopilotChat plugin is added with a custom setup
function. The setup function configures key mappings and prompts for
the CopilotChat plugin. Additionally, a new global variable
`install_copilot` is introduced to control the installation of these
plugins.
2024-05-30 09:00:45 -07:00

41 lines
1.3 KiB
Lua

local M = {}
function M.setup()
require("CopilotChat").setup({
mappings = {
complete = {
insert = "",
},
},
prompts = {
Explain = {
prompt = "/COPILOT_EXPLAIN Write a concise explanation for the active selection as paragraphs of text.",
},
},
})
local utils = require("utils")
if utils.try_require("telescope") ~= nil then
local cc_keymap = utils.curry_keymap("n", "<leader>cc")
cc_keymap("h", function()
local actions = require("CopilotChat.actions")
require("CopilotChat.integrations.telescope").pick(actions.help_actions())
end, { desc = "CopilotChat - Help" })
cc_keymap("p", function()
local actions = require("CopilotChat.actions")
require("CopilotChat.integrations.telescope").pick(actions.prompt_actions())
end, { desc = "CopilotChat - Prompt" })
cc_keymap("c", function()
local input = vim.fn.input("Quick Chat: ")
if input ~= nil and input ~= "" then
require("CopilotChat").ask(input, { selection = require("CopilotChat.select").buffer })
end
end, { desc = "CopilotChat - Quick Chat" })
end
end
return M