Skip to main content

rustbasic_core/cli/
utils.rs

1pub fn to_snake_case(s: &str) -> String {
2    let mut snake = String::new();
3    for (i, ch) in s.chars().enumerate() {
4        if ch.is_uppercase() && i != 0 {
5            snake.push('_');
6        }
7        snake.push(ch.to_ascii_lowercase());
8    }
9    snake
10}
11pub fn to_pascal_case(s: &str) -> String {
12    let mut pascal = String::new();
13    let mut capitalize_next = true;
14    for ch in s.chars() {
15        if ch == '_' || ch == '-' {
16            capitalize_next = true;
17        } else if capitalize_next {
18            pascal.push(ch.to_ascii_uppercase());
19            capitalize_next = false;
20        } else {
21            pascal.push(ch);
22        }
23    }
24    pascal
25}