Neovim's Avatar

Neovim

@neovim.io.bsky.social

Neovim is a hyperextensible Vim-based text editor Ways to support the project: - https://github.com/sponsors/neovim - https://store.neovim.io - Have fun using it and spread the word

3,880 Followers  |  11 Following  |  115 Posts  |  Joined: 14.11.2024  |  1.7454

Latest posts by neovim.io on Bluesky

feat(glob): New Glob Implementation Based on Peglob by brynne8 Β· Pull Request #33605 Β· neovim/neovim This is the glob implementation mentioned in Discussion #33570. It’s intended to replace vim.glob.to_lpeg, while still using LPeg internally. The implementation aims to adhere closely to the LSP 3....

#neovim Development News

The 0.12 version will update `vim.glob.to_lpeg()` to use more performant implementation. This should bring around 50% speedup for complex patterns.

PR:
- github.com/neovim/neovi...

04.08.2025 17:15 β€” πŸ‘ 21    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
feat(lsp): incremental selection via `textDocument/selectionRange` by ribru17 Β· Pull Request #34011 Β· neovim/neovim Select outwards with an and inwards with in in Visual mode. Ranges are reset when leaving Visual mode.

#neovim Development News

The 0.12 version will add built-in support for LSP-based incremental selection (if server supports `textDocument/selectionRange` method). Pressing `an` / `in` selects outwards / inwards.

PR:
- github.com/neovim/neovi...

31.07.2025 13:54 β€” πŸ‘ 33    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1
feat(lsp): support annotated text edits by MariaSolOs Β· Pull Request #34508 Β· neovim/neovim Adding support for annotated text edits, which allow for user confirmation before applying the change and showing a description of the changes in a workspace edit.

#neovim Development News

The 0.12 version will support annotated text edits from LSP server. It will allow asking user confirmation before applying changes and showing their description in a workspace edit.

PR:
- github.com/neovim/neovi...

28.07.2025 13:25 β€” πŸ‘ 35    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
vim-patch: various 'complete' features by zeertzjq Β· Pull Request #34247 Β· neovim/neovim Close #16012 vim-patch:9.1.1147: preview-window does not scroll correctly Problem: preview-window does not scroll correctly Solution: init firstline = 0 for a preview window (Girish Palya) The &#3...

#neovim Development News

The 0.12 version will continue to improve built-in completion:
- Allow custom completion functions as sources.
- Allow limiting number of matches in 'complete' sources.

PR (Vim patch):
- github.com/neovim/neovi...

24.07.2025 12:59 β€” πŸ‘ 29    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
feat(prompt): multiline prompt input by shadmansaleh Β· Pull Request #33371 Β· neovim/neovim This pr aims to add multiline support to the prompt buffer. Works toward #32420 and #32661 Proposal: Track how much text has been submitted already to the prompt buffer callback. When the user sub...

#neovim Development News

The 0.12 version will improve behavior of a prompt buffer:
- Multi-line input/paste, undo/redo, o/O normal commands.
- `prompt_getinput()` function to get current input.

PRs (part of Google Summer of Code):
- github.com/neovim/neovi...
- github.com/neovim/neovi...

21.07.2025 14:00 β€” πŸ‘ 37    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
`vim.version` improvements by echasnovski Β· Pull Request #34715 Β· neovim/neovim This PR makes several improvements to vim.version. Mostly for things that might/will be useful for #34009 follow-up work. In particular: Document vim.VersionRange class separately. Its structure i...

#neovim Development News

The 0.12 version will add `vim.version.intersect()` to compute intersection of version ranges (like '>=1.2.3', '1.*', etc.).

PR:
- github.com/neovim/neovi...

17.07.2025 16:31 β€” πŸ‘ 20    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Release Nvim release build Β· neovim/neovim NVIM v0.11.3 Build type: Release LuaJIT 2.1.1741730670 Install Windows Zip Download nvim-win64.zip Extract the zip Run nvim.exe on your CLI of choice MSI Download nvim-win64.msi Run the MSI Run...

The #neovim team works hard even during weekends to bring you a new maintenance 0.11.3 release. It is mostly about polishing existing functionality.

