Skip to content

Rewrite: native vim.pack, simplified architecture#297

Merged
snelling-a merged 116 commits intomainfrom
rewrite
Mar 25, 2026
Merged

Rewrite: native vim.pack, simplified architecture#297
snelling-a merged 116 commits intomainfrom
rewrite

Conversation

@snelling-a
Copy link
Copy Markdown
Owner

Summary

Complete rewrite of the Neovim configuration:

  • Plugin management: lazy.nvim → native vim.pack
  • Architecture: nested lua/user/ modules → flat lua/ + plugin/ + lsp/ structure
  • Copilot: copilot.lua plugin → native vim.lsp.inline_completion with copilot-language-server
  • Custom modules: notify, tabline, marks, easy-motion, terminal, gitlink, bufdelete — all built from scratch

Stats

Metric main rewrite Change
Files 159 78 -51%
Code lines 7,185 5,190 -28%
Complexity 804 606 -25%
Plugins 50 ~20 -60%
LSP servers 21 14 -7
Lua files 143 63 -56%
Lines of Lua 6,755 4,171 -38%
Languages 9 6 -3

Removed (35 plugins)

ai, copilot-chat, csvview, diffview, eunuch, fidget, fugitive, gitgraph, gitlinker, grug-far, helpview, hipatterns, icons, indentscope, markdown-preview, mjml, obsidian, pairs, pick, render-markdown, resession, starter, surround, toggleterm, treesitter-context, treesitter-modules, treesitter-textobjects, ts-comments, ts-error-translator, videre, vscode, and others

Added (9 plugins)

codediff, fzf, kulala, live-preview, mini, oil, pretty_ts_errors, tuis, copilot (native LSP)

Removed LSP servers (7)

docker-compose, dockerfile, emmet, harper-ls, jq, markdown-oxide, terraform-ls, vim-language-server

Added LSP servers (1)

copilot-language-server

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 25, 2026

Important

Review skipped

Too many files!

This PR contains 185 files, which is 35 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ea7a37a5-8136-47a6-910b-528645c97451

📥 Commits

Reviewing files that changed from the base of the PR and between ab538bd and dc5febd.

