Skip to content

v2.16.0

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Jan 21:08

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)