mirror of
https://github.com/yuaotian/go-cursor-help.git
synced 2025-06-08 12:32:06 +08:00
refactor: Streamline Cursor auto-update disabling process
- Simplified auto-update disabling workflow with direct sudo commands - Improved input handling with explicit input validation - Added debug logging for input tracking - Removed complex manual guide function - Enhanced error handling and command execution - Simplified file permission and creation logic
This commit is contained in:
parent
0c59acaed6
commit
76c7832b38
@ -420,15 +420,26 @@ disable_auto_update() {
|
||||
while true; do
|
||||
echo
|
||||
log_warn "是否要禁用 Cursor 自动更新功能?"
|
||||
echo "0) 否 - 保持默认设置 (按回车键)"
|
||||
echo "0) 否 - 保持默认设置"
|
||||
echo "1) 是 - 禁用自动更新"
|
||||
echo "q) 退出"
|
||||
echo
|
||||
echo -n "请选择 [0/1/q] (按回车键选择默认选项0): "
|
||||
read -r choice
|
||||
|
||||
# 确保等待用户输入
|
||||
printf "请选择 [0/1/q]: "
|
||||
read -r choice < /dev/tty || true
|
||||
|
||||
# 调试输出
|
||||
log_debug "收到的输入: '$choice'"
|
||||
|
||||
# 如果输入为空,继续循环
|
||||
if [ -z "$choice" ]; then
|
||||
log_error "未收到输入,请重试"
|
||||
continue
|
||||
fi
|
||||
|
||||
case "$choice" in
|
||||
""|0)
|
||||
0)
|
||||
log_info "保持默认设置,不进行更改"
|
||||
return 0
|
||||
;;
|
||||
@ -437,55 +448,23 @@ disable_auto_update() {
|
||||
log_info "正在处理自动更新..."
|
||||
local updater_path="$HOME/Library/Application Support/cursor-updater"
|
||||
|
||||
# 定义手动设置教程
|
||||
show_manual_guide() {
|
||||
# 尝试自动执行
|
||||
if sudo rm -rf "$updater_path" && \
|
||||
sudo touch "$updater_path" && \
|
||||
sudo chmod 444 "$updater_path"; then
|
||||
log_info "成功禁用自动更新"
|
||||
echo
|
||||
log_warn "自动设置失败,请尝试手动操作:"
|
||||
echo -e "${YELLOW}手动禁用更新步骤:${NC}"
|
||||
echo "1. 打开终端(Terminal)"
|
||||
echo "2. 复制粘贴以下命令:"
|
||||
echo -e "${BLUE}rm -rf \"$updater_path\" && touch \"$updater_path\" && chmod 444 \"$updater_path\"${NC}"
|
||||
log_info "验证方法:"
|
||||
echo "运行命令:ls -l \"$updater_path\""
|
||||
echo "确认文件权限显示为:r--r--r--"
|
||||
else
|
||||
log_error "自动设置失败,请手动执行以下命令:"
|
||||
echo
|
||||
echo -e "${YELLOW}如果上述命令提示权限不足,请使用 sudo:${NC}"
|
||||
echo -e "${BLUE}sudo rm -rf \"$updater_path\" && sudo touch \"$updater_path\" && sudo chmod 444 \"$updater_path\"${NC}"
|
||||
echo
|
||||
echo -e "${YELLOW}验证方法:${NC}"
|
||||
echo "1. 运行命令:ls -l \"$updater_path\""
|
||||
echo "2. 确认文件权限为 r--r--r--"
|
||||
echo
|
||||
log_warn "完成后请重启 Cursor"
|
||||
}
|
||||
|
||||
if [ -d "$updater_path" ]; then
|
||||
rm -rf "$updater_path" 2>/dev/null || {
|
||||
log_error "删除 cursor-updater 目录失败"
|
||||
show_manual_guide
|
||||
return 1
|
||||
}
|
||||
log_info "成功删除 cursor-updater 目录"
|
||||
fi
|
||||
|
||||
touch "$updater_path" 2>/dev/null || {
|
||||
log_error "创建阻止文件失败"
|
||||
show_manual_guide
|
||||
return 1
|
||||
}
|
||||
|
||||
chmod 444 "$updater_path" 2>/dev/null && \
|
||||
chown "$CURRENT_USER" "$updater_path" 2>/dev/null || {
|
||||
log_error "设置文件权限失败"
|
||||
show_manual_guide
|
||||
return 1
|
||||
}
|
||||
|
||||
# 验证设置是否成功
|
||||
if [ ! -f "$updater_path" ] || [ -w "$updater_path" ]; then
|
||||
log_error "验证失败:文件权限设置可能未生效"
|
||||
show_manual_guide
|
||||
return 1
|
||||
fi
|
||||
|
||||
log_info "成功禁用自动更新"
|
||||
echo
|
||||
log_info "完成后请重启 Cursor"
|
||||
return 0
|
||||
;;
|
||||
q|Q)
|
||||
|
Loading…
x
Reference in New Issue
Block a user