The link: github.com/neovim/neovi...

14.07.2025 12:26 β€” πŸ‘ 49    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
feat(messages): add hl-StderrMsg and hl-StdoutMsg by sathya-pramodh Β· Pull Request #33429 Β· neovim/neovim With Neovim v0.11.0, stderr messages from executing ":!cmd" show up with highlight hl-ErrorMsg. But some shell utilites use stderr for debug logging, progress updates, etc. Having shell c...

#neovim Development News

The 0.12 version will introduce new `StderrMsg` and `StdoutMsg` highlight groups. These will be applied to show stderr and stdout messages from shell commands.

PR:
- github.com/neovim/neovi...

14.07.2025 12:18 β€” πŸ‘ 21    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
feat(lsp): workspace diagnostic support by MariaSolOs Β· Pull Request #34262 Β· neovim/neovim Closes #34231

#neovim Development News

The 0.12 version will support workspace LSP diagnostics (`workspace/diagnostic` method) with the new `vim.lsp.buf.workspace_diagnostics()` function. This allows getting diagnostic data not only from opened files.

PR:
- github.com/neovim/neovi...

10.07.2025 13:53 β€” πŸ‘ 58    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
feat(search): increase `MAX_COUNT` to 999 by clason Β· Pull Request #33937 Β· neovim/neovim Problem: "99 searchcount ought to be enough for anyone." Solution: Increase SEARCH_STAT_DEF_MAX_COUNT to 999, which I'm sure will suffice for the next twenty years. Closes #33748.

#neovim Development News

The 0.12 version will update maximum search count from 99 to 999. This will result into more informative total number of matches during search, truncating not at ">99", but at ">999".

PR:
- github.com/neovim/neovi...

07.07.2025 17:40 β€” πŸ‘ 22    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Here is the demo of the basic workflow:

04.07.2025 13:55 β€” πŸ‘ 19    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
feat(pack): add built-in plugin manager `vim.pack` by echasnovski Β· Pull Request #34009 Β· neovim/neovim This PR adds a minimal built-in plugin manager vim.pack. This is a first step towards resolving #20893. A general design is a minimized (496 LOC for core functionality when PR is opened) and rework...

#neovim Development News

The 0.12 version will have minimal built-in plugin manager. It is still a work in progress, so use it carefully (if you use Nightly builds) and expect breaking changes without notice.

PR:
- github.com/neovim/neovi...

04.07.2025 13:41 β€” πŸ‘ 77    πŸ” 10    πŸ’¬ 4    πŸ“Œ 5
Preview
feat(excmd): add ":restart" command by sathya-pramodh Β· Pull Request #33953 Β· neovim/neovim Developing/troubleshooting plugins has some friction because "restarting" Nvim requires quitting, then manually starting again, in some fashion. Implement a ":restart" command w...

#neovim Development News

The 0.12 version will add `:restart` command which restarts Neovim. This is useful during user config tweaking to see the effect right away.

Currently doesn't preserve buffer/window layout, but it is planned.

PR:
- github.com/neovim/neovi...

03.07.2025 13:26 β€” πŸ‘ 46    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0
Preview
feat(checkhealth): trigger FileType event after showing report by justinmk Β· Pull Request #33677 Β· neovim/neovim Problem: FileType event is fired before checkhealth report is finished, so user can't override report settings or contents. #33172 (comment) Solution: Trigger FileType event later. Document ho...

#neovim Development News

The 0.12 version will allow customization of `:checkhealth` output inside a regular `Filetype checkhealth` autocommand.

PR:
- github.com/neovim/neovi...

30.06.2025 15:04 β€” πŸ‘ 11    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
feat(diagnostic): add `enabled` filter by MariaSolOs Β· Pull Request #33981 Β· neovim/neovim Closes #25131

#neovim Development News

The 0.12 version will allow `vim.diagnostic.get()` to accept an `enabled` filter to only return enabled or disabled diagnostics.

PR:
- github.com/neovim/neovi...

