From fe829e19c51f31e59d61bee54395fb569dd49b33 Mon Sep 17 00:00:00 2001 From: Daniel Lundin Date: Thu, 21 Nov 2024 13:50:07 +0100 Subject: [PATCH] fish: Remove right prompt. Put vcs info on terminal bottom line. --- home/common/fish.nix | 81 ++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 51 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 44678fa..d0384e1 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -94,66 +94,45 @@ return 1 end - # Generate prompt - jj log --ignore-working-copy --no-graph --color never -r @ -T ' - surround( - " \e[2;3m", - "\e[0m", - separate( - " ", - surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), - surround("\e[0;35m󰸕 ", "\e[0m", bookmarks.join("╱")), - surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), - if(conflict, "󰂭"), - if(empty, ""), - if(divergent, ""), - if(hidden, "󰘓"), - ) - ) - ' - ''; - - fish_jj_desc.body = '' - if not command -sq jj || not jj root --quiet &>/dev/null - return 1 - end - - jj log --ignore-working-copy --no-graph --color never -r @ -T ' - surround( - " \e[0;2;3m", - "\e[0m", - coalesce( - surround( - "\e[1;2;3m❝", - "❞\e[0m", - if( - description.first_line().substr(0, 80).starts_with(description.first_line()), - description.first_line().substr(0, 80), - description.first_line().substr(0, 79) ++ "…" - ) + jj log --ignore-working-copy --no-graph --color never -r @ -T ' + surround( + " \e[2;3m", + "\e[0m", + separate( + " ", + surround( + "\e[0;2;3m", + "\e[0m", + coalesce( + surround( + "\e[1;2;3m❝", + "❞\e[0m", + if( + description.first_line().substr(0, 80).starts_with(description.first_line()), + description.first_line().substr(0, 80), + description.first_line().substr(0, 79) ++ "…" + ) + ), + "…" ), - "…" ), + surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), + surround("\e[0;35m󰸕 ", "\e[0m", bookmarks.join("╱")), + surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), + if(conflict, "󰂭"), + if(empty, ""), + if(divergent, ""), + if(hidden, "󰘓"), ) - ' + ) + ' ''; fish_prompt.body = '' - echo -e "\033[1;2;38;5;236m" - string pad -c '┄' -w $COLUMNS (fish_jj_desc) - echo -ne "\033[0;3m" + echo -e "\033[s\033[$LINES;1H\033[1;2;38;5;238m$(string pad -c '┄' -w $COLUMNS (fish_jj_prompt || fish_vcs_prompt))\033[0m\033[u" string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color yellow) ' ❯ ' (set_color normal) ''; - fish_right_prompt.body = '' - if test $CMD_DURATION -gt 3000 - # Show duration of the last command in seconds - set duration (echo "$CMD_DURATION 1000" | awk '{printf "%.1fs", $1 / $2}') - echo -n "⏳$duration " - end - fish_jj_prompt || fish_vcs_prompt - ''; - transient_prompt_func.body = '' echo string join "" -- (set_color yellow) '❯ ' (set_color normal)