xorcist-0.1.3 is not a library.
xorcist
A TUI client for jj (Jujutsu VCS).
Features
- Log View - Browse commit history with vim-like navigation
- Native Graph Display - jj's graph visualization with full ANSI color support
- Detail View - View commit metadata and diff summary
- Diff View - Browse changed files and view file-level diffs with syntax highlighting
- Conventional Commits - Automatic emoji formatting (
feat:→✨,fix:→🩹, etc.) - Incremental Loading - Load history on demand (default: 500 entries, auto-loads more as needed)
- Confirmation Dialogs - Safe destructive operations (abandon, squash, push, undo)
- Bookmark Management - Set bookmarks on any revision
- Rebase Support - Rebase revisions to any destination
- Git Integration - Fetch and push with jj's git backend
- Colocated Repository Support - Works with
.jj+.gitrepositories
Requirements
- Rust 1.88+ (Edition 2024)
- jj 0.20+ (with
shortest()template support)
Installation
From crates.io (recommended)
From source (GitHub)
From local source
Usage
# Navigate to a jj repository and run
# Options
xorcist automatically detects the jj repository root by walking up the directory tree. When scrolling near the end of the log, additional entries are loaded automatically.
Key Bindings
Navigation
| Key | Action |
|---|---|
j / ↓ |
Move down |
k / ↑ |
Move up |
g / Home |
Go to first entry |
G / End |
Go to last entry |
Ctrl+d / PageDown |
Scroll down (10 lines) |
Ctrl+u / PageUp |
Scroll up (10 lines) |
Actions
| Key | Action |
|---|---|
Enter |
Open detail view |
q / Esc |
Quit / Close view |
? |
Toggle help |
jj Commands
| Key | Command | Confirmation |
|---|---|---|
n |
jj new |
No |
N |
jj new -m (with message input) |
No |
e |
jj edit |
No |
d |
jj describe -m (message input) |
No |
b |
jj bookmark set (name input) |
No |
r |
jj rebase -d (destination input) |
No |
a |
jj abandon |
Yes |
s |
jj squash |
Yes |
f |
jj git fetch |
No |
p |
jj git push |
Yes |
u |
jj undo |
Yes |
Detail View
| Key | Action |
|---|---|
j / ↓ |
Scroll down |
k / ↑ |
Scroll up |
d |
Open diff view |
Ctrl+d / PageDown |
Page down |
Ctrl+u / PageUp |
Page up |
q / Esc |
Back to log |
Diff View
| Key | Action |
|---|---|
j / ↓ |
Select next file |
k / ↑ |
Select previous file |
Ctrl+d / PageDown |
Scroll diff down |
Ctrl+u / PageUp |
Scroll diff up |
← / → |
Scroll diff horizontally |
q / Esc |
Back to detail |
Display
The log view shows jj's native graph visualization with full color support:
@- Working copy◆- Immutable commit○- Regular commit- Graph lines (
│,├─╮,├─╯, etc.) - Branch/merge visualization [bookmark]- Bookmarks shown in cyan- Conventional commit messages are displayed with emoji prefixes
License
MIT License - see LICENSE for details.