makepad_derive_live/
lib.rs

1#![cfg_attr(lines, feature(proc_macro_span))]
2
3use proc_macro::{TokenStream};
4
5mod derive_live;
6use crate::derive_live::*;
7
8mod derive_live_atomic;
9use crate::derive_live_atomic::*;
10
11mod derive_live_hook;
12use crate::derive_live_hook::*;
13
14mod derive_live_read;
15use crate::derive_live_read::*;
16
17
18mod live_design_macro;
19use crate::live_design_macro::*;
20
21mod live_macro;
22use crate::live_macro::*;
23
24mod generate_cast;
25use crate::generate_cast::*;
26
27mod derive_live_registry;
28use crate::derive_live_registry::*;
29
30//#[path = "../../live_tokenizer/src/colorhex.rs"]
31//mod colorhex;
32
33#[proc_macro_derive(Live, attributes(
34    calc,
35    live,
36    rust,
37    pick,
38    animator,
39    walk,
40    layout,
41    deref,
42    live_ignore,
43    live_debug
44))]
45pub fn derive_live(input: TokenStream) -> TokenStream {
46    derive_live_impl(input)
47}
48
49#[proc_macro_derive(LiveHook)]
50pub fn derive_live_apply(input: TokenStream) -> TokenStream {
51    derive_live_hook_impl(input)
52}
53
54#[proc_macro_derive(LiveRead)]
55pub fn derive_live_read(input: TokenStream) -> TokenStream {
56    derive_live_read_impl(input)
57}
58
59#[proc_macro]
60pub fn live(input: TokenStream) -> TokenStream {
61    live_impl(input)
62}
63
64#[proc_macro]
65pub fn live_array(input: TokenStream) -> TokenStream {
66    live_array_impl(input)
67}
68
69#[proc_macro]
70pub fn live_object(input: TokenStream) -> TokenStream {
71    live_object_impl(input)
72}
73
74
75#[proc_macro]
76pub fn generate_ref_cast_api(input: TokenStream) -> TokenStream {
77    generate_ref_cast_api_impl(input)
78}
79
80#[proc_macro]
81pub fn generate_clone_cast_api(input: TokenStream) -> TokenStream {
82    generate_clone_cast_api_impl(input)
83}
84
85#[proc_macro]
86pub fn live_design(input: TokenStream) -> TokenStream {
87    live_design_impl(input)
88}
89
90#[proc_macro_derive(LiveComponentRegistry)]
91pub fn derive_live_component_registry(input: TokenStream) -> TokenStream {
92    derive_live_component_registry_impl(input)
93}
94
95#[proc_macro_derive(LiveAtomic)]
96pub fn derive_live_atomic(input: TokenStream) -> TokenStream {
97    derive_live_atomic_impl(input)
98}
99