diff --git a/themes/budspencer/README.md b/themes/budspencer/README.md
index e426bb2c8cbefdc472c1864351b8049b560042e3..8d8938c29146bbc84f92a2bcba356cb2bcf51010 100644
--- a/themes/budspencer/README.md
+++ b/themes/budspencer/README.md
@@ -171,7 +171,8 @@ It makes the commandline as powerful as your editor. If `$EDITOR` is not set,
 vi is used.
 
 The following shortcut needs vi mode:
-- Type `.` in NORMAL mode to edit commandline in editor.
+- Type `.` in NORMAL mode or `\cv` in NORMAL/INSERT mode to edit commandline in
+  editor.
 
 ## Sessions
 
diff --git a/themes/budspencer/fish_greeting.fish b/themes/budspencer/fish_greeting.fish
index e2ef8cf3e4db8789953897f035f3ebb80c33e259..9c003530ec73cb4300f6f13d9ea82ed08215853f 100644
--- a/themes/budspencer/fish_greeting.fish
+++ b/themes/budspencer/fish_greeting.fish
@@ -27,8 +27,8 @@
 set -U budspencer_night 000000 083743 445659 fdf6e3 b58900 cb4b16 dc121f af005f 6c71c4 268bd2 2aa198 859900
 set -U budspencer_day 000000 333333 666666 ffffff ffff00 ff6600 ff0000 ff0033 3300ff 00aaff 00ffff 00ff00
 if not set -q budspencer_colors
-    # Values are: black dark_gray light_gray white yellow orange red magenta violet blue cyan green
-    set -U budspencer_colors $budspencer_night
+  # Values are: black dark_gray light_gray white yellow orange red magenta violet blue cyan green
+  set -U budspencer_colors $budspencer_night
 end
 
 # Cursor color changes according to vi-mode
@@ -38,7 +38,7 @@ set -U budspencer_cursors "\033]12;#$budspencer_colors[10]\007" "\033]12;#$budsp
 # Some terminals cannot change the cursor color
 set -l unsupported_terminals 'fbterm' 'st' 'linux' 'screen'
 if contains $TERM $unsupported_terminals
-    set budspencer_cursors '' '' '' ''
+  set budspencer_cursors '' '' '' ''
 end
 
 ###############################################################################
@@ -49,54 +49,54 @@ end
 # => Help
 #########
 function budspencer_help -d 'Show helpfile'
-    set -l readme_file "$fish_path/themes/budspencer/README.md"
-    if set -q PAGER
-        if [ -e $readme_file ]
-            eval $PAGER $readme_file
-        else
-            set_color $fish_color_error[1]
-            echo "$readme_file wasn't found."
-        end
-    else
-        open $readme_file
-    end
+  set -l readme_file "$fish_path/themes/budspencer/README.md"
+  if set -q PAGER
+    if [ -e $readme_file ]
+      eval $PAGER $readme_file
+      else
+        set_color $fish_color_error[1]
+        echo "$readme_file wasn't found."
+      end
+  else
+    open $readme_file
+  end
 end
 
 ################
 # => Environment
 ################
 function day -d "Set color palette for bright environment."
-    set budspencer_colors $budspencer_day
-    set budspencer_cursors "\033]12;#$budspencer_colors[10]\007" "\033]12;#$budspencer_colors[5]\007" "\033]12;#$budspencer_colors[8]\007" "\033]12;#$budspencer_colors[9]\007"
+  set budspencer_colors $budspencer_day
+  set budspencer_cursors "\033]12;#$budspencer_colors[10]\007" "\033]12;#$budspencer_colors[5]\007" "\033]12;#$budspencer_colors[8]\007" "\033]12;#$budspencer_colors[9]\007"
 end
 
 function night -d "Set color palette for dark environment."
-    set budspencer_colors $budspencer_night
-    set budspencer_cursors "\033]12;#$budspencer_colors[10]\007" "\033]12;#$budspencer_colors[5]\007" "\033]12;#$budspencer_colors[8]\007" "\033]12;#$budspencer_colors[9]\007"
+  set budspencer_colors $budspencer_night
+  set budspencer_cursors "\033]12;#$budspencer_colors[10]\007" "\033]12;#$budspencer_colors[5]\007" "\033]12;#$budspencer_colors[8]\007" "\033]12;#$budspencer_colors[9]\007"
 end
 
 #################
 # => Window title
 #################
 function wt -d 'Set window title'
-    set -g window_title $argv
-    function fish_title
-        echo -n $window_title
-    end
+  set -g window_title $argv
+  function fish_title
+    echo -n $window_title
+  end
 end
 
 ####################
 # => Welcome message
 ####################
 function fish_greeting -d 'Show greeting in login shell.'
-    if not set -q budspencer_nogreeting
-        if begin
-            not set -q -x LOGIN
-            and not set -q -x RANGER_LEVEL
-            and not set -q -x VIM
-        end
-            echo This is (set_color -b $budspencer_colors[2] $budspencer_colors[10])budspencer(set_color normal) theme for fish, a theme for the 70s.
-            echo Type (set_color -b $budspencer_colors[2] $budspencer_colors[6])»budspencer_help«(set_color normal) in order to see how you can speed up your workflow.
-        end
-    end
+  if not set -q budspencer_nogreeting
+    if begin
+      not set -q -x LOGIN
+      and not set -q -x RANGER_LEVEL
+      and not set -q -x VIM
+      end
+      echo This is (set_color -b $budspencer_colors[2] $budspencer_colors[10])budspencer(set_color normal) theme for fish, a theme for the 70s.
+      echo Type (set_color -b $budspencer_colors[2] $budspencer_colors[6])»budspencer_help«(set_color normal) in order to see how you can speed up your workflow.
+      end
+  end
 end
diff --git a/themes/budspencer/fish_prompt.fish b/themes/budspencer/fish_prompt.fish
index 1f0aff126472e819120ea4c186c420a639238bf7..8847cb98f7fe623e2aa77d3fc97a7f0f704bbaa6 100644
--- a/themes/budspencer/fish_prompt.fish
+++ b/themes/budspencer/fish_prompt.fish
@@ -32,17 +32,19 @@
 ###############################################################################
 
 if [ $fish_key_bindings = 'fish_vi_key_bindings' ]
-    bind '#' __budspencer_toggle_symbols
-    bind -M visual '#' __budspencer_toggle_symbols
-    bind ' ' __budspencer_toggle_pwd
-    bind -M visual ' ' __budspencer_toggle_pwd
-    bind L __budspencer_cd_next
-    bind H __budspencer_cd_prev
-    bind m mark
-    bind M unmark
-    bind . __budspencer_edit_comandline
-    bind -M insert \n __budspencer_preexec
-    bind \n __budspencer_preexec
+  bind '#' __budspencer_toggle_symbols
+  bind -M visual '#' __budspencer_toggle_symbols
+  bind ' ' __budspencer_toggle_pwd
+  bind -M visual ' ' __budspencer_toggle_pwd
+  bind L __budspencer_cd_next
+  bind H __budspencer_cd_prev
+  bind m mark
+  bind M unmark
+  bind . __budspencer_edit_commandline
+  bind \cv __budspencer_edit_commandline
+  bind -M insert \cv __budspencer_edit_commandline
+  bind -M insert \n __budspencer_preexec
+  bind \n __budspencer_preexec
 end
 
 ###############################################################################
@@ -63,558 +65,566 @@ set -g budspencer_tmpfile '/tmp/'(echo %self)'_budspencer_edit.fish'
 # => Pre execute
 ################
 function __budspencer_preexec -d 'Execute after hitting <Enter> before doing anything else'
