Use a public API to wrap rsync_* function

This commit is contained in:
Perdixky
2025-12-04 17:06:26 +08:00
parent 85892940b5
commit 8cfb3be4cd
2 changed files with 13 additions and 5 deletions
+1 -5
View File
@@ -30,11 +30,7 @@ esac
case "${SKIP_FISH}" in
true) sleep 0;;
*)
# Use rsync with exclude to preserve user's custom conf.d directory
if [ -d "$XDG_CONFIG_HOME"/fish ];then
warning_overwrite
fi
rsync_dir__sync_exclude dots/.config/fish "$XDG_CONFIG_HOME"/fish "conf.d"
install_dir__sync_exclude dots/.config/fish "$XDG_CONFIG_HOME"/fish "conf.d"
;;
esac
+12
View File
@@ -137,6 +137,18 @@ function install_dir__skip_existed(){
v rsync_dir $s $t
fi
}
function install_dir__sync_exclude(){
# NOTE: Do not add prefix `v` or `x` when using this function
# Sync directory with exclude patterns
# Usage: install_dir__sync_exclude <src> <dest> <exclude_pattern1> [<exclude_pattern2> ...]
local s=$1
local t=$2
shift 2
if [ -d $t ];then
warning_overwrite
fi
rsync_dir__sync_exclude $s $t "$@"
}
function install_google_sans_flex(){
local font_name="Google Sans Flex"
local src_name="google-sans-flex"