diff options
Diffstat (limited to 'fish/functions/fish_jj_prompt.fish')
| -rw-r--r-- | fish/functions/fish_jj_prompt.fish | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/fish/functions/fish_jj_prompt.fish b/fish/functions/fish_jj_prompt.fish new file mode 100644 index 0000000..7ab024e --- /dev/null +++ b/fish/functions/fish_jj_prompt.fish @@ -0,0 +1,39 @@ +function fish_jj_prompt --description 'Write out the jj prompt' + if not command -sq jj + return 1 + end + + if not jj root --quiet &>/dev/null + return 1 + end + + jj log --ignore-working-copy --no-graph --color always -r @ -T ' + surround( + " (", + ")", + separate( + " ", + bookmarks.join(", "), + if(empty, "∅"), + coalesce( + surround( + "\"", + "\"", + if( + description.first_line().substr(0, 12).starts_with(description.first_line()), + description.first_line().substr(0, 12), + description.first_line().substr(0, 11) ++ "…" + ) + ), + label("description placeholder", "?") + ), + "|", + change_id.shortest(), + commit_id.shortest(), + if(conflict, "X"), + if(divergent, "☇"), + if(hidden, "⬚"), + ) + ) + ' 2>/dev/null +end |