-    set -l cmd (commandline | sed 's|\s\+|\x1e|g')
-    if [ $_ = 'fish' ]
-        if [ -z $cmd[1] ]
-            set -e cmd[1]
-        end
-        if [ -z $cmd[1] ]
-            return
-        end
-        set -e budspencer_prompt_error[1]
-        if not type -q $cmd[1]
-            if [ -d $cmd[1] ]
-                set budspencer_prompt_error (cd $cmd[1] ^&1)
-                and commandline ''
-                commandline -f repaint
-                return
-            end
-        end
-        switch $cmd[1]
-        case 'c'
-            if begin
-                [ (count $cmd) -gt 1 ]
-                and [ $cmd[2] -gt 0 ]
-                and [ $cmd[2] -lt $pcount ]
-            end
-                commandline $prompt_hist[$cmd[2]]
-                echo $prompt_hist[$cmd[2]]  | xsel
-                commandline -f repaint
-                return
-            end
-        case 'cd'
-            if [ (count $cmd) -le 2 ]
-                set budspencer_prompt_error (eval $cmd ^&1)
-                and commandline ''
-                if [ (count $budspencer_prompt_error) -gt 1 ]
-                    set budspencer_prompt_error $budspencer_prompt_error[1]
-                end
-                commandline -f repaint
-                return
-            end
-        case 'day' 'night'
-            if [ (count $cmd) -eq 1 ]
-                eval $cmd
-                commandline ''
-                commandline -f repaint
-                return
-            end
-        end
-    end
-    commandline -f execute
+  set -l cmd (commandline | sed 's|\s\+|\x1e|g')
+  if [ $_ = 'fish' ]
+    if [ -z $cmd[1] ]
+      set -e cmd[1]
+  end
+  if [ -z $cmd[1] ]
+    return
+  end
+  set -e budspencer_prompt_error[1]
+  if not type -q $cmd[1]
+    if [ -d $cmd[1] ]
+      set budspencer_prompt_error (cd $cmd[1] ^&1)
+      and commandline ''
+      commandline -f repaint
+      return
+      end
+  end
+  switch $cmd[1]
+  case 'c'
+    if begin
+      [ (count $cmd) -gt 1 ]
+      and [ $cmd[2] -gt 0 ]
+      and [ $cmd[2] -lt $pcount ]
+    end
+    commandline $prompt_hist[$cmd[2]]
+    echo $prompt_hist[$cmd[2]]  | xsel
+    commandline -f repaint
+    return
+    end
+  case 'cd'
+    if [ (count $cmd) -le 2 ]
+      set budspencer_prompt_error (eval $cmd ^&1)
+      and commandline ''
+      if [ (count $budspencer_prompt_error) -gt 1 ]
+        set budspencer_prompt_error $budspencer_prompt_error[1]
+      end
+      commandline -f repaint
+      return
+      end
+  case 'day' 'night'
+    if [ (count $cmd) -eq 1 ]
+      eval $cmd
+      commandline ''
+      commandline -f repaint
+      return
+      end
+  end
+end
+commandline -f execute
+end
+
+#####################
+# => Fish termination
+#####################
+function __budspencer_on_termination -s HUP -s INT -s QUIT -s TERM --on-process %self -d 'Execute when shell terminates'
+  set -l item (contains -i %self $budspencer_sessions_active_pid ^ /dev/null)
+  __budspencer_detach_session $item
 end
 
 ######################
 # => Directory history
 ######################
 function __budspencer_create_dir_hist -v PWD -d 'Create directory history without duplicates'
-    if [ $pwd_hist_lock = false ]
-        if contains $PWD $$dir_hist
-            set -e $dir_hist[1][(contains -i $PWD $$dir_hist)]
-        end
-        set $dir_hist $$dir_hist $PWD
-        set -g dir_hist_val (count $$dir_hist)
-    end
+  if [ "$pwd_hist_lock" = false ]
+    if contains $PWD $$dir_hist
+      set -e $dir_hist[1][(contains -i $PWD $$dir_hist)]
+  end
+  set $dir_hist $$dir_hist $PWD
+  set -g dir_hist_val (count $$dir_hist)
+end
 end
 
 function __budspencer_cd_prev -d 'Change to previous directory, press H in NORMAL mode.'
-    if [ $dir_hist_val -gt 1 ]
-        set dir_hist_val (expr $dir_hist_val - 1)
-        set pwd_hist_lock true
-        cd $$dir_hist[1][$dir_hist_val]
-        commandline -f repaint
-    end
+  if [ $dir_hist_val -gt 1 ]
+    set dir_hist_val (expr $dir_hist_val - 1)
+    set pwd_hist_lock true
+    cd $$dir_hist[1][$dir_hist_val]
+    commandline -f repaint
+end
 end
 
 function __budspencer_cd_next -d 'Change to next directory, press L in NORMAL mode.'
-    if [ $dir_hist_val -lt (count $$dir_hist) ]
-        set dir_hist_val (expr $dir_hist_val + 1)
-        set pwd_hist_lock true
-        cd $$dir_hist[1][$dir_hist_val]
-        commandline -f repaint
-    end
+  if [ $dir_hist_val -lt (count $$dir_hist) ]
+    set dir_hist_val (expr $dir_hist_val + 1)
+    set pwd_hist_lock true
+    cd $$dir_hist[1][$dir_hist_val]
+    commandline -f repaint
+end
 end
 
 function d -d 'List directory history, jump to directory in list with d <number>'
-    set -l num_items (expr (count $$dir_hist) - 1)
-    if [ $num_items -eq 0 ]
-        set_color $fish_color_error[1]
-        echo 'Directory history is empty. '(set_color normal)'It will be created automatically'
-        return
-    end
-    for i in (seq $num_items)
-        if [ (expr \( $num_items - $i \) \% 2) -eq 0 ]
-            set_color normal
-        else
-            set_color $budspencer_colors[4]
-        end
-        echo (expr $num_items - $i)\t$$dir_hist[1][$i]  | sed "s|$HOME|~|"
-    end
-    if [ $num_items -eq 1 ]
-        set last_item ''
-    else
-        set last_item '-'(expr $num_items - 1)
-    end
-    echo -en $budspencer_cursors[2]
-    set input_length (expr length (expr $num_items - 1))
-    read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[5])" â™» Goto [e|0"$last_item"] "(set_color -b normal $budspencer_colors[2])"î‚° "(set_color $budspencer_colors[5])' -n $input_length -l dir_num
-    switch $dir_num
-    case (seq 0 (expr $num_items - 1))
-        cd $$dir_hist[1][(expr $num_items - $dir_num)]
-        return 0
-    case 'e'
-        read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[5])" â™» Erase [0"$last_item"] "(set_color -b normal $budspencer_colors[2])"î‚° "(set_color $budspencer_colors[5])' -n $input_length -l dir_num
-       set -e $dir_hist[1][(expr $num_items - $dir_num)] ^ /dev/null
-       set dir_hist_val (count $$dir_hist)
-       return 0
-    end
-    return 1
+  set -l num_items (expr (count $$dir_hist) - 1)
+  if [ $num_items -eq 0 ]
+    set_color $fish_color_error[1]
+    echo 'Directory history is empty. '(set_color normal)'It will be created automatically'
+    return
+end
+for i in (seq $num_items)
+  if [ (expr \( $num_items - $i \) \% 2) -eq 0 ]
+    set_color normal
+  else
+    set_color $budspencer_colors[4]
+  end
+  echo (expr $num_items - $i)\t$$dir_hist[1][$i]  | sed "s|$HOME|~|"
+end
+if [ $num_items -eq 1 ]
+  set last_item ''
+else
+  set last_item '-'(expr $num_items - 1)
+end
+echo -en $budspencer_cursors[2]
+set input_length (expr length (expr $num_items - 1))
+read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[5])" â™» Goto [e|0"$last_item"] "(set_color -b normal $budspencer_colors[2])"î‚° "(set_color $budspencer_colors[5])' -n $input_length -l dir_num
+switch $dir_num
+case (seq 0 (expr $num_items - 1))
+  cd $$dir_hist[1][(expr $num_items - $dir_num)]
+  return 0
+case 'e'
+  read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[5])" â™» Erase [0"$last_item"] "(set_color -b normal $budspencer_colors[2])"î‚° "(set_color $budspencer_colors[5])' -n $input_length -l dir_num
+  set -e $dir_hist[1][(expr $num_items - $dir_num)] ^ /dev/null
+  set dir_hist_val (count $$dir_hist)
+  return 0
+end
+return 1
 end
 
 ####################
 # => Command history
 ####################
 function __budspencer_create_cmd_hist -e fish_prompt -d 'Create command history without duplicates'
