neovim/neovim
Maintainers
Who works on what. The canonical authority for "are you allowed to merge this" is the Neovim governance docs on the project website; this page is a derived snapshot for orientation.
Neovim has no CODEOWNERS file. The maps below are derived from git shortlog and recent activity in the corresponding source paths. Bot accounts (factory-droid[bot], dependabot[bot], github-actions[bot]) are excluded.
Top contributors
By all-time commit count on master (top 15):
| Contributor | Commits |
|---|---|
| zeertzjq | 5,687 |
| Justin M. Keyes (justinmk) | 2,652 |
| Jan Edmund Lazo | 2,399 |
| Christian Clason | 1,523 |
| ZyX | 1,421 |
| bfredl | 1,229 |
| dundargoc | 1,131 |
| James McCoy | 841 |
| Thiago de Arruda | 742 |
| Lewis Russell | 654 |
| Luuk van Baal | 527 |
| Daniel Hahler | 520 |
| Gregory Anders | 477 |
| Sean Dewar | 470 |
| Marco Hinz | 301 |
By commit count over the last 90 days (top 10):
| Contributor | Commits |
|---|---|
| zeertzjq | 423 |
| Justin M. Keyes | 160 |
| Luuk van Baal | 64 |
| glepnir | 61 |
| Sean Dewar | 55 |
| Christian Clason | 32 |
| Yi Ming | 27 |
| bfredl | 25 |
| Evgeni Chasnovski | 23 |
| Barrett Ruth | 18 |
Subsystem map
Approximate ownership based on recent activity in each path. This is descriptive (who has been touching the code) not prescriptive (who decides). For most subsystems, multiple core maintainers can review.
| Subsystem | Path | Recent active contributors |
|---|---|---|
| Buffer / memline | src/nvim/buffer*.c, memline.c, memfile.c |
zeertzjq, justinmk |
| Window / rendering | src/nvim/window.c, drawscreen.c, drawline.c |
zeertzjq, luukvbaal |
| Marktree / extmarks | src/nvim/marktree.c, extmark.c, decoration.c |
bfredl, luukvbaal |
| Modes / state | src/nvim/state.c, normal.c, edit.c |
zeertzjq, Sean Dewar |
| Vimscript / eval | src/nvim/eval/ |
zeertzjq, Jan Edmund Lazo, Sean Dewar |
| Lua bridge | src/nvim/lua/ |
bfredl, Lewis Russell |
| API | src/nvim/api/ |
bfredl, justinmk, zeertzjq |
| msgpack-rpc | src/nvim/msgpack_rpc/ |
bfredl, James McCoy |
| Event loop / OS | src/nvim/event/, src/nvim/os/ |
bfredl, dundargoc, Jan Edmund Lazo |
| TUI | src/nvim/tui/ |
bfredl, dundargoc |
| Terminal / vterm | src/nvim/terminal.c, src/nvim/vterm/ |
bfredl, justinmk |
| Regex / search | src/nvim/regexp.c, search.c |
zeertzjq, Sean Dewar (mostly vim-patches) |
| Options | src/nvim/options.lua, option.c, optionstr.c |
zeertzjq, Lewis Russell |
| Autocmds | src/nvim/autocmd.c, auevents.lua |
justinmk, zeertzjq |
| LSP | runtime/lua/vim/lsp/ |
Mathias Fußenegger, Maria José Solano, glepnir |
| Treesitter | runtime/lua/vim/treesitter/, src/nvim/lua/treesitter.c |
Christian Clason, Lewis Russell, vhyrro |
| Diagnostics | runtime/lua/vim/diagnostic.lua |
Gregory Anders |
vim.pack |
runtime/lua/vim/pack.lua |
Evgeni Chasnovski |
vim.system / Lua stdlib |
runtime/lua/vim/_core/ |
Lewis Russell, Christian Clason, glepnir |
| Filetype | runtime/lua/vim/filetype.lua |
Gregory Anders, Christian Clason |
| Tests | test/ |
many — see git log test/ |
| Build / CI | cmake/, cmake.deps/, .github/workflows/ |
dundargoc, Jan Edmund Lazo |
| Documentation | runtime/doc/ |
Justin M. Keyes, Christian Clason, dundargoc |
| Vim patches | vim-patch: commits across the tree |
zeertzjq, Sean Dewar, Yegappan Lakshmanan |
Decision making
The day-to-day "should this PR merge" decisions are made by reviewers with merge access. Architectural calls — UI protocol changes, deprecations, language-level changes — are typically discussed in PR threads or on the matrix chat (#neovim:matrix.org) before action. The maintenance-policy reference is MAINTAIN.md at the repo root.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.