diff options
| author | bh <qn+git@excalibur.computer> | 2026-03-14 20:39:59 +0800 |
|---|---|---|
| committer | bh <qn+git@excalibur.computer> | 2026-03-14 20:39:59 +0800 |
| commit | be738ab8639cc2fe69ce58419d03889806a875d3 (patch) | |
| tree | ddef0c46ce2500b28dc4105c9c4ef4d35ffdf040 | |
| parent | afbacef686deea1c73b223d5554c01055b752289 (diff) | |
Add GitHub Copilot plugin
| -rw-r--r-- | lazy-lock.json | 1 | ||||
| -rw-r--r-- | lua/config/copilot.lua | 52 | ||||
| -rw-r--r-- | lua/plugins/init.lua | 10 |
3 files changed, 63 insertions, 0 deletions
diff --git a/lazy-lock.json b/lazy-lock.json index 523ff77..3774e1c 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -6,6 +6,7 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, + "copilot.lua": { "branch": "master", "commit": "8e2a91828210d6043744468f6d7027d256a41f42" }, "darkplus.nvim": { "branch": "main", "commit": "6101ffce60682208e9e076710299d189ce11c40d" }, "dashboard-nvim": { "branch": "master", "commit": "0775e567b6c0be96d01a61795f7b64c1758262f6" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, 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", |
