comfy_builder_macros/
lib.rs1use proc_macro::TokenStream;
2
3mod helpers;
4mod macros;
5
6#[proc_macro_attribute]
7pub fn node(arguments: TokenStream, input: TokenStream) -> TokenStream {
8 macros::node::node(arguments, input)
9}
10
11#[proc_macro_derive(NodeOutput, attributes(label, display_name, tooltip))]
12pub fn node_output_derive(input: TokenStream) -> TokenStream {
13 macros::output::node_output_derive(input)
14}
15
16#[proc_macro_derive(
17 NodeInput,
18 attributes(
19 attribute,
20 default,
21 display_name,
22 display_mode,
23 tooltip,
24 placeholder,
25 min,
26 max,
27 label_on,
28 label_off,
29 multiline,
30 control_after_generate
31 )
32)]
33pub fn node_input_derive(input: TokenStream) -> TokenStream {
34 macros::input::node_input_derive(input)
35}
36
37#[proc_macro_derive(Enum, attributes(display_name))]
38pub fn enum_derive(input: TokenStream) -> TokenStream {
39 macros::r#enum::enum_derive(input)
40}
41
42#[proc_macro]
43pub fn boostrap(input: TokenStream) -> TokenStream {
44 macros::boostrap::boostrap(input)
45}