-
Notifications
You must be signed in to change notification settings - Fork 91
/
Copy pathconsts_zig.qtpl
83 lines (61 loc) · 1.81 KB
/
consts_zig.qtpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
{%- func zigConsts(data *ConstTemplateData) -%}
// {%s data.DoNotEdit %}
const std = @import("std");
pub const datastar_key = "{%s data.DatastarKey %}";
pub const version = "{%s data.Version %}";
// #region Defaults
// #region Default durations
{%- for _, d := range data.DefaultDurations -%}
/// {%s= d.Description %}
pub const default_{%s d.Name.Snake %} = {%d durationToMs(d.Duration) %};
{%- endfor -%}
// #endregion
// #region Default strings
{%- for _, s := range data.DefaultStrings -%}
/// {%s= s.Description %}
pub const default_{%s s.Name.Snake %} = "{%s s.Value %}";
{%- endfor -%}
// #endregion
// #region Datalines
{%- for _, literal := range data.DatalineLiterals -%}
pub const {%s literal.Snake %}_dataline_literal = "{%s literal.Camel %}";
{%- endfor -%}
// #endregion
// #region Default booleans
{%- for _, b := range data.DefaultBools -%}
/// {%s= b.Description %}
pub const default_{%s b.Name.Snake %} = {%v b.Value %};
{%- endfor -%}
// #endregion
// #region Enums
{%- for _, enum := range data.Enums -%}
/// {%s= enum.Description %}
pub const {%s enum.Name.Pascal %} = enum {
{%- for _, entry := range enum.Values -%}
/// {%s= entry.Description %}
{%s entry.Name.Snake %},
{%- endfor -%}
pub fn format(
self: @This(),
comptime fmt: []const u8,
options: std.fmt.FormatOptions,
writer: anytype,
) !void {
_ = fmt;
_ = options;
try writer.writeAll(
switch (self) {
{%- for _, entry := range enum.Values -%}
.{%s entry.Name.Snake %} => "{%s entry.Value %}",
{%- endfor -%}
},
);
}
};
{%- if enum.Default != nil -%}
pub const default_{%s enum.Name.Snake %} = {%s enum.Name.Pascal %}.{%s enum.Default.Name.Snake %};
{%- endif -%}
{%- endfor -%}
// #endregion
// #endregion
{%- endfunc -%}