-    if [ $_ = 'fish' ]
-        set pcount (expr $pcount + 1)
-        set -l IFS ''
-        set -l cmd (echo $history[1] | fish_indent | expand -t 4)
-        # Create prompt history
-        set prompt_hist $prompt_hist $cmd
-        # Create command history
-        if not begin
-                expr $cmd : '[cdms] ' >  /dev/null
-                or contains $cmd $budspencer_nocmdhist
-            end
-            if contains $cmd $$cmd_hist
-                set -e $cmd_hist[1][(contains -i $cmd $$cmd_hist)]
-            end
-            set $cmd_hist $$cmd_hist $cmd
-        end
-    end
-    set fish_bind_mode insert
-    echo -n \a
+  if [ $_ = 'fish' ]
+    set pcount (expr $pcount + 1)
+    set -l IFS ''
+    set -l cmd (echo $history[1] | fish_indent | expand -t 4)
+    # Create prompt history
+    set prompt_hist $prompt_hist $cmd
+    # Create command history
+    if not begin
+      expr $cmd : '[cdms] ' >  /dev/null
+      or contains $cmd $budspencer_nocmdhist
+      end
+      if contains $cmd $$cmd_hist
+        set -e $cmd_hist[1][(contains -i $cmd $$cmd_hist)]
+      end
+      set $cmd_hist $$cmd_hist $cmd
+  end
+end
+set fish_bind_mode insert
+echo -n \a
 end
 
 function c -d 'List command history, load command from prompt with c <prompt number>'
-    set -l num_items (count $$cmd_hist)
-    if [ $num_items -eq 0 ]
-        set_color $fish_color_error[1]
-        echo 'Command history is empty. '(set_color normal)'It will be created automatically.'
-        return
-    end
-    for i in (seq $num_items)
-        if [ (expr \( $num_items - $i \) \% 2) -eq 0 ]
-            set_color normal
-        else
-            set_color $budspencer_colors[4]
-        end
-        echo -n (expr $num_items - $i)
-        set -l item (echo $$cmd_hist[1][$i])
-        echo -n \t$item\n
-    end
-    if [ $num_items -eq 1 ]
-        set last_item ''
-    else
-        set last_item '-'(expr $num_items - 1)
-    end
-    echo -en $budspencer_cursors[4]
-    set input_length (expr length (expr $num_items - 1))
-    read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[9])" ↩ Exec [e|0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[9])' -n $input_length -l cmd_num
-    switch $cmd_num
-    case (seq 0 (expr $num_items - 1))
-        commandline $$cmd_hist[1][(expr $num_items - $cmd_num)]
-        echo $$cmd_hist[1][(expr $num_items - $cmd_num)]  | xsel
-        return 0
-    case 'e'
-       read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[9])" ↩ Erase [0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[9])' -n $input_length -l cmd_num
-       set -e $cmd_hist[1][(expr $num_items - $cmd_num)] ^ /dev/null
-       return 0
-    end
-    return 1
+  set -l num_items (count $$cmd_hist)
+  if [ $num_items -eq 0 ]
+    set_color $fish_color_error[1]
+    echo 'Command history is empty. '(set_color normal)'It will be created automatically.'
+    return
+end
+for i in (seq $num_items)
+  if [ (expr \( $num_items - $i \) \% 2) -eq 0 ]
+    set_color normal
+  else
+    set_color $budspencer_colors[4]
+  end
+  echo -n (expr $num_items - $i)
+  set -l item (echo $$cmd_hist[1][$i])
+  echo -n \t$item\n
+end
+if [ $num_items -eq 1 ]
+  set last_item ''
+else
+  set last_item '-'(expr $num_items - 1)
+end
+echo -en $budspencer_cursors[4]
+set input_length (expr length (expr $num_items - 1))
+read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[9])" ↩ Exec [e|0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[9])' -n $input_length -l cmd_num
+switch $cmd_num
+case (seq 0 (expr $num_items - 1))
+  commandline $$cmd_hist[1][(expr $num_items - $cmd_num)]
+  echo $$cmd_hist[1][(expr $num_items - $cmd_num)]  | xsel
+  return 0
+case 'e'
+  read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[9])" ↩ Erase [0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[9])' -n $input_length -l cmd_num
+  set -e $cmd_hist[1][(expr $num_items - $cmd_num)] ^ /dev/null
+  return 0
+end
+return 1
 end
 
 ##############
 # => Bookmarks
 ##############
 function mark -d 'Create bookmark for present working directory.'
-    if not contains $PWD $bookmarks
-        set -U bookmarks $PWD $bookmarks
-        set pwd_hist_lock true
-        commandline -f repaint
-    end
+  if not contains $PWD $bookmarks
+    set -U bookmarks $PWD $bookmarks
+    set pwd_hist_lock true
+    commandline -f repaint
+end
 end
 
 function unmark -d 'Remove bookmark for present working directory.'
-    if contains $PWD $bookmarks
-        set -e bookmarks[(contains -i $PWD $bookmarks)]
-        set pwd_hist_lock true
-        commandline -f repaint
-    end
+  if contains $PWD $bookmarks
+    set -e bookmarks[(contains -i $PWD $bookmarks)]
+    set pwd_hist_lock true
+    commandline -f repaint
+end
 end
 
 function m -d 'List bookmarks, jump to directory in list with m <number>'
-    set -l num_items (count $bookmarks)
-    if [ $num_items -eq 0 ]
-        set_color $fish_color_error[1]
-        echo 'Bookmark list is empty. '(set_color normal)'Enter '(set_color $fish_color_command[1])'mark '(set_color normal)'in INSERT mode or '(set_color $fish_color_command[1])'m '(set_color normal)'in NORMAL mode, if you want to add the current directory to your bookmark list.'
-        return
-    end
-    for i in (seq $num_items)
-        if [ $PWD = $bookmarks[$i] ]
-            set_color $budspencer_colors[10]
-        else
-            if [ (expr \( $num_items - $i \) \% 2) -eq 0 ]
-                set_color normal
-            else
-                set_color $budspencer_colors[4]
-            end
-        end
-        echo (expr $num_items - $i)\t$bookmarks[$i]  | sed "s|$HOME|~|"
-    end
-    if [ $num_items -eq 1 ]
-        set last_item ''
-    else
-        set last_item '-'(expr $num_items - 1)
-    end
-    echo -en $budspencer_cursors[1]
-    set input_length (expr length (expr $num_items - 1))
-    read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[10])" ⌘ Goto [0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[10])' -n $input_length -l dir_num
-    switch $dir_num
-    case (seq 0 (expr $num_items - 1))
-        cd $bookmarks[(expr $num_items - $dir_num)]
-        return 0
-    end
-    return 1
+  set -l num_items (count $bookmarks)
+  if [ $num_items -eq 0 ]
+    set_color $fish_color_error[1]
+    echo 'Bookmark list is empty. '(set_color normal)'Enter '(set_color $fish_color_command[1])'mark '(set_color normal)'in INSERT mode or '(set_color $fish_color_command[1])'m '(set_color normal)'in NORMAL mode, if you want to add the current directory to your bookmark list.'
+    return
+end
+for i in (seq $num_items)
+  if [ $PWD = $bookmarks[$i] ]
+    set_color $budspencer_colors[10]
+  else
+    if [ (expr \( $num_items - $i \) \% 2) -eq 0 ]
+      set_color normal
+      else
+        set_color $budspencer_colors[4]
+      end
+  end
+  echo (expr $num_items - $i)\t$bookmarks[$i]  | sed "s|$HOME|~|"
+end
+if [ $num_items -eq 1 ]
+  set last_item ''
+else
+  set last_item '-'(expr $num_items - 1)
+end
+echo -en $budspencer_cursors[1]
+set input_length (expr length (expr $num_items - 1))
+read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[10])" ⌘ Goto [0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[10])' -n $input_length -l dir_num
+switch $dir_num
+case (seq 0 (expr $num_items - 1))
+  cd $bookmarks[(expr $num_items - $dir_num)]
+  return 0
+end
+return 1
 end
 
 #############
 # => Sessions
 #############
 function __budspencer_delete_zombi_sessions -d 'Delete zombi sessions'
-    for i in $budspencer_sessions_active_pid
-        if not contains $i %fish
-            set -l item (contains -i $i $budspencer_sessions_active_pid)
-            set -e budspencer_sessions_active_pid[$item]
-            set -e budspencer_sessions_active[$item]
-        end
-    end
+  for i in $budspencer_sessions_active_pid
+    if not contains $i %fish
+      set -l item (contains -i $i $budspencer_sessions_active_pid)
+      set -e budspencer_sessions_active_pid[$item]
+      set -e budspencer_sessions_active[$item]
+  end
+end
 end
 
 function __budspencer_create_new_session -d 'Create a new session'
