1个不稳定版本

0.1.0 2022年10月20日

#36 in #file-tree


glace中使用

CC0许可

55KB
1K SLoC

glacé

(类似于樱桃。)

一个过程宏,可以将整个目录树以类型安全、人性化的方式嵌入到Rust代码中。

CI Docs.rs Crates.io codecov

在最简单的情况下,它为你提供了一个枚举变体,与树中的每个文件匹配,这样你就可以在编译时知道你的资产路径是否存在。在最强大的情况下,它可以加载所有这些文件到const内存中,生成表示它们的serde结构体,并提供加载和反序列化(以及透明缓存)的方法。

这个库的理想未来是完全抽象文件的概念,让你能够像硬编码所有资产一样编写代码(当然,不需要硬编码它们)。我们还没有达到那里,但已经实现的部分本身就是很有用的。

使用方法

查看docs.rs/glace(特别是docs_only_example_assets模块),以了解glace为你生成的内容。

也可以查看本仓库中的testcrate库,以了解如何使用这些结果。

一些注意事项

  1. 如果使用工作空间,glace!的路径相对于工作空间。我不知道如何更改这一点。

依赖关系

~10–20MB
~278K SLoC