From ed637bb0f7f418de069a4d5a7ed8a7b3b93eb425 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Fri, 26 Sep 2025 12:14:33 +0200 Subject: [PATCH] feat(copilot-native): removed experimental **nes** support with `copilot_lsp` for now, since it's not the best experience right now --- .../plugins/extras/ai/copilot-native.lua | 61 ------------------- 1 file changed, 61 deletions(-) diff --git a/lua/lazyvim/plugins/extras/ai/copilot-native.lua b/lua/lazyvim/plugins/extras/ai/copilot-native.lua index b4a61b20..71a6a3ae 100644 --- a/lua/lazyvim/plugins/extras/ai/copilot-native.lua +++ b/lua/lazyvim/plugins/extras/ai/copilot-native.lua @@ -2,9 +2,6 @@ if lazyvim_docs then -- Native inline completions don't support being shown as regular completions vim.g.ai_cmp = false - - -- Set to `true` in your `options.lua` to enable experimental support for Next Edit Suggestions - vim.g.copilot_nes = false end if LazyVim.has_extra("ai.copilot-native") then @@ -61,36 +58,8 @@ return { copilot = function() vim.lsp.inline_completion.enable() - -- Only trigger NES updates: - -- * when leaving insert mode - -- * when text is changed (in normal mode) - -- * when accepting a next edit suggestion - local nes_update = Snacks.util.debounce(function() - return vim.g.copilot_nes and require("copilot-lsp.nes").request_nes("copilot") - end, { ms = 100 }) - - vim.api.nvim_create_autocmd({ "InsertLeave", "TextChanged" }, { - group = vim.api.nvim_create_augroup("lazyvim.copilot-native.complete", { clear = true }), - callback = nes_update, - }) - -- Accept inline suggestions or next edits LazyVim.cmp.actions.ai_accept = function() - if vim.b.nes_state then - local nes = require("copilot-lsp.nes") - - -- Try to jump to the start of the suggestion edit. - if nes.walk_cursor_start_edit() then - return true - end - - -- apply the pending suggestion and jump to the end of the edit. - if nes.apply_pending_nes() then - nes.walk_cursor_end_edit() - nes_update() -- trigger new nes update after accept - return true - end - end if vim.lsp.inline_completion.get() then -- nes_update() -- ensure nes update is triggered after inline completion return true @@ -117,34 +86,4 @@ return { ) end, }, - - vim.g.copilot_nes - and { - "copilotlsp-nvim/copilot-lsp", - init = function() - vim.api.nvim_create_autocmd("BufEnter", { - callback = function(ev) - local buf = ev.buf - local client = vim.lsp.get_clients({ name = "copilot", bufnr = buf })[1] - if not client then - return - end - client:notify("textDocument/didFocus", { - textDocument = { - uri = vim.uri_from_bufnr(buf), - }, - }) - end, - }) - - LazyVim.cmp.actions.ai_stop = function() - require("copilot-lsp.nes").clear() - end - end, - keys = { - -- nes is also useful in normal mode - { "", LazyVim.cmp.map({ "ai_accept" }, ""), mode = { "n" }, expr = true }, - }, - } - or nil, }