Giter Site home page Giter Site logo

oh-my-fish / theme-budspencer Goto Github PK

View Code? Open in Web Editor NEW
106.0 10.0 42.0 162 KB

A theme for nerds, 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.

License: MIT License

Shell 100.00%

theme-budspencer's Introduction

Budspencer theme

A theme for nerds, 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

video

Requirements

You need an up-to-date fish shell version from github or a nightly build.

Non standard tools:

Note for OS X users

The theme uses advanced sed and expr features. The OS X tools have restricted functionality.

Try expr from coreutils package if you see expr: syntax error in budspencer prompt.

Install advanced sed and expr versions:

$ brew install coreutils gnu-sed

Add this to your ~/.config/fish/config.fish:

if test (uname -s) = "Darwin"
  set -gx PATH /usr/local/opt/coreutils/libexec/gnubin $PATH
  set -gx PATH /usr/local/opt/gnu-sed/libexec/gnubin $PATH
end

Configuration

General configuration

The theme behaves similar to vim's airline/powerline plugins. Thus, it needs a powerline 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

Redefine $budspencer_colors with the set command in order to change the colors of the prompt.

Example:

set budspencer_colors 000000 333333 666666 ffffff ffff00 ff6600 ff0000 ff0033 3300ff 0000ff 00ffff
00ff00

will result in a prompt like this: color replace example

Two color schemes for bright and dark environments are predefined. You can enable them with day and night, respectively.

Command history

Commands that shouldn't appear in the command history are defined by a universal list $budspencer_nocmdhist. Default:

set -U budspencer_nocmdhist c d ll ls m s

Disable/reenable greeting

Disable:

set -U budspencer_nogreeting

Reenable:

set -e budspencer_nogreeting

Show Node version

To show your current node version, do following in your Fish configs

set -g budspencer_alt_environment "node -v"

Ring the bell in order to set the urgency hint flag

If you have configured your terminal application to use the visual bell, your window manager will tell you when a job running in your shell has finished. You don't need to check manually whether it's done.

Disable the acoustic bell

If you have still activated the acoustic bell, you probably hate that feature. Switch it off in that case:

set -U budspencer_nobell

Outer prompt segments

  • Vi mode is indicated by color of outer segments, cursor color also changes if terminal supports it:
    • blue: NORMAL mode
    • yellow: INSERT mode
    • magenta: VISUAL mode

Left prompt segments

  • Prompt line number
  • Repository information
  • Status symbols
    • ✻: keep track of this shell session, can be toggled with # to show the number of the session within the sessions list
    • ⌘: present working directory is in bookmark list, can be toggled with # to show the number of the bookmark
    • V: vi is parent process
    • R: ranger is parent process
    • ⚙: 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 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
    • ✘: last command failed, can be toggled with # to show the status value
    • ⚡: superuser indicator
  • Present working directory
  • Active Python virtual environment. Requires Virtual Fish

Right prompt segments

  • Last command's duration time
  • Repo status symbols:
    • ↑: git repository is ahead origin
    • ↓: git repository is behind origin
    • +: changes have been added to git index
    • –: files have been deleted in work tree
    • ✱: files have been modified in work tree
    • →: files have been renamed in git index
    • ═: there are unmerged commits
    • ●: there are untracked (new) files
    • ✭: there are stashed commits

Toggle prompt segments

The following shortcuts need vi-mode:

  • Style of "present working directory"-segment can be toggled in NORMAL and in VISUAL mode with space bar
    • styles implemented:
      • short (shows username, short hostname and truncated path; recommended in most cases)
      • long (shows username, full hostname and full path; useful for copy-paste in ssh connections)
      • none (shows nothing except small delimiter; useful for small terminals)
      • If prompt is toggled with #, the IP address is shown instead of the hostname.
    • configurable by universal list $budspencer_pwdstyle (if not set, defaults to short long none); note that changes to $budspencer_pwdstyle keep persistant as it's a universal variable.

