# fish_prompt - define the appearance of the command line prompt

## Synopsis

    fish_prompt

    function fish_prompt
        ...
    end

## Description

The `fish_prompt` function is executed when the prompt is to be shown, and the output is used as a prompt.

The exit status of commands within `fish_prompt` will not modify the value of $status outside of the `fish_prompt` function.

If `fish_transient_prompt` is set to 1, `fish_prompt --final-rendering` is run before executing the commandline.

If `SHELL_PROMPT_PREFIX` or `SHELL_PROMPT_SUFFIX` are set, they are automatically prepended and appended to the left prompt. This applies to all prompts regardless of whether `fish_prompt` has been customized.

`fish` ships with a number of example prompts that can be chosen with the `fish_config` command.

## Example

A simple prompt:

    function fish_prompt -d "Write out the prompt"
        # This shows up as USER@HOST /home/user/ >, with the directory colored
        # $USER and $hostname are set by fish, so you can just use them
        # instead of using `whoami` and `hostname`
        printf '%s@%s %s%s%s > ' $USER $hostname \
            (set_color $fish_color_cwd) (prompt_pwd) (set_color --reset)
    end