fzf.fish: errors at installation time. `complete: Too many arguments`

Before proceeding…

Describe the bug

At installation time I get a lot of errors about the use of fish’s complete function

Steps to reproduce

Environment

Versions installed:

  • fish, version 3.3.1
  • fzf.fish: 8.0.1
  • fisher, version 4.3.1
  • terminal: Konsole Version 21.08.1
  • OS: Ubuntu 21.10

Additional context

Here are the errors:



complete: Too many arguments

~/.config/fish/completions/fzf_configure_bindings.fish (line 1): 
complete fzf_configure_bindings --no-files
^
from sourcing file ~/.config/fish/completions/fzf_configure_bindings.fish
        called on line 176 of file ~/.config/fish/functions/fisher.fish
in function 'fisher' with arguments 'install PatrickF1/fzf.fish'

(Type 'help complete' for related documentation)
complete: Too many arguments

~/.config/fish/completions/fzf_configure_bindings.fish (line 2): 
complete fzf_configure_bindings --long help --short h --description "Print help"
^
from sourcing file ~/.config/fish/completions/fzf_configure_bindings.fish
        called on line 176 of file ~/.config/fish/functions/fisher.fish
in function 'fisher' with arguments 'install PatrickF1/fzf.fish'

(Type 'help complete' for related documentation)
complete: Too many arguments

~/.config/fish/completions/fzf_configure_bindings.fish (line 3): 
complete fzf_configure_bindings --long directory --description "Change the key binding for searching directory"
^
from sourcing file ~/.config/fish/completions/fzf_configure_bindings.fish
        called on line 176 of file ~/.config/fish/functions/fisher.fish
in function 'fisher' with arguments 'install PatrickF1/fzf.fish'

(Type 'help complete' for related documentation)
complete: Too many arguments

~/.config/fish/completions/fzf_configure_bindings.fish (line 4): 
complete fzf_configure_bindings --long git_log --description "Change the key binding for searching git log"
^
from sourcing file ~/.config/fish/completions/fzf_configure_bindings.fish
        called on line 176 of file ~/.config/fish/functions/fisher.fish
in function 'fisher' with arguments 'install PatrickF1/fzf.fish'

(Type 'help complete' for related documentation)
complete: Too many arguments

~/.config/fish/completions/fzf_configure_bindings.fish (line 5): 
complete fzf_configure_bindings --long git_status --description "Change the key binding for searching git status"
^
from sourcing file ~/.config/fish/completions/fzf_configure_bindings.fish
        called on line 176 of file ~/.config/fish/functions/fisher.fish
in function 'fisher' with arguments 'install PatrickF1/fzf.fish'

(Type 'help complete' for related documentation)
complete: Too many arguments

~/.config/fish/completions/fzf_configure_bindings.fish (line 6): 
complete fzf_configure_bindings --long history --description "Change the key binding for searching history"
^
from sourcing file ~/.config/fish/completions/fzf_configure_bindings.fish
        called on line 176 of file ~/.config/fish/functions/fisher.fish
in function 'fisher' with arguments 'install PatrickF1/fzf.fish'

(Type 'help complete' for related documentation)
complete: Too many arguments

~/.config/fish/completions/fzf_configure_bindings.fish (line 7): 
complete fzf_configure_bindings --long variables --description "Change the key binding for searching variables"
^
from sourcing file ~/.config/fish/completions/fzf_configure_bindings.fish
        called on line 176 of file ~/.config/fish/functions/fisher.fish
in function 'fisher' with arguments 'install PatrickF1/fzf.fish'

(Type 'help complete' for related documentation)
Installed 1 plugin/s

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 20 (10 by maintainers)

Commits related to this issue

Most upvoted comments

OK, so apparently I had fish 3.1.0 at /usr/bin/fish and the newest 3.3.1 at /home/linuxbrew/.linuxbrew/bin/fish. I guess I originally installed fish via curl -L https://get.oh-my.fish, forgot about it and updated it via brew.

I’m trying to understand how is it that if the fish shell version is actually 3.1 why would fish --version output 3.3? Is it the case that the first fish in PATH is 3.3 but the fish that your terminal was configured to use the /usr/bin/fish which is 3.1?

Just confirmed. My $SHELL Variable points to /usr/bin/fish. But in my $PATH /home/linuxbrew/.linuxbrew/bin is in front of /usr/bin, which means it has a higher priority. I think this explains the behavior perfectly.

Thanks for the response @PatrickF1, completely missed that information on the README 😅.