github folke/snacks.nvim v2.8.0

latest releases: stable, v2.22.0, v2.21.0...
4 months ago

2.8.0 (2024-12-11)

Features

  • animate: added animate plugin (971229e)
  • animate: added animation context to callbacks (1091280)
  • dim: added dim plugin (4dda551)
  • indent: added indent plugin (2c4021c)
  • indent: allow disabling indent guides. See #230 (4a4ad63)
  • indent: allow disabling scope highlighting (99207ee)
  • indent: optional rendering of scopes as chunks. Closes #230 (109a0d2)
  • input: added input snack (70902ee)
  • profiler: on_close can now be a function (48a5879)
  • scope: added scope plugin (63a279c)
  • scope: fill the range for treesitter scopes (38ed01b)
  • scope: text objects and jumping for scopes. Closes #231 (8faafb3)
  • scroll: added smooth scrolling plugin (38a5ccc)
  • scroll: allow disabling scroll globally or for some buffers (04f15c1)
  • scroll: use on_key to track mouse scrolling (26c3e49)
  • scroll: user virtual columns while scrolling (fefa6fd)
  • snacks: zen mode (c509ea5)
  • toggle: add which-key mappings when which-key loads (c9f494b)
  • toggle: add zen mode toggle (#243) (9454ba3)
  • toggle: added toggle for smooth scroll (aeec09c)
  • toggle: toggles for new plugins (bddae83)
  • util: added Snacks.util.on_module to execute a callback when a module loads (or immediately when already loaded) (f540b7b)
  • util: set_hl no longer sets default=true when not specified (d6309c6)
  • win: added actions to easily combine actions in keymaps (46362a5)
  • win: allow configuring initial text to display in the buffer (003ea8d)
  • win: allow customizing backdrop window (cdb495c)
  • win: col/row can be negative calculated on height/end of parent (bd49d2f)
  • words: added toggle for words (bd7cf03)
  • zen: zz when entering zen mode (b5cb90f)
  • zen: added zen plugin (afb89ea)
  • zen: added zoom indicator (8459e2a)

Bug Fixes

  • compat: fixes for Neovim < 0.10 (33fbb30)
  • dashboard: add filetype to terminal sections (#215) (9c68a54)
  • dashboard: don't open with startup option args (#222) (6b78172)
  • dashboard: override foldmethod (47ad2a7)
  • debug: schedule wrap print (3a107af)
  • dim: check if win still exist when animating. Closes #259 (69018d0)
  • health: health checks (72eba84)
  • indent: always align indents with shiftwidth (1de6c15)
  • indent: always render underline regardless of leftcol (4e96e69)
  • indent: always use scope hl to render underlines. Fixes #234 (8723945)
  • indent: better way of dealing with indents on blank lines. See #246 (c129683)
  • indent: expand scopes to inlude end_pos based on the end_pos scope. See #231 (897f801)
  • indent: gradually increase scope when identical to visual selection for text objects (bc7f96b)
  • indent: properly deal with empty lines when highlighting scopes. Fixes #246. Fixes #245 (d04cf1d)
  • indent: set max_size=1 for textobjects and jumps by default. See #231 (5f217bc)
  • indent: set shiftwidth to tabstop when 0 (782b6ee)
  • indent: underline. See #234 (51f9569)
  • indent: use correct config options (5352198)
  • init: enabled check (519a45b)
  • init: set input disabled by default. Fixes #227 (e9d0993)
  • input: health check. Fixes #239 (acf743f)
  • input: set current win before executing callback. Fixes #257 (c17c1b2)
  • input: set current win in vim.schedule so that it works properly from expr keymaps. Fixes #257 (8c2410c)
  • input: update window position in the context of the parent window to make sure position=cursor works as expected. Fixes #254 (6c27ff2)
  • input: various minor visual fixes (#252) (e01668c)
  • notifier: toggle show history. Fixes #197 (8b58b55)
  • scope: better edge detection for treesitter scopes (6b02a09)
  • scope: return nil when buffer is empty for indent scope (4aa378a)
  • scope: take edges into account for min_size (e2e6c86)
  • scope: typo for textobject (0324125)
  • scroll: better toggle (3dcaad8)
  • scroll: disable scroll by default for terminals (7b5a78a)
  • scroll: don't animate invalid windows (41ca13d)
  • scroll: don't bother setting cursor when scrolloff is larger than half of viewport. Fixes #240 (0ca9ca7)
  • scroll: move scrollbind check to M.check (7211ec0)
  • scroll: only animate the current window when scrollbind is active (c9880ce)
  • scroll: set cursor to correct position when target is reached. Fixes #236 (4209929)
  • scroll: use actual scrolling to perform the scroll to properly deal with folds etc. Fixes #236 (280a09e)
  • win: ensure win is set when relative=win (5d472b8)
  • words: incorrect enabled check. Fixes #247 (9c8f3d5)
  • zen: properly close existing zen window on toggle (14da56e)
  • zen: return after closing. Fixes #259 (b13eaf6)
  • zen: when Normal is transparent, show an opaque transparent backdrop. Fixes #235 (d93de7a)

Performance Improvements

  • animate: check for animation easing updates ouside the main loop and schedule an update when needed (03c0774)
  • input: lazy-load vim.ui.input (614df63)
  • util: redraw helpers (9fb88c6)

Don't miss a new snacks.nvim release

NewReleases is sending notifications on new releases.