Files
dotfiles/dot_config/private_fish/functions/_tide_item_jj.fish

34 lines
1.1 KiB
Fish

function _tide_item_jj
if not command -sq jj; or not jj root --quiet &>/dev/null
return 1
end
set jj_status (jj log -r@ -n1 --ignore-working-copy --no-graph --color always -T '
separate(" ",
bookmarks.map(|x| if(
x.name().substr(0, 10).starts_with(x.name()),
x.name().substr(0, 10),
x.name().substr(0, 9) ++ "…")
).join(" "),
tags.map(|x| if(
x.name().substr(0, 10).starts_with(x.name()),
x.name().substr(0, 10),
x.name().substr(0, 9) ++ "…")
).join(" "),
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) ++ "…"
)
),
change_id.shortest(),
commit_id.shortest(),
if(conflict, "conflict"),
if(divergent, "divergent"),
if(hidden, "hidden"),
)' | string trim)
set jj_info $jj_status
_tide_print_item jj $tide_jj_icon' ' "($(string join ', ' $jj_info))"
end