gpui_form_derive/
lib.rs

1mod derives;
2
3use proc_macro::TokenStream;
4use proc_macro_error2::proc_macro_error;
5
6use crate::derives::gpui_form::GpuiFormOptions;
7
8#[proc_macro_derive(GpuiForm, attributes(gpui_form))]
9#[proc_macro_error]
10pub fn gpui_form_derive(input: TokenStream) -> TokenStream {
11    derives::gpui_form::from(
12        input,
13        GpuiFormOptions {
14            generate_shape: cfg!(feature = "inventory"),
15        },
16    )
17}
18
19#[proc_macro_derive(SelectItem)]
20#[proc_macro_error]
21pub fn derive_select_item_for_ftl_enum(input: TokenStream) -> TokenStream {
22    derives::select_item::from(input)
23}