mindustry logic execution, map- and schematic- parsing and rendering
Diffstat (limited to 'strconv/src/lib.rs')
| -rw-r--r-- | strconv/src/lib.rs | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/strconv/src/lib.rs b/strconv/src/lib.rs deleted file mode 100644 index 4b9d626..0000000 --- a/strconv/src/lib.rs +++ /dev/null @@ -1,29 +0,0 @@ -use proc_macro::TokenStream; -use syn::{parse_macro_input, LitStr}; - -#[proc_macro] -pub fn kebab2title(input: TokenStream) -> TokenStream { - let input_str = parse_macro_input!(input as LitStr).value(); - - let converted = kebab2title_impl(&input_str); - format!("\"{converted}\"").parse().unwrap() -} - -fn kebab2title_impl(data: &str) -> String { - let mut result = String::with_capacity(data.len()); - let mut capitalize_next = true; - - for c in data.chars() { - if c == '-' { - result.push(' '); - capitalize_next = true; - } else if capitalize_next { - result.push(c.to_ascii_uppercase()); - capitalize_next = false; - } else { - result.push(c); - } - } - - result -} |