jorgebucaran / fisher

A plugin manager for Fish
https://git.io/fisher
MIT License
7.71k stars 263 forks source link

Fisher not autoloading plugins? #681

Closed jason5122 closed 3 years ago

jason5122 commented 3 years ago

Hi, so I've installed bass using the command fisher install edc/bass. After installation, I can use the bass command. However, after restarting my terminal, the CLI does not recognize bass as a command. Should this be happening? I am under the impression that installing a plugin meant also autoloading it. Thanks for reading.

System Info

fish 3.3.1 fisher 4.1.0

Scrumplex commented 3 years ago

Autoloading is handled by fish, not fisher. When you run fisher install edc/bass it prints out the path where bass will be placed into (in my case it's $HOME/.config/fish/functions/bass.fish). Make sure that that path is in your $fish_function_path

jason5122 commented 3 years ago

I see, thanks. So fisher is just a way to copy the plugins into the functions folder and nothing more?

Also, fisher seems to copy the scripts into $HOME/.config/fish/fisher/functions, and not fish/functions. I'm not sure if I set this up a long time ago or if this is default behavior.

Scrumplex commented 3 years ago

Also, fisher seems to copy the scripts into $HOME/.config/fish/fisher/functions, and not fish/functions. I'm not sure if I set this up a long time ago or if this is default behavior.

That is probably the issue. I think the variable responsible for that is $fisher_path. So just unset it universally and you should be fine: set -Ue fisher_path

jorgebucaran commented 3 years ago

I am under the impression that installing a plugin meant also autoloading it

Definitely.

@jasonhan-vassar I just tried fisher install edc/bass and I was able to use bass in the same tab, as well as new tabs or upon restarting the terminal.

How did you install Fisher?

jason5122 commented 3 years ago

I'm not too sure, it's been a while. I believe I added fisher.fish to my fish/functions folder, and somehow set $fisher_path? From above, you can see it's been set to $HOME/.config/fish/fisher, so that already explains things. Actually, I'm pretty sure I set this to separate fisher's installs from my other functions. I'm going to keep it like this and just autoload fish/fisher/functions.

jorgebucaran commented 3 years ago

If you put Fisher in a directory that is not in your Fish function path, you'll need to autoload it yourself, obviously.