Skip to content

Releases: lmilojevicc/herdr-splits.nvim

v0.5.0 — nav_at_edge: stop at edges on both sides

Choose a tag to compare

@lmilojevicc lmilojevicc released this 11 Jul 12:52
65f8ce2

Stop at layout edges on both the Herdr and Neovim sides with a single conf-file switch.

Highlights

  • New nav_at_edge conf-file knob in ~/.config/herdr/plugins/config/herdr-splits/herdr-splits.conf controls wrap-across-boundary on BOTH the Herdr pane side and the Neovim edge-wrap side. wrap (default) or stop. One file, one switch.
    • Plain Herdr panes: with stop, navigating past the last pane halts instead of wrapping to the first (tmux-style); wrap preserves smart-splits-style wrap-around.
    • Neovim edge wrap: with at_edge='wrap' in Neovim, stop keeps the wrap inside Neovim (e.g. ctrl+l from the last split cycles to the first split) instead of crossing to the opposite Herdr pane; wrap (default) still crosses. at_edge='stop' halts regardless of nav_at_edge.
  • Backward compatible: with no nav_at_edge (or nav_at_edge=wrap), behaviour is unchanged.

Upgrade

  • Neovim side: update via lazy.nvim (:Lazy sync), or restart Neovim if loading from a local dir.
  • Herdr side: run herdr plugin install lmilojevicc/herdr-splits.nvim to refresh the Herdr-side scripts (or keep auto_sync_herdr = true).

v0.4.0 — zoom & wrap-around navigation

Choose a tag to compare

@lmilojevicc lmilojevicc released this 07 Jul 19:18

Seamless zoom and wrap-around navigation between Neovim splits and Herdr panes.

Highlights

  • Zoomed pane nav fixed & extended

    • Moving between plain Herdr panes while zoomed now unzooms then focuses the neighbour (previously the source pane stayed zoomed).
    • The unzoom runs only for plain Herdr panes — moving between Neovim splits no longer unzooms (fixes a regression from 0.3.0).
  • Wrap-around at layout edges (smart-splits style)

    • Past the last Herdr pane wraps to the first.
    • At both the Neovim and Herdr edge, the default wrap crosses to the Herdr pane on the opposite side when one exists (e.g. pane | nvim and pane | nvim win1 | win2 wrap ctrl+l back to the pane), falling back to the in-Neovim wrap otherwise. Works whether or not the pane is zoomed.
  • Wrap works from sidebars (dadbod-ui, neo-tree, quickfix, …)

    • Filetype-based sidebars can now wrap out at an edge instead of being trapped; only embedded floating overlays remain gated. split-at-edge and Herdr resize delegation are still skipped from sidebars.

Upgrade

  • Neovim side: update via lazy.nvim (:Lazy sync), or if you load from a local dir, just restart Neovim.
  • Herdr side: after updating, run herdr plugin install lmilojevicc/herdr-splits.nvim to refresh the Herdr-side scripts (or keep auto_sync_herdr = true).

v0.3.0 — sidebar classification, health checks, zoom-aware nav

Choose a tag to compare

@lmilojevicc lmilojevicc released this 11 Jul 11:47
5d28f80

Sidebar classification, health checks, and zoom-aware navigation.

Highlights

  • Refined ignored-filetype/buftype defaults — union-merged with your existing config (you keep what you pass; we append the new defaults).
  • New config fields:
    • floating_zindex_max (default 50) — threshold below which a float is classified as an embedded sidebar.
    • ignore_previewwindows (default false) — opt-in to also treat preview-window buffers as sidebars (covers dadbod's .dbout).
  • New runtime API: add_ignored_filetype(name) and add_ignored_buftype(name) (both de-duped).
  • New command: :checkhealth herdr-splits (Neovim ≥ 0.10).
  • Zoom-aware navigation: auto-unzooms when crossing from Neovim into a sibling Herdr pane (so the target pane is visible); does not unzoom when moving between Neovim splits. Controlled by the unzoom_on_nav conf-file knob (default: enabled) — set unzoom_on_nav=false in ~/.config/herdr/plugins/config/herdr-splits/herdr-splits.conf to disable.

Upgrade

  • Neovim side: update via lazy.nvim (:Lazy sync).
  • Herdr side: run herdr plugin install lmilojevicc/herdr-splits.nvim to refresh the Herdr-side scripts.