diff --git a/dotfiles/.config/fish/conf.d/virtualfish-loader.fish b/dotfiles/.config/fish/conf.d/virtualfish-loader.fish index 55a67fd..99e8d9c 100644 --- a/dotfiles/.config/fish/conf.d/virtualfish-loader.fish +++ b/dotfiles/.config/fish/conf.d/virtualfish-loader.fish @@ -1,5 +1,4 @@ -set -g VIRTUALFISH_VERSION 2.3.0 +set -g VIRTUALFISH_VERSION 2.5.0 set -g VIRTUALFISH_PYTHON_EXEC /usr/bin/python3 -source /home/ygg/.local/lib/python3.8/site-packages/virtualfish/virtual.fish -source /home/ygg/.local/lib/python3.8/site-packages/virtualfish/auto_activation.fish +source /home/shawn/.local/lib/python3.8/site-packages/virtualfish/virtual.fish emit virtualfish_did_setup_plugins \ No newline at end of file diff --git a/dotfiles/.config/fish/functions/fish_prompt.fish b/dotfiles/.config/fish/functions/fish_prompt.fish index bf6673c..fece7fd 120000 --- a/dotfiles/.config/fish/functions/fish_prompt.fish +++ b/dotfiles/.config/fish/functions/fish_prompt.fish @@ -1 +1 @@ -/home/ygg/.local/share/omf/themes/gentoo/fish_prompt.fish \ No newline at end of file +/home/shawn/.local/share/omf/themes/gentoo/fish_prompt.fish \ No newline at end of file diff --git a/dotfiles/.config/fish/functions/fzf_key_bindings.fish b/dotfiles/.config/fish/functions/fzf_key_bindings.fish index 9b2065e..9acc18e 120000 --- a/dotfiles/.config/fish/functions/fzf_key_bindings.fish +++ b/dotfiles/.config/fish/functions/fzf_key_bindings.fish @@ -1 +1 @@ -/home/ygg/.fzf/shell/key-bindings.fish \ No newline at end of file +/home/shawn/.fzf/shell/key-bindings.fish \ No newline at end of file diff --git a/dotfiles/.config/omf/bundle b/dotfiles/.config/omf/bundle deleted file mode 100644 index 98658fe..0000000 --- a/dotfiles/.config/omf/bundle +++ /dev/null @@ -1,24 +0,0 @@ -package argu -package bass -package config -package expand -package marlin -package spark -package vcs -package weather -theme agnoster -theme aight -theme ays -theme bira -theme bobthefish -theme coffeeandcode -theme default -theme doughsay -theme es -theme gentoo -theme gitstatus -theme gnuykeaj -theme godfather -theme pie -theme rider -theme sushi diff --git a/dotfiles/.config/omf/channel b/dotfiles/.config/omf/channel deleted file mode 100644 index 2bf5ad0..0000000 --- a/dotfiles/.config/omf/channel +++ /dev/null @@ -1 +0,0 @@ -stable diff --git a/dotfiles/.config/omf/theme b/dotfiles/.config/omf/theme deleted file mode 100644 index 23574f3..0000000 --- a/dotfiles/.config/omf/theme +++ /dev/null @@ -1 +0,0 @@ -gentoo diff --git a/dotfiles/.config/omf/weather/api-key b/dotfiles/.config/omf/weather/api-key deleted file mode 100644 index b8c04c8..0000000 --- a/dotfiles/.config/omf/weather/api-key +++ /dev/null @@ -1 +0,0 @@ -34da4a18e8fdacda2ce10061f1cd6340 \ No newline at end of file diff --git a/dotfiles/.config/omf/weather/cache-age b/dotfiles/.config/omf/weather/cache-age deleted file mode 100644 index 8580e7b..0000000 --- a/dotfiles/.config/omf/weather/cache-age +++ /dev/null @@ -1 +0,0 @@ -30 \ No newline at end of file diff --git a/dotfiles/.config/omf/weather/temperature-units b/dotfiles/.config/omf/weather/temperature-units deleted file mode 100644 index 331d858..0000000 --- a/dotfiles/.config/omf/weather/temperature-units +++ /dev/null @@ -1 +0,0 @@ -default \ No newline at end of file diff --git a/dotfiles/.config/tmux/plugins.tmux b/dotfiles/.config/tmux/plugins.tmux index dda7d34..9c8e485 100644 --- a/dotfiles/.config/tmux/plugins.tmux +++ b/dotfiles/.config/tmux/plugins.tmux @@ -1,45 +1,22 @@ -# Powerline -# run-shell "powerline-daemon -q" -# source "$/home/shawn/.config/powerline/themes/tmux///tmux/powerline.conf" -# set -g status-right '' - -set -g @tmux_power_theme '#483D8B' # dark slate blue -#set -g @tmux_power_date_icon ' ' # set it to a blank will disable the icon -set -g @tmux_power_time_icon '🕘' # emoji can be used if your terminal supports -set -g @tmux_power_user_icon '🍄' -#set -g @tmux_power_session_icon 'S' -#set -g @tmux_power_upload_speed_icon '↑' -#set -g @tmux_power_download_speed_icon '↓' -#set -g @tmux_power_left_arrow_icon '<' -#set -g @tmux_power_right_arrow_icon '>' - # List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' -# Nord -# set -g @plugin "arcticicestudio/nord-tmux" -# run-shell "~/.config/serious-tmux/serious/plugins/nord-tmux/nord.tmux" - # Tmux Power -set -g @tmux_power_theme 'default' set -g @plugin 'wfxr/tmux-power' +set -g @tmux_power_theme 'sky' # dark slate blue +set -g @tmux_power_date_icon '🎄' # set it to a blank will disable the icon +set -g @tmux_power_time_icon '🕘' # emoji can be used if your terminal supports +set -g @tmux_power_user_icon '🍄' +set -g @tmux_power_session_icon '' +set -g @tmux_power_upload_speed_icon '' +set -g @tmux_power_download_speed_icon '' +set -g @tmux_power_left_arrow_icon '' +set -g @tmux_power_right_arrow_icon '' # Prefix Highlight set -g @plugin 'tmux-plugins/tmux-prefix-highlight' set -ag status-right "#{prefix_highlight}" -# Save state -#set -g @plugin 'tmux-plugins/tmux-resurrect' -#set -g @plugin 'tmux-plugins/tmux-continuum' -#set -g @continuum-save-interval '15' -#set -g @continuum-restore 'off' -#set -g status-right 'Continuum status: #{continuum_status}' - -# Spotify -set -g @plugin 'pwittchen/tmux-plugin-spotify' -#{spotify_status_full}, #{spotify_status}, #{spotify_song}, #{spotify_artist}, #{spotify_album}, #{spotify_playback} -set -g status-right '#{spotify_status_full}' - # Initialize Plugins run -b "~/.config/tmux/plugins/tpm/tpm" diff --git a/dotfiles/.local/share/fonts/.uuid b/dotfiles/.local/share/fonts/.uuid new file mode 100644 index 0000000..314d482 --- /dev/null +++ b/dotfiles/.local/share/fonts/.uuid @@ -0,0 +1 @@ +d8107e16-2500-41a4-8fce-7fd448b02e43 \ No newline at end of file diff --git a/dotfiles/.local/share/fonts/Hack Regular Nerd Font Complete.ttf b/dotfiles/.local/share/fonts/Hack Regular Nerd Font Complete.ttf new file mode 100644 index 0000000..d770b83 Binary files /dev/null and b/dotfiles/.local/share/fonts/Hack Regular Nerd Font Complete.ttf differ diff --git a/dotfiles/.local/share/fonts/ttf/.uuid b/dotfiles/.local/share/fonts/ttf/.uuid new file mode 100644 index 0000000..7092526 --- /dev/null +++ b/dotfiles/.local/share/fonts/ttf/.uuid @@ -0,0 +1 @@ +608521f3-443f-428e-abbd-c8215e77574c \ No newline at end of file diff --git a/dotfiles/.local/share/fonts/ttf/Hack-Bold.ttf b/dotfiles/.local/share/fonts/ttf/Hack-Bold.ttf new file mode 100644 index 0000000..7ff4975 Binary files /dev/null and b/dotfiles/.local/share/fonts/ttf/Hack-Bold.ttf differ diff --git a/dotfiles/.local/share/fonts/ttf/Hack-BoldItalic.ttf b/dotfiles/.local/share/fonts/ttf/Hack-BoldItalic.ttf new file mode 100644 index 0000000..3b137d9 Binary files /dev/null and b/dotfiles/.local/share/fonts/ttf/Hack-BoldItalic.ttf differ diff --git a/dotfiles/.local/share/fonts/ttf/Hack-Italic.ttf b/dotfiles/.local/share/fonts/ttf/Hack-Italic.ttf new file mode 100644 index 0000000..d26198a Binary files /dev/null and b/dotfiles/.local/share/fonts/ttf/Hack-Italic.ttf differ diff --git a/dotfiles/.local/share/fonts/ttf/Hack-Regular.ttf b/dotfiles/.local/share/fonts/ttf/Hack-Regular.ttf new file mode 100644 index 0000000..92a90cb Binary files /dev/null and b/dotfiles/.local/share/fonts/ttf/Hack-Regular.ttf differ diff --git a/dotfiles/.local/share/omf/themes/serious/LICENSE b/dotfiles/.local/share/omf/themes/serious/LICENSE deleted file mode 100644 index a439b2e..0000000 --- a/dotfiles/.local/share/omf/themes/serious/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Bruno Ferreira Pinto - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/dotfiles/.local/share/omf/themes/serious/README.md b/dotfiles/.local/share/omf/themes/serious/README.md deleted file mode 100644 index ecdce96..0000000 --- a/dotfiles/.local/share/omf/themes/serious/README.md +++ /dev/null @@ -1,35 +0,0 @@ -## agnoster - -A fish theme optimized for people who use: - -* Solarized -* Git -* Mercurial (requires 'hg prompt') -* SVN -* Unicode-compatible fonts and terminals (Use a Powerline patched font, e.g., from here: https://github.com/powerline/fonts) -* Fish Vi-mode - -For Mac users, I highly recommend iTerm 2 + Solarized Dark - -![agnoster theme](https://f.cloud.github.com/assets/1765209/255379/452c668e-8c0b-11e2-8a8e-d1d13e57d15f.png) - - -#### Characteristics - -* If the previous command failed (✘) -- If private mode is enabled (🔒) -* User @ Hostname (if user is not DEFAULT_USER, which can be set in your profile) -* Git/HG/SVN status -* Branch () or detached head (➦) -* Current branch / SHA1 in detached head state -* Dirty working directory (±, color change) - * By default, git repos will show as dirty if there are untracked files. This can be changed by adding `set -g fish_git_prompt_untracked_files no` to your `config.fish`. This value is passed into `git status --untracked-files`, so any value git supports is valid for this command -* Current working directory -* Elevated (root) privileges (⚡) -* Current virtual environment (Python virtualenv and Nix Shell) -You will probably want to disable the default virtualenv prompt. Add to your [`init.fish`](https://github.com/oh-my-fish/oh-my-fish#dotfiles): -`set -gx VIRTUAL_ENV_DISABLE_PROMPT 1` -* Indicate vi mode. -* Source control blacklist. To disable source control prompts in certain directories, you can add the following to your `init.fish` or `config.fish`: `set -g scm_prompt_blacklist "/path/to/blacklist"`. - -Ported from https://gist.github.com/agnoster/3712874. diff --git a/dotfiles/.local/share/omf/themes/serious/fish_mode_prompt.fish b/dotfiles/.local/share/omf/themes/serious/fish_mode_prompt.fish deleted file mode 100644 index e3df11f..0000000 --- a/dotfiles/.local/share/omf/themes/serious/fish_mode_prompt.fish +++ /dev/null @@ -1,3 +0,0 @@ -# Redefine fish_mode_prompt function as empty to hide fish-shell mode indicator -function fish_mode_prompt -end diff --git a/dotfiles/.local/share/omf/themes/serious/fish_prompt.fish b/dotfiles/.local/share/omf/themes/serious/fish_prompt.fish deleted file mode 100644 index a24628a..0000000 --- a/dotfiles/.local/share/omf/themes/serious/fish_prompt.fish +++ /dev/null @@ -1,304 +0,0 @@ -# name: Agnoster -# agnoster's Theme - https://gist.github.com/3712874 -# A Powerline-inspired theme for FISH -# -# # README -# -# In order for this theme to render correctly, you will need a -# [Powerline-patched font](https://gist.github.com/1595572). - -## Set this options in your config.fish (if you want to :]) -# set -g theme_display_user yes -# set -g theme_hide_hostname yes -# set -g theme_hide_hostname no -# set -g default_user your_normal_user - - - -set -g current_bg NONE -set segment_separator \uE0B0 -set right_segment_separator \uE0B0 -set -q scm_prompt_blacklist; or set scm_prompt_blacklist - -# =========================== -# Color setting - -# You can set these variables in config.fish like: -# set -g color_dir_bg red -# If not set, default color from agnoster will be used. -# =========================== - -set -q color_virtual_env_bg; or set color_virtual_env_bg white -set -q color_virtual_env_str; or set color_virtual_env_str black -set -q color_user_bg; or set color_user_bg black -set -q color_user_str; or set color_user_str yellow -set -q color_dir_bg; or set color_dir_bg blue -set -q color_dir_str; or set color_dir_str black -set -q color_hg_changed_bg; or set color_hg_changed_bg yellow -set -q color_hg_changed_str; or set color_hg_changed_str black -set -q color_hg_bg; or set color_hg_bg green -set -q color_hg_str; or set color_hg_str black -set -q color_git_dirty_bg; or set color_git_dirty_bg yellow -set -q color_git_dirty_str; or set color_git_dirty_str black -set -q color_git_bg; or set color_git_bg green -set -q color_git_str; or set color_git_str black -set -q color_svn_bg; or set color_svn_bg green -set -q color_svn_str; or set color_svn_str black -set -q color_status_nonzero_bg; or set color_status_nonzero_bg black -set -q color_status_nonzero_str; or set color_status_nonzero_str red -set -q color_status_superuser_bg; or set color_status_superuser_bg black -set -q color_status_superuser_str; or set color_status_superuser_str yellow -set -q color_status_jobs_bg; or set color_status_jobs_bg black -set -q color_status_jobs_str; or set color_status_jobs_str cyan -set -q color_status_private_bg; or set color_status_private_bg black -set -q color_status_private_str; or set color_status_private_str purple - -# =========================== -# Git settings -# set -g color_dir_bg red - -set -q fish_git_prompt_untracked_files; or set fish_git_prompt_untracked_files normal - - -# =========================== -# Helper methods -# =========================== - -set -g __fish_git_prompt_showdirtystate 'yes' -set -g __fish_git_prompt_char_dirtystate '±' -set -g __fish_git_prompt_char_cleanstate '' - -function parse_git_dirty - if [ $__fish_git_prompt_showdirtystate = "yes" ] - set -l submodule_syntax - set submodule_syntax "--ignore-submodules=dirty" - set untracked_syntax "--untracked-files=$fish_git_prompt_untracked_files" - set git_dirty (command git status --porcelain $submodule_syntax $untracked_syntax 2> /dev/null) - if [ -n "$git_dirty" ] - echo -n "$__fish_git_prompt_char_dirtystate" - else - echo -n "$__fish_git_prompt_char_cleanstate" - end - end -end - -function cwd_in_scm_blacklist - for entry in $scm_prompt_blacklist - pwd | grep "^$entry" - - end -end - -# =========================== -# Segments functions -# =========================== - -function prompt_segment -d "Function to draw a segment" - set -l bg - set -l fg - if [ -n "$argv[1]" ] - set bg $argv[1] - else - set bg normal - end - if [ -n "$argv[2]" ] - set fg $argv[2] - else - set fg normal - end - if [ "$current_bg" != 'NONE' -a "$argv[1]" != "$current_bg" ] - set_color -b $bg - set_color $current_bg - echo -n "$segment_separator " - set_color -b $bg - set_color $fg - else - set_color -b $bg - set_color $fg - echo -n " " - end - set current_bg $argv[1] - if [ -n "$argv[3]" ] - echo -n -s $argv[3] " " - end -end - -function prompt_finish -d "Close open segments" - if [ -n $current_bg ] - set_color normal - set_color $current_bg - echo -n "$segment_separator " - set_color normal - end - set -g current_bg NONE -end - - -# =========================== -# Theme components -# =========================== - -function prompt_virtual_env -d "Display Python or Nix virtual environment" - set envs - - if test "$VIRTUAL_ENV" - set py_env (basename $VIRTUAL_ENV) - set envs $envs "🐍$py_env" - end - - if test "$IN_NIX_SHELL" - set envs $envs "nix[$IN_NIX_SHELL]" - end - - if test "$envs" - prompt_segment $color_virtual_env_bg $color_virtual_env_str (string join " " $envs) - end -end - -function prompt_user -d "Display current user if different from $default_user" - if [ "$theme_display_user" = "yes" ] - if [ "$USER" != "$default_user" -o -n "$SSH_CLIENT" ] - set USER (whoami) - get_hostname - if [ $HOSTNAME_PROMPT ] - set USER_PROMPT $USER@$HOSTNAME_PROMPT - else - set USER_PROMPT $USER - end - prompt_segment $color_user_bg $color_user_str $USER_PROMPT - end - else - get_hostname - if [ $HOSTNAME_PROMPT ] - prompt_segment $color_user_bg $color_user_str $HOSTNAME_PROMPT - end - end -end - -function get_hostname -d "Set current hostname to prompt variable $HOSTNAME_PROMPT if connected via SSH" - set -g HOSTNAME_PROMPT "" - if [ "$theme_hide_hostname" = "no" -o \( "$theme_hide_hostname" != "yes" -a -n "$SSH_CLIENT" \) ] - set -g HOSTNAME_PROMPT (uname -n) - end -end - -function prompt_dir -d "Display the current directory" - prompt_segment $color_dir_bg $color_dir_str (prompt_pwd) -end - - -function prompt_hg -d "Display mercurial state" - set -l branch - set -l state - if command hg id >/dev/null 2>&1 - set branch (command hg id -b) - # We use `hg bookmarks` as opposed to `hg id -B` because it marks - # currently active bookmark with an asterisk. We use `sed` to isolate it. - set bookmark (hg bookmarks | sed -nr 's/^.*\*\ +\b(\w*)\ +.*$/:\1/p') - set state (hg_get_state) - set revision (command hg id -n) - set branch_symbol \uE0A0 - set prompt_text "$branch_symbol $branch$bookmark:$revision" - if [ "$state" = "0" ] - prompt_segment $color_hg_changed_bg $color_hg_changed_str $prompt_text " ±" - else - prompt_segment $color_hg_bg $color_hg_str $prompt_text - end - end -end - -function hg_get_state -d "Get mercurial working directory state" - if hg status | grep --quiet -e "^[A|M|R|!|?]" - echo 0 - else - echo 1 - end -end - - -function prompt_git -d "Display the current git state" - set -l ref - set -l dirty - if command git rev-parse --is-inside-work-tree >/dev/null 2>&1 - set dirty (parse_git_dirty) - set ref (command git symbolic-ref HEAD 2> /dev/null) - if [ $status -gt 0 ] - set -l branch (command git show-ref --head -s --abbrev |head -n1 2> /dev/null) - set ref "➦ $branch " - end - set branch_symbol \uE0A0 - set -l branch (echo $ref | sed "s-refs/heads/-$branch_symbol -") - if [ "$dirty" != "" ] - prompt_segment $color_git_dirty_bg $color_git_dirty_str "$branch $dirty" - else - prompt_segment $color_git_bg $color_git_str "$branch $dirty" - end - end -end - - -function prompt_svn -d "Display the current svn state" - set -l ref - if command svn info >/dev/null 2>&1 - set branch (svn_get_branch) - set branch_symbol \uE0A0 - set revision (svn_get_revision) - prompt_segment $color_svn_bg $color_svn_str "$branch_symbol $branch:$revision" - end -end - -function svn_get_branch -d "get the current branch name" - svn info 2> /dev/null | awk -F/ \ - '/^URL:/ { \ - for (i=0; i<=NF; i++) { \ - if ($i == "branches" || $i == "tags" ) { \ - print $(i+1); \ - break;\ - }; \ - if ($i == "trunk") { print $i; break; } \ - } \ - }' -end - -function svn_get_revision -d "get the current revision number" - svn info 2> /dev/null | sed -n 's/Revision:\ //p' -end - - -function prompt_status -d "the symbols for a non zero exit status, root and background jobs" - if [ $RETVAL -ne 0 ] - prompt_segment $color_status_nonzero_bg $color_status_nonzero_str "✘" - end - - if [ "$fish_private_mode" ] - prompt_segment $color_status_private_bg $color_status_private_str "🔒" - end - - # if superuser (uid == 0) - set -l uid (id -u $USER) - if [ $uid -eq 0 ] - prompt_segment $color_status_superuser_bg $color_status_superuser_str "⚡" - end - - # Jobs display - if [ (jobs -l | wc -l) -gt 0 ] - prompt_segment $color_status_jobs_bg $color_status_jobs_str "⚙" - end -end - -# =========================== -# Apply theme -# =========================== - -function fish_prompt - set -g RETVAL $status - prompt_status - prompt_virtual_env - prompt_user - prompt_dir - if [ (cwd_in_scm_blacklist | wc -c) -eq 0 ] - type -q hg; and prompt_hg - type -q git; and prompt_git - type -q svn; and prompt_svn - end - prompt_finish -end diff --git a/dotfiles/.local/share/omf/themes/serious/fish_right_prompt.fish b/dotfiles/.local/share/omf/themes/serious/fish_right_prompt.fish deleted file mode 100644 index 5efddfe..0000000 --- a/dotfiles/.local/share/omf/themes/serious/fish_right_prompt.fish +++ /dev/null @@ -1,81 +0,0 @@ -# right prompt for agnoster theme -# shows vim mode status - -# =========================== -# Color setting - -# You can set these variables in config.fish like: -# set -g color_dir_bg red -# If not set, default color from agnoster will be used. -# =========================== -set -q color_vi_mode_indicator; or set color_vi_mode_indicator black -set -q color_vi_mode_normal; or set color_vi_mode_normal green -set -q color_vi_mode_insert; or set color_vi_mode_insert blue -set -q color_vi_mode_visual; or set color_vi_mode_visual red - - -# =========================== -# Cursor setting - -# You can set these variables in config.fish like: -# set -g cursor_vi_mode_insert bar_blinking -# =========================== -set -q cursor_vi_mode_normal; or set cursor_vi_mode_normal box_steady -set -q cursor_vi_mode_insert; or set cursor_vi_mode_insert bar_steady -set -q cursor_vi_mode_visual; or set cursor_vi_mode_visual box_steady - - -function fish_cursor_name_to_code -a cursor_name -d "Translate cursor name to a cursor code" - # these values taken from - # https://github.com/gnachman/iTerm2/blob/master/sources/VT100Terminal.m#L1646 - # Beginning with the statement "case VT100CSI_DECSCUSR:" - if [ $cursor_name = "box_blinking" ] - echo 1 - else if [ $cursor_name = "box_steady" ] - echo 2 - else if [ $cursor_name = "underline_blinking" ] - echo 3 - else if [ $cursor_name = "underline_steady" ] - echo 4 - else if [ $cursor_name = "bar_blinking" ] - echo 5 - else if [ $cursor_name = "bar_steady" ] - echo 6 - else - echo 2 - end -end - -function prompt_vi_mode -d 'vi mode status indicator' - set -l right_segment_separator \uE0B2 - switch $fish_bind_mode - case default - set -l mode (fish_cursor_name_to_code $cursor_vi_mode_normal) - echo -e "\e[\x3$mode q" - set_color $color_vi_mode_normal - echo "$right_segment_separator" - set_color -b $color_vi_mode_normal $color_vi_mode_indicator - echo " N " - case insert - set -l mode (fish_cursor_name_to_code $cursor_vi_mode_insert) - echo -e "\e[\x3$mode q" - set_color $color_vi_mode_insert - echo "$right_segment_separator" - set_color -b $color_vi_mode_insert $color_vi_mode_indicator - echo " I " - case visual - set -l mode (fish_cursor_name_to_code $cursor_vi_mode_visual) - echo -e "\e[\x3$mode q" - set_color $color_vi_mode_visual - echo "$right_segment_separator" - set_color -b $color_vi_mode_visual $color_vi_mode_indicator - echo " V " - end -end - -function fish_right_prompt -d 'Prints right prompt' - if test "$fish_key_bindings" = "fish_vi_key_bindings" - prompt_vi_mode - set_color normal - end -end