nvim: copilot.lua as cmp source
This commit is contained in:
parent
fe346c2d10
commit
481f545b90
3 changed files with 60 additions and 32 deletions
|
@ -260,9 +260,20 @@ return require("packer").startup(function()
|
||||||
|
|
||||||
-- copilot
|
-- copilot
|
||||||
use({
|
use({
|
||||||
"github/copilot.vim",
|
"zbirenbaum/copilot.lua",
|
||||||
|
event = "VimEnter",
|
||||||
config = function()
|
config = function()
|
||||||
require("plugins/copilot")
|
vim.defer_fn(function()
|
||||||
|
require("plugins/copilot")
|
||||||
|
end, 100)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
use({
|
||||||
|
"zbirenbaum/copilot-cmp",
|
||||||
|
after = { "copilot.lua" },
|
||||||
|
config = function()
|
||||||
|
require("copilot_cmp").setup()
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -1,15 +1,39 @@
|
||||||
local map = function(type, key, value, opts)
|
local copilot = require("copilot")
|
||||||
local options = { noremap = true }
|
|
||||||
if opts then
|
|
||||||
options = vim.tbl_extend("force", options, opts)
|
|
||||||
end
|
|
||||||
vim.api.nvim_set_keymap(type, key, value, options)
|
|
||||||
end
|
|
||||||
|
|
||||||
map("i", "<C-J>", [[copilot#Accept("<CR>")]], { noremap = true, silent = true, expr = true })
|
copilot.setup({
|
||||||
|
panel = {
|
||||||
vim.g.copilot_no_tab_map = true
|
enabled = true,
|
||||||
vim.g.copilot_assume_mapped = true
|
auto_refresh = false,
|
||||||
vim.g.copilot_tab_fallback = ""
|
keymap = {
|
||||||
|
jump_prev = "[[",
|
||||||
vim.g.copilot_no_tab_map = true
|
jump_next = "]]",
|
||||||
|
accept = "<CR>",
|
||||||
|
refresh = "gr",
|
||||||
|
open = "<M-CR>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
suggestion = {
|
||||||
|
enabled = true,
|
||||||
|
auto_trigger = false,
|
||||||
|
debounce = 75,
|
||||||
|
keymap = {
|
||||||
|
accept = "<C-j>",
|
||||||
|
next = "<M-]>",
|
||||||
|
prev = "<M-[>",
|
||||||
|
dismiss = "<C-]>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
filetypes = {
|
||||||
|
yaml = false,
|
||||||
|
markdown = false,
|
||||||
|
help = false,
|
||||||
|
gitcommit = false,
|
||||||
|
gitrebase = false,
|
||||||
|
hgcommit = false,
|
||||||
|
svn = false,
|
||||||
|
cvs = false,
|
||||||
|
["."] = false,
|
||||||
|
},
|
||||||
|
copilot_node_command = "node", -- Node version must be < 18
|
||||||
|
server_opts_overrides = {},
|
||||||
|
})
|
||||||
|
|
|
@ -43,6 +43,10 @@ cmp.setup({
|
||||||
["<C-n>"] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "c" }),
|
["<C-n>"] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "c" }),
|
||||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||||
["<C-u>"] = cmp.mapping.scroll_docs(4),
|
["<C-u>"] = cmp.mapping.scroll_docs(4),
|
||||||
|
["<Escape>"] = cmp.mapping({
|
||||||
|
i = cmp.mapping.abort(),
|
||||||
|
c = cmp.mapping.close(),
|
||||||
|
}),
|
||||||
["<C-e>"] = cmp.mapping({
|
["<C-e>"] = cmp.mapping({
|
||||||
i = cmp.mapping.abort(),
|
i = cmp.mapping.abort(),
|
||||||
c = cmp.mapping.close(),
|
c = cmp.mapping.close(),
|
||||||
|
@ -73,14 +77,9 @@ cmp.setup({
|
||||||
},
|
},
|
||||||
|
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{
|
{ name = "buffer", priority = 1 },
|
||||||
name = "buffer",
|
{ name = "luasnip", priority = 4 },
|
||||||
priority = 1,
|
{ name = "copilot", group_index = 5 },
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "luasnip",
|
|
||||||
priority = 4,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name = "tmux",
|
name = "tmux",
|
||||||
priority = 2,
|
priority = 2,
|
||||||
|
@ -89,13 +88,7 @@ cmp.setup({
|
||||||
trigger_characters = {},
|
trigger_characters = {},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{ name = "nvim_lsp", priority = 3 },
|
||||||
name = "nvim_lsp",
|
{ name = "nvim_lsp_signature_help", priority = 4 },
|
||||||
priority = 3,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "nvim_lsp_signature_help",
|
|
||||||
priority = 4,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue