g, diff formatting
- Layout: Window allocation, dimension calculations
- Terminal: Buffer handling, split stacking
- Input: z-index issues
- Scroll: Animation edge cases

## Stats

- 50+ new features
- 80+ bug fixes
- Closes 60+ issues

For the complete changelog, see <https://github.com/folke/snacks.nvim/blob/main/CHANGELOG.md>


https://redd.it/1odyzcy

@r_neovim
snacks.nvim v2.24.0 was just released (repost: previous post was deleted)
(Plugin)

This is a repost, since my other post got deleted by Reddit's filters.
The only reason I could think of is the nickname that most people use for the git -S feature, so I removed that wording. Fingers crossed :)

---

Just made a new release of snacks.nvim including quite a lot of fixes and new features.

A big shout-out to all the contributors that provided PRs for this release!

# Snacks.nvim v2.24.0 Release

## Highlights

### Picker Enhancements

- New Pickers:
- scratch - Browse, grep, create and delete scratch files
- tags - Navigate ctags
- lsp_incoming_calls / lsp_outgoing_calls - Call hierarchy navigation

- Git Improvements:
- git_diff now supports base option for merge-base comparisons (great for viewing PR/branch changes)
- git_log now has live search with grep (-S)
- git_restore action for git_status picker
- Author filtering for git logs
- Better delta integration via diff previewer
- Configurable extra git args for all git sources

- Enhanced Features:
- Regex toggling for grep (toggle_regex action)
- Exact match highlighting in grep results
- Flexible filename formatting
- Enhanced resume with multi-state support
- Better LSP symbols with keep_parents option
- Customizable projects max depth
- Improved session manager support (AutoSession)
- <c-g> mapped to print file path/cwd
- Better vim.ui.select integration

### Image Rendering

- New Features:
- ICNS format support
- Base64 encoded images in URLs
- PDF page-specific rendering
- Snacks.image.clear() function

- Bug Fixes:
- Better terminal detection
- Render fallback improvements for editor-relative positioning
- ENOENT handling in preview
- Hover close behavior in insert mode
- Markdown inline link queries
- LaTeX package parsing (skip comments and body)

### Window Layout

- Support for vim.o.winborder - all Snacks windows now respect this setting
- Static layouts now shrink to fit contents
- Configurable split window stacking
- Better layout configuration hooks
- Improved window allocation (at least 1 cell per widget)
- Width/height can now be functions

### Dashboard

- Optional filter function for projects
- Better recent files filtering with cwd option
- Improved terminal widget handling
- AutoSession command updates
- Better showtabline/laststatus restoration
- Improved cursor positioning

### Git Features

- Configurable extra git args for all git sources
- Better submodule support (always check parents for git root)
- Proper diff prefix handling (diff.noprefix=false)
- GitBrowse: Fixed GitLab URLs and commit options

### Explorer

- Improved file system watching (better handling of systems without filename events)
- Better mounted directory detection
- Git deletion handling for non-existent parent dirs
- Reset main when entering another window

### Other Notable Changes

- Terminal: UX improvements, better window validation, fixed position='current'
- Toggle: Customizable notifications via function
- Input: Custom highlight function support, better z-index handling
- Indent: Window-aware filter functions, better validation
- Bigfile: Disable mini-hipatterns integration, Windows support
- Lazygit: Extensible user args, better config file handling
- Notifier: Minimal style padding fixes, keep filtered notifications in history
- Scratch: Better branch handling, icon fixes
- Scroll: Don't animate 1-line scrolls, better buffer change detection
- Bufdelete: Try alternate buffer first

## Bug Fixes

This release includes 80+ bug fixes across all modules, with particular focus on:

- Picker: 30+ fi
xes including LSP request handling, preview scrolling, qflist items, marks buffer checking, and many more
- Image: Terminal detection, rendering fallbacks, hover behavior
- Dashboard: File filtering, cursor positioning, recent files display
- Explorer: File watching, mounted directories
- Git: Submodule handling, diff formatting
- Layout: Window allocation, dimension calculations
- Terminal: Buffer handling, split stacking
- Input: z-index issues
- Scroll: Animation edge cases

## Stats

- 50+ new features
- 80+ bug fixes
- Closes 60+ issues

For the complete changelog, see <https://github.com/folke/snacks.nvim/blob/main/CHANGELOG.md>


https://redd.it/1oe1qlr

@r_neovim
I fixed zig diagnostics
(Discussion)

I was disappointed by inability of zls to report compile errors. No blame, the project is young and independant.

I don't know if it's the same case for the other compiled languages, but for young once like odin/c3 might be the same.

So I did compile watch in neovim terminal and read the error report, then put them to quickfix/diagnostics list.

By analogy you may create a plugin for another editor.

Appreciate feedback if I did a total dumbness.

https://github.com/dennypenta/home/blob/e9cef97ac752e233d293cfefdb6fdcea7004ae97/.config/nvim/lua/plugins/compile.lua#L295

https://redd.it/1odxnv0

@r_neovim
filler-begone.nvim - Prevent scrolling beyond buffer content
(Plugin)

Prevents neovim from scrolling past the bottom of the buffer and showing unnecessary :h filler-lines. While debugging a blink.cmp issue, I discovered that the solution would be generic to all buffers, so I broke it out into an independent plugin. Plugin initializes itself automatically, just add it to your package manager.

It's great for standard buffers, but especially useful for floating buffers (lists, git, completion menu, documentation, etc) where filler lines don't make any sense.

Special thanks to zeertzjq, justinmk, seandewar, and echasnovski for their help!

