Select a color scheme for your Dotfyle experience

Issue #32

Issue #32
comments

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-{#core}">

Neovim Core updates {#core}

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.

  • #22257 removed the (undocumented) vim.g.ts_highlight_lua variable that enabled treesitter highlighting for Lua files.

    This variable was only meant for easier testing during the last development cycle. To enable treesitter highlighting for Lua files (or any of the file types with a bundled parser), either put vim.treesitter.start() in a .config/nvim/ftplugin/lua.lua (and/or help.lua, c.lua, vim.lua) or in an autocommand like:

    vim.api.nvim_create_autocmd('FileType', {
      pattern = 'lua', -- or { 'lua', 'help' },
      callback = function() vim.treesitter.start() end,
    })
    
neovim-plugin-community-updates-{#plugins}">

Neovim Plugin Community updates {#plugins}

Neovim is full of active plugins. This section is about the community and what is going on.

guides,-tours,-articles,-etc-{#guides}">

Guides, tours, articles, etc. {#guides}

How to migrate from Packer.nvim to Lazy.nvim

Elijah Manor published a new YouTube video LazyVim: Tailwind CSS Support where he builds upon the base LazyVim configuration to add support for Tailwind CSS. He leverages the tailwindcss-language-server LSP, and NvChad/nvim-colorizer.lua for buffer colorization , and roobert/tailwindcss-colorizer-cmp.nvim for color swatches in the auto-completion. You can find his final configuration from the video in a GitHub repository.

new-plugins-{#new-plugins}">

New plugins {#new-plugins}

floating-input.nvim

floating-input

If you already use Telescope or FZF-Lua for a nice vim.ui.select, and want a nice vim.ui.input (e.g. handling LSP rename), then this simple plugin might work.

It is only about ~50 lines of code, so you could either include the plugin or just copy the code to your config.

splitjoin.nvim

splitjoin.nvim

splitjoin.nvim handles a common task when editing code: splitting and joining lists. The plugin is inspired by the venerable old vim-mode-plus and is similar to the older, more established, but envimscriptened SplitJoin.vim by Andrew Radev.

smartcolumn.nvim

smartcolumn.nvim

Hide your colorcolumn when unneeded.

bluloco.nvim

bluloco-social-preview

Bluloco is a fancy and sophisticated light and dark designer Neovim theme made with lush.nvim by @uloco.

It features a comprehensive usage of syntax scopes and color consistency, with due regards to aesthetics, contrast and readability. There is a light and dark variant, it's customizeable and most popular plugins are also supported!

This is a port of the popular Visual Studio Code Themes Bluloco Light and Bluloco Dark (~500k downloads together).

pets.nvim

pets.nvim

A VS Code pets like plugin to show little pets in your editor. Currently only supports the kitty terminal. Written by @giusgad.

haxe-neovim

Do you dislike writing Neovim plugins in Lua? Imagine writing your plugins in a strictly typed language. It has been possible to write Neovim plugins in different languages, transpiling them to Lua (example with Fennel for emacs aficionados). This new plugin written by @danielo515 is more of a Haxe library than a real Neovim plugin. It allows you to write your plugins in Haxe, which is pretty cool!

Good job!

panvimdoc

panvimdoc contains a bash script that calls pandoc to use Pandoc's custom writer functionality to convert a Markdown file to a vimdoc file. A nice plugin by @kdheepak.

updates-{#updates}">

Updates {#updates}

nvim-jqx

demo

If only one could easily browse and preview json files in neovim. Oh wait, nvim-jqx does just that! nvim-jqx is your Neovim interface to json and yaml files: in the last release, the author has fixed a few bugs introduced by the latest changes in yq grammar and have added treesitter syntax highlight to the floating buffer.

bob

A version manager for neovim.

bob

The Neovim version manager was released in version v2.0.0. See the release notes for further details about what has changed.

feline.nvim

A minimal, stylish and customizable statusline for Neovim written in Lua.

feline.nvim

The plugin author made a public announcement regarding the maintainance status of the plugin. feline.nvim is no longer maintained and the GitHub repository has been archived. This is a sad news and we wish the author, @Famiu, a good amount of rest and not to let go of making their projects open-source and public. FOSS is hard, more often than we think, and this kind of dilemma happens all the time. Don’t formalize too much and get well!

If you were using feline.nvim as a statusline, several alternatives exist:

Links:

mason-nvim-dap.nvim

A bridge between mason.nvim and nvim-dap.

Major changes have happened lately in the Mason ecosystem. Non exhaustive list:

  • ensure_installed accepts what null-ls and nvim-dap accept and not the name in mason.
  • mason-null-ls is able to install new sources automatically as long as the casing follows SOURCE_NAME, this would look for SOURCE-NAME in mason.nvim.
    • This allows less maintenance gith the introduction of new tools in both plugins.
  • setup_handler has been ported over from mason-lspconfig.
  • mason-nvim-dap is able to setup adapters and its configurations with sensible and overridable defaults.
  • Both adhere to SemVer.
  • Several adapters have been added mason-nvim-dap.
  • Automatic_setup sets up the resource for you!

Links:

did-you-know?-{#tips}">

Did you know? {#tips}

You can setup your own statusline without having to rely on a plugin. Even though the operation is slightly more complex than just customizing a statusline plugin, it’s not really rocket science. You have two options:

  • Set your statusline to a simple string, using the various out-of-the-box interpolation variables.
  • Set your statusline to a string starting with %! to execute a function that will be run everytime the statusline needs to be rerendered.

The builtin variables are pretty symbol to figure out and include things like:

  • Path to the file in the buffer.
  • The modified / readonly / etc. flags.
  • Type of the buffer.
  • Buffer number.
  • Line / column / window number.
  • Percentage in the file the vertical position is at.
  • Various grouping mechanisms.

For more information, have a look at :help stl.

special-thanks-{#special-thanks}">

Special thanks {#special-thanks}

These people help contributing various updates about Neovim and its ecosystem! Thanks for your contributions! ❤️

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.

CC-BY-SA