diff options
| author | tslilc <tslil@posteo.de> | 2025-07-26 23:00:27 +0100 |
|---|---|---|
| committer | tslilc <tslil@posteo.de> | 2025-07-26 23:00:46 +0100 |
| commit | ea924ebfcfab4c612dd91fa90a4022929272fe11 (patch) | |
| tree | 22861bb4da24348f4595f0cb4836da08b897c68b /fish/functions/fish_jj_prompt.fish | |
| parent | b0f267570d21f9d4fc1086391cb8448449d9eb41 (diff) | |
[fish] first go at jj prompt
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 |
