Command Execution

You can execute shell and jj commands directly from jjui.

Execute jj commands

Press : to run interactive jj commands. jjui will suspend, and the command will run directly in your terminal (e.g., : restore -i). You will return to jjui when the command finishes.

Execute shell commands

Press $ to run any shell command without leaving jjui. (e.g., $ man jj or $ htop)

Context-aware placeholders

Both command types support context-aware placeholders that are replaced with values from your current selection:

  • $file: The currently selected file
  • $change_id: The ID of the selected revision
  • $operation_id: The ID of the selected operation
  • $revset: The current revset query

These placeholders make it easy to create powerful commands that operate on your current selection.

History files

History for exec :, $ commands is stored in the $XDG_CACHE_HOME/jjui/history/ directory.

A separate history file is used for jj and shell commands exec_jj and exec_sh respectively. For simplicity, each line of history files represent an item.

If needed you can use the following to import your shell history and make it available on jjui's shell prompt:

mkdir -p ~/.cache/jjui/history
history >> ~/.cache/jjui/history/exec_sh