| Crates.io | blazingjj |
| lib.rs | blazingjj |
| version | 0.7.1 |
| created_at | 2026-01-13 20:51:01.733951+00 |
| updated_at | 2026-01-17 09:51:20.836077+00 |
| description | TUI for Jujutsu/jj |
| homepage | |
| repository | https://github.com/blazingjj/blazingjj |
| max_upload_size | |
| id | 2041199 |
| size | 1,262,315 |
ne/Edaprbf/ps/SEnterwxac, rename with r, delete with d, forget with ft, untrack bookmarks with Tn, edit change with e/E:?Make sure you have jj installed first.
cargo binstall: cargo binstall blazingjjcargo install: cargo install blazingjj --locked (may take a few moments to compile)To build and install a pre-release version: cargo install --git https://github.com/blazingjj/blazingjj.git --locked
You can optionally configure the following options through your jj config:
blazingjj.highlight-color: Changes the highlight color. Can use named colors. Defaults to #323264blazingjj.diff-format: Change the default diff format. Can be color-words or git. Defaults to color_words
blazingjj.diff-format is not set but ui.diff.format is, the latter will be usedblazingjj.diff-tool: Specify which diff tool to use by default
blazingjj.diff-tool is not set but ui.diff.tool is, the latter will be usedblazingjj.bookmark-template: Change the bookmark name template for generated bookmark names. Defaults to 'push-' ++ change_id.short()
blazingjj.bookmark-template is not set but templates.git_push_bookmark is, the latter will be usedblazingjj.layout: Changes the layout of the main and details panel. Can be horizontal (default) or verticalblazingjj.layout-percent: Changes the layout split of the main page. Should be number between 0 and 100. Defaults to 50Example: jj config set --user blazingjj.diff-format "color-words" (for storing in user config file, repo config is also supported)
To start blazingjj for the repository in the current directory: blazingjj
To use a different repository: blazingjj --path ~/path/to/repo
To start with a different default revset: blazingjj -r '::@'
See all key mappings for the current tab with ?.
q1/2/3 or with h/lj/k or down/up arrowJ/K or down/up arrowCtrl+e/Ctrl+yCtrl+d/Ctrl+uCtrl+f/Ctrl+b: (jj prefix not required, e.g. write new main instead of jj new main)@Enterr (jj log -r)wWn (jj new)
N (jj new -m)e (jj edit)
E (jj edit --ignore-immutable)a (jj abandon)d (jj describe)
Ctrl+sEscb (jj bookmark set)
j/kcgs (jj squash)
S (jj squash --ignore-immutable)f (jj git fetch)
F (jj git fetch --all-remotes)p (jj git push)
P (jj git push --all)Ctrl+p or Ctrl+P to include pushing new bookmarks (--allow-new)@wWa (jj bookmark list --all)c (jj bookmark create)r (jj bookmark rename)d (jj bookmark delete)f (jj bookmark forget)t (only works for bookmarks with remotes) (jj bookmark track)T (only works for bookmarks with remotes) (jj bookmark untrack)wWn (jj new)
N (jj new -m)e (jj edit)
E (jj edit --ignore-immutable)@WKeys can be configured
[blazingjj.keybinds.log_tab]
save = "ctrl+s"
See more in keybindings.md
cargo runcargo build --release (output in target/release)--path: cargo run -- --path ~/other-repoblazingjj has 2 debugging tools:
BLAZINGJJ_LOG=1 when running. Produces a blazingjj.log log fileBLAZINGJJ_TRACE=1 when running. Produces trace-*.json Chrome trace file, for chrome://tracing or ui.perfetto.devCreate a release commit using cargo
release, e.g. cargo release minor, then open a PR and after it has been merged, create a GitHub release
for that commit. The "Release" workflow will fill in the description from the
changelog, generate and attach the binaries and publish the new version to
crates.io. That's it.
Blazingjj is a fork of lazyjj, started by Charles Crete in 2023.