Releases
v2.28.0
Compare
Sorry, something went wrong.
No results found
2.28.0 (2025-11-01)
Features
gh: new gh (GitHub cli) integration (85b8ec2 )
image: when opts.conceal, conceal remainig lines that are not covered by the image. See #2391 (404027c )
picker.buffers: add filetype/buftype to search text (a249c86 )
picker.buffers: added buftype and filetype for scratch buffers (6a13271 )
picker.diff: moved git_diff finder to separate file so it can be re-used + made it more robust. Closes #2366 (3049ad8 )
picker.diff: native diff now also highlights the language of the diffed code in the diff (7260957 )
picker.git_diff: git_diff now also shows staged hunks and added stage/unstage/restore actions for hunks. Closes #2382 (1fb3f4d )
picker.git_diff: added staged flag (118648c )
picker.highlights: badges (202e595 )
picker.preview: allow items to define a title used in the preview window (4b572f4 )
picker.preview: support for images and render markdown (9585da6 )
picker.util: cmdline parser used to properly parse diff args (5025989 )
picker: better integration with markview and render-markdown when previewing (4708e9a )
scratch: store scratch info in meta files, instead of the filename + custom filekeys (85f8e22 )
util.spawn: Proc:json() (5589c9d )
util: Snacks.util.stop() to safely stop/close a luv handle (ce9e299 )
Bug Fixes
explorer.tree: only strip trasiling forward slashes if not at root. Closes #2375 (72dc621 )
explorer: differentiate if file or folder when deleting on Windows (#2373 ) (59c5545 )
explorer: do reveal in on_show if explorer is not open yet. Closes #2388 (ba529d4 )
explorer: schedule on_find (typically reveal), for both files finder and when git status updates the finder. Closes #2388 (a9b57b2 )
gh: add action idx to gh_actions text (d94184d )
image.inline: off-by-one for finding visible images at the last line of the buffer (04b3a54 )
image: avoid nested math environments (#2345 ) (66e3dc4 )
image: check for invalid buffer (9ad4178 )
image: check to update on BufWinEnter and attach to buffer changes (e18e4f6 )
image: don't add placements to concealed lines. Closes #2391 (13963b1 )
image: guard against invalid buffers. Closes #2383 (4bb1ce1 )
keymap docs (583a0c1 )
keymap: make sure opts are a table. Closes #2392 (367d1bd )
layout: only max zindex for snacks windows/layouts (8eddc0b )
picker.actions: drop and tabdrop should never reload existing buffers (#2368 ) (6cf2fee )
picker.actions: use buffer! instead of buffer for edit. Closes #2378 (2a1a001 )
picker.diff: better filename parsing. See #2366 (377f3bf )
picker.diff: first line of header (fb011c2 )
picker.diff: only process --- diffs directly if it doesn't start with a diff header (0a33aec )
picker.filter: get cwd from active tabpage if available (c1b517f )
picker.finder: mutate existing opts (c91e230 )
picker.finder: tmp fix for #2386 (5eea5f9 )
picker.git_branches: git log preview. Closes #2360 (597ebd4 )
picker.git_diff: remove --default-prefix, since that's no longer needed. See #2382 (40774ae )
picker.git_diff: set group=false by default, since we also have git_status (530e591 )
picker.highlights: modifiable for set_lines (98345fb )
picker.keymaps: try to locate neovim compiled lua source files for keymaps (76160be )
picker.lsp: fixed vim.str_byteindex capability check. Closes #2389 (46917d0 )
picker.lsp: some LSP servers notify completion before sending the actual result. See #2372 (aa8a318 )
picker.lsp: use LspRequest to track completed and cancelled requests. Fixes #2364 (8afb609 )
picker.preview: again. docgen seems broken (758bbfa )
picker.preview: don't show locations for diff preview (b064488 )
picker.preview: fckup (fd7795e )
picker.preview: fix (e2c1c52 )
picker.preview: show proper preview message for deleted scratch buffers (4ad8a41 )
picker.util: better relative time format (3e30fb6 )
picker.util: ignore errors from corrupted kv stores. Closes #2394 (b3d01c5 )
picker.watch: check again for closed picker after schedule. See #2365 (8ad80de )
picker: close picker when layout closes. Closes #2365 (779746f )
picker: dont watch files for closed pickers. Fixes #2365 (c4ec8b6 )
picker: increase default show_delay to 5s. Closes #2364 (b3197e3 )
picker: only trim space in the title if it's preceded by a word like character (skips icons) (2439c49 )
picker: pause input progress info for 60ms to prevent flickering when finder is too fast (ecde81f )
scratch: make sure zindex of scratch window is higher than existing floating windows (c8422da )
scroll: only reset count when needed (551d79f )
util.job: scroll to top when process exits (b544157 )
util.job: stop on BufWipeout and BufDelete (c956b37 )
util.job: stop when attached buffer is no longer valid (221d4b1 )
util.job: use nvim_win_set_cursor instead of gg (5faed2f )
util.lsp: Snacks.util.lsp.on() should trigger for each lsp client per buffer (52f30a1 )
util: color() should not create hl groups (17033e6 )
win: ignore errors on destroy. Closes #2381 (a8930bd )
win: scratch buffers were sometimes not deleted (0387297 )
win: when fixbuf triggers in a floating window, just close it. Closes #2380 (de35242 )
Performance Improvements
animate: smoother animations (b7a3fed )
notifier: stop trying to fit more notifs in the layout after skipping max 10 (3a8ecf5 )
picker.util: cache badge hl groups (cb85844 )
scroll: combine all scrolling commands in one command + restore vim.v.count (0fbea13 )
scroll: smoother scrolling using new animations (2221fe6 )
statuscolumn: only calculate components that are actually needed (bb80317 )
Reverts
You can’t perform that action at this time.