From 368c65e14b1155d051b4aa6bac91808a2bc5f5ba Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Fri, 3 Mar 2023 08:22:20 +0100 Subject: [PATCH] feat(copilot): added an extra to enable copilot. `{import = "lazyvim.plugins.extras.coding.copilot"}` --- lua/lazyvim/plugins/extras/coding/copilot.lua | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 lua/lazyvim/plugins/extras/coding/copilot.lua diff --git a/lua/lazyvim/plugins/extras/coding/copilot.lua b/lua/lazyvim/plugins/extras/coding/copilot.lua new file mode 100644 index 00000000..26b29d64 --- /dev/null +++ b/lua/lazyvim/plugins/extras/coding/copilot.lua @@ -0,0 +1,41 @@ +return { + + -- copilot + { + "zbirenbaum/copilot.lua", + cmd = "Copilot", + build = ":Copilot auth", + opts = { + suggestion = { enabled = false }, + panel = { enabled = false }, + }, + }, + + -- copilot cmp source + { + "nvim-cmp", + dependencies = { + { + "zbirenbaum/copilot-cmp", + dependencies = "copilot.lua", + opts = {}, + config = function(_, opts) + local copilot_cmp = require("copilot_cmp") + copilot_cmp.setup(opts) + -- attach cmp source whenever copilot attaches + -- fixes lazy-loading issues with the copilot cmp source + require("lazyvim.util").on_attach(function(client) + if client.name == "copilot" then + copilot_cmp._on_insert_enter() + end + end) + end, + }, + }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local cmp = require("cmp") + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "copilot" } })) + end, + }, +}