github idursun/jjui v0.9.10

7 hours ago

Release Notes

🆕 Features

Lua Scripting Enhancements

  • Lua Context Module (#465): Added context module to Lua scripting API, exposing methods for accessing selected item metadata and checked items:
    • context.change_id() - Get the change ID of selected revision or file
    • context.commit_id() - Get the commit ID of selected revision, file, or commit
    • context.file() - Get the file path of selected file
    • context.operation_id() - Get the operation ID of selected operation
    • context.checked_files() - Get array of checked file paths
    • context.checked_change_ids() - Get array of change IDs from checked items
    • context.checked_commit_ids() - Get array of commit IDs from checked items
  • Shell Execution in Lua (#471): Exposed exec_shell() function to Lua scripts, enabling interactive commands like opening files in external editors directly from jjui. This enables custom commands such as:
    [custom_commands.open_file]
    key = ["O"]
    lua = '''
    local file = context.file()
    if not file then
        flash("No file selected")
        return
    end
    exec_shell("vim " .. file)
    '''

✨ Improvements

  • Abandon Workflow: Removed confirmation dialog; users can now use Space to add/remove revisions from the abandon list

🐛 Bug Fixes

  • Preview Pane Scrolling (#472): Fixed broken Ctrl-U/Ctrl-D scrolling in the preview pane that was introduced by earlier input routing changes. Preview commands are now properly grouped and always handled.
  • Parser: Fixed handling of divergent change ID format
  • Bookmarks: Fixed tracking of new bookmarks (currently tracks all remotes)

🔧 Compatibility

  • Jujutsu 0.36.0 Support (#407): Updated commands to work with breaking changes in Jujutsu 0.36.0:
    • Changed --destination flag to --onto
    • Changed --edit flag to --editor
    • Removed deprecated --allow-new flag from git push commands
    • Updated keybinding from d to o for --onto flag in related modes

📝 Documentation

  • README Updates (#470):
    • Added missing op log revert item to help menu
    • Fixed redo documentation
    • Updated custom command examples

What's Changed

  • jj-update: fix commands to work with breaking changes in jj-0.36.0 by @baggiiiie in #407
  • refactor(abandon): remove confirmation dialog by @idursun in #462
  • fix(bookmarks): track new bookmarks by @idursun in #463
  • feat(lua): add context module by @idursun in #465
  • lua: expose exec_shell to lua script by @baggiiiie in #471
  • README improvements and help menu missing item by @baggiiiie in #470
  • ui,preview: fix preview pane ctrl-u/d scrolling by @baggiiiie in #472

Full Changelog: v0.9.9...v0.9.10

Don't miss a new jjui release

NewReleases is sending notifications on new releases.