4 个版本 (2 个破坏性更新)
0.3.0 | 2024年3月8日 |
---|---|
0.2.0 | 2024年3月7日 |
0.1.1 | 2024年3月7日 |
0.1.0 | 2024年3月7日 |
#1 in #连接
每月下载量 106
14KB
236 代码行
FileCat
FileCat 是一个用 Rust 编写的命令行工具,允许您连接具有指定扩展名的文件内容。最初创建是为了连接项目目录以用于 LLM 的上下文和训练数据。
用法
要使用 FileCat,运行编译后的二进制文件,将所需的文件扩展名作为参数。您还可以指定搜索文件的路径(默认为当前目录),并排除特定的目录。
Usage: file_cat [OPTIONS] <FILE_EXTENSION>
Arguments:
<FILE_EXTENSION> Files with this extension will be collected
Options:
-p, --path <PATH> The path to search for files [default: .]
-e, --exclude <EXCLUDE> Directories to exclude from the search, comma separated [default: ]
-r, --recursive Search recursively
-m, --max-depth <MAX_DEPTH> Max Recursion Depth [default: 100]
-s, --strip-newlines Strip newlines from the output
-c, --no-comments Hide filename comments
-d --default-only Only use the default handler, instead of the handler for the specified extension
-h, --help Print help
-V, --version Print version
示例
file_cat rs -r
file_cat txt -p /path/to/directory
file_cat js -p /path/to/directory -e node_modules,dist
输出
FileCat 将在控制台显示文件路径、名称和内容。它将根据文件扩展名自动检测适当的注释语法并将其包含在输出中。
示例输出
// File: src/main.rs
use std::env;
use std::fs::{self, File};
use std::io::{self, BufRead, BufReader, Write};
use std::path::Path;
fn collect_files_with_extension(
extension: &str,
recursive: bool,
path: &Path,
excluded_dirs: &[String],
) -> io::Result<Vec<fs::DirEntry>> {
// ...
}
// ...
要将输出保存为文件,请使用常规语法将输出重定向到文件
file_cat rs -r > output.txt
处理器
FileCat 支持针对文件处理的特定扩展名处理器。目前,以下处理器可用:
csv_handler: Concatenates CSV files by aligning the headers and columns.
default: The default handler, which concatenates files as-is with optional filename comments.
默认情况下,FileCat 将根据文件扩展名使用适当的处理器。如果您想强制使用默认处理器而不管扩展名如何,可以使用 --default-only 标志。
安装
要使用 FileCat,您需要在系统上安装 Rust。如果您还没有安装 Rust,可以从官方 Rust 网站下载和安装: https://www.rust-lang.net.cn
安装 Rust 后,您可以通过 Cargo(Rust 包管理器)克隆此仓库并构建项目
从 Crates.io
cargo install file_cat
从源代码
git clone https://github.com/your-username/file_cat.git
cd file_cat
cargo install --path .
许可协议
本项目采用 MIT 许可协议。
依赖项
~2.4–3.5MB
~52K SLoC