Skip to content

Instantly share code, notes, and snippets.

@Machx
Forked from anonymous/Fish prompt
Created July 10, 2014 19:52
Show Gist options
  • Save Machx/551a4d853943023a7947 to your computer and use it in GitHub Desktop.
Save Machx/551a4d853943023a7947 to your computer and use it in GitHub Desktop.
function fish_prompt --description 'Write out the prompt'
# 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
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
echo -n -s "$USER" @ "$__fish_prompt_hostname" ' ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" '# '
case $USER
if not set -q __fish_prompt_cwd
set -g __fish_prompt_cwd (set_color $fish_color_cwd)
end
set branch_name (git symbolic-ref HEAD 2>/dev/null | cut -d"/" -f 3)
if test $branch_name
echo -n -s "$__fish_prompt_cwd" (prompt_pwd) "[" $branch_name "]" "$__fish_prompt_normal" '> '
else
echo -n -s "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" '> '
end
case '*'
if not set -q __fish_prompt_cwd
set -g __fish_prompt_cwd (set_color $fish_color_cwd)
end
echo -n -s "$USER" @ "$__fish_prompt_hostname" ' ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" '> '
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment