Issue #8
Email Newsletter
Sign up with your email address to receive an email when a new issue of This Week in Neovim is available
Neovim Core updates
Updates of Neovim itself, which are available on Neovim nightly.
Important: if you are a plugin author, you are strongly advised to follow the #14090 breaking changes on master GitHub thread, as it contains important breaking changes information.
- #20020 introduced the following breaking changes:
nvim_get_keymap
now always returns a LuaRef object ascallback
for a Lua mapping regardless of how it is called. The LuaRef object can be called from Lua and Vim script, but is lost over RPC.maparg()
now returns a Funcref instead of a ref number ascallback
for a Lua mapping. The Funcref can be called from Lua and Vim script, but is lost over RPC.
Neovim Plugin Community updates
need-help-{#need-help}">Neovim is full of active plugins. This section is about the community and what is going on.
Need help {#need-help}
guides,-tours,-articles,-etc-{#guides}">
Guides, tours, articles, etc. {#guides}
new-plugins-{#new-plugins}">
New plugins {#new-plugins}
colortils.nvim
A neovim plugin for working with colors. It has different tools for modifying and/or creating new colors. There are also some utilities for working with css colors. Tools include a picker for rgb values, picking colors on a gradient, lighten/darken a color and make a color more grey.
actually.nvim
@mong8se ported DidYouMean, a Vim plugin, to Lua and thus Neovim. Originally, the plugin is used when you open Neovim with a file that doesn’t exist. It then tries to suggest the real file. A fun and useful plugin.
hierarchy.nvim
A plugin by @Slyces providing something similar to what the LSP type hierarchy protocol could be… ahead of time. This is similar to “implementations” of a given function interface, but for types. Probably very useful for OOP languages. It’s easy to imagine that it would probably useful for interface dependencies as well (think of Haskell’s classes, Rust traits, etc. etc.).
The plugin is still a WIP but it’s promising!
Bob
Struggle to keep your Neovim versions in check? Bob provides an easy way to install and switch versions on any system! Bob is a cross-platform and easy-to-use Neovim version manager, allowing for easy switching between versions right from the command line. Similar to tools like rustup, ghcup, nvm, etc.
web-tools.nvim
@ray-x has created a Neovim wrapper for browser-sync and HTTP/CSS LSP. View your HTML/CSS files with a live web server locally.
tint.nvim
@levouh saw some interest in utilizing recently merged support for per window highlight
namespaces and made tint.nvim
. It makes inactive windows... well,
tinted compared to an active one. Note that this plugin requires relatively fresh development Neovim version.
ascii-blocks.nvim
@superhawk610 wrote their first plugin! It quickly converts ASCII boxes into more visually appealing extended UTF-8
boxes (with a help from utf8.lua). Although it's way easier to just type +
and
|
, the extended UTF-8 box drawing characters look so much nicer! Great job!
vim-smartq
@marklcrns released a new version of vim-smartq
! vim-smartq
is a plugin to exit / delete buffers with respect to
window splits and tabs, and other types of buffer.
This new release adds a couple of new things:
- Support for zen-mode.nvim.
- Support for floating windows.
And a couple of performance / bug fixes. Good job!
confiture.nvim
Oh this is a nice name for a plugin! @romainchapou made confiture.nvim
, a new plugin to save and launch project
specific commands.
compiler-explorer.nvim
A new Neovim Lua plugin for interacting with godbolt, by @krady21
updates-{#updates}">
Updates {#updates}
command-t
This is an erratum from last week, because an important update was not included and it should have been. @wincent rewrote command-t in Lua! The plugin provides an extremely fast "fuzzy" mechanism for:
- Opening files and buffers.
- Jumping to tags and help.
- Running commands, or previous searches and commands.
Shout out to @wincent for taking the time to convert that Vim plugin to Lua and Neovim! 👏
op.nvim
op.nvim, made by @mrjones2014, just got support to edit passwords directly in Neovim. Pretty cool!
mind.nvim
@phaazon updated Mind
to version v2.2.0
, fixing bugs and adding a couple of new features. Here’s the changelog:
- Update requirements in the README (mainly
plenary.nvim
). - Clean and fix documentation typos and instructions.
- Remove some deprecated warnings.
- Fix state JSON deserialization for prettified JSON.
- Fix change_icon_menu that didn’t correctly save the tree.
- Add
:MindClose
. - Fix closing the tree with
:q
. - Fix opening global project (i.e. a cwd-based project living in the main persistence place).
- Add smart project trees. Smart project trees are regular project trees, either global or local, but the interaction
depends on their existence. If no project tree exists for the current cwd, the user is prompted which kind of tree
they want (local / global). After that,
:MindOpenSmartProject
detects whether it must open a local or a global tree, with a priority on local trees.
All of that is available as part of mind-v2.2.0
, so if you were using branch = 'v2'
, you’re already covered.
Otherwise, you need to update to branch = 'v2.2'
— no need to pin the patch version.
nvim-colorizer.lua
Although norcalli/nvim-colorizer.lua is pretty stable already, there is now a more maintained fork: NvChad/nvim-colorizer.lua. It got merged several pending PRs with some nice functionality. Check it out!
heirline.nvim
@rebelot made an update of heirline.nvim
with a new tabline cookbook. You can take full control on buffer and tab
rendering (visible/active/inactive buffers, icons, file flags, git status, diagnostics, create the components you
like!), make buffer list to automatically paginate, and more.
packer
You can now do PackerUpdate --preview
(#975) to first preview
possible changes, choose which plugins to actually update and then continue, instead of first updating and then checking
changes.
This together with two other recent changes:
- A compact setting to default to folding results to one line per plugin (#1035).
- Ability to show diff of a range of commits (#1034).
Gives a pretty neat update flow :):
Huge shoutout to @akinsho and @wbthomason for reviews, ideas and testing!!
did-you-know?-{#tips}">
Did you know? {#tips}
No tips for this week. 😦
want-to-contribute?-{#contribute}">
Want to contribute? {#contribute}
You have noticed something missing that you saw lately? Do not keep the candies for yourself and please feel free to share with us! You can open a PR at This Week In Neovim Contents.
Feel free to read how to contribute to get started.