feat: add script catalog and -h help for all dotfile scripts

Introduce ff script -h with auto descriptions, shared help.sh, and usage flags across script/*.sh.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-25 15:09:35 +08:00
parent 1f6b042b26
commit 67291a9a50
36 changed files with 1056 additions and 442 deletions
+30 -18
View File
@@ -1,8 +1,28 @@
#!/bin/bash
# 从 GitHub Release 安装 Neovim 到 /usr/local/nvim
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck disable=SC1091
source "$SCRIPT_DIR/common/help.sh"
usage() {
cat <<'EOF'
用法: nvim-install
按当前平台下载 Neovim v0.12.2 预编译包,安装到 /usr/local/nvim,
并链接 nvim/vim 到 /usr/local/bin。
支持: macOS x86_64/arm64, Linux x86_64/arm64
选项:
-h, --help 显示此帮助
EOF
}
dotfile_help_requested "${1:-}" && dotfile_show_help
set -e
# install neovim
os_arch=$(uname -s)-$(uname -m)
ver=v0.12.2
@@ -10,57 +30,49 @@ case $os_arch in
"Darwin-x86_64")
cd /tmp
rm -rf nvim-macos-x86_64.tar.gz
wget https://github.com/neovim/neovim/releases/download/$ver/nvim-macos-x86_64.tar.gz
wget "https://github.com/neovim/neovim/releases/download/$ver/nvim-macos-x86_64.tar.gz"
tar zxf nvim-macos-x86_64.tar.gz
sudo mv -f /usr/local/nvim /usr/local/nvim-bak
sudo mv -f /usr/local/nvim /usr/local/nvim-bak 2>/dev/null || true
sudo mv nvim-macos-x86_64 /usr/local/nvim
sudo ln -sf /usr/local/nvim/bin/nvim /usr/local/bin/vim
sudo ln -sf /usr/local/nvim/bin/nvim /usr/local/bin/nvim
echo ""
vim -v
;;
"Darwin-arm64" | "Darwin-aarch64")
cd /tmp
rm -rf nvim-macos-arm64.tar.gz
wget https://github.com/neovim/neovim/releases/download/$ver/nvim-macos-arm64.tar.gz
wget "https://github.com/neovim/neovim/releases/download/$ver/nvim-macos-arm64.tar.gz"
tar zxf nvim-macos-arm64.tar.gz
[ -e /usr/local/nvim ] && sudo mv -f /usr/local/nvim /usr/local/nvim-bak
sudo mv nvim-macos-arm64 /usr/local/nvim
sudo ln -sf /usr/local/nvim/bin/nvim /usr/local/bin/vim
sudo ln -sf /usr/local/nvim/bin/nvim /usr/local/bin/nvim
echo ""
vim -v
;;
"Linux-x86_64")
cd /tmp
rm -rf nvim-linux64.tar.gz
wget https://github.com/neovim/neovim/releases/download/$ver/nvim-linux-x86_64.tar.gz
rm -rf nvim-linux-x86_64.tar.gz
wget "https://github.com/neovim/neovim/releases/download/$ver/nvim-linux-x86_64.tar.gz"
tar zxf nvim-linux-x86_64.tar.gz
[ -e /usr/local/nvim ] && sudo mv -f /usr/local/nvim /usr/local/nvim-bak
sudo mv nvim-linux-x86_64 /usr/local/nvim
sudo ln -sf /usr/local/nvim/bin/nvim /usr/local/bin/vim
sudo ln -sf /usr/local/nvim/bin/nvim /usr/local/bin/nvim
echo ""
vim -v
;;
"Linux-arm64" | "Linux-aarch64")
cd /tmp
rm -rf nvim-linux64.tar.gz
wget https://github.com/neovim/neovim/releases/download/$ver/nvim-linux-arm64.tar.gz
tar zxf nvim-linux64.tar.gz
rm -rf nvim-linux-arm64.tar.gz
wget "https://github.com/neovim/neovim/releases/download/$ver/nvim-linux-arm64.tar.gz"
tar zxf nvim-linux-arm64.tar.gz
[ -e /usr/local/nvim ] && sudo mv -f /usr/local/nvim /usr/local/nvim-bak
sudo mv nvim-linux64 /usr/local/nvim
sudo mv nvim-linux-arm64 /usr/local/nvim
sudo ln -sf /usr/local/nvim/bin/nvim /usr/local/bin/vim
sudo ln -sf /usr/local/nvim/bin/nvim /usr/local/bin/nvim
echo ""
vim -v
;;
*)
echo "不支持的平台: $os_arch" >&2
exit 1
;;
esac
# if has error "no c compile found"
# sudo apt install build-essential