pwd style

  • 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 repo 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 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

The following shortcuts need vi-mode:

  • Press H in NORMAL mode to change present working directory to previous working directory in history.
  • Press L in NORMAL mode to change present working directory to next working directory in history.

Quickly navigate in command history

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.

Bookmarks

A bookmark can be created with mark. It can be removed with unmark.

unmark can take an argument to remove a specific bookmark in the bookmark list. Simply add the number of the bookmark you would like to remove as the argument.

Bookmarks are universal and thus persistant. A new shell automatically changes working directory on startup to newest bookmark. 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.
  • Remove a bookmark for present working directory with M in NORMAL mode.

By default the shell will change to the directory of the latest bookmark on a new session. This can be disabled by adding the following line:

set -U budspencer_no_cd_bookmark

Edit commandline with your favorite editor

The function edit-commandline let you edit the commandline with your editor. 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.

Sessions

Shell session can be stored with s <session name>. If a session with session name already exists, the session with this name will be attached. If a session with session name is already active within another terminal, this terminal will be focussed.

A list of available sessions can be shown with s.

A session can be erased with s -e <session name>.

Type s -d to detach current session.

Set window title

Just type wt <title>.

TODO

  • 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.

theme-budspencer's People

Contributors

alexandre-allard avatar apraga avatar bashfulrobot avatar bobthecow avatar bpinto avatar buzz-dee avatar clayauld avatar g00ntar avatar janernsting avatar martindelille avatar mcgrathg avatar mellotanica avatar sagebind avatar scorphus avatar talha131 avatar tannhuber avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

theme-budspencer's Issues

fish: Unknown command '__budspencer_preexec'

enabling budspencer, then opening a new fish session results in this error and a hang when executing any command:

fish: Unknown command '__budspencer_preexec'

I have added the following line to the beginning of my $OMF_CONFIG/init.fish

 set -U fish_key_bindings fish_vi_key_bindings

Any idea what's up?

How to Disable edit-commandline function?

The shortcut of edit-commandline function is conflict when I pressing "esc"+"." in shell, this key combination is very useful to append previous parameters. However, the edit-commandline function shares the same shortcut.

How to disable or edit the edit-commandline shortcut?

Variables may not be used as commands. In fish, please define a function or use 'eval budspencer_colors[10]'.

I get this error when I open my terminal?

Variables may not be used as commands. In fish, please define a function or use 'eval budspencer_colors[10]'.
~/.local/share/omf/themes/budspencer/fish_greeting.fish (line 2):       $budspencer_colors[10]
                                                                        ^
in command substitution
    called on line 19 of file ~/.local/share/omf/themes/budspencer/fish_greeting.fish

in function 'fish_greeting'
    called on line 110 of file /usr/local/share/fish/functions/__fish_config_interactive.fish

in function '__fish_config_interactive'
    called on line 137 of file /usr/local/share/fish/config.fish

in function '__fish_on_interactive'
    called on standard input

in event handler: handler for generic event 'fish_prompt'

This is budspencer theme for fish, a theme for nerds.

Fish 3.0.2 has indent issues on MAC and WSL2

This only occurs for the budspencer theme. My other themes work fine.

2  ✔  cd ~
Fish has been upgraded, and the scripts on your system are not compatible
with this prior instance of fish. You can probably run:

exec fish
… to replace this process with a new one in-place.

  • (line 1): function: Unexpected positional argument 'alias fish_indent=/usr/local/Cellar/fish/3.0.2/bin/fish_indent'
    function fish_indent --wraps --description 'alias fish_indent=/usr/local/Cellar/fish/3.0.2/bin/fish_indent'; /usr/local/Cellar/fish/3.0.2/bin/fish_indent $argv; end
    ^
    from sourcing file -
    called on line 72 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/alias.fish

in function 'alias'
called on line 7 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_indent.fish
with parameter list 'fish_indent=/usr/local/Cellar/fish/3.0.2/bin/fish_indent'