26.06.2025 16:31 β€” πŸ‘ 11    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
feat(terminal): parse current buffer contents in nvim_open_term() by gpanders Β· Pull Request #33720 Β· neovim/neovim When nvim_open_term() is called with a non-empty buffer, the buffer contents are piped into the PTY.

#neovim Development News

The 0.12 version will allow calling `nvim_open_term()` with non-empty buffer. Its text will be processed as terminal input.

This will help with displaying content meant to be shown as terminal output.

PR:
- github.com/neovim/neovi...

23.06.2025 13:56 β€” πŸ‘ 14    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
feat(lua): allow function `behavior` for `vim.tbl_extend`/`vim.tbl_deep_extend` by MariaSolOs Β· Pull Request #33819 Β· neovim/neovim Implements #33577 (comment)

#neovim Development News

The 0.12 version will allow a callable `behavior` for `vim.tbl_extend()` and `vim.tbl_deep_extend()` for a more flexible table merge.

PR:
- github.com/neovim/neovi...

19.06.2025 14:14 β€” πŸ‘ 19    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
feat(build): build.zig MVP: build and run functionaltests on linux by bfredl Β· Pull Request #28344 Β· neovim/neovim currently, this works to run a simple lua environment in the host system: zig build nlua0 -- hello.lua To generate source files zig build gen_sources to build a fixed configuration for x86-64 lin...

#neovim Development News

The 0.12 version will start to use Zig language to build Neovim itself.

This should improve overall Neovim development and should not have visible effect on users.

Thanks, @bfredl.bsky.social!

PRs (so far):
- github.com/neovim/neovi...
- github.com/neovim/neovi...

16.06.2025 14:07 β€” πŸ‘ 80    πŸ” 12    πŸ’¬ 4    πŸ“Œ 3
vim-patch:9.1.{1373,1374} by zeertzjq Β· Pull Request #33918 Β· neovim/neovim vim-patch:9.1.1373: 'completeopt' checking logic can be simplified Problem: Flag checking logic uses a temporary variable and multiple bitwise operations in insexpand.c Solution: Consolida...

#neovim Development News

The 0.12 version will have a better 'smartcase' support during filtering candidates of built-in Insert mode completion.

PR (Vim patch):
- github.com/neovim/neovi...

12.06.2025 17:42 β€” πŸ‘ 29    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
feat(exrc): search in parent directories by yochem Β· Pull Request #33889 Β· neovim/neovim Problem: .nvim.lua is only loaded from current directory, which is not flexible when starting Nvim from a project subfolder. Solution: Also search parent directories for configuration file, executi...

#neovim Development News

The 0.12 version will respect project-local configuration files not only from the current working directory, but also from all its parent directories.

PR:
- github.com/neovim/neovi...

09.06.2025 15:09 β€” πŸ‘ 37    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
feat(diagnostic): add `format` option to `setloclist`/`setqflist` by MariaSolOs Β· Pull Request #33977 Β· neovim/neovim Closes #26130

#neovim Development News

The 0.12 version will update `vim.diagnostic.setloclist()` and `vim.diagnostic.setqflist()` to support custom `format`. This can be used to modify and/or filter diagnostic before setting them to location/quickfix list.

PR:
- github.com/neovim/neovi...

05.06.2025 17:27 β€” πŸ‘ 22    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Commit screenshot

Commit screenshot

I applied to GSoC this year with the project idea to implement the ":restart" command. It got rejected but I still went ahead and asked the maintainers if I could do it. They said yes and here we are.
":restart" in a Neovim instance near you.

Huge thanks: justinmk, zeertzjq, bfredl for the reviews

02.06.2025 13:37 β€” πŸ‘ 45    πŸ” 5    πŸ’¬ 1    πŸ“Œ 1
Preview
vim-patch:9.1.1396: 'grepformat' is a global option by zeertzjq Β· Pull Request #34060 Β· neovim/neovim Close #34018 vim-patch:9.1.1396: 'errorformat' is a global option Problem: The 'grepformat' option is global option, but it would be useful to have it buffer-local, similar to &#39...

#neovim Development News

The 0.12 version will allow setting 'grepformat' option per buffer, instead of only global.

PR (Vim patch):
- github.com/neovim/neovi...

