summaryrefslogtreecommitdiff
path: root/lua/config
diff options
context:
space:
mode:
authorbh <qn+git@excalibur.computer>2026-03-14 20:39:59 +0800
committerbh <qn+git@excalibur.computer>2026-03-14 20:39:59 +0800
commitbe738ab8639cc2fe69ce58419d03889806a875d3 (patch)
treeddef0c46ce2500b28dc4105c9c4ef4d35ffdf040 /lua/config
parentafbacef686deea1c73b223d5554c01055b752289 (diff)
Add GitHub Copilot plugin
Diffstat (limited to 'lua/config')
-rw-r--r--lua/config/copilot.lua52
1 files changed, 52 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