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}