Skip to content

Releases: folke/snacks.nvim

v2.22.0

25 Feb 18:18
5eac729
Compare
Choose a tag to compare

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

20 Feb 10:41
51542bb
Compare
Choose a tag to compare

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 and opts.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 [, ] with d/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...
Read more

v2.20.0

08 Feb 16:36
76a5dcf
Compare
Choose a tag to compare

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

07 Feb 11:40
789f161
Compare
Choose a tag to compare

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 [, ] with d/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 to on_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 ([...
Read more

v2.18.0

03 Feb 08:34
43c8844
Compare
Choose a tag to compare

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 in git 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 ...
Read more

v2.17.0

30 Jan 23:08
bc39417
Compare
Choose a tag to compare

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

30 Jan 21:08
Compare
Choose a tag to compare

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 minim...
Read more

v2.15.0

23 Jan 22:59
95bfaf1
Compare
Choose a tag to compare

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 after git_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 for git_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...
Read more

v2.14.0

20 Jan 12:47
8d820a6
Compare
Choose a tag to compare

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 to true to support patterns like file:line:col or file:line. Closes #517. Closes #496. Closes #651 (5e00b0a)
  • picker: added args option for files and grep. 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

19 Jan 17:25
c0b11f8
Compare
Choose a tag to compare

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's type) and regex (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 and files. 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...
Read more