Select a color scheme for your Dotfyle experience

Floating LSP windows now use Treesitter highlighting, VimConf 2023, better template strings, inline LSP references, Kitty integration, and Neovim config for Python development

Issue #54
comments

Email Newsletter

Sign up with your email address to receive an email when a new issue of This Week in Neovim is available

Introduction

There are several updates from Neovim Core this week, guides and new plugins from the community. Plugins include enabling easier template string conversions, inline LSP references, a Kitty terminal integration, Kickstarter for Python Development, and more.

Hope you enjoy todays issue!

Neovim core

Updates of Neovim itself, which are available on Neovim nightly.

Pretty LSP floating windows, now part of Neovim core

Floating windows for LSP hover and signature help will now use Treesitter highlighting!

VimConf 2023 Tiny [Tokyo, Japan]

VimConf returns after a 4 year break! VimConf is the world's first and only one conference about Vim regularly held by a community. This year it will be hosted November 18th in Tokyo, Japan.

Neovim Plugin Community

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


Resources & articles

Using Neovim for C#

Moaid Hathot was invited by the .NET team to discuss how and why they use Neovim with C#, and how it led to the creation of Dumpify!

Youtube video

How to get started contributing to Neovim

Famiu recently made a very informative post on Reddit to act as a guide on how to get started contributing to Neovim.


New plugins

chrisgrieser/nvim-puppeteer

Automatically convert strings to f-strings or template strings and back.

  • When typing {} in a python string, automatically convert it to an f-string.
  • When typing ${} in a javascript or typescript string, automatically convert it to a template string.
  • When removing the {} or ${}, automatically convert it back to a regular string.
  • Also works with multi-line strings.
  • No configuration needed, just install and you are ready to go.

Links:


Wansmer/symbol-usage.nvim

Display references, definitions and implementations of document symbols

Features:

  • Shows references, definitions, and implementations as virtual text;
  • Three options for display virtual text: above the line, end of line or near with textwidth;
  • Works with LSP servers even client do not support textDocument/codeLens feature;
  • Fully customizable: can be customized for different languages or use with default config for all;
  • Ignores unnecessary requests to LSP;

Links:


chrisgrieser/nvim-tinygit

Lightweight and nimble git client for nvim.

Features:

  • Smart-Commit: Open a popup to enter a commit message. If there are no staged changed, stages all changes before doing so (git add -A).
  • Commit Messages have syntax highlighting, indicators for commit message overlength, and optionally enforce conventional commits keywords.
  • Option to run git push in a non-blocking manner after committing.
  • Quick amends.
  • Search issues & PRs. Open the selected issue or PR in the browser.
  • Open the GitHub URL of the current file or selection.

Links:


chrisgrieser/nvim-rulebook

Add inline-comments to ignore rules, or lookup rule documentation online.

Some LSPs provide code actions for inline-comments to ignore rules, or looking up rule documentation online. – this plugin adds commands for linters and LSPs that don't.


jonboh/nvim-dap-rr

Dap configuration for the record and replay debugger. Supports Rust, C++ and C.

The rr debugger allows you to record an execution and later replay it. In replay mode you get deterministic execution, and the ability to "time travel" in your debugging, going backwards and forwards tracking the state of your program.

With this plugin you can connect to a replay session and debug it as any other DAP compatible debugger.


chrisgrieser/nvim-kickstart-python

A launch point for your nvim configuration for Python

Features:

  • Not a nvim-distro, but a nvim-starter-config like kickstart.nvim. It's meant as a launch point for creating your own neovim config.
  • ~20 plugins, ~400 lines (including lots of comments explaining what the config does)
  • fully bootstrapped: all plugins and tools are automatically installed via lazy & mason
  • the setup includes some common tooling for python development: pyright, ruff, black, debugpy, iypthon-REPL
  • state-of-the-art plugins of the nvim-ecosystem (e.g., conform.nvim & nvim-lint instead of null-ls) & some python-specific plugins

Links


judaew/ronny.nvim

Neovim/Vim color scheme inspired by Monokai theme


cryptomilk/nightcity.nvim

🏙 Night City - A dark colorscheme for Neovim with LSP support


coffebar/neovim-project

Neovim project manager maintains your recent project history and uses Telescope to select from autosaved sessions.

Features:

  • Starts where you left off last time.
  • Switch from project to project in second.
  • Sessions and history can be synced across your devices (rsync, Syncthing, Nextcloud, Dropbox, etc.)
  • Find all your projects by glob patterns defined in config.
  • Autosave neo-tree.nvim expanded directories and buffers order in barbar.nvim.

Links:


sontungexpt/url-open

Minimal plugin allow you to open url under cursor in neovim without netrw with default browser of your system and highlight url

This plugin enables you to effortlessly open the URL under the cursor in Neovim, bypassing the need for netrw, and instead utilizing the default browser of your system. It provides the convenience of automatically detecting and highlighting all URLs within the text content.


sontungexpt/stcursorword

A minimal plugin to highlight the word under the cursor


mikesmithgh/kitty-scrollback.nvim

Navigate your Kitty scrollback buffer to quickly search, copy, or execute commands in Neovim.

Features:

  • Navigate Kitty's scrollback buffer with Neovim
  • Copy contents from Neovim to system clipboard
  • Send contents from Neovim to Kitty shell
  • Execute shell command from Neovim to Kitty shell

Links:


polirritmico/monokai-nightasty.nvim

A dark/light theme for Neovim based on the Monokai color palette writen in Lua, support for lsp, treesitter and lots of plugins.

Contributing

Add your the plugin in either of the following to be featured in This Week in Neovim and Dotfyle:

Contribute to the development of Dotfyle:

  • File issues and submit pull requests on GitHub
  • Discuss ideas on Discord