funcsave - save the definition of a function to the user’s autoload directory

Synopsis

funcsave FUNCTION_NAME
funcsave [-q | --quiet] [(-d | --directory) DIR] FUNCTION_NAME

Description

funcsave saves a function to a file in the fish configuration directory. This function will be automatically loaded by current and future fish sessions. This can be useful to commit functions created interactively for permanent use.

If you have erased a function using functions’s --erase option, funcsave will remove the saved function definition.

Because fish loads functions on-demand, saved functions cannot serve as event handlers until they are run or otherwise sourced. To activate an event handler for every new shell, add the function to the configuration file instead of using funcsave.

This is often used after funced, which opens the function in $EDITOR or $VISUAL and loads it into the current session afterwards.