Mine is just a lightly-modified version of the built-in prompt. It turns out the built-in prompt was actually extremely similar to my bash prompt, but without the proper colors or git status. So I just copied it, added more color support, and added git.
function fish_prompt --description 'Write out the prompt' set -l last_status $status # Just calculate these once, to save a few cycles when displaying the prompt if not set -q __fish_prompt_hostname set -g __fish_prompt_hostname (hostname|cut -d . -f 1) end if not set -q __fish_prompt_normal set -g __fish_prompt_normal (set_color normal) end set -l delim '>' switch $USER case root if not set -q __fish_prompt_cwd if set -q fish_color_cwd_root set -g __fish_prompt_cwd (set_color $fish_color_cwd_root) else set -g __fish_prompt_cwd (set_color $fish_color_cwd) end end case '*' if not set -q __fish_prompt_cwd set -g __fish_prompt_cwd (set_color $fish_color_cwd) end end set -l prompt_status if test $last_status -ne 0 if not set -q __fish_prompt_status set -g __fish_prompt_status (set_color $fish_color_status) end set prompt_status "$__fish_prompt_status [$last_status]$__fish_prompt_normal" end if not set -q __fish_prompt_user set -g __fish_prompt_user (set_color $fish_color_user) end if not set -q __fish_prompt_host set -g __fish_prompt_host (set_color $fish_color_host) end echo -n -s "$__fish_prompt_user" "$USER" "$__fish_prompt_normal" @ "$__fish_prompt_host" "$__fish_prompt_hostname" "$__fish_prompt_normal" ' ' "$__fish_prompt_cwd" (prompt_pwd) (__fish_git_prompt) "$__fish_prompt_normal" "$prompt_status" "$delim" ' ' end function __fish_repaint_user --on-variable fish_color_user --description "Event handler, repaint when fish_color_user changes" if status --is-interactive set -e __fish_prompt_user commandline -f repaint ^/dev/null end end function __fish_repaint_host --on-variable fish_color_host --description "Event handler, repaint when fish_color_host changes" if status --is-interactive set -e __fish_prompt_host commandline -f repaint ^/dev/null end end function __fish_repaint_status --on-variable fish_color_status --description "Event handler; repaint when fish_color_status changes" if status --is-interactive set -e __fish_prompt_status commandline -f repaint ^/dev/null end end # initialize our new variables # in theory this would be in a fish_prompt event, but this file isn't sourced # until the fish_prompt function is called anyway. if not set -q __prompt_initialized_2 set -U fish_color_user -o green set -U fish_color_host -o cyan set -U fish_color_status red set -U __prompt_initialized_2 end On Aug 26, 2012, at 1:39 PM, ridiculous_fish <corydo...@ridiculousfish.com> wrote: > Hello fellow fish fans, > > I'm working on a prompt editor, which will include a bunch of sample prompts > that the user can preview and then use (or edit). I'd like to include real > prompts contributed by real users, showing the range possible prompts. > > If you're willing, please send me the following: > > - Your fish_prompt function, or file if it contains multiple functions > - A suggested short name for it, hopefully descriptive ("Minimalist", "Git > Savvy" ), or evocative ("Lotus Blossom"), or failing that, your name is fine > ("Richards") > - If you like, an attribution line ("John Doe's prompt - > http://www.mysite.com") > > You can send it directly to me at corydo...@ridiculousfish.com, or post it to > the list if you want to strut your stuff. > > For the record, here's my prompt, which I'm calling "Minimalist" (but may > change it if we get a bunch of minimalist prompts): > > function fish_prompt > set_color $fish_color_cwd > echo -n (basename $PWD) > set_color normal > echo -n ' ) ' > end > > Thanks for any and all contributions! > > _fish > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Fish-users mailing list > Fish-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/fish-users ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Fish-users mailing list Fish-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fish-users