-    set -U budspencer_session_cmd_hist_$argv[1] $$cmd_hist
-    set -U budspencer_session_dir_hist_$argv[1] $$dir_hist
-    set -U budspencer_sessions $argv[1] $budspencer_sessions
+  set -U budspencer_session_cmd_hist_$argv[1] $$cmd_hist
+  set -U budspencer_session_dir_hist_$argv[1] $$dir_hist
+  set -U budspencer_sessions $argv[1] $budspencer_sessions
 end
 
 function __budspencer_erase_session -d 'Erase current session'
-    if [ (count $argv) -eq 1 ]
-        set_color $fish_color_error[1]
-        echo 'Missing argument: name of session to erase'
-        return
-    end
-    if contains $argv[2] $budspencer_sessions_active
-        set_color $fish_color_error[1]
-        echo "Session '$argv[2]' cannot be erased because it's currently active."
-        return
-    end
-    if contains $argv[2] $budspencer_sessions
-        set -e budspencer_session_cmd_hist_$argv[2]
-        set -e budspencer_session_dir_hist_$argv[2]
-        set -e budspencer_sessions[(contains -i $argv[2] $budspencer_sessions)]
-    else
-        set_color $fish_color_error[1]
-        echo "Session '$argv[2]' not found. "(set_color normal)'Enter '(set_color $fish_color_command[1])'s '(set_color normal)'to show a list of all recorded sessions.'
-    end
+  if [ (count $argv) -eq 1 ]
+    set_color $fish_color_error[1]
+    echo 'Missing argument: name of session to erase'
+    return
+end
+if contains $argv[2] $budspencer_sessions_active
+  set_color $fish_color_error[1]
+  echo "Session '$argv[2]' cannot be erased because it's currently active."
+  return
+end
+if contains $argv[2] $budspencer_sessions
+  set -e budspencer_session_cmd_hist_$argv[2]
+  set -e budspencer_session_dir_hist_$argv[2]
+  set -e budspencer_sessions[(contains -i $argv[2] $budspencer_sessions)]
+else
+  set_color $fish_color_error[1]
+  echo "Session '$argv[2]' not found. "(set_color normal)'Enter '(set_color $fish_color_command[1])'s '(set_color normal)'to show a list of all recorded sessions.'
+end
 end
 
 function __budspencer_detach_session -d 'Detach current session'
-    set cmd_hist cmd_hist_nosession
-    set dir_hist dir_hist_nosession
-    if [ -z $$dir_hist ] ^ /dev/null
-        set $dir_hist $PWD
-    end
-    set dir_hist_val (count $$dir_hist)
-    set -e budspencer_sessions_active_pid[$argv] ^ /dev/null
-    set -e budspencer_sessions_active[$argv] ^ /dev/null
-    set budspencer_session_current ''
-    cd $$dir_hist[1][$dir_hist_val]
+  set cmd_hist cmd_hist_nosession
+  set dir_hist dir_hist_nosession
+  if [ -z $$dir_hist ] ^ /dev/null
+    set $dir_hist $PWD
+end
+set dir_hist_val (count $$dir_hist)
+set -e budspencer_sessions_active_pid[$argv] ^ /dev/null
+set -e budspencer_sessions_active[$argv] ^ /dev/null
+set budspencer_session_current ''
+cd $$dir_hist[1][$dir_hist_val]
 end
 
 function __budspencer_attach_session -d 'Attach session'
-    set argv (echo -sn $argv\n | sed 's|[^[:alnum:]]|_|g')
-    if contains $argv[1] $budspencer_sessions_active
-        wmctrl -a "✻ $argv[1]"
-    else
-        wt "✻ $argv[1]"
-        __budspencer_detach_session $argv[-1]
-        set budspencer_sessions_active $budspencer_sessions_active $argv[1]
-        set budspencer_sessions_active_pid $budspencer_sessions_active_pid %self
-        set budspencer_session_current $argv[1]
-        if not contains $argv[1] $budspencer_sessions
-            __budspencer_create_new_session $argv[1]
-        end
-        set cmd_hist budspencer_session_cmd_hist_$argv[1]
-        set dir_hist budspencer_session_dir_hist_$argv[1]
-        if [ -z $$dir_hist ] ^ /dev/null
-            set $dir_hist $PWD
-        end
-        set dir_hist_val (count $$dir_hist)
-        cd $$dir_hist[1][$dir_hist_val] ^ /dev/null
-    end
+  set argv (echo -sn $argv\n | sed 's|[^[:alnum:]]|_|g')
+  if contains $argv[1] $budspencer_sessions_active
+    wmctrl -a "✻ $argv[1]"
+else
+  wt "✻ $argv[1]"
+  __budspencer_detach_session $argv[-1]
+  set budspencer_sessions_active $budspencer_sessions_active $argv[1]
+  set budspencer_sessions_active_pid $budspencer_sessions_active_pid %self
+  set budspencer_session_current $argv[1]
+  if not contains $argv[1] $budspencer_sessions
+    __budspencer_create_new_session $argv[1]
+  end
+  set cmd_hist budspencer_session_cmd_hist_$argv[1]
+  set dir_hist budspencer_session_dir_hist_$argv[1]
+  if [ -z $$dir_hist ] ^ /dev/null
+    set $dir_hist $PWD
+  end
+  set dir_hist_val (count $$dir_hist)
+  cd $$dir_hist[1][$dir_hist_val] ^ /dev/null
+end
 end
 
 function s -d 'Create, delete or attach session'
-    __budspencer_delete_zombi_sessions
-    if [ (count $argv) -eq 0 ]
-        set -l active_indicator
-        set -l num_items (count $budspencer_sessions)
-        if [ $num_items -eq 0 ]
-            set_color $fish_color_error[1]
-            echo -n 'Session list is empty. '
-            set_color normal
-            echo -n 'Enter '
-            set_color $fish_color_command[1]
-            echo -n 's '
-            set_color $fish_color_param[1]
-            echo -n 'session-name'
-            set_color normal
-            echo ' to record the current session.'
-            return
-        end
-        for i in (seq $num_items)
-            if [ $budspencer_sessions[$i] = $budspencer_session_current ]
-                set_color $budspencer_colors[8]
-            else
-                if [ (expr \( $num_items - $i \) \% 2) -eq 0 ]
-                    set_color normal
-                else
-                    set_color $budspencer_colors[4]
-                end
-            end
-            if contains $budspencer_sessions[$i] $budspencer_sessions_active
-                set active_indicator '✻ '
-            else
-                set active_indicator '  '
-            end
-            echo (expr $num_items - $i)\t$active_indicator$budspencer_sessions[$i]
-        end
-        if [ $num_items -eq 1 ]
-            set last_item ''
-        else
-            set last_item '-'(expr $num_items - 1)
-        end
-        echo -en $budspencer_cursors[3]
-        set input_length (expr length (expr $num_items - 1))
-        read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[8])" ✻ Attach [e|0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[8])' -n $input_length -l session_num
-        switch $session_num
-        case (seq 0 (expr $num_items - 1))
-            set argv[1] $budspencer_sessions[(expr $num_items - $session_num)]
-        case 'e'
-            read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[8])" ✻ Erase [0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[8])' -n $input_length -l session_num
-            __budspencer_erase_session -e $budspencer_sessions[(expr $num_items - $session_num)]
-            return 0
-        case '*'
-            return 1
-        end
-    end
-    set -l item (contains -i %self $budspencer_sessions_active_pid ^ /dev/null)
-    switch $argv[1]
-    case '-e'
-        __budspencer_erase_session $argv
-    case '-d'
-        wt 'fish'
-        __budspencer_detach_session $item
-    case '-*'
-        set_color $fish_color_error[1]
-        echo "Invalid argument: $argv[1]"
-    case '*'
-        __budspencer_attach_session $argv $item
-    end
+  __budspencer_delete_zombi_sessions
+  if [ (count $argv) -eq 0 ]
+    set -l active_indicator
+    set -l num_items (count $budspencer_sessions)
+    if [ $num_items -eq 0 ]
+      set_color $fish_color_error[1]
+      echo -n 'Session list is empty. '
+      set_color normal
+      echo -n 'Enter '
+      set_color $fish_color_command[1]
+      echo -n 's '
+      set_color $fish_color_param[1]
+      echo -n 'session-name'
+      set_color normal
+      echo ' to record the current session.'
+      return
+  end
+  for i in (seq $num_items)
+    if [ $budspencer_sessions[$i] = $budspencer_session_current ]
+      set_color $budspencer_colors[8]
+      else
+        if [ (expr \( $num_items - $i \) \% 2) -eq 0 ]
+          set_color normal
+          else
+            set_color $budspencer_colors[4]
+          end
+      end
+      if contains $budspencer_sessions[$i] $budspencer_sessions_active
+        set active_indicator '✻ '
+      else
+        set active_indicator '  '
+      end
+      echo (expr $num_items - $i)\t$active_indicator$budspencer_sessions[$i]
+  end
+  if [ $num_items -eq 1 ]
+    set last_item ''
+  else
+    set last_item '-'(expr $num_items - 1)
+  end
+  echo -en $budspencer_cursors[3]
+  set input_length (expr length (expr $num_items - 1))
+  read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[8])" ✻ Attach [e|0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[8])' -n $input_length -l session_num
+  switch $session_num
+  case (seq 0 (expr $num_items - 1))
+    set argv[1] $budspencer_sessions[(expr $num_items - $session_num)]
+  case 'e'
+    read -p 'echo -n (set_color -b $budspencer_colors[2] $budspencer_colors[8])" ✻ Erase [0"$last_item"] "(set_color -b normal $budspencer_colors[2])" "(set_color $budspencer_colors[8])' -n $input_length -l session_num
+    __budspencer_erase_session -e $budspencer_sessions[(expr $num_items - $session_num)]
+    return 0
+  case '*'
+    return 1
+  end
+end
+set -l item (contains -i %self $budspencer_sessions_active_pid ^ /dev/null)
+switch $argv[1]
+case '-e'
+  __budspencer_erase_session $argv
+case '-d'
+  wt 'fish'
+  __budspencer_detach_session $item
+case '-*'
+  set_color $fish_color_error[1]
+  echo "Invalid argument: $argv[1]"
+case '*'
+  __budspencer_attach_session $argv $item
+end
 end
 
 #####################################
 # => Commandline editing with $EDITOR
 #####################################
