github idursun/jjui v0.10.4

11 hours ago

A quick maintenance release with a few improvements and fixes.

Features

Absorb operation

Absorb is now an operation, similar to rebase, revert, duplicate, and other revision operations, instead of immediately running jj absorb with jj's default destination set.

Default absorb targets are preselected and shown with << into >>. Use space to toggle candidate targets, enter to apply, and esc to cancel. Leaving the target set unchanged keeps the previous plain absorb behaviour; changing the set constrains absorb to the selected targets.

(#634, #640)

Directory entries in fuzzy file search

Fuzzy file/path search now includes directory entries such as src/ and src/pkg/, not only leaf file paths. This makes it easier to filter or jump by directory in larger trees.

(#642)

Improvements

Better theme control for selected rows

Selected-row styling is now theme-owned for revset completion, target picker, details lists, and menu shortcuts. Themes can customise selected sub-roles such as "revset completion selected matched", "revset completion selected text", "revset completion selected dimmed", "picker selected matched", and "picker selected text".

This fixes cases where "revset completion selected" changed the selected row background but not the selected foreground or bold styling. Default selected backgrounds for revset completion and target picker now also align with revision details.

(#637)

Consistent preview position toggle in details

shift+p now toggles the preview between side and bottom positions in the details view, matching the existing behaviour in revisions, evolog, and oplog views.

(#649)

Fixes

Lua revset actions outside the revset editor

Lua scripts can now dispatch revset actions such as revset.set(...) even when the revset editor is not open. This fixes custom revision-scoped Lua actions that update the current revset.

Stale file selection after closing details

Closing the details view now clears stale selected-file state, and restoring an existing details operation resynchronises file selection. This fixes cases where a later command error could make Esc behave incorrectly instead of dismissing the visible flash message.

(#643)

Bookmark names with special characters

Bookmark operations now match bookmark names exactly. This fixes deleting bookmarks whose names contain characters that jj would otherwise interpret as string pattern syntax, such as 1.3.63-+-json-length-fix.

(#632, #650)

What's Changed

  • feat(absorb): add target picker for jj absorb --into by @manusajith in #640
  • feat: include directories in path entries for fuzzy_files by @baggiiiie in #642
  • Remove unused struct fields, methods, and functions by @nikosavola in #648
  • fix(details): add shift+p binding for preview_toggle_bottom by @ansel1 in #649
  • fix(ui): unable to dismiss flash message after split command error by @baggiiiie in #643
  • fix(bookmarks): match bookmark names exactly by @baggiiiie in #650

New Contributors

Full Changelog: v0.10.3...v0.10.4

Don't miss a new jjui release

NewReleases is sending notifications on new releases.