Skip to main content

alef_codegen/
templates.rs

1use minijinja::Environment;
2
3/// Create a minijinja environment with common filters and globals.
4pub fn create_env() -> Environment<'static> {
5    let mut env = Environment::new();
6
7    // Add common filters
8    env.add_filter("snake_case", |s: String| heck::ToSnakeCase::to_snake_case(s.as_str()));
9    env.add_filter("camel_case", |s: String| {
10        heck::ToLowerCamelCase::to_lower_camel_case(s.as_str())
11    });
12    env.add_filter("pascal_case", |s: String| {
13        heck::ToPascalCase::to_pascal_case(s.as_str())
14    });
15    env.add_filter("shouty_snake_case", |s: String| {
16        heck::ToShoutySnakeCase::to_shouty_snake_case(s.as_str())
17    });
18
19    env
20}