function funclnk --description "Synchronise fish script symlinks" function _link_fish_scripts -a scriptpath if test (count $argv) -lt 1 return 1 end set -f configdir "$HOME/Config" set -f fishfuncdir "$__fish_config_dir/functions" for script in (find $configdir -type f -path $scriptpath -name "*.fish") set -l basescriptname (path basename $script) if test -e "$fishfuncdir/$basescriptname" continue end if ask "Add a symlink to $basescriptname to fish profile?" pushd $fishfuncdir ln -s (realpath --relative-to=. $script) popd end end return 0 end _link_fish_scripts '*/.config/fish/conf.d/*' _link_fish_scripts '*/.config/fish/functions/*' functions -e _link_fish_scripts end