#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...
@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
#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...
#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...
#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...
#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...
#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...
#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...
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...
#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...
#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...
#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...
Here is the demo of the basic workflow:
04.07.2025 13:55 β π 19 π 0 π¬ 0 π 0#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...
#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...
#neovim Development News
The 0.12 version will allow customization of `:checkhealth` output inside a regular `Filetype checkhealth` autocommand.
PR:
- github.com/neovim/neovi...
#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...
#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...
#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...
#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...
#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...
#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...
#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...
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
#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...
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...
#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...
#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...
#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...
#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...
#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...
#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...