summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/config/copilot.lua52
-rw-r--r--lua/plugins/init.lua10
2 files changed, 62 insertions, 0 deletions
diff --git a/lua/config/copilot.lua b/lua/config/copilot.lua
new file mode 100644
index 0000000..444de4b
--- /dev/null
+++ b/lua/config/copilot.lua
@@ -0,0 +1,52 @@
+-- ~/.config/nvim/lua/config/copilot.lua
+return function()
+ require("copilot").setup({
+ panel = {
+ enabled = true,
+ auto_refresh = false,
+ keymap = {
+ jump_prev = "[[",
+ jump_next = "]]",
+ accept = "<CR>",
+ refresh = "gr",
+ open = "<M-CR>",
+ },
+ layout = {
+ position = "bottom",
+ ratio = 0.4,
+ },
+ },
+ suggestion = {
+ enabled = true,
+ auto_trigger = true,
+ hide_during_completion = true,
+ debounce = 15,
+ trigger_on_accept = true,
+ keymap = {
+ accept = "<M-l>",
+ accept_word = "<M-k>",
+ accept_line = false,
+ next = "<M-]>",
+ prev = "<M-[>",
+ dismiss = "<C-]>",
+ },
+ },
+ filetypes = {
+ yaml = false,
+ markdown = false,
+ help = false,
+ gitcommit = false,
+ gitrebase = false,
+ ["."] = false,
+ },
+ })
+
+ -- Hide copilot suggestions when cmp menu is open
+ local cmp = require("cmp")
+ cmp.event:on("menu_opened", function()
+ vim.b.copilot_suggestion_hidden = true
+ end)
+ cmp.event:on("menu_closed", function()
+ vim.b.copilot_suggestion_hidden = false
+ end)
+end
diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua
index dabd8e2..000b916 100644
--- a/lua/plugins/init.lua
+++ b/lua/plugins/init.lua
@@ -130,6 +130,16 @@ return {
-- UndoTree
'mbbill/undotree',
+ -- Copilot
+ {
+ "zbirenbaum/copilot.lua",
+ cmd = "Copilot",
+ event = "InsertEnter",
+ config = function()
+ require("config.copilot")()
+ end,
+ },
+
-- Themes
"martinsione/darkplus.nvim",