📒 Files selected for processing (185)
  • .claude/skills/add-language/SKILL.md
  • .claude/skills/add-plugin/SKILL.md
  • .luacheckrc
  • AGENTS.md
  • README.md
  • after/ftplugin/Videre.lua
  • after/ftplugin/fugitiveblame.lua
  • after/ftplugin/git.lua
  • after/ftplugin/gitgraph.lua
  • after/ftplugin/gitsigns-blame.lua
  • after/ftplugin/grug-far.lua
  • after/ftplugin/help.lua
  • after/ftplugin/javascript.lua
  • after/ftplugin/javascriptreact.lua
  • after/ftplugin/json.lua
  • after/ftplugin/jsonc.lua
  • after/ftplugin/log.lua
  • after/ftplugin/lua.lua
  • after/ftplugin/man.lua
  • after/ftplugin/markdown.lua
  • after/ftplugin/nvim-undotree.lua
  • after/ftplugin/obsidianbase.lua
  • after/ftplugin/prisma.lua
  • after/ftplugin/qf.lua
  • after/ftplugin/toml.lua
  • after/ftplugin/typescript.lua
  • after/ftplugin/typescriptreact.lua
  • after/ftplugin/yaml.lua
  • after/indent/mjml.lua
  • after/queries/lua/highlights.scm
  • after/syntax/handlebars.lua
  • after/syntax/log.vim
  • after/syntax/mjml.lua
  • after/syntax/sshknownhosts.lua
  • compiler/eslint_d.vim
  • compiler/luacheck.vim
  • compiler/tsc.vim
  • doc/README.md
  • filetype.lua
  • generate_readme.sh
  • init.lua
  • lazy-lock.json
  • lsp/bash-language-server.lua
  • lsp/copilot-language-server.lua
  • lsp/css-lsp.lua
  • lsp/css-variables-language-server.lua
  • lsp/docker-compose-language-service.lua
  • lsp/dockerfile-language-server.lua
  • lsp/emmet-language-server.lua
  • lsp/eslint-lsp.lua
  • lsp/gopls.lua
  • lsp/harper-ls.lua
  • lsp/html-lsp.lua
  • lsp/jq-lsp.lua
  • lsp/json-lsp.lua
  • lsp/lua-language-server.lua
  • lsp/markdown-oxide.lua
  • lsp/marksman.lua
  • lsp/prisma-language-server.lua
  • lsp/taplo.lua
  • lsp/terraform-ls.lua
  • lsp/vim-language-server.lua
  • lsp/vtsls.lua
  • lsp/yaml-language-server.lua
  • lua/autocmds.lua
  • lua/bool.lua
  • lua/bufdelete.lua
  • lua/commands.lua
  • lua/gitlink.lua
  • lua/globals.lua
  • lua/icons/init.lua
  • lua/icons/util.lua
  • lua/keymaps.lua
  • lua/lsp_words.lua
  • lua/notify.lua
  • lua/options.lua
  • lua/plugins/ai.lua
  • lua/plugins/base16.lua
  • lua/plugins/better-type-hover.lua
  • lua/plugins/blink.lua
  • lua/plugins/codediff.lua
  • lua/plugins/conform.lua
  • lua/plugins/copilot-chat.lua
  • lua/plugins/copilot.lua
  • lua/plugins/csvview.lua
  • lua/plugins/diffview.lua
  • lua/plugins/eunuch.lua
  • lua/plugins/fidget.lua
  • lua/plugins/files/git_integration.lua
  • lua/plugins/files/init.lua
  • lua/plugins/files/rename.lua
  • lua/plugins/fugitive.lua
  • lua/plugins/fzf.lua
  • lua/plugins/gitgraph.lua
  • lua/plugins/gitlinker.lua
  • lua/plugins/gitsigns.lua
  • lua/plugins/grug-far.lua
  • lua/plugins/helpview.lua
  • lua/plugins/hipatterns.lua
  • lua/plugins/icons.lua
  • lua/plugins/indentscope.lua
  • lua/plugins/init.lua
  • lua/plugins/kulala.lua
  • lua/plugins/lint.lua
  • lua/plugins/live-preview.lua
  • lua/plugins/markdown-preview.lua
  • lua/plugins/mason.lua
  • lua/plugins/mini.lua
  • lua/plugins/mjml.lua
  • lua/plugins/neogen.lua
  • lua/plugins/obsidian.lua
  • lua/plugins/oil.lua
  • lua/plugins/pairs.lua
  • lua/plugins/pick/init.lua
  • lua/plugins/pick/util.lua
  • lua/plugins/pretty_ts_errors.lua
  • lua/plugins/recover.lua
  • lua/plugins/render-markdown.lua
  • lua/plugins/resession.lua
  • lua/plugins/starter.lua
  • lua/plugins/surround.lua
  • lua/plugins/toggleterm.lua
  • lua/plugins/treesitter-context.lua
  • lua/plugins/treesitter-modules.lua
  • lua/plugins/treesitter-textobjects.lua
  • lua/plugins/treesitter.lua
  • lua/plugins/ts-autotag.lua
  • lua/plugins/ts-comments.lua
  • lua/plugins/ts-error-translator.lua
  • lua/plugins/tuis.lua
  • lua/plugins/videre.lua
  • lua/plugins/vscode.lua
  • lua/string-weaver.lua
  • lua/terminal.lua
  • lua/user/autocmd.lua
  • lua/user/command/bdelete.lua
  • lua/user/command/init.lua
  • lua/user/find.lua
  • lua/user/highlight_v.lua
  • lua/user/history.lua
  • lua/user/init.lua
  • lua/user/keymap/init.lua
  • lua/user/keymap/util.lua
  • lua/user/lsp/breadcrumbs/init.lua
  • lua/user/lsp/breadcrumbs/symbols.lua
  • lua/user/lsp/breadcrumbs/utils.lua
  • lua/user/lsp/breadcrumbs/winbar.lua
  • lua/user/lsp/command.lua
  • lua/user/lsp/init.lua
  • lua/user/lsp/keymap.lua
  • lua/user/lsp/overrides.lua
  • lua/user/lsp/util.lua
  • lua/user/lsp/words.lua
  • lua/user/opt.lua
  • lua/user/qf/init.lua
  • lua/user/qf/quickfixtextfunction.lua
  • lua/user/qf/statuscolumn.lua
  • lua/user/statuscolumn.lua
  • lua/user/statusline/cache.lua
  • lua/user/statusline/components.lua
  • lua/user/statusline/init.lua
  • lua/user/undodir-tree.lua
  • lua/util/init.lua
  • lua/vscode-keymaps.lua
  • nvim-pack-lock.json
  • plugin/bool.lua
  • plugin/breadcrumbs.lua
  • plugin/cool.lua
  • plugin/diagnostic.lua
  • plugin/diagnostics.lua
  • plugin/easy-motion.lua
  • plugin/gx.lua
  • plugin/highlight_v.lua
  • plugin/lsp.lua
  • plugin/marks.lua
  • plugin/overrides.lua
  • plugin/quickfix.lua
  • plugin/statusline.lua
  • plugin/string-weaver.lua
  • plugin/tabline.lua
  • plugin/terminal.lua
  • plugin/undodir-tree.lua
  • spell/en.utf-8.add
  • spell/en.utf-8.add.spl
  • types/qf.lua

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch rewrite

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@snelling-a snelling-a merged commit 6450683 into main Mar 25, 2026
2 checks passed
@snelling-a snelling-a deleted the rewrite branch March 25, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant