aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/home/.config/nvim/lua/plugins/ai.lua
blob: 8c213b5254dba6089421e1b76950ed9bd980802a (plain) (blame)
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
require("copilot").setup({
  suggestion = { enabled = false },
  panel = { enabled = false },
  server_opts_overrides = {
    settings = {
      telemetry = {
        telemetryLevel = "off",
      },
    },
  },
  nes = {
    enabled = true,
    keymap = {
      accept_and_goto = "<leader>p",
      accept = false,
      dismiss = "<Esc>",
    },
  },
})

-- Accept NES in insert mode (copilot.lua only binds normal mode)
vim.keymap.set("i", "<C-f>", function()
  local ok, nes = pcall(require, "copilot-lsp.nes")
  if ok and nes.apply_pending_nes() then
    return
  end
  -- Fallback: native <C-f> (scroll window forward)
  local key = vim.api.nvim_replace_termcodes("<C-f>", true, false, true)
  vim.api.nvim_feedkeys(key, "n", false)
end, { desc = "Accept Copilot NES / scroll forward" })

vim.keymap.set("n", "<leader>tc", function()
  require("copilot.command").toggle()
end, { desc = "[T]oggle [C]opilot attachment" })