Draft
Conversation
Co-authored-by: samarth-na <110125971+samarth-na@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Migrate Neovim configuration to version 0.11.5
Migrate to Neovim 0.11.5 API compatibility
Dec 6, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates configuration to use Neovim 0.11.5 APIs, replacing deprecated functions and fixing strict event name validation.
Critical API Updates
Diagnostic navigation - Deprecated
goto_prev/nextreplaced withjump():LSP client method checking - New signature requires buffer parameter:
vim.loop deprecation - Replaced with
vim.uv:Event Name Case Sensitivity
Fixed 6 occurrences across treesitter, lspconfig, utility, and ui plugins:
bufRead→BufReadinsertEnter→InsertEnterConfiguration Cleanup
setupkey from go.nvim (already handled byconfig)unstaged,normal,default), added propersigns_staged<c-i>→<c-s>forscope_incremental(avoids Tab collision)require().setup()to lazy.nvimoptspatternlspDiagnosticsVisiblevariable declarationmadux28mhk.tmpDocumentation
Net: 14 files changed, -12 lines (cleaner structure)
Original prompt
Migrate Neovim Configuration to Neovim 0.11.5
Overview
This Neovim configuration needs to be migrated to be fully compatible with Neovim 0.11.5. The migration requires addressing deprecated APIs, updated function signatures, and taking advantage of new built-in features.
Required Changes
1. Diagnostic API Changes (CRITICAL)
Files affected:
lua/keymaps.luaThe
vim.diagnostic.goto_prev()andvim.diagnostic.goto_next()functions are deprecated in Neovim 0.11. Replace with the newvim.diagnostic.jump()API:Note: These keymaps appear twice in
keymaps.lua(lines 7-8 and 45-46) - remove the duplicate.2. vim.loop Deprecation (CRITICAL)
Files affected:
lua/lazy-bootstrap.luaReplace
vim.loopwithvim.uv:3. Event Name Case Sensitivity (CRITICAL)
Files affected: Multiple files
Neovim 0.11 is stricter about event name casing. Fix these:
lua/kickstart/plugins/treesitter.lua:event = 'bufRead'→event = 'BufRead'lua/kickstart/plugins/lspconfig.lua:event = "bufRead"in dependencies →event = "BufRead"lua/custom/plugins/utility.lua:event = "insertEnter"→event = "InsertEnter"lua/custom/plugins/ui.lua:event = "bufRead"→event = "BufRead"(multiple occurrences)4. LSP Client API Updates
Files affected:
lua/kickstart/plugins/lspconfig.luaUpdate the LSP client method checking to use the new 0.11 API:
Also update the inlay hints check:
5. Remove Deprecated Plugin Setup Pattern
Files affected:
lua/custom/plugins/languages/go.luaThe
setupkey in lazy.nvim plugin specs is not valid - remove it:The
configfunction already handles setup.6. Native Snippet Expansion (Optional Enhancement)
Files affected:
lua/kickstart/plugins/cmp.luaNeovim 0.11 has improved native snippet support. The current LuaSnip setup works, but you can optionally use the native
vim.snippet.expand()as a fallback.7. Options Updates
Files affected:
lua/options.luaSome options have new defaults in 0.11. Review and explicitly set if needed:
vim.opt.termguicolorsis nowtrueby defaultvim.opt.smoothscrollis availableAdd comment noting Neovim version compatibility:
-- Neovim 0.11.5 compatible configuration8. Gitsigns Configuration Update
Files affected:
lua/kickstart/plugins/git.luaThe
signstable has some keys that aren't standard gitsigns options (unstaged,normal,default). Clean up:9. Which-key 0.11 Compatibility
Files affected:
lua/custom/plugins/ui.luaThe which-key setup looks correct for the newer version, but ensure it uses the
add()method properly which it does.10. Treesitter Incremental Selection
Files affected:
lua/kickstart/plugins/treesitter.luaThe incremental selection keymaps are correct, but
<c-i>forscope_incrementalconflicts with Tab in terminal. Consider changing:11. Clean Up Duplicate Dependencies
Files affected:
lua/kickstart/plugins/cmp.luaRemove duplicate dependencies in the cmp setup:
L3MON4D3/LuaSnipappears twiceThis pull request was created as a result of the following prompt from Copilot chat.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.