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
--fromtarget. - The next selected revision becomes the
--totarget. - The result is shown in jjui's built-in diff viewer.
xswaps thefromandtotargets.tselects the--totarget from bookmarks/tags.fselects the--fromtarget from bookmarks/tags.
- The initially selected revision becomes the
- Added Lua
change_workspacesupport for custom workspace switching (#689, #685).- This lets Lua actions switch the workspace path used by subsequent
jjcommands. - The API intentionally uses
change_workspacerather thanchange_dirto avoid implying full repository switching semantics.
- This lets Lua actions switch the workspace path used by subsequent
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_linescompletions.
- Improved absorb target selection (#695).
- Pressing
sduring 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.
- Pressing
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
\rfor in-place terminal updates. - Flash rendering now preserves the card border instead of letting command output overwrite it.
- This affects output from commands such as Git/SSH progress or error messages that use
- Removed the
ssh.hijack_askpasshint 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-eventsis enabled.
- This fixes losing preview reading position in tmux when
- Fixed bookmark behavior so
mmovesmain. - 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
- @msgongora made their first contribution in #689
Full Changelog: v0.10.6...v0.10.7