備忘録として。
fish_function_path にパスを追加するには、以下のようにする必要がある。
set -a fish_function_path "<path_to_add_functions>"
しかし、以下の書き方でもターミナル起動時のログインシェルでは正しく動いてしまう。
set -gx fish_function_path $fish_function_path "<path_to_add_functions>"
set -gx
で追加した場合にどういった問題が発生するかというと、fish shell から fish -l -c "any commands"
を実行した時にパスが壊れてしまい、追加したパスを含めた以外全ての functions が呼べなくなってしまう。
ドキュメントにも記載されているが、$fish_function_path
というのは list variables なので、gx で追加をするとリストがくっついた文字列に変化してしまう。