mirror of
https://github.com/oh-my-fish/theme-bobthefish.git
synced 2024-10-27 20:34:23 +00:00
Improved color scheme handling.
- Improve performance significantly in the base case (i.e. when git or something isn't slowing it down anyway). - Make `bobthefish_display_colors` a non-underscore function. It's meant for public use :) - Support previewing _different_ color schemes via `bobthefish_display_colors`. Pass a color scheme name, or `--all` to preview everything. - Make color overrides a bit fishier: use a `bobthefish_colors` function to override color schemes, rather than declaring a whole pile of variables. - Add support for a base color scheme in `bobthefish_colors`, in case you don't want to override everything. - Add a deprecation notice with upgrade instructions for users with old-style custom color schemes.
This commit is contained in:
parent
3b0c6929ff
commit
5acaae3f62
@ -128,8 +128,8 @@ set -g theme_newline_cursor yes
|
||||
| ![base16][base16] | ![base16-light][base16-light] |
|
||||
| ![zenburn][zenburn] | ![terminal-dark][terminal-dark] |
|
||||
|
||||
You can use the function `__bobthefish_display_colors` to preview the prompts in
|
||||
the current theme.
|
||||
You can use the function `bobthefish_display_colors` to preview the prompts in
|
||||
any color scheme.
|
||||
|
||||
Set `theme_color_scheme` in a terminal session or in your fish startup files to
|
||||
one of the following options to change the prompt colors.
|
||||
|
882
fish_prompt.fish
882
fish_prompt.fish
File diff suppressed because it is too large
Load Diff
534
functions/__bobthefish_colors.fish
Normal file
534
functions/__bobthefish_colors.fish
Normal file
@ -0,0 +1,534 @@
|
||||
function __bobthefish_colors -S -a color_scheme -d 'Define colors used by bobthefish'
|
||||
switch "$color_scheme"
|
||||
case 'user'
|
||||
__bobthefish_user_color_scheme_deprecated
|
||||
return
|
||||
|
||||
case 'terminal' 'terminal-dark*'
|
||||
set -l colorfg black
|
||||
[ "$color_scheme" = 'terminal-dark-white' ]; and set colorfg white
|
||||
set -x color_initial_segment_exit white red --bold
|
||||
set -x color_initial_segment_su white green --bold
|
||||
set -x color_initial_segment_jobs white blue --bold
|
||||
|
||||
set -x color_path black white
|
||||
set -x color_path_basename black white --bold
|
||||
set -x color_path_nowrite magenta $colorfg
|
||||
set -x color_path_nowrite_basename magenta $colorfg --bold
|
||||
|
||||
set -x color_repo green $colorfg
|
||||
set -x color_repo_work_tree black $colorfg --bold
|
||||
set -x color_repo_dirty brred $colorfg
|
||||
set -x color_repo_staged yellow $colorfg
|
||||
|
||||
set -x color_vi_mode_default brblue $colorfg --bold
|
||||
set -x color_vi_mode_insert brgreen $colorfg --bold
|
||||
set -x color_vi_mode_visual bryellow $colorfg --bold
|
||||
|
||||
set -x color_vagrant brcyan $colorfg
|
||||
set -x color_k8s magenta white --bold
|
||||
set -x color_username white black --bold
|
||||
set -x color_hostname white black
|
||||
set -x color_rvm brmagenta $colorfg --bold
|
||||
set -x color_virtualfish brblue $colorfg --bold
|
||||
set -x color_virtualgo brblue $colorfg --bold
|
||||
set -x color_desk brblue $colorfg --bold
|
||||
|
||||
case 'terminal-light*'
|
||||
set -l colorfg white
|
||||
[ "$color_scheme" = 'terminal-light-black' ]; and set colorfg black
|
||||
set -x color_initial_segment_exit black red --bold
|
||||
set -x color_initial_segment_su black green --bold
|
||||
set -x color_initial_segment_jobs black blue --bold
|
||||
|
||||
set -x color_path white black
|
||||
set -x color_path_basename white black --bold
|
||||
set -x color_path_nowrite magenta $colorfg
|
||||
set -x color_path_nowrite_basename magenta $colorfg --bold
|
||||
|
||||
set -x color_repo green $colorfg
|
||||
set -x color_repo_work_tree white $colorfg --bold
|
||||
set -x color_repo_dirty brred $colorfg
|
||||
set -x color_repo_staged yellow $colorfg
|
||||
|
||||
set -x color_vi_mode_default brblue $colorfg --bold
|
||||
set -x color_vi_mode_insert brgreen $colorfg --bold
|
||||
set -x color_vi_mode_visual bryellow $colorfg --bold
|
||||
|
||||
set -x color_vagrant brcyan $colorfg
|
||||
set -x color_k8s magenta white --bold
|
||||
set -x color_username black white --bold
|
||||
set -x color_hostname black white
|
||||
set -x color_rvm brmagenta $colorfg --bold
|
||||
set -x color_virtualfish brblue $colorfg --bold
|
||||
set -x color_virtualgo brblue $colorfg --bold
|
||||
set -x color_desk brblue $colorfg --bold
|
||||
|
||||
case 'terminal2' 'terminal2-dark*'
|
||||
set -l colorfg black
|
||||
[ "$color_scheme" = 'terminal2-dark-white' ]; and set colorfg white
|
||||
set -x color_initial_segment_exit grey red --bold
|
||||
set -x color_initial_segment_su grey green --bold
|
||||
set -x color_initial_segment_jobs grey blue --bold
|
||||
|
||||
set -x color_path brgrey white
|
||||
set -x color_path_basename brgrey white --bold
|
||||
set -x color_path_nowrite magenta $colorfg
|
||||
set -x color_path_nowrite_basename magenta $colorfg --bold
|
||||
|
||||
set -x color_repo green $colorfg
|
||||
set -x color_repo_work_tree brgrey $colorfg --bold
|
||||
set -x color_repo_dirty brred $colorfg
|
||||
set -x color_repo_staged yellow $colorfg
|
||||
|
||||
set -x color_vi_mode_default brblue $colorfg --bold
|
||||
set -x color_vi_mode_insert brgreen $colorfg --bold
|
||||
set -x color_vi_mode_visual bryellow $colorfg --bold
|
||||
|
||||
set -x color_vagrant brcyan $colorfg
|
||||
set -x color_k8s magenta white --bold
|
||||
set -x color_username brgrey white --bold
|
||||
set -x color_hostname brgrey white
|
||||
set -x color_rvm brmagenta $colorfg --bold
|
||||
set -x color_virtualfish brblue $colorfg --bold
|
||||
set -x color_virtualgo brblue $colorfg --bold
|
||||
set -x color_desk brblue $colorfg --bold
|
||||
|
||||
case 'terminal2-light*'
|
||||
set -l colorfg white
|
||||
[ "$color_scheme" = 'terminal2-light-black' ]; and set colorfg black
|
||||
set -x color_initial_segment_exit brgrey red --bold
|
||||
set -x color_initial_segment_su brgrey green --bold
|
||||
set -x color_initial_segment_jobs brgrey blue --bold
|
||||
|
||||
set -x color_path grey black
|
||||
set -x color_path_basename grey black --bold
|
||||
set -x color_path_nowrite magenta $colorfg
|
||||
set -x color_path_nowrite_basename magenta $colorfg --bold
|
||||
|
||||
set -x color_repo green $colorfg
|
||||
set -x color_repo_work_tree grey $colorfg --bold
|
||||
set -x color_repo_dirty brred $colorfg
|
||||
set -x color_repo_staged yellow $colorfg
|
||||
|
||||
set -x color_vi_mode_default brblue $colorfg --bold
|
||||
set -x color_vi_mode_insert brgreen $colorfg --bold
|
||||
set -x color_vi_mode_visual bryellow $colorfg --bold
|
||||
|
||||
set -x color_vagrant brcyan $colorfg
|
||||
set -x color_k8s magenta white --bold
|
||||
set -x color_username grey black --bold
|
||||
set -x color_hostname grey black
|
||||
set -x color_rvm brmagenta $colorfg --bold
|
||||
set -x color_virtualfish brblue $colorfg --bold
|
||||
set -x color_virtualgo brblue $colorfg --bold
|
||||
set -x color_desk brblue $colorfg --bold
|
||||
|
||||
case 'zenburn'
|
||||
set -l grey 333333 # a bit darker than normal zenburn grey
|
||||
set -l red CC9393
|
||||
set -l green 7F9F7F
|
||||
set -l yellow E3CEAB
|
||||
set -l orange DFAF8F
|
||||
set -l blue 8CD0D3
|
||||
set -l white DCDCCC
|
||||
|
||||
set -x color_initial_segment_exit $white $red --bold
|
||||
set -x color_initial_segment_su $white $green --bold
|
||||
set -x color_initial_segment_jobs $white $blue --bold
|
||||
|
||||
set -x color_path $grey $white
|
||||
set -x color_path_basename $grey $white --bold
|
||||
set -x color_path_nowrite $grey $red
|
||||
set -x color_path_nowrite_basename $grey $red --bold
|
||||
|
||||
set -x color_repo $green $grey
|
||||
set -x color_repo_work_tree $grey $grey --bold
|
||||
set -x color_repo_dirty $red $grey
|
||||
set -x color_repo_staged $yellow $grey
|
||||
|
||||
set -x color_vi_mode_default $grey $yellow --bold
|
||||
set -x color_vi_mode_insert $green $white --bold
|
||||
set -x color_vi_mode_visual $yellow $grey --bold
|
||||
|
||||
set -x color_vagrant $blue $green --bold
|
||||
set -x color_k8s $green $white --bold
|
||||
set -x color_username $grey $blue --bold
|
||||
set -x color_hostname $grey $blue
|
||||
set -x color_rvm $red $grey --bold
|
||||
set -x color_virtualfish $blue $grey --bold
|
||||
set -x color_virtualgo $blue $grey --bold
|
||||
set -x color_desk $blue $grey --bold
|
||||
|
||||
case 'base16-light'
|
||||
set -l base00 181818
|
||||
set -l base01 282828
|
||||
set -l base02 383838
|
||||
set -l base03 585858
|
||||
set -l base04 b8b8b8
|
||||
set -l base05 d8d8d8
|
||||
set -l base06 e8e8e8
|
||||
set -l base07 f8f8f8
|
||||
set -l base08 ab4642 # red
|
||||
set -l base09 dc9656 # orange
|
||||
set -l base0A f7ca88 # yellow
|
||||
set -l base0B a1b56c # green
|
||||
set -l base0C 86c1b9 # cyan
|
||||
set -l base0D 7cafc2 # blue
|
||||
set -l base0E ba8baf # violet
|
||||
set -l base0F a16946 # brown
|
||||
|
||||
set -l colorfg $base00
|
||||
|
||||
set -x color_initial_segment_exit $base02 $base08 --bold
|
||||
set -x color_initial_segment_su $base02 $base0B --bold
|
||||
set -x color_initial_segment_jobs $base02 $base0D --bold
|
||||
|
||||
set -x color_path $base06 $base02
|
||||
set -x color_path_basename $base06 $base01 --bold
|
||||
set -x color_path_nowrite $base06 $base08
|
||||
set -x color_path_nowrite_basename $base06 $base08 --bold
|
||||
|
||||
set -x color_repo $base0B $colorfg
|
||||
set -x color_repo_work_tree $base06 $colorfg --bold
|
||||
set -x color_repo_dirty $base08 $colorfg
|
||||
set -x color_repo_staged $base09 $colorfg
|
||||
|
||||
set -x color_vi_mode_default $base04 $colorfg --bold
|
||||
set -x color_vi_mode_insert $base0B $colorfg --bold
|
||||
set -x color_vi_mode_visual $base09 $colorfg --bold
|
||||
|
||||
set -x color_vagrant $base0C $colorfg --bold
|
||||
set -x color_k8s $base06 $colorfg --bold
|
||||
set -x color_username $base02 $base0D --bold
|
||||
set -x color_hostname $base02 $base0D
|
||||
set -x color_rvm $base08 $colorfg --bold
|
||||
set -x color_virtualfish $base0D $colorfg --bold
|
||||
set -x color_virtualgo $base0D $colorfg --bold
|
||||
set -x color_desk $base0D $colorfg --bold
|
||||
|
||||
case 'base16' 'base16-dark'
|
||||
set -l base00 181818
|
||||
set -l base01 282828
|
||||
set -l base02 383838
|
||||
set -l base03 585858
|
||||
set -l base04 b8b8b8
|
||||
set -l base05 d8d8d8
|
||||
set -l base06 e8e8e8
|
||||
set -l base07 f8f8f8
|
||||
set -l base08 ab4642 # red
|
||||
set -l base09 dc9656 # orange
|
||||
set -l base0A f7ca88 # yellow
|
||||
set -l base0B a1b56c # green
|
||||
set -l base0C 86c1b9 # cyan
|
||||
set -l base0D 7cafc2 # blue
|
||||
set -l base0E ba8baf # violet
|
||||
set -l base0F a16946 # brown
|
||||
|
||||
set -l colorfg $base07
|
||||
|
||||
set -x color_initial_segment_exit $base05 $base08 --bold
|
||||
set -x color_initial_segment_su $base05 $base0B --bold
|
||||
set -x color_initial_segment_jobs $base05 $base0D --bold
|
||||
|
||||
set -x color_path $base02 $base05
|
||||
set -x color_path_basename $base02 $base06 --bold
|
||||
set -x color_path_nowrite $base02 $base08
|
||||
set -x color_path_nowrite_basename $base02 $base08 --bold
|
||||
|
||||
set -x color_repo $base0B $colorfg
|
||||
set -x color_repo_work_tree $base02 $colorfg --bold
|
||||
set -x color_repo_dirty $base08 $colorfg
|
||||
set -x color_repo_staged $base09 $colorfg
|
||||
|
||||
set -x color_vi_mode_default $base03 $colorfg --bold
|
||||
set -x color_vi_mode_insert $base0B $colorfg --bold
|
||||
set -x color_vi_mode_visual $base09 $colorfg --bold
|
||||
|
||||
set -x color_vagrant $base0C $colorfg --bold
|
||||
set -x color_k8s $base0B $colorfg --bold
|
||||
set -x color_username $base02 $base0D --bold
|
||||
set -x color_hostname $base02 $base0D
|
||||
set -x color_rvm $base08 $colorfg --bold
|
||||
set -x color_virtualfish $base0D $colorfg --bold
|
||||
set -x color_virtualgo $base0D $colorfg --bold
|
||||
set -x color_desk $base0D $colorfg --bold
|
||||
|
||||
case 'solarized-light'
|
||||
set -l base03 002b36
|
||||
set -l base02 073642
|
||||
set -l base01 586e75
|
||||
set -l base00 657b83
|
||||
set -l base0 839496
|
||||
set -l base1 93a1a1
|
||||
set -l base2 eee8d5
|
||||
set -l base3 fdf6e3
|
||||
set -l yellow b58900
|
||||
set -l orange cb4b16
|
||||
set -l red dc322f
|
||||
set -l magenta d33682
|
||||
set -l violet 6c71c4
|
||||
set -l blue 268bd2
|
||||
set -l cyan 2aa198
|
||||
set -l green 859900
|
||||
|
||||
set colorfg $base03
|
||||
|
||||
set -x color_initial_segment_exit $base02 $red --bold
|
||||
set -x color_initial_segment_su $base02 $green --bold
|
||||
set -x color_initial_segment_jobs $base02 $blue --bold
|
||||
|
||||
set -x color_path $base2 $base00
|
||||
set -x color_path_basename $base2 $base01 --bold
|
||||
set -x color_path_nowrite $base2 $orange
|
||||
set -x color_path_nowrite_basename $base2 $orange --bold
|
||||
|
||||
set -x color_repo $green $colorfg
|
||||
set -x color_repo_work_tree $base2 $colorfg --bold
|
||||
set -x color_repo_dirty $red $colorfg
|
||||
set -x color_repo_staged $yellow $colorfg
|
||||
|
||||
set -x color_vi_mode_default $blue $colorfg --bold
|
||||
set -x color_vi_mode_insert $green $colorfg --bold
|
||||
set -x color_vi_mode_visual $yellow $colorfg --bold
|
||||
|
||||
set -x color_vagrant $violet $colorfg --bold
|
||||
set -x color_k8s $green $colorfg --bold
|
||||
set -x color_username $base2 $blue --bold
|
||||
set -x color_hostname $base2 $blue
|
||||
set -x color_rvm $red $colorfg --bold
|
||||
set -x color_virtualfish $cyan $colorfg --bold
|
||||
set -x color_virtualgo $cyan $colorfg --bold
|
||||
set -x color_desk $cyan $colorfg --bold
|
||||
|
||||
case 'solarized' 'solarized-dark'
|
||||
set -l base03 002b36
|
||||
set -l base02 073642
|
||||
set -l base01 586e75
|
||||
set -l base00 657b83
|
||||
set -l base0 839496
|
||||
set -l base1 93a1a1
|
||||
set -l base2 eee8d5
|
||||
set -l base3 fdf6e3
|
||||
set -l yellow b58900
|
||||
set -l orange cb4b16
|
||||
set -l red dc322f
|
||||
set -l magenta d33682
|
||||
set -l violet 6c71c4
|
||||
set -l blue 268bd2
|
||||
set -l cyan 2aa198
|
||||
set -l green 859900
|
||||
|
||||
set colorfg $base3
|
||||
|
||||
set -x color_initial_segment_exit $base2 $red --bold
|
||||
set -x color_initial_segment_su $base2 $green --bold
|
||||
set -x color_initial_segment_jobs $base2 $blue --bold
|
||||
|
||||
set -x color_path $base02 $base0
|
||||
set -x color_path_basename $base02 $base1 --bold
|
||||
set -x color_path_nowrite $base02 $orange
|
||||
set -x color_path_nowrite_basename $base02 $orange --bold
|
||||
|
||||
set -x color_repo $green $colorfg
|
||||
set -x color_repo_work_tree $base02 $colorfg --bold
|
||||
set -x color_repo_dirty $red $colorfg
|
||||
set -x color_repo_staged $yellow $colorfg
|
||||
|
||||
set -x color_vi_mode_default $blue $colorfg --bold
|
||||
set -x color_vi_mode_insert $green $colorfg --bold
|
||||
set -x color_vi_mode_visual $yellow $colorfg --bold
|
||||
|
||||
set -x color_vagrant $violet $colorfg --bold
|
||||
set -x color_k8s $green $colorfg --bold
|
||||
set -x color_username $base02 $blue --bold
|
||||
set -x color_hostname $base02 $blue
|
||||
set -x color_rvm $red $colorfg --bold
|
||||
set -x color_virtualfish $cyan $colorfg --bold
|
||||
set -x color_virtualgo $cyan $colorfg --bold
|
||||
set -x color_desk $cyan $colorfg --bold
|
||||
|
||||
case 'light'
|
||||
# light medium dark
|
||||
# ------ ------ ------
|
||||
set -l red cc9999 ce000f 660000
|
||||
set -l green addc10 189303 0c4801
|
||||
set -l blue 48b4fb 005faf 255e87
|
||||
set -l orange f6b117 unused 3a2a03
|
||||
set -l brown bf5e00 803f00 4d2600
|
||||
set -l grey cccccc 999999 333333
|
||||
set -l white ffffff
|
||||
set -l black 000000
|
||||
set -l ruby_red af0000
|
||||
|
||||
set -x color_initial_segment_exit $grey[3] $red[2] --bold
|
||||
set -x color_initial_segment_su $grey[3] $green[2] --bold
|
||||
set -x color_initial_segment_jobs $grey[3] $blue[3] --bold
|
||||
|
||||
set -x color_path $grey[1] $grey[2]
|
||||
set -x color_path_basename $grey[1] $grey[3] --bold
|
||||
set -x color_path_nowrite $red[1] $red[3]
|
||||
set -x color_path_nowrite_basename $red[1] $red[3] --bold
|
||||
|
||||
set -x color_repo $green[1] $green[3]
|
||||
set -x color_repo_work_tree $grey[1] $white --bold
|
||||
set -x color_repo_dirty $red[2] $white
|
||||
set -x color_repo_staged $orange[1] $orange[3]
|
||||
|
||||
set -x color_vi_mode_default $grey[2] $grey[3] --bold
|
||||
set -x color_vi_mode_insert $green[2] $grey[3] --bold
|
||||
set -x color_vi_mode_visual $orange[1] $orange[3] --bold
|
||||
|
||||
set -x color_vagrant $blue[1] $white --bold
|
||||
set -x color_k8s $green[1] $colorfg --bold
|
||||
set -x color_username $grey[1] $blue[3] --bold
|
||||
set -x color_hostname $grey[1] $blue[3]
|
||||
set -x color_rvm $ruby_red $grey[1] --bold
|
||||
set -x color_virtualfish $blue[2] $grey[1] --bold
|
||||
set -x color_virtualgo $blue[2] $grey[1] --bold
|
||||
set -x color_desk $blue[2] $grey[1] --bold
|
||||
|
||||
case 'gruvbox'
|
||||
# light medium dark darkest
|
||||
# ------ ------ ------ -------
|
||||
set -l red fb4934 cc241d
|
||||
set -l green b8bb26 98971a
|
||||
set -l yellow fabd2f d79921
|
||||
set -l aqua 8ec07c 689d6a
|
||||
set -l blue 83a598 458588
|
||||
set -l grey cccccc 999999 333333
|
||||
set -l fg fbf1c7 ebdbb2 d5c4a1 a89984
|
||||
set -l bg 504945 282828
|
||||
|
||||
set -x color_initial_segment_exit $fg[1] $red[2] --bold
|
||||
set -x color_initial_segment_su $fg[1] $green[2] --bold
|
||||
set -x color_initial_segment_jobs $fg[1] $aqua[2] --bold
|
||||
|
||||
set -x color_path $bg[1] $fg[2]
|
||||
set -x color_path_basename $bg[1] $fg[2] --bold
|
||||
set -x color_path_nowrite $red[1] $fg[2]
|
||||
set -x color_path_nowrite_basename $red[1] $fg[2] --bold
|
||||
|
||||
set -x color_repo $green[2] $bg[1]
|
||||
set -x color_repo_work_tree $bg[1] $fg[2] --bold
|
||||
set -x color_repo_dirty $red[2] $fg[2]
|
||||
set -x color_repo_staged $yellow[1] $bg[1]
|
||||
|
||||
set -x color_vi_mode_default $fg[4] $bg[2] --bold
|
||||
set -x color_vi_mode_insert $blue[1] $bg[2] --bold
|
||||
set -x color_vi_mode_visual $yellow[1] $bg[2] --bold
|
||||
|
||||
set -x color_vagrant $blue[2] $fg[2] --bold
|
||||
set -x color_k8s $green[2] $fg[2] --bold
|
||||
set -x color_username $fg[3] $blue[2] --bold
|
||||
set -x color_hostname $fg[3] $blue[2]
|
||||
set -x color_rvm $red[2] $fg[2] --bold
|
||||
set -x color_virtualfish $blue[2] $fg[2] --bold
|
||||
set -x color_virtualgo $blue[2] $fg[2] --bold
|
||||
set -x color_desk $blue[2] $fg[2] --bold
|
||||
|
||||
case '*' # default dark theme
|
||||
# light medium dark
|
||||
# ------ ------ ------
|
||||
set -l red cc9999 ce000f 660000
|
||||
set -l green addc10 189303 0c4801
|
||||
set -l blue 48b4fb 005faf 255e87
|
||||
set -l orange f6b117 unused 3a2a03
|
||||
set -l brown bf5e00 803f00 4d2600
|
||||
set -l grey cccccc 999999 333333
|
||||
set -l white ffffff
|
||||
set -l black 000000
|
||||
set -l ruby_red af0000
|
||||
set -l go_blue 00d7d7
|
||||
|
||||
set -x color_initial_segment_exit $white $red[2] --bold
|
||||
set -x color_initial_segment_su $white $green[2] --bold
|
||||
set -x color_initial_segment_jobs $white $blue[3] --bold
|
||||
|
||||
set -x color_path $grey[3] $grey[2]
|
||||
set -x color_path_basename $grey[3] $white --bold
|
||||
set -x color_path_nowrite $red[3] $red[1]
|
||||
set -x color_path_nowrite_basename $red[3] $red[1] --bold
|
||||
|
||||
set -x color_repo $green[1] $green[3]
|
||||
set -x color_repo_work_tree $grey[3] $white --bold
|
||||
set -x color_repo_dirty $red[2] $white
|
||||
set -x color_repo_staged $orange[1] $orange[3]
|
||||
|
||||
set -x color_vi_mode_default $grey[2] $grey[3] --bold
|
||||
set -x color_vi_mode_insert $green[2] $grey[3] --bold
|
||||
set -x color_vi_mode_visual $orange[1] $orange[3] --bold
|
||||
|
||||
set -x color_vagrant $blue[1] $white --bold
|
||||
set -x color_k8s $green[2] $white --bold
|
||||
set -x color_username $grey[1] $blue[3] --bold
|
||||
set -x color_hostname $grey[1] $blue[3]
|
||||
set -x color_rvm $ruby_red $grey[1] --bold
|
||||
set -x color_virtualfish $blue[2] $grey[1] --bold
|
||||
set -x color_virtualgo $go_blue $black --bold
|
||||
set -x color_desk $blue[2] $grey[1] --bold
|
||||
end
|
||||
end
|
||||
|
||||
function __bobthefish_user_color_scheme_deprecated
|
||||
set -q __color_initial_segment_exit; or set -l __color_initial_segment_exit ffffff ce000f --bold
|
||||
set -q __color_initial_segment_su; or set -l __color_initial_segment_su ffffff 189303 --bold
|
||||
set -q __color_initial_segment_jobs; or set -l __color_initial_segment_jobs ffffff 255e87 --bold
|
||||
set -q __color_path; or set -l __color_path 333333 999999
|
||||
set -q __color_path_basename; or set -l __color_path_basename 333333 ffffff --bold
|
||||
set -q __color_path_nowrite; or set -l __color_path_nowrite 660000 cc9999
|
||||
set -q __color_path_nowrite_basename; or set -l __color_path_nowrite_basename 660000 cc9999 --bold
|
||||
set -q __color_repo; or set -l __color_repo addc10 0c4801
|
||||
set -q __color_repo_work_tree; or set -l __color_repo_work_tree 333333 ffffff --bold
|
||||
set -q __color_repo_dirty; or set -l __color_repo_dirty ce000f ffffff
|
||||
set -q __color_repo_staged; or set -l __color_repo_staged f6b117 3a2a03
|
||||
set -q __color_vi_mode_default; or set -l __color_vi_mode_default 999999 333333 --bold
|
||||
set -q __color_vi_mode_insert; or set -l __color_vi_mode_insert 189303 333333 --bold
|
||||
set -q __color_vi_mode_visual; or set -l __color_vi_mode_visual f6b117 3a2a03 --bold
|
||||
set -q __color_vagrant; or set -l __color_vagrant 48b4fb ffffff --bold
|
||||
set -q __color_username; or set -l __color_username cccccc 255e87 --bold
|
||||
set -q __color_hostname; or set -l __color_hostname cccccc 255e87
|
||||
set -q __color_rvm; or set -l __color_rvm af0000 cccccc --bold
|
||||
set -q __color_virtualfish; or set -l __color_virtualfish 005faf cccccc --bold
|
||||
set -q __color_virtualgo; or set -l __color_virtualgo 005faf cccccc --bold
|
||||
set -q __color_desk; or set -l __color_desk 005faf cccccc --bold
|
||||
|
||||
set_color black -b red --bold
|
||||
echo "The 'user' color scheme is deprecated."
|
||||
set_color normal
|
||||
set_color black -b red
|
||||
echo "To define a custom color scheme, create a 'bobthefish_colors' function:"
|
||||
set_color normal
|
||||
echo
|
||||
|
||||
echo "function bobthefish_colors -S -d 'Define a custom bobthefish color scheme'
|
||||
|
||||
# optionally include a base color scheme...
|
||||
___bobthefish_colors default
|
||||
|
||||
# then override everything you want! note that these must be defined with `set -x`
|
||||
set -x color_initial_segment_exit $__color_initial_segment_exit
|
||||
set -x color_initial_segment_su $__color_initial_segment_su
|
||||
set -x color_initial_segment_jobs $__color_initial_segment_jobs
|
||||
set -x color_path $__color_path
|
||||
set -x color_path_basename $__color_path_basename
|
||||
set -x color_path_nowrite $__color_path_nowrite
|
||||
set -x color_path_nowrite_basename $__color_path_nowrite_basename
|
||||
set -x color_repo $__color_repo
|
||||
set -x color_repo_work_tree $__color_repo_work_tree
|
||||
set -x color_repo_dirty $__color_repo_dirty
|
||||
set -x color_repo_staged $__color_repo_staged
|
||||
set -x color_vi_mode_default $__color_vi_mode_default
|
||||
set -x color_vi_mode_insert $__color_vi_mode_insert
|
||||
set -x color_vi_mode_visual $__color_vi_mode_visual
|
||||
set -x color_vagrant $__color_vagrant
|
||||
set -x color_username $__color_username
|
||||
set -x color_hostname $__color_hostname
|
||||
set -x color_rvm $__color_rvm
|
||||
set -x color_virtualfish $__color_virtualfish
|
||||
set -x color_virtualgo $__color_virtualgo
|
||||
set -x color_desk $__color_desk
|
||||
end"
|
||||
|
||||
echo
|
||||
end
|
3
functions/__bobthefish_display_colors.fish
Normal file
3
functions/__bobthefish_display_colors.fish
Normal file
@ -0,0 +1,3 @@
|
||||
function __bobthefish_display_colors -d 'Print example prompts using the current color scheme'
|
||||
bobthefish_display_colors
|
||||
end
|
89
functions/__bobthefish_glyphs.fish
Normal file
89
functions/__bobthefish_glyphs.fish
Normal file
@ -0,0 +1,89 @@
|
||||
function __bobthefish_glyphs -S -d 'Define glyphs used by bobthefish'
|
||||
# Powerline glyphs
|
||||
set -x branch_glyph \uE0A0
|
||||
set -x right_black_arrow_glyph \uE0B0
|
||||
set -x right_arrow_glyph \uE0B1
|
||||
set -x left_black_arrow_glyph \uE0B2
|
||||
set -x left_arrow_glyph \uE0B3
|
||||
|
||||
# Additional glyphs
|
||||
set -x detached_glyph \u27A6
|
||||
set -x tag_glyph \u2302
|
||||
set -x nonzero_exit_glyph '! '
|
||||
set -x superuser_glyph '$ '
|
||||
set -x bg_job_glyph '% '
|
||||
set -x hg_glyph \u263F
|
||||
|
||||
# Python glyphs
|
||||
set -x superscript_glyph \u00B9 \u00B2 \u00B3
|
||||
set -x virtualenv_glyph \u25F0
|
||||
set -x pypy_glyph \u1D56
|
||||
|
||||
set -x ruby_glyph ''
|
||||
set -x go_glyph ''
|
||||
|
||||
# Desk glyphs
|
||||
set -x desk_glyph \u25F2
|
||||
|
||||
# Vagrant glyphs
|
||||
set -x vagrant_running_glyph \u2191 # ↑ 'running'
|
||||
set -x vagrant_poweroff_glyph \u2193 # ↓ 'poweroff'
|
||||
set -x vagrant_aborted_glyph \u2715 # ✕ 'aborted'
|
||||
set -x vagrant_saved_glyph \u21E1 # ⇡ 'saved'
|
||||
set -x vagrant_stopping_glyph \u21E3 # ⇣ 'stopping'
|
||||
set -x vagrant_unknown_glyph '!' # strange cases
|
||||
|
||||
# Git glyphs
|
||||
set -x git_dirty_glyph '*'
|
||||
set -x git_staged_glyph '~'
|
||||
set -x git_stashed_glyph '$'
|
||||
set -x git_untracked_glyph '…'
|
||||
set -x git_ahead_glyph \u2191 # '↑'
|
||||
set -x git_behind_glyph \u2193 # '↓'
|
||||
set -x git_plus_glyph '+'
|
||||
set -x git_minus_glyph '-'
|
||||
set -x git_plus_minus_glyph '±'
|
||||
|
||||
# Disable Powerline fonts
|
||||
if [ "$theme_powerline_fonts" = "no" ]
|
||||
set branch_glyph \u2387
|
||||
set right_black_arrow_glyph ''
|
||||
set right_arrow_glyph ''
|
||||
set left_black_arrow_glyph ''
|
||||
set left_arrow_glyph ''
|
||||
end
|
||||
|
||||
# Use prettier Nerd Fonts glyphs
|
||||
if [ "$theme_nerd_fonts" = "yes" ]
|
||||
set branch_glyph \uF418
|
||||
set detached_glyph \uF417
|
||||
set tag_glyph \uF412
|
||||
|
||||
set virtualenv_glyph \uE73C ' '
|
||||
set ruby_glyph \uE791 ' '
|
||||
set go_glyph \uE626 ' '
|
||||
|
||||
set vagrant_running_glyph \uF431 # ↑ 'running'
|
||||
set vagrant_poweroff_glyph \uF433 # ↓ 'poweroff'
|
||||
set vagrant_aborted_glyph \uF468 # ✕ 'aborted'
|
||||
set vagrant_unknown_glyph \uF421 # strange cases
|
||||
|
||||
set git_dirty_glyph \uF448 '' # nf-oct-pencil
|
||||
set git_staged_glyph \uF0C7 '' # nf-fa-save
|
||||
set git_stashed_glyph \uF0C6 '' # nf-fa-paperclip
|
||||
set git_untracked_glyph \uF128 '' # nf-fa-question
|
||||
# set git_untracked_glyph \uF141 '' # nf-fa-ellipsis_h
|
||||
|
||||
set git_ahead_glyph \uF47B # nf-oct-chevron_up
|
||||
set git_behind_glyph \uF47C # nf-oct-chevron_down
|
||||
|
||||
set git_plus_glyph \uF0DE # fa-sort-asc
|
||||
set git_minus_glyph \uF0DD # fa-sort-desc
|
||||
set git_plus_minus_glyph \uF0DC # fa-sort
|
||||
end
|
||||
|
||||
# Avoid ambiguous glyphs
|
||||
if [ "$theme_avoid_ambiguous_glyphs" = "yes" ]
|
||||
set git_untracked_glyph '...'
|
||||
end
|
||||
end
|
132
functions/bobthefish_display_colors.fish
Normal file
132
functions/bobthefish_display_colors.fish
Normal file
@ -0,0 +1,132 @@
|
||||
function bobthefish_display_colors -a color_scheme -d 'Print example prompt color schemes'
|
||||
|
||||
set -l color_schemes default light \
|
||||
solarized solarized-light \
|
||||
base16 base16-light \
|
||||
gruvbox zenburn \
|
||||
terminal terminal-dark-white \
|
||||
terminal-light terminal-light-black \
|
||||
terminal2 terminal2-dark-white \
|
||||
terminal2-light terminal2-light-black
|
||||
|
||||
switch "$color_scheme"
|
||||
case '--all'
|
||||
for scheme in $color_schemes
|
||||
echo
|
||||
echo "$scheme:"
|
||||
bobthefish_display_colors $scheme
|
||||
end
|
||||
return
|
||||
|
||||
case $color_schemes
|
||||
__bobthefish_colors $color_scheme
|
||||
|
||||
case ''
|
||||
__bobthefish_colors $theme_color_scheme
|
||||
type -q bobthefish_colors
|
||||
and bobthefish_colors
|
||||
|
||||
case '*'
|
||||
echo 'usage: bobthefish_display_colors [--all] [color_scheme]'
|
||||
return
|
||||
end
|
||||
|
||||
__bobthefish_glyphs
|
||||
|
||||
echo
|
||||
set_color normal
|
||||
|
||||
__bobthefish_start_segment $color_initial_segment_exit
|
||||
echo -n exit '! '
|
||||
set_color -b $color_initial_segment_su
|
||||
echo -n su '$ '
|
||||
set_color -b $color_initial_segment_jobs
|
||||
echo -n jobs '% '
|
||||
__bobthefish_finish_segments
|
||||
set_color normal
|
||||
echo -n "(<- initial_segment)"
|
||||
echo
|
||||
|
||||
__bobthefish_start_segment $color_path
|
||||
echo -n /color/path/
|
||||
set_color -b $color_path_basename
|
||||
echo -ns basename ' '
|
||||
__bobthefish_finish_segments
|
||||
echo
|
||||
|
||||
__bobthefish_start_segment $color_path_nowrite
|
||||
echo -n /color/path/nowrite/
|
||||
set_color -b $color_path_nowrite_basename
|
||||
echo -ns basename ' '
|
||||
__bobthefish_finish_segments
|
||||
echo
|
||||
|
||||
__bobthefish_start_segment $color_path
|
||||
echo -n /color/path/
|
||||
set_color -b $color_path_basename
|
||||
echo -ns basename ' '
|
||||
__bobthefish_start_segment $color_repo
|
||||
echo -n "$branch_glyph repo $git_stashed_glyph "
|
||||
__bobthefish_finish_segments
|
||||
echo
|
||||
|
||||
__bobthefish_start_segment $color_path
|
||||
echo -n /color/path/
|
||||
set_color -b $color_path_basename
|
||||
echo -ns basename ' '
|
||||
__bobthefish_start_segment $color_repo_dirty
|
||||
echo -n "$tag_glyph repo_dirty $git_dirty_glyph "
|
||||
__bobthefish_finish_segments
|
||||
echo
|
||||
|
||||
__bobthefish_start_segment $color_path
|
||||
echo -n /color/path/
|
||||
set_color -b $color_path_basename
|
||||
echo -ns basename ' '
|
||||
__bobthefish_start_segment $color_repo_staged
|
||||
echo -n "$detached_glyph repo_staged $git_staged_glyph "
|
||||
__bobthefish_finish_segments
|
||||
echo
|
||||
|
||||
__bobthefish_start_segment $color_vi_mode_default
|
||||
echo -ns vi_mode_default ' '
|
||||
__bobthefish_finish_segments
|
||||
__bobthefish_start_segment $color_vi_mode_insert
|
||||
echo -ns vi_mode_insert ' '
|
||||
__bobthefish_finish_segments
|
||||
__bobthefish_start_segment $color_vi_mode_visual
|
||||
echo -ns vi_mode_visual ' '
|
||||
__bobthefish_finish_segments
|
||||
echo
|
||||
|
||||
__bobthefish_start_segment $color_vagrant
|
||||
echo -ns $vagrant_running_glyph ' ' vagrant ' '
|
||||
__bobthefish_finish_segments
|
||||
echo
|
||||
|
||||
__bobthefish_start_segment $color_username
|
||||
echo -n username
|
||||
set_color normal
|
||||
set_color -b $color_hostname[1] $color_hostname[2..-1]
|
||||
echo -ns @hostname ' '
|
||||
__bobthefish_finish_segments
|
||||
echo
|
||||
|
||||
__bobthefish_start_segment $color_rvm
|
||||
echo -ns $ruby_glyph rvm ' '
|
||||
__bobthefish_finish_segments
|
||||
|
||||
__bobthefish_start_segment $color_virtualfish
|
||||
echo -ns $virtualenv_glyph virtualfish ' '
|
||||
__bobthefish_finish_segments
|
||||
|
||||
__bobthefish_start_segment $color_virtualgo
|
||||
echo -ns $go_glyph virtualgo ' '
|
||||
__bobthefish_finish_segments
|
||||
|
||||
__bobthefish_start_segment $color_desk
|
||||
echo -ns $desk_glyph desk ' '
|
||||
__bobthefish_finish_segments
|
||||
|
||||
echo -e "\n"
|
||||
end
|
Loading…
Reference in New Issue
Block a user