Jujutsu UI

jjui is a terminal user interface for working with Jujutsu version control system. I have built it according to my own needs and will keep adding new features as I need them. I am open to feature requests and contributions.

Features

Core Features

  • Revisions: Main view for exploring and managing revisions
  • Preview: View diffs and details of commits and files
  • Details: Explore files in a commit, with diff, split, and restore capabilities
  • Oplog: View the operation log of your repository
  • Command Execution: Execute shell and jj commands directly from jjui
  • Custom Commands: Define your own commands with custom keybindings
  • Fuzzy File Finder: Fuzzy find on all files and explore changes on them.
  • Ace Jump: Quickly move between revisions using fast key strokes.
  • Exec: Run interactive jj and shell commands
  • Flash Messages: See command output and errors in the UI
  • Bookmarks: Manage bookmarks with a pop-up menu
  • Git: Run git commands from a pop-up menu

Revision Operations

  • Rebase: Interactive rebase of commits
  • Absorb: Automatically absorb changes into commits
  • Abandon: Remove commits from your history
  • Duplicate: Copy revisions with interactive UI
  • Squash: Squash multiple revisions into one
  • Evolog: Explore and restore changes from the evolution log
  • Inline Describe: Edit revision descriptions inline
  • Bookmark: Set or move bookmarks on revisions

Customization

  • Configuration: How to configure JJUI to your needs
  • Command Line Options: Customize behavior with command line flags
  • Leader Key: Create powerful mnemonic shortcuts with nested keymaps
  • Themes: Customize the appearance of the UI with detailed styling options
  • Tracing: Highlight lanes and dim out-of-lane revisions