Jujutsu
SublimeJJ: a jujutsu plugin for Sublime Text 4
Details
Installs
- Total 0
- Win 0
- Mac 0
- Linux 0
| Apr 5 | Apr 4 | Apr 3 | Apr 2 | Apr 1 | Mar 31 | Mar 30 | Mar 29 | Mar 28 | Mar 27 | Mar 26 | Mar 25 | Mar 24 | Mar 23 | Mar 22 | Mar 21 | Mar 20 | Mar 19 | Mar 18 | Mar 17 | Mar 16 | Mar 15 | Mar 14 | Mar 13 | Mar 12 | Mar 11 | Mar 10 | Mar 9 | Mar 8 | Mar 7 | Mar 6 | Mar 5 | Mar 4 | Mar 3 | Mar 2 | Mar 1 | Feb 28 | Feb 27 | Feb 26 | Feb 25 | Feb 24 | Feb 23 | Feb 22 | Feb 21 | Feb 20 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
Jujutsu
Jujutsu (jj) integration for Sublime Text.
Jujutsu provides status bar information and jj commands accessible via the command palette. It is designed for colocated repositories (where both .jj and .git exist), letting Sublime's built-in git integration handle diff gutters and other git-specific features while Jujutsu adds jj workflow commands.
Features
- Status bar: Shows current change ID, description, and bookmark information
- Command palette integration: Common jj operations available via quick commands
Requirements
- Sublime Text 4
- Jujutsu installed and available in PATH (or configured via settings)
Installation
Package Control
- Open the command palette (Ctrl+Shift+P / Cmd+Shift+P)
- Run “Package Control: Install Package”
- Search for “Jujutsu” and install
Manual Installation
- Clone or download this repository
- Copy the
Jujutsufolder to your Sublime Text Packages directory:- macOS:
~/Library/Application Support/Sublime Text/Packages/ - Linux:
~/.config/sublime-text/Packages/ - Windows:
%APPDATA%\Sublime Text\Packages\
- macOS:
- Restart Sublime Text
Commands
All commands are available via the command palette (Ctrl+Shift+P / Cmd+Shift+P) with the “JJ:” prefix.
Basic Operations
| Command | Description |
|---|---|
| JJ: New Change | Create a new change (optionally with a message) |
| JJ: Describe | Set or update the description of the current change |
| JJ: Commit | Commit current change (describe + new) |
| JJ: Split Change | Interactively split the current change (select hunks/lines for first commit) |
| JJ: Abandon Change | Abandon the current change (with confirmation) |
| JJ: Undo Last Operation | Undo the last jj operation |
| JJ: Refresh Status | Refresh status bar |
Squash Operations
| Command | Description |
|---|---|
| JJ: Squash… | Interactive squash with multi-select sources and destination picker |
| JJ: Squash Interactive… | Select destination, then choose specific hunks/lines to squash (same UI as split) |
| JJ: Quick Squash | Instantly squash current change into parent (no interaction, ideal for keybinding) |
| JJ: Absorb | Automatically move changes into ancestor commits where those lines were last modified |
Navigation and History
| Command | Description |
|---|---|
| JJ: Edit Change… | Switch to editing a different change |
| JJ: Log (Custom Revset) | Query changes using any revset expression (e.g. trunk()..@, author(me)) |
| JJ: Rebase… | Rebase with full control over source mode (-r/-s/-b) and destination mode (-d/-A/-B) |
Bookmark Management
| Command | Description |
|---|---|
| JJ: Bookmark Set | Create or update a bookmark on a revision |
| JJ: Bookmark Move | Move an existing bookmark to a different revision |
| JJ: Bookmark Delete | Delete one or more bookmarks (multi-select supported) |
| JJ: Bookmark Rename | Rename a bookmark |
| JJ: Bookmark List | List all bookmarks; selecting one navigates to that revision |
Git Integration
| Command | Description |
|---|---|
| JJ: Git Push (Create Bookmark) | Push a change by creating a bookmark (jj git push -c), with optional GitHub PR URL detection |
| JJ: Pull and Retrunk | Fetch from default remote and rebase current stack onto trunk (requires revset aliases, see below) |
Pull and Retrunk
The “Pull and Retrunk” command runs jj git fetch followed by jj rebase -d trunk() -s roots(trunk()..stack(@)). This requires the following revset aliases in your jj config:
[revset-aliases]
'trunk()' = 'latest((present(main) | present(master)) & remote_bookmarks())'
'stack()' = 'stack(@)'
Settings
Configure Jujutsu via Preferences > Package Settings > Jujutsu > Settings or by editing Jujutsu.sublime-settings:
{
// Path to jj executable. Set to null to auto-detect from PATH.
"jj_path": null,
// Enable status bar with current change ID and description.
"status_bar_enabled": true,
// Debounce delay in seconds for updates after save.
"debounce_delay": 0.5,
// Enable debug logging.
"debug": false
}
Key Bindings
Jujutsu does not define default key bindings to avoid conflicts with other packages. To add your own, go to Preferences > Key Bindings and add entries from the suggestions below.
Suggested Shortcuts
These are convenient bindings for the most common operations. Copy whichever you find useful into your user key bindings:
[
{ "keys": ["ctrl+shift+n"], "command": "jj_new" },
{ "keys": ["ctrl+shift+c"], "command": "jj_commit" },
{ "keys": ["ctrl+shift+d"], "command": "jj_describe" },
{ "keys": ["ctrl+shift+z"], "command": "jj_undo" },
{ "keys": ["ctrl+shift+s"], "command": "jj_quick_squash" },
{ "keys": ["ctrl+shift+l"], "command": "jj_squash" },
{ "keys": ["ctrl+shift+r"], "command": "jj_rebase" }
]
All Available Command Names
jj_newjj_describejj_commitjj_splitjj_squashjj_squash_interactivejj_quick_squashjj_absorbjj_abandonjj_undojj_pull_retrunkjj_editjj_logjj_rebasejj_refreshjj_bookmark_setjj_bookmark_movejj_bookmark_deletejj_bookmark_renamejj_bookmark_listjj_git_push_change
Jujutsu Documentation
Licence
Blue Oak Model Licence 1.0.0 - See LICENCE for details.