keep edit

This commit is contained in:
edwinQQQ
2025-10-17 14:52:29 +08:00
parent 22185d799e
commit 517365879a
622 changed files with 40518 additions and 7298 deletions

187
clean_comments.sh Executable file
View File

@@ -0,0 +1,187 @@
#!/bin/bash
# 代码注释清理快捷脚本
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PYTHON_SCRIPT="$SCRIPT_DIR/remove_comments.py"
# 颜色定义
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
# 打印带颜色的消息
print_info() {
echo -e "${GREEN}[INFO]${NC} $1"
}
print_warning() {
echo -e "${YELLOW}[WARNING]${NC} $1"
}
print_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# 显示使用说明
show_usage() {
cat << EOF
代码注释清理工具 - 快捷脚本
用法:
$0 [选项] <路径>
选项:
preview <path> 预览模式(不实际修改)
clean <path> 清理注释(保留版权和重要注释)
clean-all <path> 清理所有注释(包括版权)
test 在测试文件上运行
示例:
$0 preview YuMi/Global/ # 预览Global目录
$0 clean YuMi/Global/ # 清理Global目录
$0 clean-all YuMi/Global/YUMIConstant.m # 清理单个文件的所有注释
$0 test # 测试模式
EOF
}
# 预览模式
preview_mode() {
local path=$1
print_info "预览模式:查看将要删除的注释"
python3 "$PYTHON_SCRIPT" "$path" -r --dry-run
}
# 清理模式(保留重要注释)
clean_mode() {
local path=$1
print_warning "即将清理注释,但会保留:"
echo " ✓ 版权声明 (Copyright, Created by)"
echo " ✓ 重要注释 (TODO, FIXME, NOTE)"
echo " ✓ 编译指令 (#pragma mark)"
echo ""
read -p "是否继续? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
python3 "$PYTHON_SCRIPT" "$path" -r
else
print_info "已取消"
fi
}
# 清理所有注释
clean_all_mode() {
local path=$1
print_warning "⚠️ 警告:将删除所有注释(包括版权声明)"
echo ""
read -p "是否确认? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
python3 "$PYTHON_SCRIPT" "$path" -r --no-copyright --no-important --no-pragma
else
print_info "已取消"
fi
}
# 测试模式
test_mode() {
local test_file="$SCRIPT_DIR/test_comment_removal.m"
if [ ! -f "$test_file" ]; then
print_error "测试文件不存在: $test_file"
exit 1
fi
print_info "在测试文件上运行..."
echo ""
# 预览
print_info "步骤 1/3: 预览删除效果"
python3 "$PYTHON_SCRIPT" "$test_file" --dry-run
echo ""
# 实际清理
print_info "步骤 2/3: 执行清理"
python3 "$PYTHON_SCRIPT" "$test_file"
echo ""
# 显示结果
print_info "步骤 3/3: 查看清理后的文件"
echo "----------------------------------------"
cat "$test_file"
echo "----------------------------------------"
echo ""
# 恢复测试文件
if [ -f "${test_file}.backup" ]; then
mv "${test_file}.backup" "$test_file"
print_info "已恢复测试文件"
fi
}
# 主函数
main() {
# 检查Python脚本是否存在
if [ ! -f "$PYTHON_SCRIPT" ]; then
print_error "找不到Python脚本: $PYTHON_SCRIPT"
exit 1
fi
# 检查参数
if [ $# -eq 0 ]; then
show_usage
exit 1
fi
local command=$1
case $command in
preview)
if [ $# -lt 2 ]; then
print_error "缺少路径参数"
show_usage
exit 1
fi
preview_mode "$2"
;;
clean)
if [ $# -lt 2 ]; then
print_error "缺少路径参数"
show_usage
exit 1
fi
clean_mode "$2"
;;
clean-all)
if [ $# -lt 2 ]; then
print_error "缺少路径参数"
show_usage
exit 1
fi
clean_all_mode "$2"
;;
test)
test_mode
;;
help|--help|-h)
show_usage
;;
*)
print_error "未知命令: $command"
show_usage
exit 1
;;
esac
}
main "$@"