diff options
Diffstat (limited to '.config/nvim/lsp/copilot.lua')
-rw-r--r-- | .config/nvim/lsp/copilot.lua | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/.config/nvim/lsp/copilot.lua b/.config/nvim/lsp/copilot.lua deleted file mode 100644 index 66c2dd5..0000000 --- a/.config/nvim/lsp/copilot.lua +++ /dev/null @@ -1,135 +0,0 @@ ----@brief ---- ---- https://www.npmjs.com/package/@github/copilot-language-server ---- ---- The Copilot Language Server enables any editor or IDE ---- to integrate with GitHub Copilot via ---- [the language server protocol](https://microsoft.github.io/language-server-protocol/). ---- ---- **[GitHub Copilot](https://github.com/features/copilot)** ---- is an AI pair programmer tool that helps you write code faster and smarter. ---- ---- **Sign up for [GitHub Copilot Free](https://github.com/settings/copilot)!** ---- ---- Please see [terms of use for GitHub Copilot](https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot) ---- ---- You need to enable `:help lsp-inline-completion` to receive suggestions. For example, you can enable it in the LspAttach event: ---- ---- ```lua ---- vim.api.nvim_create_autocmd('LspAttach', { ---- callback = function(args) ---- local bufnr = args.buf ---- local client = assert(vim.lsp.get_client_by_id(args.data.client_id)) ---- ---- if client:supports_method(vim.lsp.protocol.Methods.textDocument_inlineCompletion, bufnr) then ---- vim.lsp.inline_completion.enable(true, { bufnr = bufnr }) ---- ---- vim.keymap.set( ---- 'i', ---- '<C-F>', ---- vim.lsp.inline_completion.get, ---- { desc = 'LSP: accept inline completion', buffer = bufnr } ---- ) ---- vim.keymap.set( ---- 'i', ---- '<C-G>', ---- vim.lsp.inline_completion.select, ---- { desc = 'LSP: switch inline completion', buffer = bufnr } ---- ) ---- end ---- end ---- }) ---- ``` - ----@param bufnr integer, ----@param client vim.lsp.Client -local function sign_in(bufnr, client) - client:request( - ---@diagnostic disable-next-line: param-type-mismatch - 'signIn', - vim.empty_dict(), - function(err, result) - if err then - vim.notify(err.message, vim.log.levels.ERROR) - return - end - if result.command then - local code = result.userCode - local command = result.command - vim.fn.setreg('+', code) - vim.fn.setreg('*', code) - local continue = vim.fn.confirm( - 'Copied your one-time code to clipboard.\n' .. 'Open the browser to complete the sign-in process?', - '&Yes\n&No' - ) - if continue == 1 then - client:exec_cmd(command, { bufnr = bufnr }, function(cmd_err, cmd_result) - if cmd_err then - vim.notify(err.message, vim.log.levels.ERROR) - return - end - if cmd_result.status == 'OK' then - vim.notify('Signed in as ' .. cmd_result.user .. '.') - end - end) - end - end - - if result.status == 'PromptUserDeviceFlow' then - vim.notify('Enter your one-time code ' .. result.userCode .. ' in ' .. result.verificationUri) - elseif result.status == 'AlreadySignedIn' then - vim.notify('Already signed in as ' .. result.user .. '.') - end - end - ) -end - ----@param client vim.lsp.Client -local function sign_out(_, client) - client:request( - ---@diagnostic disable-next-line: param-type-mismatch - 'signOut', - vim.empty_dict(), - function(err, result) - if err then - vim.notify(err.message, vim.log.levels.ERROR) - return - end - if result.status == 'NotSignedIn' then - vim.notify('Not signed in.') - end - end - ) -end - ----@type vim.lsp.Config -return { - cmd = { - 'copilot-language-server', - '--stdio', - }, - root_markers = { '.git' }, - init_options = { - editorInfo = { - name = 'Neovim', - version = tostring(vim.version()), - }, - editorPluginInfo = { - name = 'Neovim', - version = tostring(vim.version()), - }, - }, - settings = { - telemetry = { - telemetryLevel = 'all', - }, - }, - on_attach = function(client, bufnr) - vim.api.nvim_buf_create_user_command(bufnr, 'LspCopilotSignIn', function() - sign_in(bufnr, client) - end, { desc = 'Sign in Copilot with GitHub' }) - vim.api.nvim_buf_create_user_command(bufnr, 'LspCopilotSignOut', function() - sign_out(bufnr, client) - end, { desc = 'Sign out Copilot with GitHub' }) - end, -} |