diff --git a/crates/gpui/playground_macros/src/playground_macros.rs b/crates/gpui/playground_macros/src/playground_macros.rs index ce5cb6ba59591c031754cd67723b5eba43c9b5b4..fbb0d06ed58a5f2444355f2dcbe9bf388d96770b 100644 --- a/crates/gpui/playground_macros/src/playground_macros.rs +++ b/crates/gpui/playground_macros/src/playground_macros.rs @@ -3,7 +3,6 @@ use proc_macro::TokenStream; mod derive_element; mod derive_into_element; mod styleable_helpers; -mod tailwind_lengths; #[proc_macro] pub fn styleable_helpers(args: TokenStream) -> TokenStream { @@ -19,8 +18,3 @@ pub fn derive_element(input: TokenStream) -> TokenStream { pub fn derive_into_element(input: TokenStream) -> TokenStream { derive_into_element::derive_into_element(input) } - -#[proc_macro_attribute] -pub fn tailwind_lengths(attr: TokenStream, item: TokenStream) -> TokenStream { - tailwind_lengths::tailwind_lengths(attr, item) -} diff --git a/crates/gpui/playground_macros/src/tailwind_lengths.rs b/crates/gpui/playground_macros/src/tailwind_lengths.rs deleted file mode 100644 index 96c7d29947fd65fd3facc1d8998cf88eb2768e4f..0000000000000000000000000000000000000000 --- a/crates/gpui/playground_macros/src/tailwind_lengths.rs +++ /dev/null @@ -1,99 +0,0 @@ -use proc_macro::TokenStream; -use proc_macro2::TokenStream as TokenStream2; -use quote::{format_ident, quote}; -use syn::{parse_macro_input, FnArg, ItemFn, PatType}; - -pub fn tailwind_lengths(_attr: TokenStream, item: TokenStream) -> TokenStream { - let input_function = parse_macro_input!(item as ItemFn); - - let visibility = &input_function.vis; - let function_signature = input_function.sig.clone(); - let function_body = input_function.block; - let where_clause = &function_signature.generics.where_clause; - - let argument_name = match function_signature.inputs.iter().nth(1) { - Some(FnArg::Typed(PatType { pat, .. })) => pat, - _ => panic!("Couldn't find the second argument in the function signature"), - }; - - let mut output_functions = TokenStream2::new(); - - for (length, value) in fixed_lengths() { - let function_name = format_ident!("{}{}", function_signature.ident, length); - output_functions.extend(quote! { - #visibility fn #function_name(mut self) -> Self #where_clause { - let #argument_name = #value.into(); - #function_body - } - }); - } - - output_functions.into() -} - -fn fixed_lengths() -> Vec<(&'static str, TokenStream2)> { - vec![ - ("0", quote! { DefinedLength::Pixels(0.) }), - ("px", quote! { DefinedLength::Pixels(1.) }), - ("0_5", quote! { DefinedLength::Rems(0.125) }), - ("1", quote! { DefinedLength::Rems(0.25) }), - ("1_5", quote! { DefinedLength::Rems(0.375) }), - ("2", quote! { DefinedLength::Rems(0.5) }), - ("2_5", quote! { DefinedLength::Rems(0.625) }), - ("3", quote! { DefinedLength::Rems(0.75) }), - ("3_5", quote! { DefinedLength::Rems(0.875) }), - ("4", quote! { DefinedLength::Rems(1.) }), - ("5", quote! { DefinedLength::Rems(1.25) }), - ("6", quote! { DefinedLength::Rems(1.5) }), - ("7", quote! { DefinedLength::Rems(1.75) }), - ("8", quote! { DefinedLength::Rems(2.) }), - ("9", quote! { DefinedLength::Rems(2.25) }), - ("10", quote! { DefinedLength::Rems(2.5) }), - ("11", quote! { DefinedLength::Rems(2.75) }), - ("12", quote! { DefinedLength::Rems(3.) }), - ("14", quote! { DefinedLength::Rems(3.5) }), - ("16", quote! { DefinedLength::Rems(4.) }), - ("20", quote! { DefinedLength::Rems(5.) }), - ("24", quote! { DefinedLength::Rems(6.) }), - ("28", quote! { DefinedLength::Rems(7.) }), - ("32", quote! { DefinedLength::Rems(8.) }), - ("36", quote! { DefinedLength::Rems(9.) }), - ("40", quote! { DefinedLength::Rems(10.) }), - ("44", quote! { DefinedLength::Rems(11.) }), - ("48", quote! { DefinedLength::Rems(12.) }), - ("52", quote! { DefinedLength::Rems(13.) }), - ("56", quote! { DefinedLength::Rems(14.) }), - ("60", quote! { DefinedLength::Rems(15.) }), - ("64", quote! { DefinedLength::Rems(16.) }), - ("72", quote! { DefinedLength::Rems(18.) }), - ("80", quote! { DefinedLength::Rems(20.) }), - ("96", quote! { DefinedLength::Rems(24.) }), - ("half", quote! { DefinedLength::Percent(50.) }), - ("1_3rd", quote! { DefinedLength::Percent(33.333333) }), - ("2_3rd", quote! { DefinedLength::Percent(66.666667) }), - ("1_4th", quote! { DefinedLength::Percent(25.) }), - ("2_4th", quote! { DefinedLength::Percent(50.) }), - ("3_4th", quote! { DefinedLength::Percent(75.) }), - ("1_5th", quote! { DefinedLength::Percent(20.) }), - ("2_5th", quote! { DefinedLength::Percent(40.) }), - ("3_5th", quote! { DefinedLength::Percent(60.) }), - ("4_5th", quote! { DefinedLength::Percent(80.) }), - ("1_6th", quote! { DefinedLength::Percent(16.666667) }), - ("2_6th", quote! { DefinedLength::Percent(33.333333) }), - ("3_6th", quote! { DefinedLength::Percent(50.) }), - ("4_6th", quote! { DefinedLength::Percent(66.666667) }), - ("5_6th", quote! { DefinedLength::Percent(83.333333) }), - ("1_12th", quote! { DefinedLength::Percent(8.333333) }), - ("2_12th", quote! { DefinedLength::Percent(16.666667) }), - ("3_12th", quote! { DefinedLength::Percent(25.) }), - ("4_12th", quote! { DefinedLength::Percent(33.333333) }), - ("5_12th", quote! { DefinedLength::Percent(41.666667) }), - ("6_12th", quote! { DefinedLength::Percent(50.) }), - ("7_12th", quote! { DefinedLength::Percent(58.333333) }), - ("8_12th", quote! { DefinedLength::Percent(66.666667) }), - ("9_12th", quote! { DefinedLength::Percent(75.) }), - ("10_12th", quote! { DefinedLength::Percent(83.333333) }), - ("11_12th", quote! { DefinedLength::Percent(91.666667) }), - ("full", quote! { DefinedLength::Percent(100.) }), - ] -}