#文件树 #资源 #文件 #serde #proc-macro # #游戏开发

glace

一个类型安全的、用户友好的宏,用于将文件树嵌入到您的代码中

1个不稳定版本

0.1.0 2022年10月20日

#1493文件系统

CC0 协议

35KB
642

glacé

(像樱桃一样。)

一个宏,用于以类型安全、人性化和灵活的方式将整个目录树嵌入到您的Rust代码中。

CI Docs.rs Crates.io codecov

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

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

用法

请参阅docs.rs/glace(特别是docs_only_example_assets模块)以了解glace为您生成的内容。

请参阅此仓库中的testcrate crate,了解如何使用结果。

一些注意事项

  1. 如果使用工作区,glace!的路径相对于工作区。我不知道如何更改它。

依赖关系

~9–20MB
~262K SLoC