Releases
v2.16.0
2.16.0 (2025-01-30)
Features
layout: added support for split layouts (root box can be a split) (6da592e )
layout: make fullscreen work for split layouts (115f8c6 )
picker.actions: added separate hl group for pick win current (9b80e44 )
picker.actions: separate edit_split etc in separate split and edit actions. Fixes #791 (3564f4f )
picker.config: added opts.config
which can be a function that can change the resolved options (b37f368 )
picker.explorer: added explorer_move
action mapped to m
(08b9083 )
picker.explorer: live search (db52796 )
picker.files: allow forcing the files finder to use a certain cmd (3e1dc30 )
picker.format: better path formatting for directories (08f3c32 )
picker.format: directory formatting (847509e )
picker.jump: added opts.jump.close
, which default to true, but is false for explorer (a9591ed )
picker.list: added support for setting a cursor/topline target for the next render. Target clears when reached, or when finders finishes. (da08379 )
picker: opts.focus = "input"|"list"|false
to configure what to focus (if anything) when showing the picker (5a8d798 )
picker: picker:iter()
now also returns idx
(118d908 )
picker: added edit_win
action bound to ctrl+enter
to pick a window and edit (2ba5be8 )
picker: added git_stash
picker. Closes #762 (bb3db11 )
picker: added notifications
picker. Closes #738 (32cffd2 )
picker: added support for split layouts to picker (sidebar and ivy_split) (5496c22 )
picker: added support to keep the picker open when focusing another window (auto_close = false) (ad8f166 )
picker: new file explorer Snacks.picker.explorer()
(00613bd )
picker: opening a picker with the same source as an active picker, will close it instead (toggle) (b6cf033 )
picker: reworked toggles (flags). they're now configurable. Closes #770 (e16a6a4 )
rename: optional file
, on_rename
for Snacks.rename.rename_file()
(9d8c277 )
Bug Fixes
bigfile: check if buf still exists when applying syntax. Fixes #737 (08852ac )
bufdelete: ctrl-c throw error in fn.confirm
(#750 ) (3a3e795 )
bufdelete: invalid lua (b1f4f99 )
dashboard: better handling of closed dashboard win (6cb7fdf )
dashboard: don't override user configuration (#774 ) (5ff2ad3 )
dashboard: fix dasdhboard when opening in a new win. Closes #767 (d44b978 )
dashboard: prevent starting picker twice when no session manager. Fixes #783 (2f396b3 )
filter: insert path from filter.paths
into self.paths
(#761 ) (ac20c6f )
layout: better handling of resizing of split layouts (c8ce9e2 )
layout: better update check for split layouts (b50d697 )
layout: make sure split layouts are still visible when a float layout with backdrop opens (696d198 )
matcher.score: correct prev_class for transition bonusses when in a gap. Fixes #787 (b45d0e0 )
picker.actions: detect and report circular action references (0ffc003 )
picker.actions: proper cr check (6c9f866 )
picker.actions: stop pick_win when no target and only unhide when picker wasn't stopped (4a1d189 )
picker.actions: when only 1 win, pick_win
will select that automatically. Show warning when no windows. See #623 (ba5a70b )
picker.config: fix wrong opts.cwd = true
config. Closes #757 (ea44a2d )
picker.config: normalize opts.cwd
(69c013e )
picker.explorer: fix cwd for items (71070b7 )
picker.explorer: stop file follow when picker was closed (89fcb3b )
picker.explorer: when searching, go to first non internal node in the list (276497b )
picker.filter: proper cwd check. See #757 (e4ae9e3 )
picker.git: better stash pattern. Closes #775 (e960010 )
picker.git: default to git root for git_files
. Closes #751 (3cdebee )
picker.git: ignore autostash (2b15357 )
picker.git: show diff for staged files. Fixes #747 (e87f0ff )
picker.layout: fix list cursorline when layout updates (3f43026 )
picker.layout: make split layouts work in layout preview (215ae72 )
picker.lsp: remove symbol detail from search text. too noisy (92710df )
picker.multi: apply source filter settings for multi source pickers. See #761 (4e30ff0 )
picker.preview: don't enable numbers when minimal=true (04e2995 )
picker.preview: don't error on invalid start positions for regex. Fixes #784 (460b58b )
picker.preview: only show binary message when binary and no ft. Closes #729 (ea838e2 )
picker.resume: fix picker is nil (#772 ) (1a5a087 )
picker.score: scoring closer to fzf. See #787 (390f017 )
picker.select: allow configuring vim.ui.select
with the select
source. Closes #776 (d70af2d )
picker.util: proper cwd check for paths. Fixes #754 . See #757 (1069d78 )
picker: better handling of win Enter/Leave mostly for split layouts (046653a )
picker: don't destroy active pickers (only an issue when multiple pickers were open) (b479f10 )
picker: only do preview scrolling when preview is scrolling and removed default preview horizontal scrolling keymaps (a998c71 )
picker: show new notifications on top (0df7c0b )
picker: split edit_win in {"pick_win", "jump"}
(dcd3bc0 )
picker: stopinsert again (2250c57 )
win: don't destroy opts. Fixes #726 (473be03 )
win: error when enabling padding with listchars=""
(#786 ) (6effbcd )
Performance Improvements
picker.matcher: optimize matcher priorities and skip items that can't match for pattern subset (dfaa18d )
picker.recent: correct generator for old files (5f32414 )
picker.score: no need to track in_gap
status. redundant since we can depend on gap
instead (fdf4b0b )
You canβt perform that action at this time.