summaryrefslogtreecommitdiff
path: root/lua/config/copilot.lua
blob: 444de4b10c60257a59d16b52c6faeaa3fc356a8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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