I’m trying to customize my fish prompt but i can’t seem to put an if statement in it.
What I want :
user@host ~/.config >
What i tried :
function fish_prompt echo -n $USER echo -n "@" echo -n $hostname echo -n " " echo -n (prompt_pwd) echo -n (__fish_git_prompt) if [ $status -ne 0 ] echo -n " [$status] " end echo -n "> " end
I want the $status to show only when there is an error.
So far, everything works except the
if statement. (i tried the same
if directly in the console and it worked, the problem occurs only in the fish_prompt) .
echo also returns a status, so $status is updated.
So if you are interested in the commandline’s $status, you need to save that before doing anything else.
function fish_prompt # $status here is what the commandline returned, # save it so we can use it later set -l laststatus $status echo -n $USER echo -n "@" echo -n $hostname echo -n " " echo -n (prompt_pwd) echo -n (__fish_git_prompt) if [ $laststatus -ne 0 ] echo -n " [$laststatus] " end echo -n "> " end
This is also what fish’s sample prompts do