#gitignore #git #embed

无需 std gitignores

GitHub 的 gitignores 收集,嵌入式,自动更新

14 个稳定版本

2.3.3 2023 年 10 月 28 日
2.3.2 2022 年 5 月 11 日
2.3.1 2022 年 3 月 29 日
2.3.0 2022 年 2 月 16 日
1.0.1 2021 年 10 月 14 日

开发工具 中排名 #72

每月下载量 33
用于 6 个 Crates (直接使用 3 个)

CC0 许可证 CC0

260KB
2K SLoC

Crate release version Crate license: CC0-1.0 MSRV: 1.37.0 (breaking) CI status

Gitignores

GitHub 的 gitignores 收集,嵌入式,自动更新。

  • API 文档.
  • 公共领域 通过 CC0-1.0 (与 源数据 相同)
  • MSRV: 1.37.0 (增加会导致不兼容的更改)
  • 无需 std。
  • 无依赖。
  • 离线工作。

快速入门

[dependencies]
gitignores = "1.0.0"
dbg!(gitignores::Root::Rust);

API

每个 gitignore 都可以作为三个枚举之一的一个变体提供

(
	gitignores::Root::Rust,
	gitignores::Global::Emacs,
	gitignores::Community::Racket,
)

枚举实现了 Display / .to_string(),这将返回 gitignore 的内容(仅在启用 std 功能时)

println!("{}", gitignores::Root::Rust);
gitignores::Global::Emacs.to_string();

枚举还实现了 GitIgnore 特性

trait GitIgnore {
	/// The contents of the gitignore
	///
	/// Returns an empty string if the `no-contents` feature is enabled.
	fn contents(self) -> &'static str;

	/// The file name of the gitignore
	fn file_name(self) -> &'static str;

	/// The full path of the gitignore relative to repo root
	fn file_path(self) -> &'static str;

	/// The list of all included gitignores
	fn list() -> Vec<&'static str>;
}

最后,有一个常量,包含构建此包的提交的 git 引用

dbg!(gitignores::GIT_COMMIT_REF);

特性

默认情况下包含所有 gitignores,但您可以按需进行定制。要开始选择您的自定义集合,首先禁用默认功能

[dependencies.gitignores]
default-features = false
features = []

集合

功能名称 gitignore 仓库中的路径 crate 中的路径
root /*.gitignore ::
global /Global/**/*.gitignore 全局::
community /community/**/*.gitignore 社区::

个人 gitignores

每个 gitignore 都可以通过 <collection>-<name> 功能启用。子文件夹中的 gitignores 将文件夹名称添加到名称前,例如 <collection>-<folder>-<name>。所有都是小写。

其他

  • no-contents:省略嵌入的文件内容,仅保留元数据。
  • std:在枚举类型上实现Display特性。

示例

所有全局变量和仅Rust根

[dependencies.gitignores]
default-features = false
features = ["global", "root-rust"]

一些特定的gitignore

[dependencies.gitignores]
default-features = false
features = ["community-racket", "global-emacs", "root-commonlisp"]

版本控制

此crate遵守semver规范!

  • gitignore从集合中消失时
  • gitignore从一个集合移动到另一个集合时
  • gitignore被重命名时
  • 所需的最小Rust版本增加时

  • 新gitignore被添加到集合时

  • gitignore内容更改时

此存储库每天检查一次 gitignore存储库的更新,如果发现更改则自动发布。

许可证

发布的crate(gitignores)是从数据生成的,数据遵循CC0-1.0规范,因此它自身也是CC0-1.0(公共领域)。

生成器代码遵循Apache 2.0 / MIT许可证。

无运行时依赖项

特性