Fish updates to pure shell
This commit is contained in:
@ -1,28 +1,47 @@
|
||||
set --universal pure_version 2.4.2 # used for bug report
|
||||
set --global pure_version 2.5.2 # used for bug report
|
||||
|
||||
# Base colors
|
||||
_pure_set_default pure_color_primary (set_color blue)
|
||||
_pure_set_default pure_color_info (set_color cyan)
|
||||
_pure_set_default pure_color_mute (set_color brblack)
|
||||
_pure_set_default pure_color_success (set_color magenta)
|
||||
_pure_set_default pure_color_normal (set_color normal)
|
||||
_pure_set_default pure_color_danger (set_color red)
|
||||
_pure_set_default pure_color_light (set_color white)
|
||||
_pure_set_default pure_color_warning (set_color yellow)
|
||||
_pure_set_default pure_color_dark (set_color black)
|
||||
_pure_set_default pure_color_primary blue
|
||||
_pure_set_default pure_color_info cyan
|
||||
_pure_set_default pure_color_mute brblack
|
||||
_pure_set_default pure_color_success magenta
|
||||
_pure_set_default pure_color_normal normal
|
||||
_pure_set_default pure_color_danger red
|
||||
_pure_set_default pure_color_light white
|
||||
_pure_set_default pure_color_warning yellow
|
||||
_pure_set_default pure_color_dark black
|
||||
|
||||
# Prompt
|
||||
_pure_set_default pure_symbol_prompt "❯"
|
||||
_pure_set_default pure_symbol_reverse_prompt "❮" # used for VI mode
|
||||
_pure_set_default pure_color_prompt_on_error pure_color_danger
|
||||
_pure_set_default pure_color_prompt_on_success pure_color_success
|
||||
|
||||
# Current Working Directory
|
||||
_pure_set_default pure_color_current_directory pure_color_primary
|
||||
|
||||
# Git
|
||||
_pure_set_default pure_enable_git true
|
||||
_pure_set_default pure_symbol_git_unpulled_commits "⇣"
|
||||
_pure_set_default pure_symbol_git_unpushed_commits "⇡"
|
||||
_pure_set_default pure_symbol_git_dirty "*"
|
||||
_pure_set_default pure_color_git_unpulled_commits pure_color_info
|
||||
_pure_set_default pure_color_git_unpushed_commits pure_color_info
|
||||
_pure_set_default pure_color_git_branch pure_color_mute
|
||||
_pure_set_default pure_color_git_dirty pure_color_mute
|
||||
|
||||
# SSH info
|
||||
_pure_set_default pure_color_ssh_hostname pure_color_mute
|
||||
_pure_set_default pure_color_ssh_separator pure_color_mute
|
||||
_pure_set_default pure_color_ssh_user_normal pure_color_mute
|
||||
_pure_set_default pure_color_ssh_user_root pure_color_light
|
||||
|
||||
# Number of running jobs
|
||||
_pure_set_default pure_show_jobs false
|
||||
_pure_set_default pure_color_jobs pure_color_normal
|
||||
|
||||
# Virtualenv for Python
|
||||
_pure_set_default pure_color_virtualenv pure_color_mute
|
||||
|
||||
# Print current working directory at the beginning of prompt
|
||||
# true (default): current directory, git, user@hostname (ssh-only), command duration
|
||||
@ -36,6 +55,7 @@ _pure_set_default pure_separate_prompt_on_error false
|
||||
|
||||
# Max execution time of a process before its run time is shown when it exits
|
||||
_pure_set_default pure_threshold_command_duration 5
|
||||
_pure_set_default pure_color_command_duration pure_color_warning
|
||||
|
||||
# VI mode indicator
|
||||
# true (default): indicate a non-insert mode by reversing the prompt symbol (❮)
|
||||
|
||||
@ -43,14 +43,28 @@ SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_user_paths:/Users/colinpowell/\x2efzf/bin
|
||||
SETUVAR pure_begin_prompt_with_current_directory:true
|
||||
SETUVAR pure_color_command_duration:pure_color_warning
|
||||
SETUVAR pure_color_current_directory:pure_color_primary
|
||||
SETUVAR pure_color_danger:\x1b\x5b31m
|
||||
SETUVAR pure_color_dark:\x1b\x5b30m
|
||||
SETUVAR pure_color_git_branch:pure_color_mute
|
||||
SETUVAR pure_color_git_dirty:pure_color_mute
|
||||
SETUVAR pure_color_git_unpulled_commits:pure_color_info
|
||||
SETUVAR pure_color_git_unpushed_commits:pure_color_info
|
||||
SETUVAR pure_color_info:\x1b\x5b36m
|
||||
SETUVAR pure_color_jobs:pure_color_normal
|
||||
SETUVAR pure_color_light:\x1b\x5b37m
|
||||
SETUVAR pure_color_mute:\x1b\x5b90m
|
||||
SETUVAR pure_color_normal:\x1b\x5b30m\x1b\x5bm
|
||||
SETUVAR pure_color_primary:\x1b\x5b34m
|
||||
SETUVAR pure_color_prompt_on_error:pure_color_danger
|
||||
SETUVAR pure_color_prompt_on_success:pure_color_success
|
||||
SETUVAR pure_color_ssh_hostname:pure_color_mute
|
||||
SETUVAR pure_color_ssh_separator:pure_color_mute
|
||||
SETUVAR pure_color_ssh_user_normal:pure_color_mute
|
||||
SETUVAR pure_color_ssh_user_root:pure_color_light
|
||||
SETUVAR pure_color_success:\x1b\x5b35m
|
||||
SETUVAR pure_color_virtualenv:pure_color_mute
|
||||
SETUVAR pure_color_warning:\x1b\x5b33m
|
||||
SETUVAR pure_enable_git:true
|
||||
SETUVAR pure_reverse_prompt_symbol_in_vimode:true
|
||||
|
||||
@ -5,7 +5,7 @@ function _pure_prompt_command_duration
|
||||
if test -n "$CMD_DURATION"
|
||||
set command_duration (_pure_format_time $CMD_DURATION $pure_threshold_command_duration)
|
||||
end
|
||||
set --local command_duration_color (_pure_get_var pure_color_command_duration $pure_color_warning)
|
||||
set --local command_duration_color (_pure_set_color $pure_color_command_duration)
|
||||
|
||||
echo "$command_duration_color$command_duration"
|
||||
end
|
||||
|
||||
@ -5,7 +5,7 @@ function _pure_prompt_current_folder --argument-names current_prompt_width
|
||||
if test -z "$current_prompt_width"; return $fail; end
|
||||
|
||||
set --local current_folder (_pure_parse_directory (math $COLUMNS - $current_prompt_width - 1))
|
||||
set --local current_folder_color (_pure_get_var pure_color_current_directory $pure_color_primary)
|
||||
set --local current_folder_color (_pure_set_color $pure_color_current_directory)
|
||||
|
||||
echo "$current_folder_color$current_folder"
|
||||
end
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
function _pure_prompt_ending
|
||||
echo "$pure_color_normal "
|
||||
echo (set_color normal)" "
|
||||
end
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
function _pure_prompt_git_branch
|
||||
set --local git_branch (_pure_parse_git_branch) # current git branch
|
||||
set --local git_branch_color (_pure_get_var pure_color_git_branch $pure_color_mute)
|
||||
set --local git_branch_color (_pure_set_color $pure_color_git_branch)
|
||||
|
||||
echo "$git_branch_color$git_branch"
|
||||
end
|
||||
|
||||
@ -11,7 +11,7 @@ function _pure_prompt_git_dirty
|
||||
)
|
||||
if test -n "$is_git_dirty" # untracked or un-commited files
|
||||
set git_dirty_symbol "$pure_symbol_git_dirty"
|
||||
set git_dirty_color (_pure_get_var pure_color_git_dirty $pure_color_mute)
|
||||
set git_dirty_color (_pure_set_color $pure_color_git_dirty)
|
||||
end
|
||||
|
||||
echo "$git_dirty_color$git_dirty_symbol"
|
||||
|
||||
@ -12,13 +12,13 @@ function _pure_prompt_git_pending_commits
|
||||
|
||||
if test $commit_to_push -gt 0 # upstream is behind local repo
|
||||
set --local git_unpushed_commits_color \
|
||||
(_pure_get_var pure_color_git_unpushed_commits $pure_color_info)
|
||||
(_pure_set_color $pure_color_git_unpushed_commits)
|
||||
set git_unpushed_commits "$git_unpushed_commits_color$pure_symbol_git_unpushed_commits"
|
||||
end
|
||||
|
||||
if test $commit_to_pull -gt 0 # upstream is ahead of local repo
|
||||
set --local git_unpulled_commits_color \
|
||||
(_pure_get_var pure_color_git_unpulled_commits $pure_color_info)
|
||||
(_pure_set_color $pure_color_git_unpulled_commits)
|
||||
set git_unpulled_commits "$git_unpulled_commits_color$pure_symbol_git_unpulled_commits"
|
||||
end
|
||||
end
|
||||
|
||||
9
fish/.config/fish/functions/_pure_prompt_jobs.fish
Normal file
9
fish/.config/fish/functions/_pure_prompt_jobs.fish
Normal file
@ -0,0 +1,9 @@
|
||||
function _pure_prompt_jobs --description "Display number of running jobs"
|
||||
if test $pure_show_jobs = true
|
||||
set --local njobs (count (jobs -p))
|
||||
set --local jobs_color (_pure_set_color $pure_color_jobs)
|
||||
if test $njobs -gt 0
|
||||
echo "$jobs_color"[$njobs]
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -1,7 +1,7 @@
|
||||
function _pure_prompt_ssh_host
|
||||
set --query --global hostname
|
||||
or set --local hostname (hostname -s) # current host name compatible busybox
|
||||
set --local hostname_color (_pure_get_var pure_color_ssh_hostname $pure_color_mute)
|
||||
set --local hostname_color (_pure_set_color $pure_color_ssh_hostname)
|
||||
|
||||
echo "$hostname_color$hostname"
|
||||
end
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
function _pure_prompt_ssh_separator
|
||||
set --local separator_symbol "@"
|
||||
set --local separator_symbol_color (_pure_get_var pure_color_ssh_separator $pure_color_mute)
|
||||
set --local separator_symbol_color (_pure_set_color $pure_color_ssh_separator)
|
||||
|
||||
echo "$separator_symbol_color$separator_symbol"
|
||||
end
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
function _pure_prompt_ssh_user
|
||||
set --local username (whoami) # current user name
|
||||
set --local username_color (_pure_get_var pure_color_ssh_user_normal $pure_color_mute) # default color
|
||||
set --local username_color (_pure_set_color $pure_color_ssh_user_normal) # default color
|
||||
|
||||
if test "$username" = "root"
|
||||
set username_color (_pure_get_var pure_color_ssh_user_root $pure_color_light) # different color for root
|
||||
set username_color (_pure_set_color $pure_color_ssh_user_root) # different color for root
|
||||
end
|
||||
|
||||
echo "$username_color$username"
|
||||
|
||||
@ -3,8 +3,8 @@ function _pure_prompt_symbol \
|
||||
--argument-names exit_code
|
||||
|
||||
set --local prompt_symbol (_pure_get_prompt_symbol)
|
||||
set --local symbol_color_success (_pure_get_var pure_color_prompt_on_success $pure_color_success)
|
||||
set --local symbol_color_error (_pure_get_var pure_color_prompt_on_error $pure_color_danger)
|
||||
set --local symbol_color_success (_pure_set_color $pure_color_prompt_on_success)
|
||||
set --local symbol_color_error (_pure_set_color $pure_color_prompt_on_error)
|
||||
set --local command_succeed 0
|
||||
|
||||
set --local symbol_color $symbol_color_success # default pure symbol color
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
function _pure_prompt_virtualenv --description "Display virtualenv directory"
|
||||
if test -n "$VIRTUAL_ENV"
|
||||
set --local virtualenv (basename "$VIRTUAL_ENV")
|
||||
set --local virtualenv_color (_pure_get_var pure_color_virtualenv $pure_color_mute)
|
||||
set --local virtualenv_color (_pure_set_color $pure_color_virtualenv)
|
||||
|
||||
echo "$virtualenv_color$virtualenv"
|
||||
end
|
||||
|
||||
19
fish/.config/fish/functions/_pure_set_color.fish
Normal file
19
fish/.config/fish/functions/_pure_set_color.fish
Normal file
@ -0,0 +1,19 @@
|
||||
function _pure_set_color \
|
||||
--description 'Set color' \
|
||||
--argument-names var
|
||||
|
||||
set --local color $var
|
||||
# Backwards compatibility for colors defined as control sequencies instead of fish colors
|
||||
if not string match --quiet --all --regex '\e\[[^m]*m' $color[1]
|
||||
and set -q $color
|
||||
set color $$var
|
||||
end
|
||||
|
||||
set --local result $color
|
||||
if not string match --quiet --all --regex '\e\[[^m]*m' $result[1]
|
||||
and not test -z $result[1]
|
||||
set result (set_color $color)
|
||||
end
|
||||
|
||||
echo "$result"
|
||||
end
|
||||
@ -2,7 +2,7 @@ function _pure_set_default \
|
||||
--description 'Set default value for configuration variable' \
|
||||
--argument-names var default
|
||||
|
||||
if not set -q $var
|
||||
if not set -q --universal $var
|
||||
set --universal $var $default
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user