Initial commit
This commit is contained in:
26
functions/fish_prompt.fish
Normal file
26
functions/fish_prompt.fish
Normal file
@@ -0,0 +1,26 @@
|
||||
function fish_prompt --description 'Informative prompt'
|
||||
#Save the return status of the previous command
|
||||
set -l last_pipestatus $pipestatus
|
||||
set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
|
||||
|
||||
if functions -q fish_is_root_user; and fish_is_root_user
|
||||
printf '%s@%s %s%s%s# ' $USER (prompt_hostname) (set -q fish_color_cwd_root
|
||||
and set_color $fish_color_cwd_root
|
||||
or set_color $fish_color_cwd) \
|
||||
(prompt_pwd) (set_color normal)
|
||||
else
|
||||
set -l status_color (set_color $fish_color_status)
|
||||
set -l statusb_color (set_color --bold $fish_color_status)
|
||||
set -l pipestatus_string (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
|
||||
|
||||
set -l cwd (pwd)
|
||||
if git rev-parse --is-inside-work-tree >/dev/null 2>&1
|
||||
set -l git_root (git rev-parse --show-toplevel)
|
||||
set -l git_root_basename (basename "$git_root")
|
||||
set cwd (string replace --regex "^$git_root" "($git_root_basename)" "$cwd")
|
||||
end
|
||||
printf '[%s] %s%s@%s %s%s %s%s%s%s%s \n> ' (date "+%H:%M:%S") (set_color brblue) \
|
||||
$USER (prompt_hostname) (set_color $fish_color_cwd) $cwd $pipestatus_string \
|
||||
(set_color yellow) (string trim -l (fish_git_prompt)) (set_color normal)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user