from sourcing file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_indent.fish
called on line 263 of file ~/.config/fish/functions/fish_prompt.fish

in command substitution
called on line 263 of file ~/.config/fish/functions/fish_prompt.fish

in command substitution
called on line 527 of file ~/.config/fish/functions/fish_prompt.fish

in function '__budspencer_create_cmd_hist'
called on standard input

in event handler: handler for generic event 'fish_prompt'

1  ✔  omf doctor  ~
Oh My Fish version: 6
OS type: Darwin
Fish version: fish, version 3.0.2
Git version: git version 2.23.0
Git core.autocrlf: no
Your shell is ready to swim.

Clearing terminal after special commands execution

Hey,

After I execute commands like m or d the console is not cleared as expected (see https://asciinema.org/a/f0d0gn6wdsj8206gbwp3uan7u).

I was trying to tweak the lines responsible for the issue but I didn't manage to get it working:

for i in (seq (expr $num_items + 1))
    tput cuu1
end
tput ed
tput cuu1

Any ideas what's the problem? I guess tput ed is not working for me for some reason...

I use fish 2.3.0, iTerm 3.0.10/Terminal 2.6.1, OS X 10.11.6

Array out of bounds error

This error occurs before every prompt in one of my Git repos:

Array index out of bounds
~/.local/share/omf/themes/budspencer/fish_right_prompt.fish (line 1): expr $git_ahead_behind[1] + $git_ahead_behind[2] + $git_status[1] + $git_status[2] + $git_status[3] + $git_status[4] + $git_status[5] + $git_status[6] + $git_stashed
                                                                                                                    ^
in command substitution
    called on line 103 of file ~/.local/share/omf/themes/budspencer/fish_right_prompt.fish

in function '__budspencer_prompt_git_symbols'
    called on line 241 of file ~/.local/share/omf/themes/budspencer/fish_right_prompt.fish

in command substitution
    called on line 239 of file ~/.local/share/omf/themes/budspencer/fish_right_prompt.fish

in function 'fish_right_prompt'
    called on standard input

in command substitution
    called on standard input

test: Missing argument at index 2

does only work with en_US.UTF-8 locale

If I change to any different locale from another country, i have weird errors and can't see the status infos (i.e. cwd) anymore. It also happens if I only set LC_TIME to something else, indicating it may has something to do with the time format.

expr: syntax error

Each time I type a type a fish command I have the following error:

$ fish --version
fish, version 3.0.0-172-g6d11e464
expr: syntax error
[: Missing argument at index 2

Killing shell does not terminate child processes

I originally mistakenly filed this upstream, you can watch me embarrassing myself here.

Opening for example ranger and closing the terminal will leave fish and ranger both open, except that instead of looking for files ranger will now be hunting your CPU usage.

This is caused by the "Termination" section of fish_prompt.fish.

Right Prompt Segment Won't Update when Toggling H and L in NORMAL Mode

I just installed the latest fish and budspencer theme on Ubuntu 20.04. And found if I tried to switch working directories with "H" and "L", the right prompt segment won't reflect the corresponding directory that will be changed.

The "H" and "L" functions work well, just can't see which dir will go to.

use with Fira Code

Is there a way to integrate Fira Code into this theme similar to the bobthefish theme? It has some nice icons and ligatures for Git.
image
VS.
image

Malfunction when overriding greeting function

If I override the fish_greeting function, the fish prompt warns about missing __budspencer_urgency function, and I cannot use the wt function. I suspect other functions/variables from the fish_greeting.fish file are not loaded/set, but I haven't investigated further.

Any workarounds for this? I'd really like to set my own greeting function.

I have an idea, and I can submit a PR. It's basically an if in the fish_greeting function that runs another function, if a variable is set (probably something like __budspencer_greeting_override). But perhaps there is a simpler solution for this.

Problem with prompt

Sorry if I am at the wrong location.

I am using fish version 2.5.0-462-gc263c593

After the output of each program output ( like ls ) I do get a lot of error messages ( long enough I need to scroll ):

~/.config/fish/functions/fish_prompt.fish (line 6): Array index out of bounds
      set budspencer_current_bindmode_color $budspencer_colors[5]
                                                               ^
in function “__budspencer_prompt_bindmode”
        called on line 864 of file ~/.config/fish/functions/fish_prompt.fish

in command substitution
        called on line 862 of file ~/.config/fish/functions/fish_prompt.fish

in function “fish_prompt”
        called on standard input

in command substitution
        called on standard input

~/.config/fish/functions/fish_prompt.fish (line 7): Array index out of bounds
      echo -en $budspencer_cursors[2]
                                   ^
in function “__budspencer_prompt_bindmode”
        called on line 864 of file ~/.config/fish/functions/fish_prompt.fish

in command substitution
        called on line 862 of file ~/.config/fish/functions/fish_prompt.fish

in function “fish_prompt”
        called on standard input

in command substitution
        called on standard input

~/.config/fish/functions/fish_prompt.fish (line 1): Array index out of bounds
set_color -b $budspencer_colors[2]
                                ^
in command substitution
        called on line 672 of file ~/.config/fish/functions/fish_prompt.fish

in function “__budspencer_prompt_left_symbols”
        called on line 864 of file ~/.config/fish/functions/fish_prompt.fish

in command substitution
        called on line 862 of file ~/.config/fish/functions/fish_prompt.fish

in function “fish_prompt”
        called on standard input

in command substitution
        called on standard input

~/.config/fish/functions/fish_prompt.fish (line 1): Array index out of bounds
set_color -o $budspencer_colors[12]
                                ^
in command substitution
        called on line 672 of file ~/.config/fish/functions/fish_prompt.fish

in function “__budspencer_prompt_left_symbols”
        called on line 864 of file ~/.config/fish/functions/fish_prompt.fish

in command substitution
        called on line 862 of file ~/.config/fish/functions/fish_prompt.fish

in function “fish_prompt”
        called on standard input

in command substitution
        called on standard input

~/.config/fish/functions/fish_prompt.fish (line 1): Array index out of bounds
set_color $budspencer_colors[2]
                             ^
in command substitution
        called on line 672 of file ~/.config/fish/functions/fish_prompt.fish

in function “__budspencer_prompt_left_symbols”
        called on line 864 of file ~/.config/fish/functions/fish_prompt.fish

in command substitution
        called on line 862 of file ~/.config/fish/functions/fish_prompt.fish

in function “fish_prompt”
        called on standard input

in command substitution
        called on standard input

~/.config/fish/functions/fish_prompt.fish (line 1): Array index out of bounds
set_color $budspencer_colors[2]
                             ^
in command substitution
        called on line 672 of file ~/.config/fish/functions/fish_prompt.fish

in function “__budspencer_prompt_left_symbols”
        called on line 864 of file ~/.config/fish/functions/fish_prompt.fish

in command substitution
        called on line 862 of file ~/.config/fish/functions/fish_prompt.fish

in function “fish_prompt”
        called on standard input

in command substitution
        called on standard input

I am using the same configuration on another machine which works just fine.

System beep after certain commands

Hey,

I don't know if this is desired behavior or not, but I can hear system beep after commands like ls, touch, cat, cp, rm, maybe some others...there is no beep on cd though. I've test both with and without my custom (before).init.fish, and result is the same. I don't experience this with default theme, nor with "agnoster" theme which I've also used.

Should it be like that? If yes, how do I turn it off? If not, how can I debug it?

Thanks!

Installing + Uninstalling This Theme Does Not Remove Settings

I've been exploring a wide variety of fish themes, and was testing out budspencer. After testing, I removed the theme and discovered that the settings it change weren't reverted back. In particular:

  • Fish prompt was not reverted
  • Key bindings were not reverted

Enter works for some installations and does not work for some.

I used to get this weird error previously where you cannot press enter with out any command in the terminal. Later when I installed it in some other system it resolved it self.

The counter does not increase if you press enter like it happens normally. it only increases if you type a command. Not only the counter, the line does not go down which usually happens.

Thanks

@carlo Pedersoli: I'd like to say: »Thank you and good bye.«

The hero of my childhood and godfather of this theme died a week ago.

core dumped

This is budspencer theme for fish, a theme for the 70s.
Type »budspencer_help« in order to see how you can speed up your workflow.
fish: builtin.cpp:3549: int builtin_end(parser_t&, wchar_t**): Assertion `false' failed.
[1]    9697 abort (core dumped)  fish

OSX still have array index out of bounds errors with updated gnu-sed (v 4.2.2)

This happens immediately upon opening the shell / loading budspencer. $HOME directory is not a git repo.

gnu-sed is installed with brew install --with-default-names gnu-sed, and is version 4.2.2
fish is installed with brew install fish --HEAD
budspencer is installed with omf install budspencer

Error output:

$ omf theme budspencer
Array index out of bounds
~/.local/share/omf/themes/budspencer/fish_prompt.fish (line 6):       set budspencer_current_bindmode_color $budspencer_colors[5]
                                                                                                                               ^
in function '__budspencer_prompt_bindmode'
    called on line 794 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in command substitution
    called on line 792 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function 'fish_prompt'
    called on standard input

in command substitution
    called on standard input

Array index out of bounds
~/.local/share/omf/themes/budspencer/fish_prompt.fish (line 7):       echo -en $budspencer_cursors[2]
                                                                                                   ^
in function '__budspencer_prompt_bindmode'
    called on line 794 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in command substitution
    called on line 792 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function 'fish_prompt'
    called on standard input

in command substitution
    called on standard input

Array index out of bounds
~/.local/share/omf/themes/budspencer/fish_prompt.fish (line 1): set_color -b $budspencer_colors[2]
                                                                                                ^
in command substitution
    called on line 602 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function '__budspencer_prompt_left_symbols'
    called on line 794 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in command substitution
    called on line 792 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function 'fish_prompt'
    called on standard input

in command substitution
    called on standard input

Array index out of bounds
~/.local/share/omf/themes/budspencer/fish_prompt.fish (line 1): set_color -o $budspencer_colors[12]
                                                                                                ^
in command substitution
    called on line 602 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function '__budspencer_prompt_left_symbols'
    called on line 794 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in command substitution
    called on line 792 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function 'fish_prompt'
    called on standard input

in command substitution
    called on standard input

Array index out of bounds
~/.local/share/omf/themes/budspencer/fish_prompt.fish (line 1): set_color $budspencer_colors[2]
                                                                                             ^
in command substitution
    called on line 602 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function '__budspencer_prompt_left_symbols'
    called on line 794 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in command substitution
    called on line 792 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function 'fish_prompt'
    called on standard input

in command substitution
    called on standard input

Array index out of bounds
~/.local/share/omf/themes/budspencer/fish_prompt.fish (line 1): set_color $budspencer_colors[2]
                                                                                             ^
in command substitution
    called on line 602 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function '__budspencer_prompt_left_symbols'
    called on line 794 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in command substitution
    called on line 792 of file ~/.local/share/omf/themes/budspencer/fish_prompt.fish

in function 'fish_prompt'
    called on standard input

in command substitution
    called on standard input

Hang after any command

capturefish

See screenshot, after any command I no longer have control, the process does not take any large amounts of memory or CPU time, but I am unable to do anything with the fish-shell.
Reporting here as it only happens with this fantastic theme :(

Massive errors on MacOS Fish 3.0

This stream will never end.


/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_default_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_user_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_default_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_user_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_default_key_bindings.fish (line 27): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    __fish_shared_key_bindings $argv
    ^
in function 'fish_default_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            $fish_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_user_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            $fish_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_user_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_default_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_user_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_default_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_user_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_default_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_user_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_default_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_user_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_default_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

fish: The function call stack limit has been exceeded. Do you have an accidental infinite loop?
            fish_user_key_bindings 2>/dev/null
            ^
in function '__fish_reload_key_bindings'
        called on line 2 of file /usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_cursor.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 56): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
        __fish_shared_key_bindings -M $mode
        ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

/usr/local/Cellar/fish/3.0.2/share/fish/functions/fish_vi_key_bindings.fish (line 274): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
    fish_vi_cursor
    ^
in function 'fish_vi_key_bindings'
        called on standard input

in function '__fish_reload_key_bindings'
        called on line 1 of file ~/.local/share/omf/themes/budspencer/key_bindings.fish
        with parameter list 'VARIABLE SET fish_key_bindings'

in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

~/.local/share/omf/themes/budspencer/key_bindings.fish (line 1): The function call stack limit has been exceeded. Do you have an accidental infinite loop?
__fish_reload_key_bindings VARIABLE SET fish_key_bindings
^
in event handler: handler for variable 'fish_key_bindings'

fish_right_prompt not printing

I'm having an issue with this theme where every function in fish_right_prompt.fish results in a command not found error:

For example, if I toggle into VI mode and press the spacebar, I end up with the following warning:
__budspencer_toggle_pwd: command not found

Any ideas?

Some functionality broken with latest fish shell

Sorry for the slightly ambiguous title but I don't know specifically what to call this functionality; previously, budspencer would keep cd commands on the same line, not accept an empty string as a command, prompt you for a correction if you tried to cd into a non-existent directory etc, but I seem to have lost these nice features after updating fish.

budspencer don't show folder path on the right

Hi community !

I've install this very nice fish theme on my Linux, but the folder path on the right is not show. I've the command delay and the git branch on the left only.

I've see the README and i don't found information about this.

Anyone have an idea ?

Thank you !

Duration timer doesn't show correct number of days

Seems you have a typo in your duration calculation, for days you have 68400 instead of 86400.
Also noticed you are moding multiple times, you can just do the final mod.
Finally you can use fish's math built in instead of expr

       set -l cmd_duration (math -s0 $CMD_DURATION / 1000)
        set seconds (math -s0 $cmd_duration % 60)'s'
        if [ $cmd_duration -ge 60 ]
            set minutes (math -s0 $cmd_duration % 3600 / 60)'m'
            if [ $cmd_duration -ge 3600 ]
                set hours (math -s0 $cmd_duration % 86400 / 3600)'h'
                if [ $cmd_duration -ge 86400 ]
                    set days (math -s0 $cmd_duration / 86400)'d'
                  end
              end
          end

Problem with $pwd_style

I'm getting the following error after installing:

~/.config/fish/functions/fish_prompt.fish (line 20):   switch $pwd_style
                                                              ^
in function '__budspencer_prompt_bindmode'
	called on line 864 of file ~/.config/fish/functions/fish_prompt.fish

in command substitution
	called on line 862 of file ~/.config/fish/functions/fish_prompt.fish

in function 'fish_prompt'
	called on standard input

in command substitution
	called on standard input

I have installed using fisher install oh-my-fish/theme-budspencer.

Installing budspencer on aws gives errors

A fresh install of budspencer gives errors on AWS EC2. I removed ~/.config/fish/functions/fish_prompt.fish as omf doctor advised.

It appears that there is some issue with the math function, but can't be sure. Any insights?


       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
Welcome to fish, the friendly interactive shell
[I] ⋊> ~                                                                              18:06:36
[I] ⋊> ~ rm ~/.config/fish/functions/fish_prompt.fish                                 18:06:38
[I] ⋊> ~ omf install budspencer                                                       18:06:39
Updating https://github.com/oh-my-fish/packages-main master... Done!
Installing package budspencer
✔ budspencer successfully installed.
[: Expected a combining operator like '-a' at index 1

Accessing terminal bright colours

You can address the terminal's bright colours in fish by using the --bold prefix, but adding for example '--bold green to budspencer_colors returns a set_color: Unknown color '--bold green' error. Is there a way to use colours 8-15 in budspencer?

e: I've just noticed that fish was recently updated with support for colours 8-15 but the error persists.

e2: oops, somehow figured that pull request got merged, this problem has nothing to do with the theme

Crashes

$ fish
This is budspencer theme for fish, a theme for the 70s.
Type »budspencer_help« in order to see how you can speed up your workflow.
Assertion failed: (false), function builtin_end, file builtin.cpp, line 3549.
Abort trap: 6

Functions throwing syntax errors

Running functions such as d and c result in syntax errors. Here's the error for d:

expr: syntax error
read: Argument '-l' must be an integer
~/.local/share/omf/themes/budspencer/fish_prompt.fish (line 178):   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
                                                                    ^
in function 'd'
    called on standard input


       read ‐‐ read line of input into variables

   Synopsis
       read [OPTIONS] [VARIABLES...]

read: Type 'help read' for related documentation

switch: Expected exactly one argument, got 0

~/.local/share/omf/themes/budspencer/fish_prompt.fish (line 23):   switch $dir_num                                                                       ^

Consider 2-line prompt

It may be good to consider using a multi-line prompt

1  ✔                                                               19:36:23  ~
command
output

This seems cleaner and allows to copy the whole line to get the command,
as no extra characters appear on the line.
Otherwise Normal mode could yank the command on yy, but still this allows
to copy commands and their output easily.

Using this requires using \e[1A and \e[1B to move the cursor up and down on the right prompt, which may not work fine on every shell and will require this to be optional.

"c" throws error

▶ 1   history
▶ 0   vim ~/.config/fisherman/functions/fish_prompt.fish
expr: syntax error
read: Argument '-l' must be an integer
~/.config/fisherman/functions/fish_prompt.fish (line 335):   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
                                                             ^
in function 'c'
    called on standard input


       read ‐‐ read line of input into variables

   Synopsis
       read [OPTIONS] [VARIABLES...]

   Description
       read reads one line from standard input and stores the result in one or more shell variables.

       The following options are available:

       · ‐c CMD or ‐‐command=CMD sets the initial string in the interactive mode command buffer to CMD.

       · ‐g or ‐‐global makes the variables global.

       · ‐l or ‐‐local makes the variables local.

       · ‐m NAME or ‐‐mode‐name=NAME specifies that the name NAME should be used to save/load the history file. If NAME is fish, the regular fish history will be available.

       · ‐n NCHARS or ‐‐nchars=NCHARS causes read to return after reading NCHARS characters rather than waiting for a complete line of input.

       · ‐p PROMPT_CMD or ‐‐prompt=PROMPT_CMD uses the output of the shell command PROMPT_CMD as the prompt for the interactive mode. The default prompt command is set_color green; echo read; set_color normal; echo ’> ’.

       · ‐R RIGHT_PROMPT_CMD or ‐‐right‐prompt=RIGHT_PROMPT_CMD uses the output of the shell command RIGHT_PROMPT_CMD as the right prompt for the interactive mode. There is no default right prompt command.

       · ‐s or ‐‐shell enables syntax highlighting, tab completions and command termination suitable for entering shellscript code in the interactive mode.

       · ‐u or ‐‐unexport prevents the variables from being exported to child processes (default behaviour).

       · ‐U or ‐‐universal causes the specified shell variable to be made universal.

       · ‐x or ‐‐export exports the variables to child processes.

       · ‐a or ‐‐array stores the result as an array.

       · ‐z or ‐‐null reads up to NUL instead of newline. Disables interactive mode.

       read reads a single line of input from stdin, breaks it into tokens based on the IFS shell variable, and then assigns one token to each variable specified in VARIABLES. If there are more tokens than variables, the complete remainder is assigned to the last variable. As a special case, if IFS is set to the
       empty string, each character of the input is considered a separate token.

       If ‐a or ‐‐array is provided, only one variable name is allowed and the tokens are stored as an array in this variable.

       See the documentation for set for more details on the scoping rules for variables.

   Example
       The following code stores the value ’hello’ in the shell variable $foo.

       echo hello|read foo

switch: Expected exactly one argument, got 0

~/.config/fisherman/functions/fish_prompt.fish (line 25):   switch $cmd_num
                                                                   ^
in function 'c'
    called on standard input

color palette

Hi
Tnx for your theme
I don't like your default color palette of this theme but I can't find anyone new.
How I can do that. A new color palette for this them.
Please help me...

Command starting with a dash are not properly handled by fish_prompt

When trying to launch a command starting with a dash, the prompt is throwing multiple errors.
I know that's a strange use case to name a binary/script with a dash as the first letter, but still the theme should handle that.

Steps to reproduce:
Just type anything starting with a dash (e.g. --foo)

Error message:

$ --foo
 --footype: Unknown option “--foo”
/usr/share/fish/functions/type.fish (line 7):
    argparse -n type --min-args=1 -x t,p,P $options -- $argv
    ^
in function “type”
	called on line 129 of file ~/.config/fish/functions/fish_prompt.fish
	with parameter list “-q --foo”

in function “__budspencer_preexec”
	called on standard input


       typetype - indicate how a command would be interpreted
        -

   Synopsis
       type [OPTIONS] NAME [NAME ...]

type: Type “help type” for related documentation

--foo: command not found
contains: Unknown option “--foo”
~/.config/fish/functions/fish_prompt.fish (line 279):
        or contains $cmd $budspencer_nocmdhist
        ^
in function “__budspencer_create_cmd_hist”
	called on standard input

in event handler: handler for generic event “fish_prompt”


       containscontains - test if a word is present in a list
        -

   Synopsis
       contains [OPTIONS] KEY [VALUES...]

contains: Type “help contains” for related documentation

contains: Unknown option “--foo”
~/.config/fish/functions/fish_prompt.fish (line 281):
      if contains $cmd $$cmd_hist
         ^
in function “__budspencer_create_cmd_hist”
	called on standard input

in event handler: handler for generic event “fish_prompt”


       containscontains - test if a word is present in a list
        -

   Synopsis
       contains [OPTIONS] KEY [VALUES...]

contains: Type “help contains” for related documentation

The fix is easy to do (just escape args from being interpreted as options):

diff --git a/fish_prompt.fish b/fish_prompt.fish
index 33d19a5..897f467 100755
--- a/fish_prompt.fish
+++ b/fish_prompt.fish
@@ -126,7 +126,7 @@ function __budspencer_preexec -d 'Execute after hitting <Enter> before doing any
       return
     end
     set -e budspencer_prompt_error[1]
-    if not type -q $cmd[1]
+    if not type -q -- $cmd[1]
       if [ -d $cmd[1] ]
         set budspencer_prompt_error (cd $cmd[1] 2>&1)
         and commandline ''
@@ -276,9 +276,9 @@ function __budspencer_create_cmd_hist -e fish_prompt -d 'Create command history
     # Create command history
     if not begin
         expr $cmd : '[cdms] ' > /dev/null
-        or contains $cmd $budspencer_nocmdhist
+        or contains -- $cmd $budspencer_nocmdhist
       end
-      if contains $cmd $$cmd_hist
+      if contains -- $cmd $$cmd_hist
         set -e $cmd_hist[1][(contains -i $cmd $$cmd_hist)]
       end
       set $cmd_hist $$cmd_hist $cmd

I can do the PR if need be, otherwise all needed information are above.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.