49个稳定版本

3.7.17 2024年7月28日
3.7.13 2024年5月27日
3.7.11 2024年3月31日
3.6.1 2023年12月28日
0.2.0 2023年3月14日

#77开发工具

Download history 73/week @ 2024-04-21 64/week @ 2024-04-28 45/week @ 2024-05-05 27/week @ 2024-05-12 56/week @ 2024-05-19 206/week @ 2024-05-26 248/week @ 2024-06-02 201/week @ 2024-06-09 71/week @ 2024-06-16 155/week @ 2024-06-23 86/week @ 2024-06-30 141/week @ 2024-07-07 44/week @ 2024-07-14 57/week @ 2024-07-21 202/week @ 2024-07-28 54/week @ 2024-08-04

363 每月下载量

GPL-3.0 许可证

230KB
3.5K SLoC


Aeruginous开源开发工具箱

摘要


  1. 许可证
  2. 依赖项
  3. 简介
  4. 安装
  5. 支持的子命令
    1. cff-create
    2. cffreference
    3. ⚠️ cff-release-today (已弃用)
    4. comment-changes
    5. complain
    6. increment-version
    7. mkcws
    8. ronlog
    9. rs2md
    10. uncrlf

当前代码覆盖率是 74.05%

许可证

本项目许可证为 GPL-3.0。完整的许可证文本可以在仓库根目录下的 LICENSE 中找到。简要版本如下

版权 (C) 2023 Kevin Matthes

本程序是自由软件:您可以在自由软件基金会发布的GNU通用公共许可证的条款下重新分发和/或修改它,许可证版本为3,或者(根据您的选择)任何较新版本。

本程序以希望它会有所用途而分发,但没有任何保证;甚至没有关于适销性或特定用途适用性的暗示性保证。有关详细信息,请参阅GNU通用公共许可证。

您应该已经收到GNU通用公共许可证的副本。如果没有,请参阅 https://www.gnu.org/licenses/

依赖项

GitHub Actions

  • baptiste0928/cargo-install

  • fregante/setup-git-user

Rust

简介

aeruginous 是一个提供多个开发工具的 Rust 应用程序。

在寻找这个项目的名字时,一个主要的要求是既要反映项目最初的主要目的——追踪时间,也要体现这个 CLI 所使用的编程语言 Rust。《Aeruginous》这个词符合这两个标准,因为它意味着描述的名词表面有铜绿,这是一种在一定时间后出现的特殊锈迹。

最初,它被计划成一个时间追踪 CLI,但在第一个稳定版本的开发过程中,需要重复完成某些常见任务。由于应用程序已经有了某种稳定的调用接口,因此将这些任务的解决方案作为子命令添加到 aeruginous 中,以提供方便和节省时间自动化。这样做的一个主要优势是减少了维护工作量以及整体设置开销,因为只有一个项目需要维护,而不是多个。

因此,产生了将 aeruginous 设计为一个工具箱而不是仅作为时间追踪器的想法。

安装

要从 crates.io 下载最新稳定版本,请运行以下命令。

cargo install aeruginous

要从源代码安装最新夜间版本,Cargo 也支持从当前仓库状态进行安装。

cargo install --git https://github.com/kevinmatthes/aeruginous-rs

支持的子命令

cff-create

需要与以下命令一起使用

  • cffcreate
  • cff-create
  • mkcff

需要与以下命令一起安装

  • -F cff-create

此模式将分析给定的项目清单并从中创建一个初始的 CITATION.cff 文件。请注意,结果不一定有效,因此建议进一步调整。

支持的清单格式包括

  • Cargo.toml (rs)

cffreference

需要与以下命令一起使用

  • cffref
  • cff-ref
  • cffreference
  • cff-reference

CFF 使软件可引用。公开 CITATION.cff 的项目可以使用 APA 纯文本引用、BibTeX 数据库条目以及另一个 CITATION.cff 的引用列表进行引用。

此子命令会获取指定名称的源 CFF 文件的引用信息,并将其粘贴到给定输出文件的末尾。

如果省略输入文件,则尝试从 std::io::Stdin 读取输入信息。同样,省略输出文件会导致 cffreference 将内容写入 std::io::Stdout

cff-release-today

⚠️ 此模式已弃用。请使用 increment-version 代替。⚠️

需要与以下命令一起使用

  • cffrel
  • cff-rel
  • cffreleasetoday
  • cff-release-today

此子命令将给定的 CITATION.cff 中的发布日期设置为今天。

comment-changes

需要与以下命令一起使用

  • changelog
  • comment-changes

在 CHANGELOG 中记录代码库的变化是一个好的做法。此模式将读取最近的提交消息并尝试为 CHANGELOG 创建一个片段。

