function fish_prompt --description 'Write out the prompt'
    set -l suffix
    switch "$USER"
        case root toor
            set suffix (set_color $fish_color_cwd_root)'#'
        case '*'
            set suffix '>'
    end

    set -l branch (fossil branch current 2>/dev/null)
    
    if test -z "$branch"
        set branch (git symbolic-ref HEAD 2>/dev/null)
        set branch (string replace -r "^refs/heads/" "" $branch)
    end

    set -l vcs
    if test -n "$branch"
        set vcs (set_color $fish_color_vcs_braces)"(" \
                (set_color $fish_color_vcs)"$branch" \
                (set_color $fish_color_vcs_braces)")"
    end

    echo -n -s (set_color $fish_color_host) (prompt_hostname) ' ' \
               (set_color $fish_color_cwd) (prompt_pwd) (string join '' $vcs) \
               (set_color $fish_color_suffix) $suffix (set_color normal) ' '
end
