github idursun/jjui v0.9.9

one day ago

Release Notes

Another release with small improvements and bug fixes. Thanks to all contributors!

🎉 New Features

Custom Commands & Lua API Enhancements

  • Custom Commands with Sequence Keys (#420)

    • Added key_sequence property allowing custom commands to be invoked with multiple key presses in sequence
    • Added desc property for command descriptions
    • Introduced sequence overlay UI showing available key sequences when first key is pressed
    • Example: key_sequence = ["w", "b", "l"]
  • Lua API: Choose Method and UI (#427) (#442)

    • New choose() function for interactive selection prompts in Lua scripts
    • New input() function to prompt users for text input with customizable title and prompt
    • New split_lines() function for text processing
  • Lua API: Await on Operation Results (#422)

    • start_inline_describe() now returns boolean indicating if operation was applied or cancelled
    • Enables conditional command execution based on user actions
    • Fixes #310
  • Lua API: Interactive Commands (commit 8b257263)

    • Added jj_interactive Lua function for interactive jj command execution

Navigation & UI Improvements

  • Ace Jump for Operations (#445)

    • Pressing 'f' in set_parents/duplicate/rebase/squash modes now triggers ace jump
    • After jump completes, returns to the original operation mode instead of normal mode
    • Closes #394
  • Preview Width Variable (#452)

    • Added $preview_width placeholder variable for preview commands
    • Exposes actual view width (in columns) to enable tools like delta to use --side-by-side correctly
    • Width updates dynamically when preview pane is resized
    • Similar to fzf's $FZF_PREVIEW_COLUMNS
  • Configurable Flash Message Display Time (#456)

    • New config key: ui.flash_message_display_seconds (default: 4)
    • Special value 0 means messages display until manually dismissed
    • Fixes #455
  • Page Up/Down Key Configuration (#437)

    • ScrollUp/Down keys now registered in config instead of hardcoded
    • Keys exposed to configuration for customization
    • Fixes #360

SSH & Authentication

  • SSH Askpass Support (#423)
    • New [ssh] hijack_askpass setting to prompt for SSH passphrases/PINs within jjui
    • Works on Linux and macOS
    • Properly handles prompt overriding and cancellation
    • Fixes #100

🐛 Bug Fixes

  • Exec Command History (#458)

    • Fixed issue where selected command history wasn't applied in exec mode
    • Input value now properly updated when selecting from fuzzy/regex suggestions
    • Selected commands correctly saved to history
  • Menu Pagination Display (#446)

    • Fixed incorrect %d/%d pagination display
    • Height now calculated before pagination render
    • Added tab/shift+tab to short help menu
    • Fixes #444
  • Flash Message Width (#432)

    • Added maxWidth (50% of screen) to flash message rendering
    • Messages now properly line-wrap instead of extending beyond window width
  • Operation Log Refresh (#431)

    • Operation log now returns Refresh and SelectionChanged messages upon closing
    • Fixes #430
  • Custom Commands List Sorting (commit 3fa9783a)

    • Fixed custom commands list to use stable sort
    • Fixes #424
  • JJ Error Pass-through (#421)

    • jjui now properly passes through stderr from jj commands
    • Error messages are more informative and show actual jj errors
  • Navigation Message Display (commit 94a4a874)

    • Navigation messages now only shown for paged scrolls

What's Changed

  • main: pass through jj error by @baggiiiie in #421
  • feat(lua): add ability to await on operation results (cancelled/applied) by @idursun in #422
  • oplog: return Refresh and SelectionChanged upon oplog closing by @baggiiiie in #431
  • feat(nix): add comprehensive nix flake by @doprz in #426
  • Add option to hijack SSH Askpass to prompt for passphrase/pin by @oliverpool in #423
  • feat(lua): add choose method and ui by @idursun in #427
  • flash: add maxWidth to flash msg rendering by @baggiiiie in #432
  • keys: add pageup/down to keys config by @baggiiiie in #437
  • chore(github): Add Adda0 as an automatic reviewer for Nix-related changes by @Adda0 in #440
  • feat: add .editorconfig by @doprz in #434
  • Add input and log to custom_commands API by @ArnaudBger in #442
  • oplog,list: refactor scrolling with Scrollable/StreamableList interface by @baggiiiie in #429
  • menu: calculate height before pagination render by @baggiiiie in #446
  • operations: enable ace jump for set_parents/duplicate/rebase/squash by @baggiiiie in #445
  • feat: make flash message display time configurable by @living180 in #456
  • feat: add $width variable for preview commands by @pablospe in #452
  • status: fix exec command history not applied by @baggiiiie in #458

New Contributors

Full Changelog: v0.9.8...v0.9.9

Don't miss a new jjui release

NewReleases is sending notifications on new releases.