Open-Source Wikis

/

Neovim

/

Maintainers

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.

Maintainers – Neovim wiki | Factory