mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2025-01-22 12:30:45 +08:00
Merge pull request #366 from tannhuber/master
This commit is contained in:
commit
5fda2053bc
|
@ -1,7 +1,20 @@
|
|||
# Budspencer theme
|
||||
|
||||
A theme for the 70s, makes fish even more powerful. It's equipped with a few
|
||||
nice functions and key bindings to speed up your workflow.
|
||||
A theme for the 70s, makes fish even more powerful. It's equipped with a hell
|
||||
of a lot of nice functions and key bindings to speed up your workflow.
|
||||
|
||||
The philosophy behind budspencer theme:
|
||||
|
||||
* Delimit the prompt lines clearly to the output.
|
||||
* Produce output only if it contains relevant information.
|
||||
* Show useful notifications within the prompt.
|
||||
* Equip the prompt with toggle commands in order to change its style
|
||||
interactively.
|
||||
* Store sessions in order to make frequently used commands quickly accessible.
|
||||
* Make navigation within the directory tree as easy as possible using
|
||||
bookmarks and a directory history without duplicates.
|
||||
* Make histories quickly accessible with menus.
|
||||
* Don't stress your eyes. Use different colors in dark and bright environments.
|
||||
|
||||
## Demonstration video
|
||||
|
||||
|
@ -25,11 +38,12 @@ Non standard tools:
|
|||
### General configuration
|
||||
|
||||
The theme behaves similar to vim's airline/powerline plugins. Thus, it needs a
|
||||
[powerline font][font]. Although it works with emacs mode, it's more powerful
|
||||
with vi mode. In order to enable vi mode, execute:
|
||||
[powerline font][font].
|
||||
It's also crucial to have vi mode enabled. Thus, execute
|
||||
```
|
||||
set -U fish_key_bindings fish_vi_key_bindings
|
||||
```
|
||||
before enabling the theme.
|
||||
|
||||
### Colors
|
||||
|
||||
|
@ -88,8 +102,8 @@ set -e budspencer_nogreeting
|
|||
* ⚙: there are background jobs, can be toggled with `#` to show the amount of
|
||||
background jobs
|
||||
* : no write permissions in present working directory
|
||||
* ⚔: there are tasks scheduled due today, can be toggled with `#` to
|
||||
show the amount of tasks
|
||||
* ⚔: there are tasks scheduled for this week, can be toggled with `#` to
|
||||
show the amount of weekly tasks
|
||||
* ⚑: there are appointments for today, can be toggled with `#` to
|
||||
show the amount of appointments
|
||||
* ✔: last command succeeded, can be toggled with `#` to show the status value
|
||||
|
@ -128,17 +142,24 @@ The following shortcuts need vi-mode:
|
|||
`short long none`); note that changes to `$budspencer_pwdstyle` keep persistant as it's
|
||||
a universal variable.
|
||||
|
||||
![pwd style][pwdstyle]
|
||||
|
||||
- Style of symbols can be toggled in NORMAL and in VISUAL mode with `#`
|
||||
* styles implemented:
|
||||
- `symbols` (shows status symbols)
|
||||
- `numbers` (shows numbers instead of symbols in left prompt as well as amount of changes in
|
||||
right git prompt)
|
||||
|
||||
Note, the format is _username@hostname:pathname_. Thus, you can cut
|
||||
the whole string with your mouse and paste it into `ssh` commands.
|
||||
|
||||
## Quickly navigate in history of working directories
|
||||
|
||||
The function `d` shows the history as enumerated list. Unlike fish's builtin
|
||||
`dirh`, `d` does not show any duplicates. Enter a number to jump to a directory
|
||||
within the list.
|
||||
The function `d` drops down a menu showing the history as enumerated list. Unlike
|
||||
fish's builtin `dirh`, `d` does not show any duplicates. Enter a number to jump
|
||||
to a directory within the list.
|
||||
|
||||
![dir menu][dirmenu]
|
||||
|
||||
The following shortcuts need vi-mode:
|
||||
- Press `H` in NORMAL mode to change present working directory to previous
|
||||
|
@ -148,8 +169,8 @@ The following shortcuts need vi-mode:
|
|||
|
||||
## Quickly navigate in command history
|
||||
|
||||
The function `c` shows the command history as enumerated list similarly to
|
||||
the `d` function. Selections are also paste into the X clipboard. It's possible
|
||||
The function `c` drops down a menu showing the command history as enumerated list similarly to
|
||||
the `d` function. Selections are also pasted into the X clipboard. It's possible
|
||||
to load a command of a former prompt by giving the prompt line number as
|
||||
argument.
|
||||
|
||||
|
@ -158,7 +179,8 @@ argument.
|
|||
A bookmark can be created with `mark`. It can be removed with `unmark`.
|
||||
Bookmarks are universal and thus persistant.
|
||||
A new shell automatically changes working directory on startup to newest bookmark.
|
||||
`m` is a function that shows the bookmarks as enumerated list equivalently to `d`.
|
||||
`m` is a function that drops down a menu showing the bookmarks as enumerated list
|
||||
equivalently to `d`.
|
||||
|
||||
The following shortcuts need vi mode:
|
||||
- Create a bookmark for present working directory with `m` in NORMAL mode.
|
||||
|
@ -171,8 +193,7 @@ 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 or `\cv` in NORMAL/INSERT mode to edit commandline in
|
||||
editor.
|
||||
- Type `.` in NORMAL mode to edit commandline in editor.
|
||||
|
||||
## Sessions
|
||||
|
||||
|
@ -195,6 +216,13 @@ Just type `wt <title>`.
|
|||
|
||||
- vi REPLACE mode, as soon as REPLACE mode is implemented within fish
|
||||
|
||||
## Feedback
|
||||
|
||||
Give me feedback if you ...
|
||||
* ... have ideas how I could improve budspencer.
|
||||
* ... have problems with budspencer.
|
||||
* ... have questions concerning budspencer.
|
||||
|
||||
[font]: https://github.com/Lokaltog/powerline-fonts
|
||||
[ranger]: http://ranger.nongnu.org/
|
||||
[taskwarrior]: http://taskwarrior.org/
|
||||
|
@ -203,3 +231,5 @@ Just type `wt <title>`.
|
|||
[fish-nightly]: https://github.com/fish-shell/fish-shell/wiki/Nightly-builds
|
||||
[screenshot]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer.jpg
|
||||
[colors]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer_replace_colors.jpg
|
||||
[dirmenu]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer_dir_menu.jpg
|
||||
[pwdstyle]: https://raw.githubusercontent.com/tannhuber/media/master/budspencer_pwd_style.jpg
|
||||
|
|
|
@ -41,8 +41,6 @@ if [ $fish_key_bindings = 'fish_vi_key_bindings' ]
|
|||
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
|
||||
|
@ -69,51 +67,51 @@ function __budspencer_preexec -d 'Execute after hitting <Enter> before doing any
|
|||
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
|
||||
if [ -z $cmd[1] ]
|
||||
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
|
||||
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
|
||||
end
|
||||
commandline -f execute
|
||||
commandline -f execute
|
||||
end
|
||||
|
||||
#####################
|
||||
|
@ -131,10 +129,10 @@ function __budspencer_create_dir_hist -v PWD -d 'Create directory history withou
|
|||
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
|
||||
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.'
|
||||
|
@ -143,7 +141,7 @@ function __budspencer_cd_prev -d 'Change to previous directory, press H in NORMA
|
|||
set pwd_hist_lock true
|
||||
cd $$dir_hist[1][$dir_hist_val]
|
||||
commandline -f repaint
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function __budspencer_cd_next -d 'Change to next directory, press L in NORMAL mode.'
|
||||
|
@ -152,7 +150,7 @@ function __budspencer_cd_next -d 'Change to next directory, press L in NORMAL mo
|
|||
set pwd_hist_lock true
|
||||
cd $$dir_hist[1][$dir_hist_val]
|
||||
commandline -f repaint
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function d -d 'List directory history, jump to directory in list with d <number>'
|
||||
|
@ -161,34 +159,39 @@ function d -d 'List directory history, jump to directory in list with d <number>
|
|||
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
|
||||
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)]
|
||||
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)
|
||||
tput cuu1
|
||||
end
|
||||
for i in (seq (expr $num_items + 1))
|
||||
tput cuu1
|
||||
end
|
||||
tput ed
|
||||
tput cuu1
|
||||
set pcount (expr $pcount - 1)
|
||||
set no_prompt_hist 'T'
|
||||
end
|
||||
|
||||
####################
|
||||
|
@ -196,24 +199,31 @@ end
|
|||
####################
|
||||
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
|
||||
if begin
|
||||
[ $pcount -gt 0 ]
|
||||
and [ $no_prompt_hist = 'F' ]
|
||||
end
|
||||
set prompt_hist[$pcount] $cmd
|
||||
else
|
||||
set no_prompt_hist 'F'
|
||||
end
|
||||
set pcount (expr $pcount + 1)
|
||||
# Create command history
|
||||
if not begin
|
||||
expr $cmd : '[cdms] ' > /dev/null
|
||||
or contains $cmd $budspencer_nocmdhist
|
||||
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
|
||||
end
|
||||
set fish_bind_mode insert
|
||||
echo -n \a
|
||||
set fish_bind_mode insert
|
||||
echo -n \a
|
||||
end
|
||||
|
||||
function c -d 'List command history, load command from prompt with c <prompt number>'
|
||||
|
@ -222,36 +232,44 @@ function c -d 'List command history, load command from prompt with c <prompt num
|
|||
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
|
||||
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
|
||||
for i in (seq (count (echo $$cmd_hist\n)))
|
||||
tput cuu1
|
||||
end
|
||||
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
|
||||
for i in (seq (count (echo $$cmd_hist\n)))
|
||||
tput cuu1
|
||||
end
|
||||
tput cuu1
|
||||
set -e $cmd_hist[1][(expr $num_items - $cmd_num)] ^ /dev/null
|
||||
end
|
||||
tput ed
|
||||
tput cuu1
|
||||
set pcount (expr $pcount - 1)
|
||||
set no_prompt_hist 'T'
|
||||
end
|
||||
|
||||
##############
|
||||
|
@ -262,7 +280,7 @@ function mark -d 'Create bookmark for present working directory.'
|
|||
set -U bookmarks $PWD $bookmarks
|
||||
set pwd_hist_lock true
|
||||
commandline -f repaint
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function unmark -d 'Remove bookmark for present working directory.'
|
||||
|
@ -270,7 +288,7 @@ function unmark -d 'Remove bookmark for present working directory.'
|
|||
set -e bookmarks[(contains -i $PWD $bookmarks)]
|
||||
set pwd_hist_lock true
|
||||
commandline -f repaint
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function m -d 'List bookmarks, jump to directory in list with m <number>'
|
||||
|
@ -279,33 +297,36 @@ function m -d 'List bookmarks, jump to directory in list with m <number>'
|
|||
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
|
||||
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
|
||||
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
|
||||
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)]
|
||||
end
|
||||
for i in (seq (expr $num_items + 1))
|
||||
tput cuu1
|
||||
end
|
||||
tput ed
|
||||
tput cuu1
|
||||
end
|
||||
|
||||
#############
|
||||
|
@ -317,9 +338,9 @@ function __budspencer_delete_zombi_sessions -d 'Delete zombi sessions'
|
|||
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
|
||||
end
|
||||
|
||||
function __budspencer_create_new_session -d 'Create a new session'
|
||||
set -U budspencer_session_cmd_hist_$argv[1] $$cmd_hist
|
||||
|
@ -332,20 +353,20 @@ function __budspencer_erase_session -d 'Erase current session'
|
|||
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
|
||||
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'
|
||||
|
@ -353,35 +374,37 @@ function __budspencer_detach_session -d 'Detach current session'
|
|||
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
|
||||
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 no_prompt_hist 'T'
|
||||
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]
|
||||
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 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 no_prompt_hist 'T'
|
||||
end
|
||||
|
||||
function s -d 'Create, delete or attach session'
|
||||
|
@ -401,70 +424,90 @@ function s -d 'Create, delete or attach session'
|
|||
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]
|
||||
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
|
||||
else
|
||||
set_color $budspencer_colors[4]
|
||||
end
|
||||
end
|
||||
if contains $budspencer_sessions[$i] $budspencer_sessions_active
|
||||
set active_indicator '✻ '
|
||||
else
|
||||
set active_indicator ' '
|
||||
set active_indicator ' '
|
||||
end
|
||||
echo (expr $num_items - $i)\t$active_indicator$budspencer_sessions[$i]
|
||||
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
|
||||
set pcount (expr $pcount - 1)
|
||||
switch $session_num
|
||||
case (seq 0 (expr $num_items - 1))
|
||||
set argv[1] $budspencer_sessions[(expr $num_items - $session_num)]
|
||||
for i in (seq (expr $num_items + 1))
|
||||
tput cuu1
|
||||
end
|
||||
tput ed
|
||||
tput cuu1
|
||||
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
|
||||
if [ (expr $num_items - $session_num) -gt 0 ]
|
||||
__budspencer_erase_session -e $budspencer_sessions[(expr $num_items - $session_num)]
|
||||
end
|
||||
for i in (seq (expr $num_items + 3))
|
||||
tput cuu1
|
||||
end
|
||||
tput ed
|
||||
return
|
||||
case '*'
|
||||
for i in (seq (expr $num_items + 1))
|
||||
tput cuu1
|
||||
end
|
||||
tput ed
|
||||
tput cuu1
|
||||
return
|
||||
end
|
||||
end
|
||||
if [ $num_items -eq 1 ]
|
||||
set last_item ''
|
||||
else
|
||||
set last_item '-'(expr $num_items - 1)
|
||||
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
|
||||
tput cuu1
|
||||
tput ed
|
||||
set pcount (expr $pcount - 1)
|
||||
case '-*'
|
||||
set_color $fish_color_error[1]
|
||||
echo "Invalid argument: $argv[1]"
|
||||
case '*'
|
||||
__budspencer_attach_session $argv $item
|
||||
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_commandline -d 'Open current commandline with your editor'
|
||||
commandline | fish_indent > $budspencer_tmpfile
|
||||
commandline > $budspencer_tmpfile
|
||||
eval $EDITOR $budspencer_tmpfile
|
||||
if [ -s $budspencer_tmpfile ]
|
||||
commandline (sed 's|^\s*||' $budspencer_tmpfile)
|
||||
else
|
||||
commandline ''
|
||||
end
|
||||
rm $budspencer_tmpfile
|
||||
else
|
||||
commandline ''
|
||||
end
|
||||
rm $budspencer_tmpfile
|
||||
end
|
||||
|
||||
################
|
||||
|
@ -475,14 +518,14 @@ function __budspencer_prompt_git_branch -d 'Return the current branch name'
|
|||
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|')
|
||||
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[9])''(set_color $budspencer_colors[1])' '$position' '(set_color $budspencer_colors[9])
|
||||
echo -n (set_color -b $budspencer_colors[3])''(set_color $budspencer_colors[1])' '$branch' '(set_color $budspencer_colors[3])
|
||||
end
|
||||
else
|
||||
echo -n (set_color -b $budspencer_colors[3])''(set_color $budspencer_colors[1])' '$branch' '(set_color $budspencer_colors[3])
|
||||
end
|
||||
end
|
||||
|
||||
######################
|
||||
|
@ -490,26 +533,26 @@ end
|
|||
######################
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
####################
|
||||
|
@ -518,113 +561,127 @@ end
|
|||
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 ''
|
||||
set todo (task due.before:sunday ^ /dev/null | tail -1 | cut -f1 -d' ')
|
||||
set overdue (task due.before:today ^ /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 $overdue) -eq 0 ]
|
||||
set overdue 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 ' ✔'
|
||||
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]
|
||||
end
|
||||
if [ $overdue -gt 0 ]
|
||||
set_color -o $budspencer_colors[8]
|
||||
end
|
||||
if [ (expr $todo + $overdue) -gt 0 ]
|
||||
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
|
||||
set_color -o $budspencer_colors[7]
|
||||
echo -n ' ✘'
|
||||
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]
|
||||
end
|
||||
if [ $overdue -gt 0 ]
|
||||
set_color -b $budspencer_colors[2] $budspencer_colors[8]
|
||||
end
|
||||
if [ (expr $todo + $overdue) -gt 0 ]
|
||||
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
|
||||
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]
|
||||
echo -n ' '
|
||||
set_color -b normal $budspencer_colors[2]
|
||||
end
|
||||
|
||||
###############################################################################
|
||||
|
@ -645,6 +702,7 @@ set -g dir_hist dir_hist_nosession
|
|||
set -g pwd_hist_lock false
|
||||
set -g pcount 1
|
||||
set -g prompt_hist
|
||||
set -g no_prompt_hist 'F'
|
||||
set -g symbols_style 'symbols'
|
||||
|
||||
# Load user defined key bindings
|
||||
|
@ -675,11 +733,11 @@ 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
|
||||
end ^ /dev/null
|
||||
cd $bookmarks[1]
|
||||
set -q -x LOGIN
|
||||
or set -q -x RANGER_LEVEL
|
||||
or set -q -x VIM
|
||||
end ^ /dev/null
|
||||
cd $bookmarks[1]
|
||||
end
|
||||
set -x LOGIN $USER
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user