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 <[email protected]>
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 [email protected], 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/fish-users