feat: udpate fish

This commit is contained in:
2026-09-16 21:44:25 +08:00
parent 0b2d2b6c6d
commit 2060bbd23a
5 changed files with 240 additions and 1 deletions
+69
View File
@@ -0,0 +1,69 @@
#!/bin/bash
# 将 herdr 配置链接到 dotfile
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck disable=SC1091
source "$SCRIPT_DIR/common/help.sh"
usage() {
cat <<'EOF'
用法: herdr-init
将 ~/.dotfile/herdr/config.toml 软链接到 herdr 配置路径:
$XDG_CONFIG_HOME/herdr/config.toml(默认 ~/.config/herdr/config.toml)
已有配置会备份为 *.backup.<时间戳>。
选项:
-h, --help 显示此帮助
EOF
}
dotfile_help_requested "${1:-}" && dotfile_show_help
set -e
SRC="$HOME/.dotfile/herdr/config.toml"
CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
DEST_DIR="$CONFIG_HOME/herdr"
DEST="$DEST_DIR/config.toml"
if [ ! -f "$SRC" ]; then
echo "错误: 未找到 $SRC" >&2
exit 1
fi
echo "初始化 herdr 配置..."
echo "目标路径: $DEST"
mkdir -p "$DEST_DIR"
if [ -L "$DEST" ] && [ "$(readlink -f "$DEST")" = "$(readlink -f "$SRC")" ]; then
echo "软链接已存在且指向正确位置,无需操作。"
exit 0
fi
if [ -e "$DEST" ] || [ -L "$DEST" ]; then
BACKUP="$DEST.backup.$(date +%Y%m%d%H%M%S)"
mv "$DEST" "$BACKUP"
echo "已将现有配置备份到 $BACKUP"
fi
ln -s "$SRC" "$DEST"
if [ -L "$DEST" ] && [ "$(readlink -f "$DEST")" = "$(readlink -f "$SRC")" ]; then
echo "软链接创建成功: $DEST -> $SRC"
else
echo "软链接创建失败,请检查路径和权限。" >&2
exit 1
fi
if command -v herdr >/dev/null 2>&1; then
echo "校验配置:"
herdr config check || true
if pgrep -x herdr >/dev/null 2>&1; then
echo "herdr 正在运行,可在 herdr 内用 prefix+shift+r 热重载"
fi
else
echo "未找到 herdr,跳过配置校验"
fi