-function __budspencer_edit_comandline -d 'Open current commandline with your editor'
-    commandline > $budspencer_tmpfile
-    eval $EDITOR $budspencer_tmpfile
-    if [ -s $budspencer_tmpfile ]
-        commandline (sed 's|^\s*||' $budspencer_tmpfile)
-    else
-        commandline ''
-    end
-    rm $budspencer_tmpfile
+function __budspencer_edit_commandline -d 'Open current commandline with your editor'
+  commandline | fish_indent > $budspencer_tmpfile
+  eval $EDITOR $budspencer_tmpfile
+  if [ -s $budspencer_tmpfile ]
+    commandline (sed 's|^\s*||' $budspencer_tmpfile)
+else
+  commandline ''
+end
+rm $budspencer_tmpfile
 end
 
 ################
 # => Git segment
 ################
 function __budspencer_prompt_git_branch -d 'Return the current branch name'
-    set -l branch (command git symbolic-ref HEAD ^ /dev/null | sed -e 's|^refs/heads/||')
-    if not test $branch > /dev/null
-        set -l position (command git describe --contains --all HEAD ^ /dev/null)
-        if not test $position > /dev/null
-            set -l commit (command git rev-parse HEAD ^ /dev/null | sed  's|\(^.......\).*|\1|')
-            echo -n (set_color -b $budspencer_colors[11])''(set_color $budspencer_colors[1])' ➦ '$commit' '(set_color $budspencer_colors[11])
-        else
-            echo -n (set_color -b $budspencer_colors[9])'î‚°'(set_color $budspencer_colors[1])' î‚  '$position' '(set_color $budspencer_colors[9])
-        end
-    else
-        echo -n (set_color -b $budspencer_colors[3])'î‚°'(set_color $budspencer_colors[1])' î‚  '$branch' '(set_color $budspencer_colors[3])
-    end
+  set -l branch (command git symbolic-ref HEAD ^ /dev/null | sed -e 's|^refs/heads/||')
+  if not test $branch > /dev/null
+    set -l position (command git describe --contains --all HEAD ^ /dev/null)
+    if not test $position > /dev/null
+      set -l commit (command git rev-parse HEAD ^ /dev/null | sed  's|\(^.......\).*|\1|')
+      echo -n (set_color -b $budspencer_colors[11])''(set_color $budspencer_colors[1])' ➦ '$commit' '(set_color $budspencer_colors[11])
+  else
+    echo -n (set_color -b $budspencer_colors[9])'î‚°'(set_color $budspencer_colors[1])' î‚  '$position' '(set_color $budspencer_colors[9])
+  end
+else
+  echo -n (set_color -b $budspencer_colors[3])'î‚°'(set_color $budspencer_colors[1])' î‚  '$branch' '(set_color $budspencer_colors[3])
+end
 end
 
 ######################
 # => Bind-mode segment
 ######################
 function __budspencer_prompt_bindmode -d 'Displays the current mode'
-    switch $fish_bind_mode
-    case default
-        set budspencer_current_bindmode_color $budspencer_colors[10]
-        echo -en $budspencer_cursors[1]
-    case insert
-        set budspencer_current_bindmode_color $budspencer_colors[5]
-        echo -en $budspencer_cursors[2]
-        if [ $pwd_hist_lock = true ]
-            set pwd_hist_lock false
-            __budspencer_create_dir_hist
-        end
-    case visual
-        set budspencer_current_bindmode_color $budspencer_colors[8]
-        echo -en $budspencer_cursors[3]
-    end
-    if [ (count $budspencer_prompt_error) -eq 1 ]
-        set budspencer_current_bindmode_color $budspencer_colors[7]
-    end
-    set_color -b $budspencer_current_bindmode_color $budspencer_colors[1]
-    echo -n " $pcount "
-    set_color -b $budspencer_colors[1] $budspencer_current_bindmode_color
+  switch $fish_bind_mode
+case default
+  set budspencer_current_bindmode_color $budspencer_colors[10]
+  echo -en $budspencer_cursors[1]
+case insert
+  set budspencer_current_bindmode_color $budspencer_colors[5]
+  echo -en $budspencer_cursors[2]
+  if [ "$pwd_hist_lock" = true ]
+    set pwd_hist_lock false
+    __budspencer_create_dir_hist
+  end
+case visual
+  set budspencer_current_bindmode_color $budspencer_colors[8]
+  echo -en $budspencer_cursors[3]
+end
+if [ (count $budspencer_prompt_error) -eq 1 ]
+  set budspencer_current_bindmode_color $budspencer_colors[7]
+end
+set_color -b $budspencer_current_bindmode_color $budspencer_colors[1]
+echo -n " $pcount "
+set_color -b $budspencer_colors[1] $budspencer_current_bindmode_color
 end
 
 ####################
 # => Symbols segment
 ####################
 function __budspencer_prompt_left_symbols -d 'Display symbols'
