float_pigment_css_macro/
lib.rs1#![recursion_limit = "128"]
2mod compatibility_check;
6mod property_list;
7mod resolve_font_size;
8mod style_syntax;
9mod value_type;
10
11#[proc_macro]
12pub fn property_list(tokens: proc_macro::TokenStream) -> proc_macro::TokenStream {
13 property_list::property_list(tokens)
14}
15
16#[proc_macro]
17pub fn property_value_format(tokens: proc_macro::TokenStream) -> proc_macro::TokenStream {
18 style_syntax::property_value_format(tokens)
19}
20
21#[proc_macro_attribute]
22pub fn property_value_type(
23 attr: proc_macro::TokenStream,
24 item: proc_macro::TokenStream,
25) -> proc_macro::TokenStream {
26 value_type::property_value_type(attr, item)
27}
28
29#[proc_macro_derive(ResolveFontSize, attributes(resolve_font_size))]
30pub fn resolve_font_size(attr: proc_macro::TokenStream) -> proc_macro::TokenStream {
31 resolve_font_size::derive_resolve_font_size(attr)
32}
33
34#[proc_macro_derive(CompatibilityEnumCheck)]
35pub fn compatibility_check_enum_derive(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
36 compatibility_check::check_enum(input, compatibility_check::EnumCheckMode::Full)
37}
38
39#[proc_macro_derive(CompatibilityCheckForEnumVariant)]
40pub fn compatibility_check_for_enum_variant_derive(
41 input: proc_macro::TokenStream,
42) -> proc_macro::TokenStream {
43 compatibility_check::check_enum(input, compatibility_check::EnumCheckMode::Variant)
44}
45
46#[proc_macro_derive(CompatibilityStructCheck)]
47pub fn compatibility_check_struct_derive(
48 input: proc_macro::TokenStream,
49) -> proc_macro::TokenStream {
50 compatibility_check::check_struct(input)
51}
52
53#[proc_macro_attribute]
54pub fn compatibility_enum_check(
55 attr: proc_macro::TokenStream,
56 item: proc_macro::TokenStream,
57) -> proc_macro::TokenStream {
58 compatibility_check::check_enum_with_mod(attr, item)
59}
60
61#[proc_macro_attribute]
62pub fn compatibility_struct_check(
63 attr: proc_macro::TokenStream,
64 item: proc_macro::TokenStream,
65) -> proc_macro::TokenStream {
66 compatibility_check::check_struct_with_mod(attr, item)
67}