Last active
September 19, 2025 11:20
-
-
Save hroi/d0dc0e95221af858ee129fd66251897e to your computer and use it in GitHub Desktop.
Jujutsu (jj) prompt for fish-shell
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Place me in ~/.config/fish/functions | |
| # Then add me to `fish_vcs_prompt`: `funced fish_vcs_prompt` and save it to | |
| # your personal config: `funcsave fish_vcs_prompt;` | |
| function fish_jj_prompt --description 'Write out the jj prompt' | |
| # Is jj installed? | |
| if not command -sq jj | |
| return 1 | |
| end | |
| # Are we in a jj repo? | |
| if not jj root --quiet &>/dev/null | |
| return 1 | |
| end | |
| # Generate prompt | |
| jj log --ignore-working-copy --no-graph --color always -r @ -T ' | |
| surround( | |
| " (", | |
| ")", | |
| separate( | |
| " ", | |
| bookmarks.join(", "), | |
| coalesce( | |
| surround( | |
| "\"", | |
| "\"", | |
| if( | |
| description.first_line().substr(0, 24).starts_with(description.first_line()), | |
| description.first_line().substr(0, 24), | |
| description.first_line().substr(0, 23) ++ "…" | |
| ) | |
| ), | |
| "(no description set)" | |
| ), | |
| change_id.shortest(), | |
| commit_id.shortest(), | |
| if(conflict, "(conflict)"), | |
| if(empty, "(empty)"), | |
| if(divergent, "(divergent)"), | |
| if(hidden, "(hidden)"), | |
| ) | |
| ) | |
| ' | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I love this! Thanks for making this, I forked yours and added some usage of the
labelfunction to closer matchjj st, which adds colours to (empty) and (conflict).https://gist.github.com/camtheman256/028aa2f1ced68cd435093a2d4680cf88