-    set -l jobs (jobs | wc -l)
-    if [ -e ~/.taskrc ]
-        set todo (task due.before:tomorrow ^ /dev/null | tail -1 | cut -f1 -d' ')
-    end
-    if [ -e ~/.reminders ]
-        set appointments (rem -a | cut -f1 -d' ')
-    end
-    if [ (count $todo) -eq 0 ]
-        set todo 0
-    end
-    if [ (count $appointments) -eq 0 ]
-        set appointments 0
-    end
-    set_color -b $budspencer_colors[2]
-    echo -n 'î‚°'
-
-    if [ $symbols_style = 'symbols' ]
-        if [ $budspencer_session_current != '' ]
-            set_color -o $budspencer_colors[8]
-            echo -n ' ✻'
-        end
-        if contains $PWD $bookmarks
-            set_color -o $budspencer_colors[10]
-            echo -n ' ⌘'
-        end
-        if set -q -x VIM
-            set_color -o $budspencer_colors[9]
-            echo -n ' V'
-        end
-        if set -q -x RANGER_LEVEL
-            set_color -o $budspencer_colors[9]
-            echo -n ' R'
-        end
-        if [ $jobs -gt 0 ]
-            set_color -o $budspencer_colors[11]
-            echo -n ' âš™'
-        end
-        if [ ! -w . ]
-            set_color -o $budspencer_colors[6]
-            echo -n ' î‚¢'
-        end
-        if [ $todo -gt 0 ]
-            set_color -o $budspencer_colors[4]
-            echo -n ' âš”'
-        end
-        if [ $appointments -gt 0 ]
-            set_color -o $budspencer_colors[5]
-            echo -n ' âš‘'
-        end
-        if [ $last_status -eq 0 ]
-            set_color -o $budspencer_colors[12]
-            echo -n ' ✔'
-        else
-            set_color -o $budspencer_colors[7]
-            echo -n ' ✘'
-        end
-        if [ $USER = 'root' ]
-            set_color -o $budspencer_colors[6]
-            echo -n ' âš¡'
-        end
-    else
-        if [ $budspencer_session_current != '' ] ^ /dev/null
-            set_color $budspencer_colors[8]
-            echo -n ' '(expr (count $budspencer_sessions) - (contains -i $budspencer_session_current $budspencer_sessions))
-        end
-        if contains $PWD $bookmarks
-            set_color $budspencer_colors[10]
-            echo -n ' '(expr (count $bookmarks) - (contains -i $PWD $bookmarks))
-        end
-        if set -q -x VIM
-            set_color -o $budspencer_colors[9]
-            echo -n ' V'
-            set_color normal
-        end
-        if set -q -x RANGER_LEVEL
-            set_color -b $budspencer_colors[2] $budspencer_colors[9]
-            echo -n ' '$RANGER_LEVEL
-        end
-        if [ $jobs -gt 0 ]
-            set_color -b $budspencer_colors[2] $budspencer_colors[11]
-            echo -n ' '$jobs
-        end
-        if [ ! -w . ]
-            set_color -o $budspencer_colors[6]
-            echo -n ' î‚¢'
-            set_color normal
-        end
-        if [ $todo -gt 0 ]
-            set_color -b $budspencer_colors[2] $budspencer_colors[4]
-            echo -n " $todo"
-        end
-        if [ $appointments -gt 0 ]
-            set_color -b $budspencer_colors[2] $budspencer_colors[5]
-            echo -n " $appointments"
-        end
-        if [ $last_status -eq 0 ]
-            set_color -b $budspencer_colors[2] $budspencer_colors[12]
-            echo -n ' '$last_status
-        else
-            set_color -b $budspencer_colors[2] $budspencer_colors[7]
-            echo -n ' '$last_status
-        end
-        if [ $USER = 'root' ]
-            set_color -o $budspencer_colors[6]
-            echo -n ' âš¡'
-        end
-    end
-    echo -n ' '
-    set_color -b normal $budspencer_colors[2]
+  set -l jobs (jobs | wc -l)
+  if [ -e ~/.taskrc ]
+    set todo (task due.before:tomorrow ^ /dev/null | tail -1 | cut -f1 -d' ')
+end
+if [ -e ~/.reminders ]
+  set appointments (rem -a | cut -f1 -d' ')
+end
+if [ (count $todo) -eq 0 ]
+  set todo 0
+end
+if [ (count $appointments) -eq 0 ]
+  set appointments 0
+end
+set_color -b $budspencer_colors[2]
+echo -n 'î‚°'
+
+if [ $symbols_style = 'symbols' ]
+  if [ $budspencer_session_current != '' ]
+    set_color -o $budspencer_colors[8]
+    echo -n ' ✻'
+  end
+  if contains $PWD $bookmarks
+    set_color -o $budspencer_colors[10]
+    echo -n ' ⌘'
+  end
+  if set -q -x VIM
+    set_color -o $budspencer_colors[9]
+    echo -n ' V'
+  end
+  if set -q -x RANGER_LEVEL
+    set_color -o $budspencer_colors[9]
+    echo -n ' R'
+  end
+  if [ $jobs -gt 0 ]
+    set_color -o $budspencer_colors[11]
+    echo -n ' âš™'
+  end
+  if [ ! -w . ]
+    set_color -o $budspencer_colors[6]
+    echo -n ' î‚¢'
+  end
+  if [ $todo -gt 0 ]
+    set_color -o $budspencer_colors[4]
+    echo -n ' âš”'
+  end
+  if [ $appointments -gt 0 ]
+    set_color -o $budspencer_colors[5]
+    echo -n ' âš‘'
+  end
+  if [ $last_status -eq 0 ]
+    set_color -o $budspencer_colors[12]
+    echo -n ' ✔'
+  else
+    set_color -o $budspencer_colors[7]
+    echo -n ' ✘'
+  end
+  if [ $USER = 'root' ]
+    set_color -o $budspencer_colors[6]
+    echo -n ' âš¡'
+  end
+else
+  if [ $budspencer_session_current != '' ] ^ /dev/null
+    set_color $budspencer_colors[8]
+    echo -n ' '(expr (count $budspencer_sessions) - (contains -i $budspencer_session_current $budspencer_sessions))
+  end
+  if contains $PWD $bookmarks
+    set_color $budspencer_colors[10]
+    echo -n ' '(expr (count $bookmarks) - (contains -i $PWD $bookmarks))
+  end
+  if set -q -x VIM
+    set_color -o $budspencer_colors[9]
+    echo -n ' V'
+    set_color normal
+  end
+  if set -q -x RANGER_LEVEL
+    set_color -b $budspencer_colors[2] $budspencer_colors[9]
+    echo -n ' '$RANGER_LEVEL
+  end
+  if [ $jobs -gt 0 ]
+    set_color -b $budspencer_colors[2] $budspencer_colors[11]
+    echo -n ' '$jobs
+  end
+  if [ ! -w . ]
+    set_color -o $budspencer_colors[6]
+    echo -n ' î‚¢'
+    set_color normal
+  end
+  if [ $todo -gt 0 ]
+    set_color -b $budspencer_colors[2] $budspencer_colors[4]
+    echo -n " $todo"
+  end
+  if [ $appointments -gt 0 ]
+    set_color -b $budspencer_colors[2] $budspencer_colors[5]
+    echo -n " $appointments"
+  end
+  if [ $last_status -eq 0 ]
+    set_color -b $budspencer_colors[2] $budspencer_colors[12]
+    echo -n ' '$last_status
+  else
+    set_color -b $budspencer_colors[2] $budspencer_colors[7]
+    echo -n ' '$last_status
+  end
+  if [ $USER = 'root' ]
+    set_color -o $budspencer_colors[6]
+    echo -n ' âš¡'
+  end
+end
+echo -n ' '
+set_color -b normal $budspencer_colors[2]
 end
 
 ###############################################################################
@@ -639,37 +649,37 @@ set -g symbols_style 'symbols'
 
 # Load user defined key bindings
 if functions --query fish_user_key_bindings
-    fish_user_key_bindings
+  fish_user_key_bindings
 end
 
 # Set favorite editor
 if not set -q EDITOR
-    set -g EDITOR vi
+  set -g EDITOR vi
 end
 
 # Source config file
 if [ -e $budspencer_config ]
-    source $budspencer_config
+  source $budspencer_config
 end
 
 # Don't save in command history
 if not set -q budspencer_nocmdhist
-    set -U budspencer_nocmdhist 'c' 'd' 'll' 'ls' 'm' 's'
+  set -U budspencer_nocmdhist 'c' 'd' 'll' 'ls' 'm' 's'
 end
 
 # Set PWD segment style
 if not set -q budspencer_pwdstyle
-    set -U budspencer_pwdstyle short long none
+  set -U budspencer_pwdstyle short long none
 end
 set pwd_style $budspencer_pwdstyle[1]
 
 # Cd to newest bookmark if this is a login shell
 if not begin
-    set -q -x LOGIN
-    or set -q -x RANGER_LEVEL
-    or set -q -x VIM
+  set -q -x LOGIN
+  or set -q -x RANGER_LEVEL
+  or set -q -x VIM
 end ^ /dev/null
-    cd $bookmarks[1]
+cd $bookmarks[1]
 end
 set -x LOGIN $USER
 
@@ -678,6 +688,6 @@ set -x LOGIN $USER
 ###############################################################################
 
 function fish_prompt -d 'Write out the left prompt of the budspencer theme'
