#file-content #file #clipboard #file-path #relative-path #aggregation #cli-file

app file_aggregator

文件聚合器是一个用于聚合和分发文件内容的实用程序。它允许您将指定目录中的文件内容合并成单个文本,并将其复制到剪贴板。您还可以根据相对路径将剪贴板中的文件内容分发给各自的文件。

2个不稳定版本

0.2.0 2024年7月24日
0.1.0 2024年7月23日

#97 in 文件系统

Download history 187/week @ 2024-07-19 53/week @ 2024-07-26 5/week @ 2024-08-02

每月245次下载

MIT 协议

23KB
396

Test dependency status License: MIT Crates.io Download

文件聚合器

文件聚合器是一个用于聚合和分发文件内容的实用程序。它允许您将指定目录中的文件内容合并成单个文本,并将其复制到剪贴板。您还可以根据相对路径将剪贴板中的文件内容分发给各自的文件。

特性

  • 聚合文件内容:将指定目录中多个文件的内容合并成单个文本。
  • 分发文件内容:根据相对路径将剪贴板中的内容分发给各自的文件。
  • 剪贴板集成:将聚合的内容直接复制到剪贴板,便于分享。
  • 路径和扩展名过滤:指定根路径和文件扩展名,包括或排除某些文件。
  • 删除文件内容:删除剪贴板中指定标识符的路径所指定的文件。

计划中的特性

  • 增强错误处理:
    • 通过使用如thiserroranyhow之类的crate来改进错误消息和处理。
  • 日志记录:
    • 使用如logenv_logger之类的crate添加日志功能,以便提供更多关于工具操作的洞察,特别是用于调试和用户反馈。
  • 并行处理:
    • 使用rayon crate实现文件操作的并行处理,以提高性能。
  • 详细和静默模式:
    • 提供详细输出(详细日志)和静默模式(最小输出)选项,使用户可以控制输出详细程度。
  • 配置文件支持:
    • 允许用户在文件中指定配置(例如,JSON,TOML),而不仅仅是通过命令行参数。

安装

  1. 克隆仓库

    git clone https://github.com/bornacvitanic/file_aggregator.git
    cd file_aggregator
    
  2. 构建项目

    cargo build --release
    

使用方法

fileagg [COMMAND]

命令

  • aggregate:聚合文件内容。
  • distribute:分发文件内容。
  • help:打印此消息或给定子命令的帮助信息。

选项

  • -p, --path <PATH>:用于操作的路径。如果未指定,则默认为当前目录。
  • -e, --extensions <EXTENSIONS>:要包含的文件扩展名的逗号分隔列表。如果未指定,则包含所有文件。

示例

  1. 聚合文件内容

    fileagg aggregate --path "/path/to/directory" --extensions "rs,txt,md"
    
  2. 分发文件内容

    fileagg distribute --path "/path/to/directory"
    

贡献

欢迎贡献!请打开一个问题或提交一个拉取请求。

许可协议

本项目采用MIT许可协议 - 详细信息请参阅LICENSE文件。

致谢

  • clap - 命令行界面(CLI)解析库
  • walkdir - 递归目录遍历库
  • copypasta - 复制粘贴库

联系方式

依赖项

~1.3–9MB
~72K SLoC