此模式需要指定一个分隔符,用于将 CHANGELOG 类别与其条目分开。应用程序将浏览 Git 历史记录以查找包含该分隔符的消息,并在该分隔符首次出现时将消息分割;用户可以选择是更喜欢提交的摘要还是其主体,默认为前者。可以通过确切的数字、停止的提交 SHA 或通过省略任何停止条件来控制要收集的提交数量,以考虑整个历史记录中的所有提交。不包含给定分隔符的消息的提交将被跳过。生成的 CHANGELOG 片段将存储在当前工作目录或给定的替代目录中。文件名将包括时间戳、配置的 Git 用户名以及有关当前分支的一些信息。文件格式可以是 reStructured Text (RST)、Markdown (MD) 或 Rusty Object Notation (RON)。可选地,可以指定超链接。

例如,一个仓库可能包含以下四个提交

  1. 添加::=源文件 `a.rs`_
  2. 添加::=源文件 `b.rs`_
  3. 更新 c.rs
  4. 修复::=已知在`d.rs`_

的已知错误

aeruginous comment-changes \
  -d ::= \
  -n 4 \
  -o directory/ \
  -l a.rs -t src/a.rs \
  -l b.rs -t src/b.rs \
  -l d.rs -t src/d.rs

如果用户Emma Xample在1970年1月1日凌晨1点23分使用分支 example/test 进行检出时调用此命令,生成的片段将被保存为 directory/19700101_012345_Emma_Xample_test.rst。文件内容如下

.. _a.rs:  src/a.rs
.. _b.rs:  src/b.rs
.. _d.rs:  src/d.rs

Added
.....

- source file `a.rs`_

- source file `b.rs`_

Fixed
.....

- known bug in `d.rs`_

complain

需要与以下命令一起使用

  • complain

此应用程序模式是一个简单的lint工具,用于检查以下要求是否满足

  1. 每个文件都需要以换行符结束。
  2. 文件不得包含CRLFs。
  3. 行宽不得超过n个字符。
  4. 必须删除尾随空白字符。
  5. 行必须使用空格/制表符缩进。
  6. 缩进不得混合使用空格和制表符。
  7. 任何行内不得有任何制表符。

所有规则都可以忽略,可以配置行宽以及缩进单位。所有违规都将报告给 std::io::Stderr,并使用以下颜色突出显示规则编号。

颜色 含义
绿色 容易修复
黄色 修复难度适中
红色 需要重大更改才能修复

检查完一个文件的全部规则后,将总结写入 std::io::Stderr,包括一个ASCII艺术蟹形图案,表示此应用程序是用Rust编写的,违规数量以及文件名。

increment-version

需要与以下命令一起使用

  • incver
  • inc-ver
  • incrementversion
  • increment-version

此子命令将按指定版本范围增加给定文件中硬编码的版本字符串。

mkcws

需要与以下命令一起使用

  • mkcws

需要与以下命令一起安装

  • -F mkcws

基于Visual Studio Code源代码的IDE具有保持当前编辑器视图跨后续会话的有趣特性。当启动IDE时,它将恢复最新状态,以便无缝继续工作。用户可以将当前视图导出为Code Workspace以保存对多个编辑状态的访问。这些Code Workspace是使用基于JSON的表示法编写的配置文件,用于存储有关工作区根目录以及一些特定于该特定工作区的可选设置的信息。

通常,操作系统可以配置为处理特定文件类型的默认应用程序。这对于Code Workspace也适用。如果操作系统设置为使用类似Visual Studio Code的IDE打开Code Workspace,则可以使用Code Workspace作为项目启动快捷方式,以方便用户使用IDE。

此应用程序模式旨在通过提供简单的命令行界面来定义从头开始的最低限度和有效Code Workspace,从而简化新Code Workspace文件的创建。

ronlog

需要与以下命令一起使用

  • ronlog

此模式将收集由 comment-changes 创建的RON片段,并将它们组装成RON CHANGELOG。

RONLOG由多个部分组成,按它们记录的相应版本降序排序。新部分被插入到排序列表中,而不会破坏排序。例如,如果某个特定的RONLOG应包含版本v1.0.0、v0.2.0和v0.1.0的部分,则版本v0.3.0的新部分将被插入到v1.0.0和v0.2.0之间。

rs2md

需要与以下命令一起使用

  • rs2md

源代码应始终附有文档。Rust的文档系统支持Markdown语法在文档注释中。因此,从crate根目录的文档创建Rust项目的README文件是一个方便的决定。此命令还有助于检查文档注释中的拼写错误。

当调用子命令时,它接受一个输入文件列表以从中读取。如果没有提供输入文件,rs2md将读取自std::io::Stdin。可选地,可以指定一个输出文件,其中将写入结果。如果省略,结果将写入到std::io::Stdout

用户可以自由选择是否提取以//!(外部注释)或以///(内部注释)开头的Rust注释。如果没有提供任何选项,则不会提取任何内容。

uncrlf

需要与以下命令一起使用

  • uncrlf

源代码应具有统一的外观。一些文本编辑器使用回车换行符(CRLFs,\r\n)来终止行。此子命令将删除给定文件中的这些内容。

依赖项

~15MB
~349K SLoC