From 6150274903589e3fdabdc727256b7739d3dd61de Mon Sep 17 00:00:00 2001 From: gibbyb Date: Mon, 22 Dec 2025 13:37:33 -0600 Subject: [PATCH] Neovim is looking sick now --- config/dot/nvim/lazy-lock.json | 6 +- config/dot/nvim/lua/plugins/lsp.lua | 95 +++++++++++++++++++------ config/dot/nvim/lua/plugins/lualine.lua | 12 +++- 3 files changed, 89 insertions(+), 24 deletions(-) diff --git a/config/dot/nvim/lazy-lock.json b/config/dot/nvim/lazy-lock.json index 1d9cea4..5c71764 100644 --- a/config/dot/nvim/lazy-lock.json +++ b/config/dot/nvim/lazy-lock.json @@ -5,7 +5,6 @@ "cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" }, - "cmp-copilot": { "branch": "main", "commit": "1f3f31c54bd71e41ed157430702bc2837ea582ab" }, "cmp-dotenv": { "branch": "main", "commit": "4dd53aab60982f1f75848aec5e6214986263325e" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-git": { "branch": "main", "commit": "b24309c386c9666c549a1abaedd4956541676d06" }, @@ -20,7 +19,9 @@ "cmp-tw2css": { "branch": "main", "commit": "1abe0eebcb57fcbd5538d054f0db61f4e4a1302b" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "conform.nvim": { "branch": "master", "commit": "5420c4b5ea0aeb99c09cfbd4fd0b70d257b44f25" }, - "copilot.vim": { "branch": "release", "commit": "f89e977c87180519ba3b942200e3d05b17b1e2fc" }, + "copilot-cmp": { "branch": "master", "commit": "15fc12af3d0109fa76b60b5cffa1373697e261d1" }, + "copilot-lualine": { "branch": "main", "commit": "222e90bd8dcdf16ca1efc4e784416afb5f011c31" }, + "copilot.lua": { "branch": "master", "commit": "e78d1ffebdf6ccb6fd8be4e6898030c1cf5f9b64" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, "fidget.nvim": { "branch": "main", "commit": "64463022a1f2ff1318ab22a2ea4125ed9313a483" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, @@ -51,6 +52,7 @@ "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "render-markdown.nvim": { "branch": "main", "commit": "07d088bf8bdadd159eb807b90eaee86a4778383f" }, "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, + "supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" }, "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, diff --git a/config/dot/nvim/lua/plugins/lsp.lua b/config/dot/nvim/lua/plugins/lsp.lua index c9b5f2a..d723d44 100644 --- a/config/dot/nvim/lua/plugins/lsp.lua +++ b/config/dot/nvim/lua/plugins/lsp.lua @@ -38,8 +38,8 @@ return { }, { { name = 'buffer' }, { name = 'luasnip_choice' }, - --{ name = 'copilot' }, - --{ name = 'supermaven' }, + { name = 'copilot' }, + { name = 'supermaven' }, { name = 'nvim_lsp_document_symbol' }, { name = 'nvim_lsp_signature_help' }, { name = 'nvim_lua' }, @@ -69,9 +69,10 @@ return { menu = 50, abbr = 50, }, - --symbol_map = { - --Supermaven = '', - --}, + symbol_map = { + Supermaven = '', + Copilot = '', + }, ellipsis_char = '...', show_labelDetails = true, before = function(entry, vim_item) @@ -145,7 +146,13 @@ return { { 'hrsh7th/cmp-nvim-lua' }, { 'hrsh7th/cmp-nvim-lsp-signature-help' }, { 'hrsh7th/cmp-path' }, - { 'hrsh7th/cmp-copilot' }, + --{ 'hrsh7th/cmp-copilot' }, + { + 'zbirenbaum/copilot-cmp', + config = function () + require'copilot_cmp'.setup() + end + }, { 'hrsh7th/cmp-buffer' }, { 'hrsh7th/cmp-emoji' }, { 'chrisgrieser/cmp-nerdfont' }, @@ -225,25 +232,66 @@ return { version = 'v2.*', build = 'make install_jsregexp' }, + --{ 'github/copilot.vim' }, { - 'github/copilot.vim', - --config = function () - --vim.g.copilot_no_tab_map = true - --end + "zbirenbaum/copilot.lua", + requires = { + 'copilotlsp-nvim/copilot-lsp', + }, + cmd = 'Copilot', + event = 'InsertEnter', + config = function() + require'copilot'.setup({ + --copilot_model = "", + --nes = { + --enabled = true, + --keymap = { + --accept_and_goto = ',', + --accept = false, + --dismiss = 'Esc', + --}, + --}, + }) + end, }, --{ - --'supermaven-inc/supermaven-nvim', - --config = function() - --require'supermaven-nvim'.setup({ - --keymaps = { - --accept_suggestion = '', - --clear_suggestion = '', - --accept_word = '', - --}, - --disable_inline_completion = true, - --}) + --"copilotlsp-nvim/copilot-lsp", + --init = function() + --vim.g.copilot_nes_debounce = 500 + --vim.lsp.enable("copilot_ls") + --vim.keymap.set("n", "", function() + --local bufnr = vim.api.nvim_get_current_buf() + --local state = vim.b[bufnr].nes_state + --if state then + ---- Try to jump to the start of the suggestion edit. + ---- If already at the start, then apply the pending suggestion and jump to the end of the edit. + --local _ = require("copilot-lsp.nes").walk_cursor_start_edit() + --or ( + --require("copilot-lsp.nes").apply_pending_nes() + --and require("copilot-lsp.nes").walk_cursor_end_edit() + --) + --return nil + --else + ---- Resolving the terminal's inability to distinguish between `TAB` and `` in normal mode + --return "" + --end + --end, { desc = "Accept Copilot NES suggestion", expr = true }) --end, --}, + { 'AndreM222/copilot-lualine' }, + { + 'supermaven-inc/supermaven-nvim', + config = function() + require'supermaven-nvim'.setup({ + keymaps = { + accept_suggestion = '', + clear_suggestion = '', + accept_word = '', + }, + disable_inline_completion = true, + }) + end, + }, { 'windwp/nvim-autopairs', event = 'InsertEnter', @@ -289,6 +337,13 @@ return { ) local cmp_autopairs = require'nvim-autopairs.completion.cmp' cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done()) + 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) require 'mason-lspconfig'.setup({ ensure_installed = { 'angularls', diff --git a/config/dot/nvim/lua/plugins/lualine.lua b/config/dot/nvim/lua/plugins/lualine.lua index 49e1854..03fc76f 100644 --- a/config/dot/nvim/lua/plugins/lualine.lua +++ b/config/dot/nvim/lua/plugins/lualine.lua @@ -36,9 +36,17 @@ return { }, sections = { lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_b = { + 'branch', + 'diff', + { + 'diagnostics', + sources = { "nvim_diagnostic" }, + symbols = { error = ' ', warn = ' ', info = ' ', hint = ' ' } + }, + }, lualine_c = {'filename'}, - lualine_x = {'encoding', 'fileformat', 'filetype'}, + lualine_x = {'copilot', 'encoding', 'fileformat', 'filetype'}, lualine_y = {'progress'}, lualine_z = {'location'} },