-    set -g last_status $status
-        echo -n -s (__budspencer_prompt_bindmode) (__budspencer_prompt_git_branch) (__budspencer_prompt_left_symbols) 'î‚°' ' '
+  set -g last_status $status
+  echo -n -s (__budspencer_prompt_bindmode) (__budspencer_prompt_git_branch) (__budspencer_prompt_left_symbols) 'î‚°' ' '
 end
diff --git a/themes/budspencer/fish_right_prompt.fish b/themes/budspencer/fish_right_prompt.fish
index 93a975eb4543fc1da861698f0459186807cec5cd..600271c0976b801005161fc052d709e05c663860 100644
--- a/themes/budspencer/fish_right_prompt.fish
+++ b/themes/budspencer/fish_right_prompt.fish
@@ -27,205 +27,206 @@
 # => Toggle functions
 #####################
 function __budspencer_toggle_symbols -d 'Toggles style of symbols, press # in NORMAL or VISUAL mode'
-    if [ $symbols_style = 'symbols' ]
-        set symbols_style 'numbers'
-    else
-        set symbols_style 'symbols'
-    end
-    set pwd_hist_lock true
-    commandline -f repaint
+  if [ $symbols_style = 'symbols' ]
+    set symbols_style 'numbers'
+  else
+    set symbols_style 'symbols'
+  end
+  set pwd_hist_lock true
+  commandline -f repaint
 end
 
 function __budspencer_toggle_pwd -d 'Toggles style of pwd segment, press space bar in NORMAL or VISUAL mode'
-    for i in (seq (count $budspencer_pwdstyle))
-        if [ $budspencer_pwdstyle[$i] = $pwd_style ]
-            set pwd_style $budspencer_pwdstyle[(expr $i \% (count $budspencer_pwdstyle) + 1)]
-            set pwd_hist_lock true
-            commandline -f repaint
-            break
-        end
-    end
+  for i in (seq (count $budspencer_pwdstyle))
+    if [ $budspencer_pwdstyle[$i] = $pwd_style ]
+      set pwd_style $budspencer_pwdstyle[(expr $i \% (count $budspencer_pwdstyle) + 1)]
+      set pwd_hist_lock true
+      commandline -f repaint
+      break
+      end
+  end
 end
 
 #############################
 # => Command duration segment
 #############################
 function __budspencer_cmd_duration -d 'Displays the elapsed time of last command'
-    set -l seconds ''
-    set -l minutes ''
-    set -l hours ''
-    set -l days ''
-    set -l cmd_duration (expr $CMD_DURATION / 1000)
-    if [ $cmd_duration -gt 0 ]
-        set seconds (expr $cmd_duration \% 68400 \% 3600 \% 60)'s'
-        if [ $cmd_duration -ge 60 ]
-            set minutes (expr $cmd_duration \% 68400 \% 3600 / 60)'m'
-            if [ $cmd_duration -ge 3600 ]
-                set hours (expr $cmd_duration \% 68400 / 3600)'h'
-                if [ $cmd_duration -ge 68400 ]
-                    set days (expr $cmd_duration / 68400)'d'
-                end
-            end
-        end
-        if [ $last_status -ne 0 ]
-            echo -n (set_color $budspencer_colors[2])''(set_color -b $budspencer_colors[2] $budspencer_colors[7])' '$days$hours$minutes$seconds
-        else
-            echo -n (set_color $budspencer_colors[2])''(set_color -b $budspencer_colors[2] $budspencer_colors[12])' '$days$hours$minutes$seconds
-        end
-    end
+  set -l seconds ''
+  set -l minutes ''
+  set -l hours ''
+  set -l days ''
+  set -l cmd_duration (expr $CMD_DURATION / 1000)
+  if [ $cmd_duration -gt 0 ]
+    set seconds (expr $cmd_duration \% 68400 \% 3600 \% 60)'s'
+    if [ $cmd_duration -ge 60 ]
+      set minutes (expr $cmd_duration \% 68400 \% 3600 / 60)'m'
+      if [ $cmd_duration -ge 3600 ]
+        set hours (expr $cmd_duration \% 68400 / 3600)'h'
+        if [ $cmd_duration -ge 68400 ]
+          set days (expr $cmd_duration / 68400)'d'
+              end
+          end
+      end
+      if [ $last_status -ne 0 ]
+        echo -n (set_color $budspencer_colors[2])''(set_color -b $budspencer_colors[2] $budspencer_colors[7])' '$days$hours$minutes$seconds
+      else
+        echo -n (set_color $budspencer_colors[2])''(set_color -b $budspencer_colors[2] $budspencer_colors[12])' '$days$hours$minutes$seconds
+      end
+  end
 end
 
 ################
 # => Git segment
 ################
 function __budspencer_is_git_ahead_or_behind -d 'Check if there are unpulled or unpushed commits'
-    command git rev-list --count --left-right 'HEAD...@{upstream}' ^ /dev/null  | sed 's|\s\+|\n|g'
+  command git rev-list --count --left-right 'HEAD...@{upstream}' ^ /dev/null  | sed 's|\s\+|\n|g'
 end
 
 function __budspencer_git_status -d 'Check git status'
-    set -l git_status (command git status --porcelain ^/dev/null | cut -c 1-2)
-    set -l added (echo -sn $git_status\n | egrep -c "[ACDMT][ MT]|[ACMT]D")
-    set -l deleted (echo -sn $git_status\n | egrep -c "[ ACMRT]D")
-    set -l modified (echo -sn $git_status\n | egrep -c ".[MT]")
-    set -l renamed (echo -sn $git_status\n | egrep -c "R.")
-    set -l unmerged (echo -sn $git_status\n | egrep -c "AA|DD|U.|.U")
-    set -l untracked (echo -sn $git_status\n | egrep -c "\?\?")
-    echo -n $added\n$deleted\n$modified\n$renamed\n$unmerged\n$untracked
+  set -l git_status (command git status --porcelain ^/dev/null | cut -c 1-2)
+  set -l added (echo -sn $git_status\n | egrep -c "[ACDMT][ MT]|[ACMT]D")
+  set -l deleted (echo -sn $git_status\n | egrep -c "[ ACMRT]D")
+  set -l modified (echo -sn $git_status\n | egrep -c ".[MT]")
+  set -l renamed (echo -sn $git_status\n | egrep -c "R.")
+  set -l unmerged (echo -sn $git_status\n | egrep -c "AA|DD|U.|.U")
+  set -l untracked (echo -sn $git_status\n | egrep -c "\?\?")
+  echo -n $added\n$deleted\n$modified\n$renamed\n$unmerged\n$untracked
 end
 
 function __budspencer_is_git_stashed -d 'Check if there are stashed commits'
-    command git stash list ^ /dev/null  | wc -l
+  command git log --format="%gd" -g $argv 'refs/stash' -- ^ /dev/null | wc -l
 end
 
 function __budspencer_prompt_git_symbols -d 'Displays the git symbols'
-    set -l is_repo (command git rev-parse --is-inside-work-tree ^/dev/null)
-    set -l git_ahead_behind (__budspencer_is_git_ahead_or_behind)
-    set -l git_status (__budspencer_git_status)
-    set -l git_stashed (__budspencer_is_git_stashed)
+  set -l is_repo (command git rev-parse --is-inside-work-tree ^/dev/null)
+  if [ -z $is_repo ]
+    return
+  end
+
+  set -l git_ahead_behind (__budspencer_is_git_ahead_or_behind)
+  set -l git_status (__budspencer_git_status)
+  set -l git_stashed (__budspencer_is_git_stashed)
 
