github idursun/jjui v0.10.7

5 hours ago

A release with a new diff range workflow, Lua workspace switching, revset completion improvements, and several UI polish fixes.

Features

  • Added a revisions diff range operation started with alt+d (#600).
    • The initially selected revision becomes the --from target.
    • The next selected revision becomes the --to target.
    • The result is shown in jjui's built-in diff viewer.
    • x swaps the from and to targets.
    • t selects the --to target from bookmarks/tags.
    • f selects the --from target from bookmarks/tags.
  • Added Lua change_workspace support for custom workspace switching (#689, #685).
    • This lets Lua actions switch the workspace path used by subsequent jj commands.
    • The API intentionally uses change_workspace rather than change_dir to avoid implying full repository switching semantics.

Improvements

  • Improved embedded model layout for details and evolog (#474).
    • Embedded views now push surrounding revision content up to claim the available space.
    • Opening details near the bottom of the list no longer leaves it constrained to a small remainder of the viewport.
  • Improved revset completion behavior (#703).
    • Revset history now appears before other completions instead of replacing function and alias completions after the first use.
    • Revset function arguments such as remote= are now completed.
    • Accepted function completions now keep showing the function signature.
    • Selected completion styling now paints the background across the text.
    • Added missing diff_lines completions.
  • Improved absorb target selection (#695).
    • Pressing s during absorb now selects descendants of the highlighted revision, which makes it easier to narrow the target set when many mutable commits are preselected.
    • Removed the << default >> marker from absorb UI.

Fixes

  • Fixed flash cards being corrupted by command output containing carriage returns (#698).
    • This affects output from commands such as Git/SSH progress or error messages that use \r for in-place terminal updates.
    • Flash rendering now preserves the card border instead of letting command output overwrite it.
  • Removed the ssh.hijack_askpass hint from unrelated command failures (#704, #693).
    • The hint was originally dimmed, then removed because it was still misleading for failures unrelated to SSH prompts.
  • Stopped showing flash messages for successful interactive commands, since they could stack up and become distracting.
  • Fixed preview refresh behavior so focus-triggered refreshes do not reset the diff scroll position unnecessarily (#688).
    • This fixes losing preview reading position in tmux when focus-events is enabled.
  • Fixed bookmark behavior so m moves main.
  • Fixed describe behavior so an empty message does not trigger a stash.
  • Fixed selected substyle/theme inheritance so selected substyles render correctly.

What's Changed

  • fix: set filesearch list half viewport height by @baggiiiie in #690
  • add change_workspace function to support workspace switching by @msgongora in #689
  • refactor(ui): introduce split container for preview rendering by @baggiiiie in #691
  • fix(flash): prevent command output from corrupting card borders by @baggiiiie in #698
  • Show revset history before completions by @baggiiiie in #703

New Contributors

Full Changelog: v0.10.6...v0.10.7

Don't miss a new jjui release

NewReleases is sending notifications on new releases.