02.06.2025 13:54 β€” πŸ‘ 15    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Release Nvim 0.11.2 Β· neovim/neovim NVIM v0.11.2 Build type: Release LuaJIT 2.1.1741730670 This is a maintenance release, focusing on bug fixes. Some enhancements related to vim.lsp.enable are also included. Features lsp: Vim.lsp.i...

To finish the spring on a high note, here is a 0.11.2 release with more bug fixes and `vim.lsp.enable()` improvements:
github.com/neovim/neovi...

30.05.2025 10:42 β€” πŸ‘ 59    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
feat(ui): ext_cmdline/messages for the TUI by luukvbaal Β· Pull Request #27855 Β· neovim/neovim Problem: We have an unmaintained Vimscript parser and cmdline highlighting mechanism, with which it is hard to leverage the treesitter highlighter. Long messages result in a hit-enter-prompt. Solu...

#neovim Development News

The 0.12 version will have "extended command line". It is a more flexible and user-friendly way to manage command line. Both for input (typing commands) and output (messages/errors).

Will probably be experimental (not stable) for a while.

PR:
- github.com/neovim/neovi...

29.05.2025 13:14 β€” πŸ‘ 30    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Preview
refactor: replace C implementation of default statusline with statusline expression by shadmansaleh Β· Pull Request #33036 Β· neovim/neovim First phase toward #28809 What it does Implements default statusline as default value to 'statusline' option removes C implementation Remaining Issues The C implementation of statusline ...

#neovim Development News

The 0.12 version will have default value of 'statusline' implemented as a regular expression (instead of an internal C approach).

This is a first step towards a more capable default statusline.

PR:
- github.com/neovim/neovi...

26.05.2025 17:57 β€” πŸ‘ 36    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
feat(lsp): `root_markers` can control priority by TheRealLorenz Β· Pull Request #33485 Β· neovim/neovim Hello everyone! This PR is mostly intended to gather opinion on the topic. While deprecating lspconfig.util module I came across an incoherent behaviour: lspconfig.util.root_pattern prioritises fo...

#neovim Development News

The 0.12 version will allow `vim.lsp.config` (added in 0.11) to have `root_markers` ordered by priority.

This makes it possible to implement complex behavior of finding proper root directory for LSP servers.

PR:
- github.com/neovim/neovi...

22.05.2025 14:14 β€” πŸ‘ 36    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Preview
vim-patch:9.1.{1329,1331,1338} by zeertzjq Β· Pull Request #33565 Β· neovim/neovim vim-patch:9.1.1329: cannot get information about command line completion Problem: cannot get information about command line completion Solution: add CmdlineLeavePre autocommand and cmdcomplete_inf...

#neovim Development News

The 0.12 version will have better scripting capabilities for working with command line completions: `CmdlineLeavePre` event and `cmdcomplete_info()` Vimscript function.

PR (Vim patch):
- github.com/neovim/neovi...

19.05.2025 16:28 β€” πŸ‘ 21    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
feat(defaults): shelltemp=false by 616b2f Β· Pull Request #33012 Β· neovim/neovim relates to #1008 As a first step, to disable it first to see what has to be fixed before it's removed completely Some infos: powershell uses UTF-8 as default since v7.1 (without BOM see here) ...

#neovim Development News

The 0.12 version will by default try to use a pipe for shell commands instead of temporary files.

PR:
- github.com/neovim/neovi...

15.05.2025 13:57 β€” πŸ‘ 20    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
vim-patch:0b540c6: runtime(help): add omni completion and 'iskeyword' to filetype plugin by brianhuster Β· Pull Request #33398 Β· neovim/neovim vim-patch:0b540c6: runtime(help): add omni completion and 'iskeyword' to filetype plugin Problem: Help tags provide a good way to navigate the Vim documentation, but many help documents do...

#neovim Development News

The 0.12 version will set omni-function and dedicated keyword characters in 'help' buffers. This will make writing help files a bit easier.

PR (Vim patch):
- github.com/neovim/neovi...

12.05.2025 11:54 β€” πŸ‘ 20    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@neovim.io is following 11 prominent accounts