-    if begin
-        [ $is_repo=true ]
-        [ (expr $git_status[1] + $git_status[2] + $git_status[3] + $git_status[4] + $git_status[5] + $git_status[6]) -ne 0 ]
-    end
-        set_color $budspencer_colors[3]
-        echo -n ''
-        set_color -b $budspencer_colors[3]
-        if [ $symbols_style = 'symbols' ]
-            if [ (count $git_ahead_behind) -eq 2 ]
-                if [ $git_ahead_behind[1] -gt 0 ]
-                    set_color -o $budspencer_colors[5]
-                    echo -n ' ↑'
-                end
-                if [ $git_ahead_behind[2] -gt 0 ]
-                    set_color -o $budspencer_colors[5]
-                    echo -n ' ↓'
-                end
-            end
-            if [ $git_status[1] -gt 0 ]
-                set_color -o $budspencer_colors[12]
-                echo -n ' +'
-            end
-            if [ $git_status[2] -gt 0 ]
-                set_color -o $budspencer_colors[7]
-                echo -n ' –'
-            end
-            if [ $git_status[3] -gt 0 ]
-                set_color -o $budspencer_colors[10]
-                echo -n ' ✱'
-            end
-            if [ $git_status[4] -gt 0 ]
-                set_color -o $budspencer_colors[8]
-                echo -n ' →'
-            end
-            if [ $git_status[5] -gt 0 ]
-                set_color -o $budspencer_colors[9]
-                echo -n ' ═'
-            end
-            if [ $git_status[6] -gt 0 ]
-                set_color -o $budspencer_colors[4]
-                echo -n ' ●'
-            end
-            if [ $git_stashed -gt 0 ]
-                set_color -o $budspencer_colors[11]
-                echo -n ' ✭'
-            end
-        else
-            if [ (count $git_ahead_behind) -eq 2 ]
-                if [ $git_ahead_behind[1] -gt 0 ]
-                    set_color $budspencer_colors[5]
-                    echo -n ' '$git_ahead_behind[1]
-                end
-                if [ $git_ahead_behind[2] -gt 0 ]
-                    set_color $budspencer_colors[5]
-                    echo -n ' '$git_ahead_behind[2]
-                end
-            end
-            if [ $git_status[1] -gt 0 ]
-                set_color $budspencer_colors[12]
-                echo -n ' '$git_status[1]
-            end
-            if [ $git_status[2] -gt 0 ]
-                set_color $budspencer_colors[7]
-                echo -n ' '$git_status[2]
-            end
-            if [ $git_status[3] -gt 0 ]
-                set_color $budspencer_colors[10]
-                echo -n ' '$git_status[3]
-            end
-            if [ $git_status[4] -gt 0 ]
-                set_color $budspencer_colors[8]
-                echo -n ' '$git_status[4]
-            end
-            if [ $git_status[5] -gt 0 ]
-                set_color $budspencer_colors[9]
-                echo -n ' '$git_status[5]
-            end
-            if [ $git_status[6] -gt 0 ]
-                set_color $budspencer_colors[4]
-                echo -n ' '$git_status[6]
-            end
-            if [ $git_stashed -gt 0 ]
-                set_color $budspencer_colors[11]
-                echo -n ' '$git_stashed
-            end
-        end
-        set_color -b $budspencer_colors[3] normal
-    end
+  if [ (expr $git_status[1] + $git_status[2] + $git_status[3] + $git_status[4] + $git_status[5] + $git_status[6] + $git_stashed) -ne 0 ]
+    set_color $budspencer_colors[3]
+    echo -n ''
+    set_color -b $budspencer_colors[3]
+    if [ $symbols_style = 'symbols' ]
+      if [ (count $git_ahead_behind) -eq 2 ]
+        if [ $git_ahead_behind[1] -gt 0 ]
+          set_color -o $budspencer_colors[5]
+          echo -n ' ↑'
+              end
+              if [ $git_ahead_behind[2] -gt 0 ]
+                set_color -o $budspencer_colors[5]
+                echo -n ' ↓'
+              end
+          end
+          if [ $git_status[1] -gt 0 ]
+            set_color -o $budspencer_colors[12]
+            echo -n ' +'
+          end
+          if [ $git_status[2] -gt 0 ]
+            set_color -o $budspencer_colors[7]
+            echo -n ' –'
+          end
+          if [ $git_status[3] -gt 0 ]
+            set_color -o $budspencer_colors[10]
+            echo -n ' ✱'
+          end
+          if [ $git_status[4] -gt 0 ]
+            set_color -o $budspencer_colors[8]
+            echo -n ' →'
+          end
+          if [ $git_status[5] -gt 0 ]
+            set_color -o $budspencer_colors[9]
+            echo -n ' ═'
+          end
+          if [ $git_status[6] -gt 0 ]
+            set_color -o $budspencer_colors[4]
+            echo -n ' ●'
+          end
+          if [ $git_stashed -gt 0 ]
+            set_color -o $budspencer_colors[11]
+            echo -n ' ✭'
+          end
+      else
+        if [ (count $git_ahead_behind) -eq 2 ]
+          if [ $git_ahead_behind[1] -gt 0 ]
+            set_color $budspencer_colors[5]
+            echo -n ' '$git_ahead_behind[1]
+              end
+              if [ $git_ahead_behind[2] -gt 0 ]
+                set_color $budspencer_colors[5]
+                echo -n ' '$git_ahead_behind[2]
+              end
+          end
+          if [ $git_status[1] -gt 0 ]
+            set_color $budspencer_colors[12]
+            echo -n ' '$git_status[1]
+          end
+          if [ $git_status[2] -gt 0 ]
+            set_color $budspencer_colors[7]
+            echo -n ' '$git_status[2]
+          end
+          if [ $git_status[3] -gt 0 ]
+            set_color $budspencer_colors[10]
+            echo -n ' '$git_status[3]
+          end
+          if [ $git_status[4] -gt 0 ]
+            set_color $budspencer_colors[8]
+            echo -n ' '$git_status[4]
+          end
+          if [ $git_status[5] -gt 0 ]
+            set_color $budspencer_colors[9]
+            echo -n ' '$git_status[5]
+          end
+          if [ $git_status[6] -gt 0 ]
+            set_color $budspencer_colors[4]
+            echo -n ' '$git_status[6]
+          end
+          if [ $git_stashed -gt 0 ]
+            set_color $budspencer_colors[11]
+            echo -n ' '$git_stashed
+          end
+      end
+      set_color -b $budspencer_colors[3] normal
+  end
 end
 
 ################
 # => PWD segment
 ################
 function __budspencer_prompt_pwd -d 'Displays the present working directory'
-    set -l user_host ' '
-    if set -q SSH_CLIENT
-        if [ $symbols_style = 'symbols' ]
-            switch $pwd_style
-            case short
-                set user_host " $USER@"(hostname -s)':'
-            case long
-                set user_host " $USER@"(hostname -f)':'
-            end
-        else
-            set user_host " $USER@"(hostname -i)':'
-        end
-    end
-    set_color $budspencer_current_bindmode_color
-    echo -n ''
-    set_color normal
-    set_color -b $budspencer_current_bindmode_color $budspencer_colors[1]
-    if [ (count $budspencer_prompt_error) != 1 ]
-        switch $pwd_style
-        case short
-            echo -n $user_host(prompt_pwd)' '
-        case long
-            echo -n $user_host$PWD' '
-        end
-    else
-        echo -n " $budspencer_prompt_error "
-        set -e budspencer_prompt_error[1]
-    end
-    set_color normal
+  set -l user_host ' '
+  if set -q SSH_CLIENT
+    if [ $symbols_style = 'symbols' ]
+      switch $pwd_style
+          case short
+            set user_host " $USER@"(hostname -s)':'
+          case long
+            set user_host " $USER@"(hostname -f)':'
+          end
+      else
+        set user_host " $USER@"(hostname -i)':'
+      end
+  end
+  set_color $budspencer_current_bindmode_color
+  echo -n ''
+  set_color normal
+  set_color -b $budspencer_current_bindmode_color $budspencer_colors[1]
+  if [ (count $budspencer_prompt_error) != 1 ]
+    switch $pwd_style
+      case short
+        echo -n $user_host(prompt_pwd)' '
+      case long
+        echo -n $user_host(pwd)' '
+      end
+  else
+    echo -n " $budspencer_prompt_error "
+    set -e budspencer_prompt_error[1]
+  end
+  set_color normal
 end
 
 ###############################################################################
@@ -233,6 +234,6 @@ end
 ###############################################################################
 
 function fish_right_prompt -d 'Write out the right prompt of the budspencer theme'
-    echo -n (__budspencer_cmd_duration) (__budspencer_prompt_git_symbols) (__budspencer_prompt_pwd)
-    set_color normal
+  echo -n (__budspencer_cmd_duration) (__budspencer_prompt_git_symbols) (__budspencer_prompt_pwd)
+  set_color normal
 end