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:
+30
-18
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user