#schema #settings #proc-macro #settings-schema

settings-schema-derive

SettingsSchema 的 proc-macro 包

3 个版本 (破坏性更新)

0.2.0 2023年4月2日
0.1.0 2023年2月5日
0.0.1+alvr2022年3月21日

#194#settings

Download history 13/week @ 2024-03-13 16/week @ 2024-03-27 23/week @ 2024-04-03 2/week @ 2024-05-29

543 每月下载量
用于 settings-schema

MIT 许可证

27KB
524

settings-schema-rs

从 Rust 结构体和枚举生成模式的自定义宏。该模式可以序列化为 JSON 并/或用于生成 GUI。

示例

节点类型

  • 部分(从 struct)。包含可以标记为高级设置的字段。不支持无名称字段。
  • 选择(从 enum)。每个变体最多支持一个无名称字段。可以用 gui 属性标记,使用 "drop_down""button_group"
  • 可选(从 Option)。当内容是 "默认" 或计算得出时,使用 None
  • 开关。可以是 Enabled(带有数据)或 Disabled。内容可以设置为高级。
  • 布尔值(从 bool)。
  • 数字(从 u/i 8/32/64/sizef32/f64)。属性 gui 可以是 textboxslider(带有子属性 minmaxsteplogarithmic)。
  • 文本(从 String)。
  • 数组(从 [X; N])。
  • 向量(从 Vec<X>)。
  • 字典(从 Vec<(String, X)>)。

gui 这样的属性可以应用于复合类型如 Vec<Switch<u64>> 的字段。

不支持具有泛型类型参数的自定义类型。

将自动创建新的 *Default 结构来存储默认值。这样做是为了允许指定给定枚举中所有变体的默认数据。

依赖项

~2MB
~43K SLoC