# me **Repository Path**: rifine/me ## Basic Information - **Project Name**: me - **Description**: 简单的文件拼合工具 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-19 - **Last Updated**: 2026-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # me: Merge My Code ## 功能特性 - **多目录支持**:同时合并多个目录中的文件 - **智能过滤**:按扩展名、文件大小进行筛选 - **多种输出格式**:支持纯文本、Markdown、JSON格式 - **预览模式**:查看将要处理的文件列表而不实际合并 - **灵活配置**:支持严格大小写匹配、符号链接跟随 - **详细日志**:多级别日志输出,方便调试 - **可选功能**:支持排除模式、十六进制输出等可选特性 ## 安装 ### 从 Cargo 安装(推荐) ```bash cargo install me ``` ### 从源码安装 ```bash git clone https://github.com/YOUR_USERNAME/me.git cd me cargo install --path . ``` ## 快速开始 ### 基础用法 ```bash # 合并当前目录下所有支持的文件到 result.txt me . # 合并多个目录 me ./src,./tests,./examples # 指定输出文件名 me . -o combined.txt ``` ### 预览模式(不实际合并) ```bash # 查看将要处理的文件列表 me . --preview # 预览多个目录 me ./src,./tests --preview ``` ## 高级用法 ### 文件过滤 ```bash # 只合并特定扩展名的文件 me . -e rs,toml,md # 启用严格大小写匹配 me . -e RS,Toml --strict-case # 限制文件大小(KB) me . --max-file-size 1024 # 只处理小于1MB的文件 ``` ### 输出格式 ```bash # Markdown 格式(适合文档生成) me . --format markdown -o code.md # JSON 格式(适合程序处理) me . --format json -o metadata.json # 纯文本格式(默认) me . --format plain-text -o code.txt ``` ### 符号链接处理 ```bash # 跟随符号链接 me . --follow-links ``` ### 详细输出 ```bash # 不同级别的详细输出 me . -v # 警告级别日志 me . -vv # 信息级别日志 me . -vvv # 调试级别日志 me . -vvvv # 跟踪级别日志(包含文件名和行号) ``` ## 输出示例 ### Markdown 格式输出 ```markdown ## ./src/main.rs ```rust use clap::Parser; mod cli; mod merge; fn main() { // ... } ``` ### JSON 格式输出 ```json [ { "path": "./src/main.rs", "content": [ "use clap::Parser;", "", "mod cli;", "mod merge;", "", "fn main() {", " // ...", "}", ] } ] ``` ### 纯文本格式输出 ``` FILE: ./src/main.rs ============================================================ use clap::Parser; mod cli; mod merge; fn main() { // ... } ``` ## 命令行选项 ``` USAGE: me [OPTIONS] ... ARGS: ... 要处理的目录(逗号分隔或重复指定) 例如: me ./src 或 me ./src,./tests OPTIONS: -e, --extensions 包含的文件扩展名(逗号分隔) [默认值: rs,toml,html,css,js,json,yaml,yml,xml] 可以多次使用: -e rs,toml -e md,json -f, --format 输出格式 [默认值: plain-text] [可选值: plain-text, markdown, json] -h, --help 显示帮助信息 -o, --output 输出文件路径 [默认值: result.txt] -p, --preview 预览模式:只显示将要处理的文件列表,不实际合并 -v, --verbose... 增加详细程度(使用多次以获得更多细节) -v: 警告级别 -vv: 信息级别 -vvv: 调试级别 -vvvv: 跟踪级别 -V, --version 显示版本信息 --strict-case 严格匹配文件扩展名的大小写 --max-file-size 最大文件大小限制(KB,0表示无限制) [默认值: 0] --follow-links 跟随符号链接 --allow-hex [可选功能] 将二进制文件转换为十六进制字符串(值表示每行最大长度,0表示不限制) ``` ## 故障排除 ### 常见问题 1. **文件编码问题** ``` 警告:不是 UTF-8 编码的文件 ``` 该警告表示文件可能包含非文本内容或使用不同的编码。使用 `--allow-hex` 特性可以处理这类文件。 2. **文件大小限制** 使用 `--max-file-size` 参数限制处理的最大文件大小,避免处理过大的文件。 3. **权限问题** 确保对要读取的目录和文件有适当的读取权限。 ### 调试信息 使用不同级别的 `-v` 标志获取更多调试信息: ```bash # 查看详细的处理过程 me . -vvv # 查看最详细的跟踪信息(包括文件名和行号) me . -vvvv ``` ## 贡献 欢迎贡献代码!请遵循以下步骤: 1. Fork 本仓库 2. 创建功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 打开 Pull Request --- **提示**:使用 `me --help` 查看完整的命令行选项和用法说明。