comfy_builder_macros/
lib.rs

1use proc_macro::TokenStream;
2
3mod macros;
4mod helpers;
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(NodeInput, attributes(attribute, default, display_name, display_mode, tooltip, min, max, label_on, label_off, control_after_generate))]
17pub fn node_input_derive(input: TokenStream) -> TokenStream {
18    macros::input::node_input_derive(input)
19}
20
21#[proc_macro_derive(Enum, attributes(label))]
22pub fn enum_derive(input: TokenStream) -> TokenStream {
23    macros::r#enum::enum_derive(input)
24}
25
26#[proc_macro]
27pub fn boostrap(input: TokenStream) -> TokenStream {
28    macros::boostrap::boostrap(input)
29}