Note: When using vim._extui, set vim.o.showcmd = false to prevent an issue with forced redrawing causing flickering. Thanks stefanboca for debugging this!

https://github.com/Saghen/filler-begone.nvim

:h filler-lines:

> The lines after the last buffer line in a window are called filler lines. By
default, these lines start with a tilde (~) character. The "eob" item in the
'fillchars' option can be used to change this character. By default, these
characters are highlighted as NonText (|hl-NonText|). The EndOfBuffer
highlight group (|hl-EndOfBuffer|) can be used to change the highlighting of
the filler characters.


https://redd.it/1oeax19

@r_neovim
Install vim.pack plugins headless-ly?
(Need Help┃Solved)

I'm using 0.12 with vim.pack as "plugin manager", and every time I add my config to a docker image, I always have to press "Y" for "yes" or "A" for "always", to install all the plugins at startup. Is there any way to install all plugins non-interactively, something like "nvim --headless --installall" or something?

I could just clone all the repos manually and pit them in the correct directory, but I'd prefer it if it was more dynamic than that, such that it installs any new plugins I add to my config.

Another thing is to pipe "Y" to nvim, but I won't know how many would be needed if I want to keep it dynamic like stated above.

https://redd.it/1odx30r

@r_neovim
😁1
Repeat last forward/backward target command
(Need Help)

If I'm using a plugin like Mini.Bracketed, how do I repeat the last command done to continue to the next target? For example, if I do ]d to go to the next diagnostic, is there a shortcut to repeat that same command?

https://redd.it/1oeenf2

@r_neovim
How to prevent spellchecker flagging nerd-fonts icons like "" as misspelled ?
(Need Help)

I just realised that only nerd font icons had red underlines using oil for example.

I supposed I could add them to my spell-file I guess?

https://redd.it/1oeyvbr

@r_neovim
Has anyone gotten the biome lsp setup with the v0.11 way (without lspconfig)
(Need Help)

Was able to setup every other lsp except biome. Would really appreciate any help

https://redd.it/1of6lzt

@r_neovim
Suppressing Certain Errors Globally in Neovim
(Need Help)

Does anyone know how to suppress certain errors completely?

I'm not trying to use :silent for specific commands, rather, there are certain errors that really don't care about, such as Mark has invalid line number and such that frequently pop up when I've removed files, similar issues occur with plugins that do Git history for me when files are removed. It'd be nicer for me to just filter those messages out completely as they don't really help me at all and just interrupt my workflows.

https://redd.it/1oeylgr

@r_neovim
How to set custom keymappings with mason-lspconfig and Lazy.
(Need Help)

I'm pretty new to neovim and I'm using the lazy package manager to try to set up LSP support with nvim-lspconfig, Mason, and Mason-lspconfig. My current lsp.lua file looks like this.
return {
{
"neovim/nvim-lspconfig",

},
{
"mason-org/mason.nvim",
opts = {}
},

{
"mason-org/mason-lspconfig.nvim",
opts = {},
dependencies = {"mason-org/mason.nvim","neovim/nvim-lspconfig",},
}
}


I was wondering where to put keymappings that look like this.
vim.keymap.set("n", "gd", vim.lsp.buf.definition()) vim.keymap.set("n", "K", vim.lsp.buf.hover()) vim.keymap.set("n", "<leader>sd", vim.diagnostic.open_float()) vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename())

https://redd.it/1oer8vx

@r_neovim
synth.nvim - colorscheme

https://redd.it/1of6dvt

@r_neovim
Prasiodark - the colorscheme I've been running for the past 6 months

https://redd.it/1oez9xh

@r_neovim
Maple Dark: A carefully crafted color scheme with medium brightness and low saturation

https://redd.it/1ofnoab

@r_neovim
Implementing your own VSCode-style LSP breadcrumbs (not a plugin)
(Video)

I've been using dropbar.nvim for a while now. It's great! But I found that I wasn't using it to the full-extent of the features it offers. All I really wanted was the breadcrumbs, not the interactivity.

I am on a mission to cut down on my plugin needs. Plugins are great but most of them come with features that you don't fully use. If you can implement them on your own, not only can you tailor it to your particular use-case, but you can also appreciate the tool you are using. Lua is easy. And Neovim is insanely extensible. Just recently, I implemented Eldoc-style hover-documentation in Neovim.

So today I decided to dive into the docs again and created my own, simple, LSP breadcrumbs. Just to get the functionality working it took me \~100LOC. You can supplement it with aesthetics as you require. To get started, you can yoink this code, drop it into your config's init.lua (or in your lua/ directory and require(...) it in your init.lua), and voila!

Below is the video of how my implementation compares against dropbar.nvim:

dropbar.nvim in tab 2 and my implementation in tab 3



https://redd.it/1ofp9ia

@r_neovim
🩺 tiny-inline-diagnostic.nvim: major refactoring, related diagnostics, and more! (repost)

https://redd.it/1ofvp4x

@r_neovim
Better command-line window
(Discussion)

So I saw the post about the plugin-less breadcrumbs, I copied the code and wanted to experiment with it

for instance I wanted to see what this snippet does
    vim.lsp.buf_request(
bufnr,
'textDocument/documentSymbol',
params,
lsp_callback
)


but typing :lua print(<paste snippet>) is very cumbersome and even more cumbersome if I wanted to make changes to the snippet. I want something like the command window (see :h command-line-window) but more powerfull aka a neovim/lua repl. so it would let you paste and run multiline lua snippets

https://redd.it/1og001f

@r_neovim
Mom, can I have harpoon? We have harpoon at home

https://redd.it/1og2pg9

@r_neovim
2025/10/26 02:09:54
Back to Top
HTML Embed Code: