You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
animfx.setup(config) registers effects declaratively — a table mapping
events to an effect or a list of them. Re-running replaces its own
registrations without affecting on() calls.
effects.range_flash highlights an arbitrary column-aware range, falling
back to the '[ / '] change marks; clamps out-of-range coordinates.
animfx.sources — curated, opt-in adapters that emit animfx events from
Neovim happenings. First source: on_yank() (emits "Yank" with the yanked
range). Combined with range_flash, this reimplements yank highlighting
through the registry (see examples/yank-highlight.lua).
effects.blink (flash a line on/off N times) and effects.virt_badge
(end-of-line virtual-text label that clears after a duration).
animfx.enable() / animfx.disable() / animfx.is_enabled() global switch.
Effects are also skipped during macro record/replay by default
(vim.g.animfx_animate_in_macros opts back in).
More sources: sources.on_diagnostic() (emits "Diagnostic" with { buf, count }) and sources.on_search() (wraps n/N, emits "Search"
with the landing position).
effects.shake — jitters a floating cue at the cursor (best-effort error
feedback; Neovim can't move a non-floating window).
sources.on_harpoon() — the motivating integration: emits "HarpoonAdd"
when a file is added to a harpoon list (v2), no-op if harpoon is absent.
See examples/harpoon-add.lua. Verified against real harpoon in the
integration suite.