Releases: folke/snacks.nvim
Releases Β· folke/snacks.nvim
v2.22.0
2.22.0 (2025-02-25)
Features
- image: allow disabling math rendering. Closes #1247 (1543a06)
- image: configurable templates for math expressions. Closes #1338 (e039139)
- image: removed
org
integration, since that is now handled by the org mode plugin directly. (956fe69) - picker.input: added some ctrl+r keymaps similar to cmdline. Closes #1420 (c864a7d)
- util: util method to check if ts lang is available on any Neovim version. See #1422 (e2cb9df)
Bug Fixes
- compat: fixup (ceabfc1)
- compat: properly detect async treesitter parsing (842605f)
- compat: vim.fs.normalize. Closes #1321 (2295cfc)
- dim: check that win is valid when animating dim. Closes #1342 (47e1440)
- image.placement: max width/height in cells is 297. Closes #1345 (5fa93cb)
- image.terminal: reset queue when timer runs (2b34c4d)
- image.terminal: write queued terminal output on main (1b63b18)
- picker.buffers: add
a
flag when buffer is visible in a window. See #1417 (91c3da0) - picker.recent: expand to full path before normalizing. Closes #1406 (cf47fa7)
- picker: allow overriding winhl of layout box wins. Closes #1424 (b0f983e)
- picker: disable regex for grep_word (#1363) (54298eb)
- picker: remove unused keymaps for mouse scrolling (33df54d)
- picker: update titles before showing. Closes #1337 (3ae9863)
- scope: use
rawequal
to check if scope impl is treesitter. Closes #1413 (4ce197b) - scroll: compat with Neovim 0.9.4 (4c52b7f)
- statuscolumn: right-align the current line number when relativenumber=true. Closes #1376 (dd15e3a)
- win: don't update title is relative win is invalid. Closes #1348 (a00c323)
- win: use correct keys for displaying help. Closes #1364 (b100c93)
- zen: always count cmdheight towards Zen bottom offset (#1402) (041bf1d)
Performance Improvements
- scope: use async treesitter parsing when available (e0f882e)
v2.21.0
2.21.0 (2025-02-20)
Features
- added new
image
snacks plugin for the kitty graphics protocol (4e4e630) - bigfile: configurable average line length (default = 1000). Useful for minified files. Closes #576. Closes #372 (7fa92a2)
- compat: added
svim
, a compatibility layer for Neovim. Closes #1321 (bc902f7) - debug: graduate proc debug to Snacks.debug.cmd (eced303)
- explorer:
opts.include
andopts.exclude
. Closes #1068 (ab1889c) - explorer: added
Snacks.explorer.reveal()
to reveal the current file in the tree. (b4cf6bb) - explorer: added copy/paste (yank/paste) for files. Closes #1195 (938aee4)
- explorer: added ctrl+f to grep in the item's directory (0454b21)
- explorer: added ctrl+t to open a terminal in the item's directory (81f9006)
- explorer: added diagnostics file/directory status (7f1b60d)
- explorer: added quick nav with
[
,]
withd/w/e
for diagnostics (d1d5585) - explorer: added support for live search (82c4a50)
- explorer: allow disabling untracked git status. Closes #983 (a3b083b)
- explorer: deal with existing buffers when renaming / deleting files. Closes #1315 (6614a2c)
- explorer: different hl group for broken links (1989921)
- explorer: disable fuzzy searches by default for explorer since it's too noisy and we can't sort on score due to tree view (b07788f)
- explorer: file watching that works on all platforms (8399465)
- explorer: focus on first file when searching in the explorer (1d4bea4)
- explorer: git index watcher (4c12475)
- explorer: show symlink target (dfa79e0)
- git_log: add author filter (#1091) (8c11661)
- gitbrowse: add support for git.sr.ht (#1297) (a3b47e5)
- gitbrowse: open permalinks to files. Fixes #320 (#438) (2a06e4c)
- image.doc: allow configuring the header for latex / typst inline in the document. Closes #1303 (bde3add)
- image.doc: allow setting
image.src
with#set!
. Closes #1276 (65f89e2) - image.doc: check for
image.ignore
in ts meta. See #1276 (29c777a) - image:
conceal
option for inline rendering (disabled by default) (684666f) - image:
Snacks.image.hover()
(5f466be) - image: add support for
svelte
(#1277) (54ab77c) - image: adde support for
Image
in jsx (95878ad) - image: added
opts.img_dirs
to configure the search path for resolving images. Closes #1222 (ad0b88d) - image: added
Snacks.image.doc.at_cursor()
. See #1108 (6348ccf) - image: added fallback image rendering for wezterm. Closes #1063 (9e6b1a6)
- image: added math rendering for typst. Closes #1260 (e225823)
- image: added proper support for tmux (b1a3b66)
- image: added support for
.image
tags in neorg (59bbe8d) - image: added support for
typst
. Closes #1235 (507c183) - image: added support for a bunch of aditional languages (a596f8a)
- image: added support for angle bracket urls. Closes #1209 (14a1f32)
- image: added support for math expressions in latex and markdown doc + images in latex. Closes #1223 (1bca71a)
- image: added support for mermaid diagrams in markdown (f8e7942)
- image: added support for remote image viewing. Closes #1156 (#1165) (a5748ea)
- image: added support for tsx, jsx, vue and angular (ab0ba5c)
- image: added support for wikilink style images. Closes #1210 (3fda272)
- image: allow customizing font size for math expressions (b052eb9)
- image: allow customizing the default magick args for vector images (2096fcd)
- image: allow forcing image rendering even when the terminal support detection fails (d17a6e4)
- image: apply image window options (73366fa)
- image: better detection of image capabilities of the terminal/mux environment (1795d4b)
- image: better error handling + option to disable error notifications (1adfd29)
- image: better health checks (d389c5d)
- image: check for
magick
in health check (1284835) - image: custom
src
resolve function (af21ea3) - image: enabled pdf previ...
v2.20.0
2.20.0 (2025-02-08)
Features
- picker.undo:
ctrl+y
to yank added lines,ctrl+shift+y
to yank deleted lines (3baf95d) - picker: added treesitter symbols picker (a6beb0f)
- terminal: added
Snacks.terminal.list()
. Closes #421. Closes #759 (73c4b62)
Bug Fixes
- explorer: change grep in item dir keymap to leader-/. Closes #1000 (9dfa276)
- layout: take winbar into account for split layouts. Closes #996 (e4e5040)
- picker.git: account for deleted files in git diff. Closes #1001 (e9e2e69)
- picker.git: handle git status renames. Closes #1003 (93ad23a)
- picker.lines: use original buf instead of current (which can be the picker on refresh) (7ccf9c9)
- picker.proc: don't close stdout on proc exit, since it might still contain buffered output. Closes #966 (3b7021e)
v2.19.0
2.19.0 (2025-02-07)
Features
- bigfile: configurable average line length (default = 1000). Useful for minified files. Closes #576. Closes #372 (7fa92a2)
- explorer: add hl groups for ignored / hidden files. Closes #887 (85e1b34)
- explorer: added ctrl+f to grep in the item's directory (0454b21)
- explorer: added ctrl+t to open a terminal in the item's directory (81f9006)
- explorer: added diagnostics file/directory status (7f1b60d)
- explorer: added quick nav with
[
,]
withd/w/e
for diagnostics (d1d5585) - explorer: added support for live search (82c4a50)
- explorer: allow disabling untracked git status. Closes #983 (a3b083b)
- explorer: different hl group for broken links (1989921)
- explorer: disable fuzzy searches by default for explorer since it's too noisy and we can't sort on score due to tree view (b07788f)
- explorer: file watcher when explorer is open (6936c14)
- explorer: file watching that works on all platforms (8399465)
- explorer: focus on first file when searching in the explorer (1d4bea4)
- explorer: git index watcher (4c12475)
- explorer: rewrite that no longer depends on
fd
for exploring (6149a7b) - explorer: show symlink target (dfa79e0)
- matcher: call on_match after setting score (23ce529)
- picker.git: add confirmation before deleting a git branch (#951) (337a3ae)
- picker.git: add create and delete branch to git_branches (#909) (8676c40)
- picker.lazy: don't use
grep
. Parse spec files manually. Closes #972 (0928007) - picker.lsp: use existing buffers for preview when opened (d4e6353)
- picker.matcher: internal
on_match
(47b3b69) - picker.preview: allow confguring
preview = {main = true, enabled = false}
(1839c65) - picker.undo: added ctrl+y to yank added lines from undo (811a24c)
- picker:
picker:dir()
to get the dir of the item (when a directory) or it's parent (when a file) (969608a) - picker: added
git_grep
picker. Closes #986 (2dc9016) - picker: allow configuring file icon width. Closes #981 (52c1086)
- picker: better checkhealth (b773368)
- picker: get filetype from modeline when needed. Closes #987 (5af04ab)
- picker: opts.on_close (6235f44)
- picker: pin picker as a split to left/bottom/top/right with
ctrl+z+(hjkl)
(27cba53) - rename: add
old
toon_rename
callback (455228e) - scope: allow injected languages to be parsed by treesitter (#823) (aba21dd)
- statuscolumn: added mouse click handler to open/close folds. Closes #968 (98a7b64)
- terminal: added
start_insert
(64129e4) - terminal: auto_close and auto_insert. Closes #965 (bb76cae)
Bug Fixes
- bigfile: check that passed path is the one from the buffer (8deea64)
- explorer.git: better git status watching (09349ec)
- explorer.git: dont reset cursor when git status is done updating (bc87992)
- explorer.git: vim.schedule git updates (3aad761)
- explorer.tree: fix linux (6f5399b)
- explorer.tree: symlink directories (e5f1e91)
- explorer.watch: pcall watcher, since it can give errors on windows (af96818)
- explorer: always refresh state when opening the picker since changes might have happened that were not monitored (c61114f)
- explorer: call original
on_close
. Closes #971 (a0bee9f) - explorer: check that picker is still open (50fa1be)
- explorer: clear cache after action. Fixes #890 (34097ff)
- explorer: clear selection after delete. Closes #898 (44733ea)
- explorer: disable follow for explorer search by default. No longer needed. Link directories may show as files then though, but that's not an issue. See #960 (b9a17d8)
- explorer: don't use --absolute-path option, since that resolves paths to realpath. See #901. See #905. See #904 (97570d2)
- explorer: dont focus first file when not searching (3fd437c)
- explorer: dont process git when picker closed (c255d9c)
- explorer: last status for indent guides taking hidden / ignored files into account (94bd2ef)
- explorer: strip cwd from search text for explorer items (38f392a)
- explorer: windows ([...
v2.18.0
2.18.0 (2025-02-03)
Features
- dashboard: play nice with file explorer netrw replacement (5420a64)
- explorer.git: added git_status_open. When false, then dont show recursive git status in open directories (8646ba4)
- explorer: added
]g
and[g
to jump between files mentioned ingit status
(263dfde) - explorer: added git status. Closes #817 (5cae48d)
- explorer: hide git status for open directories by default. it's mostly redundant (b40c0d4)
- explorer: keep expanded dir state. Closes #816 (31984e8)
- explorer: more keymaps and tree rework. See #837 (2ff3893)
- explorer: navigate with h/l to close/open directories. Closes #833 (4b29ddc)
- explorer: new
explorer
module with shortcut to start explorer picker and netrw replacement functionlity (670c673) - explorer: recursive copy and copying of selected items with
c
(2528fcb) - explorer: update on cwd change (8dea225)
- explorer: update status when saving a file that is currently visible (78d4116)
- picker.commands: do not autorun commands that require arguments (#879) (62d99ed)
- picker.frecency: added frecency support for directories (ce67fa9)
- picker.input: search syntax highlighting (4242f90)
- picker.lines: jump to first position of match. Closes #806 (ae897f3)
- picker.list: use regular CursorLine when picker window is not focused (8a570bb)
- picker.matcher: added opts.matcher.history_bonus that does fzf's scheme=history. Closes #882. Closes #872 (78c2853)
- picker.pickwin: optional win/buf filter. Closes #877 (5c5b40b)
- picker.projects: added
<c-t>
to open a new tab page with the projects picker (ced377a) - picker.projects: allow disabling projects from recent files (c2dedb6)
- picker.projects: default to tcd instead of cd (3d2a075)
- picker.projects: enabled frecency for projects picker (5a20565)
- picker.projects: projects now automatically processes dev folders and added a bunch of actions/keymaps. Closes #871 (6f8f0d3)
- picker.undo: better undo tree visualization. Closes #863 (44b8e38)
- picker.undo: make diff opts for undo configurable (d61fb45)
- picker: added support for double cliking and confirm (8b26bae)
- picker: automatically download sqlite3.dll on Windows when using frecency / history for the first time. (65907f7)
- picker: beter API to interact with active pickers. Closes #851 (6a83373)
- picker: better health checks. Fixes #855 (d245925)
- picker: history per source. Closes #843 (35295e0)
Bug Fixes
- dashboard: open pull requests with P instead of p in the github exmaple (b2815d7)
- dashboard: update on VimResized and WinResized (558b0ee)
- explorer: after search, cursor always jumped to top. Closes #827 (d17449e)
- explorer: always use
--follow
to make sure we see dir symlinks as dirs. Fixes #814 (151fd3d) - explorer: cwd is now changed automatically, so no need to update state. (5549d4e)
- explorer: don't disable netrw fully. Just the autocmd that loads a directory (836eb9a)
- explorer: don't try to show when closed. Fixes #836 (6921cd0)
- explorer: fix git status sorting (551d053)
- explorer: fixed hierarchical sorting. Closes #828 (fa32e20)
- explorer: keep global git status cache (a54a21a)
- explorer: remove sleep :) (efbc4a1)
- git: use os.getenv to get env var. Fixes #5504 (16d700e)
- layout: adjust zindex when needed when another layout is already open. Closes #826 (ab8af1b)
- layout: destroy in schedule. Fixes #861 (c955a8d)
- picker.actions: fix split/vsplit/tab. Closes #818 (ff02241)
- picker.actions: pass edit commands to jump. Closes #859 (df0e3e3)
- picker.actions: reworked split/vsplit/drop/tab cmds to better do what's intended. Closes #854 (2946875)
- picker.actions: tab -> tabnew. Closes #842 (d962d5f)
- picker.explorer: do LSP stuff on move (894ff74)
- picker.explorer: use cached git status (1ce435c)
- picker.format: extra slash in path (dad3e00)
- picker.format: use ...
v2.17.0
2.17.0 (2025-01-30)
Features
- picker.actions: allow selecting the visual selection with
<Tab>
(96c76c6) - picker.explorer: focus dir on confirm from search (605f745)
Bug Fixes
- git: basic support for git work trees (d76d9aa)
- picker.preview: properly refresh the preview after layout changes. Fixes #802 (47993f9)
- picker: add proper close (15a9411)
- picker: make jumping work again... (f40f338)
- picker: show help for input / list window with
?
. (87dab7e) - win: properly handle closing the last window. Fixes #793 (18de5bb)
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 tom
(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 returnsidx
(118d908) - picker: added
edit_win
action bound toctrl+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
forSnacks.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
intoself.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 minim...
v2.15.0
2.15.0 (2025-01-23)
Features
- debug: truncate inspect to 2000 lines max (570d219)
- input: input history. Closes #591 (80db91f)
- input: persistent history. Closes #591 (0ed68bd)
- picker.debug: more info about potential leaks (8d9677f)
- picker.filter: Filter arg for filter (5a4b684)
- picker.finder: optional transform function (5e69fb8)
- picker.format:
filename_only
option (0396bdf) - picker.git: git_log, git_log_file, git_log_line now do git_checkout as confirm. Closes #722 (e6fb538)
- picker.help: add more color to help tags (5778234)
- picker.keymaps: add global + buffer toggles (#705) (b7c08df)
- picker.keymaps: improvements to keymaps picker (2762c37)
- picker.matcher: frecency and cwd bonus can now be enabled on any picker (7b85dfc)
- picker.multi: multi now also merges keymaps (8b2c78a)
- picker.preview: better positioning of preview location (3864955)
- picker.preview: fallback highlight of results when no
end_pos
. Mostly useful for grep. (d12e454) - picker.smart: add bufdelete actions from buffers picker (#679) (67fbab1)
- picker.smart: re-implemented smart as multi-source picker (450d1d4)
- picker.util: smart path truncate. Defaults to 40. Closes #708 (bab8243)
- picker: added
lazy
source to search for a plugin spec. Closes #680 (d03bd00) - picker: added
opts.rtp
(bool) to find/grep over files in the rtp. See #680 (9d5d3bd) - picker: added new
icons
picker for nerd fonts and emoji. Closes #703 (97898e9) - picker: getters and setters for cwd (2c2ff4c)
- picker: multi source picker. Combine multiple pickers (as opposed to just finders) in one picker (9434986)
- picker: persistent history. Closes #528 (ea665eb)
- picker: preview window horizontal scrolling (#686) (bc47e0b)
- picker: syntax highlighting for command and search history (efb6d1f)
- profiler: added support for
Snacks.profiler
and dropped support for fzf-lua / telescope. Closes #695 (ada83de)
Bug Fixes
- picker.actions:
checktime
aftergit_checkout
(b86d90e) - picker.async: better handling of abort and schedule/defer util function (dfcf27e)
- picker.async: fixed aborting a coroutine from the coroutine itself. See #665 (c1e2c61)
- picker.files: include symlinks (dc9c6fb)
- picker.frecency: track visit on BufWinEnter instead of BufReadPost and exclude floating windows (024a448)
- picker.git_branches: handle detached HEAD (#671) (390f687)
- picker.git:
--follow
only works forgit_log_file
. Closes #666 (23a8668) - picker.git: parse all detached states. See #671 (2cac667)
- picker.grep: off-by-one for grep results col (e3455ef)
- picker.icons: bump build for nerd fonts (ba108e2)
- picker.icons: fix typo in Nerd Fonts and display the full category name (#716) (a4b0a85)
- picker.icons: opts.icons -> opts.icon_sources. Fixes #715 (9e7bfc0)
- picker.input: better handling of
stopinsert
with prompt buffers. Closes #723 (c2916cb) - picker.input: correct cursor position in input when cycling / focus. Fixes #688 (93cca7a)
- picker.lsp: include_current on Windows. Closes #678 (66d2854)
- picker.lsp: make
lsp_symbols
work for unloaded buffers (9db49b7) - picker.lsp: schedule_wrap cancel functions and resume when no clients (6cbca8a)
- picker.lsp: use async from ctx (b878caa)
- picker.lsp: use correct buf/win (8006caa)
- picker.preview: clear buftype for file previews (5429dff)
- picker.undo: use new API. Closes #707 (79a6eab)
- picker.util: for
--
args require a space before (ee6f21b) - picker.util: more relaxed resolve_loc (964beb1)
- picker.util: prevent empty shortened paths if it's the cwd. Fixes #721 (14f16ce)
- picker: better handling of buffers with custom URIs. Fixes #677 (cd5eddb)
- picker: don't jump to invalid positions. Fixes #712 (51adb67)
- picker: don't try showing the preview when the pick...
v2.14.0
2.14.0 (2025-01-20)
Features
- picker.buffer: add filetype to bufname for buffers without name (83baea0)
- picker.debug: debug option to detect garbage collection leaks (b59f4ff)
- picker.matcher: new
opts.matcher.file_pos
which defaults totrue
to support patterns likefile:line:col
orfile:line
. Closes #517. Closes #496. Closes #651 (5e00b0a) - picker: added
args
option forfiles
andgrep
. Closes #621 (781b6f6) - picker: added
undo
picker to navigate the undo tree. Closes #638 (5c45f1c) - picker: added support for item.resolve that gets called if needed during list rendering / preview (b0d3266)
- terminal: allow overriding default shell. Closes #450 (3146fd1)
- terminal: close terminals on
ExitPre
. Fixes #419 (2abf208)
Bug Fixes
- dashboard: added optional filter for recent files (32cd343)
- debug.run: schedule only nvim_buf_set_extmark in on_print (#425) (81572b5)
- indent: use correct hl based on indent. Fixes #422 (627af73)
- input: put the cursor right after the default prompt (#549) (f904481)
- notifier: added
SnacksNotifierMinimal
. Closes #410 (daa575e) - notifier: win:close instead of win:hide (f29f7a4)
- picker.buffers: add buf number to text (70106a7)
- picker.buffer: unselect on delete. Fixes #653 (0ac5605)
- picker.grep: correctly insert args from pattern. See #601 (8601a8c)
- picker.grep: debug (f0d51ce)
- picker.lsp.symbols: only include filename for search with workspace symbols (eb0e5b7)
- picker.lsp: backward compat with Neovim 0.95 (3df2408)
- picker.lsp: lazy resolve item lsp locations. Fixes #650 (d0a0046)
- picker.preview: disable relativenumber by default. Closes #664 (384b9a7)
- picker.preview: off-by-one for cmd output (da5556a)
- picker.preview: reset before notify (e50f2e3)
- picker.undo: disable number and signcolumn in preview (40cea79)
- picker.util: item.resolve for nil item (2ff21b4)
- picker.util: relax pattern for args (6b7705c)
- scope: parse treesitter injections. Closes #430 (985ada3)
- statusline: fix status line cache key (#656) (af55934)
- win: always close created scratch buffers when win closes (abd7e61)
- zen: properly handle close (920a9d2)
- zen: sync cursor with parent window (#547) (ba45c28), closes #539
Performance Improvements
- picker: fixed some issues with closed pickers not always being garbage collected (eebf44a)
v2.13.0
2.13.0 (2025-01-19)
Features
- picker.actions: added support for action options. Fixes #598 (8035398)
- picker.buffers: del buffer with ctrl+x (2479ff7)
- picker.buffers: delete buffers with dd (2ab18a0)
- picker.commands: added builtin commands. Fixes #634 (ee988fa)
- picker.frecency: cleanup old entries from sqlite3 database (320a4a6)
- picker.git: added
git_diff
picker for diff hunks (#519) (cc69043) - picker.git: git diff/show can now use native or neovim for preview. defaults to neovim. Closes #500. Closes #494. Closes #491. Closes #478 (e36e6af)
- picker.git: stage/unstage files in git status with
<tab>
key (0892db4) - picker.grep: added
ft
(rg'stype
) andregex
(rg's--fixed-strings
) options (0437cfd) - picker.list: added debug option to show scores (821e231)
- picker.list: added select_all action mapped to ctrl+a (c9e2695)
- picker.list: better way of highlighting field patterns (924a988)
- picker.list: make
conceallevel
configurable. Fixes #635 (d88eab6) - picker.lsp: added
lsp_workspace_symbols
. Supports live search. Closes #473 (348307a) - picker.matcher: added opts.matcher.sort_empty and opts.matcher.filename_bonus (ed91078)
- picker.matcher: better scoring algorithm based on fzf. Closes #512. Fixes #513 (e4e2e88)
- picker.matcher: integrate custom item scores (7267e24)
- picker.matcher: moved length tiebreak to sorter instead (d5ccb30)
- picker.recent: include open files in recent files. Closes #487 (96ffaba)
- picker.score: prioritize matches in filenames (5cf5ec1)
- picker.smart: better frecency bonus (74feefc)
- picker.sort: default sorter can now sort by len of a field (6ae87d9)
- picker.sources: lines just sorts by score/idx. Smart sorts on empty (be42182)
- picker: add qflist_all action to send all even when already sel⦠(#600) (c7354d8)
- picker: add some source aliases like the Telescope / FzfLua names (5a83a8e)
- picker: added
{preview}
and{flags}
title placeholders. Closes #557, Closes #540 (2e70b7f) - picker: added
git_branches
picker. Closes #614 (8563dfc) - picker: added
inspect
action mapped to<c-i>
. Useful to see what search fields are available on an item. (2ba165b) - picker: added
smart
picker (772f3e9) - picker: added exclude option for files and grep. Closes #581 (192fb31)
- picker: added jump options jumplist(true for all), reuse_win & tagstack (true for lsp). Closes #589. Closes #568 (84c3738)
- picker: added preliminary support for combining finder results. More info coming soon (000db17)
- picker: added spelling picker. Closes #625 (b170ced)
- picker: added support for live args for
grep
andfiles
. Closes #601 (50f3c3e) - picker: added toggle/flag/action for
follow
. Closes #633 (aa53f6c) - picker: allow disabling file icons (76fbf9e)
- picker: allow setting a custom
opts.title
. Fixes #620 (6001fb2) - picker: custom icon for unselected entries (#588) (6402687)
- picker: restore cursor / topline on resume (ca54948)
- pickers.format: added
opts.picker.formatters.file.filename_first
(98562ae) - picker: use an sqlite3 database for frecency data when available (c43969d)
- scroll: faster animations for scroll repeats after delay. (replaces spamming handling) (d494a9e)
- snacks: added
snacks.picker
(#445) (559d6c6) - toggle: allow toggling global options. Fixes #534 (b50effc)
- win: warn on duplicate keymaps that differ in case. See #554 (a71b7c0)
Bug Fixes
- animate: never animate stopped animations (197b0a9)
- bigfile: check existence of NoMatchParen before executing (#561) (9b8f57b)
- config: better vim.tbl_deep_extend that prevents issues with list-like tables. Fixes #554 (75eb16f)
- config: dont exclude metatables (2d4a0b5)
- grep: explicitely set
--no-hidden
because of the git filter (ae2de9a) - indent: dont redraw when list/shiftwidth/listchars change. Triggered way too o...