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