baobao_codegen/
lib.rs

1//! Shared code generation utilities for Bao CLI generator.
2//!
3//! This crate provides language-agnostic abstractions and utilities
4//! used by language-specific code generators (e.g., `bao-codegen-rust`).
5
6mod code_builder;
7mod commands;
8mod file_builder;
9mod handlers;
10mod imports;
11mod indent;
12mod naming;
13mod traits;
14mod types;
15
16#[cfg(any(test, feature = "testing"))]
17pub mod testing;
18
19// Re-export utilities
20pub use code_builder::CodeBuilder;
21pub use commands::{CommandTree, FlatCommand};
22pub use file_builder::FileBuilder;
23pub use handlers::{HandlerPaths, OrphanHandler, find_orphan_commands};
24pub use imports::{DependencyCollector, DependencySpec, ImportCollector};
25pub use indent::Indent;
26pub use naming::NamingConvention;
27pub use traits::{CleanResult, GenerateResult, LanguageCodegen, PreviewFile, TypeMapper};
28// Re-export types
29pub use types::{CommandInfo, ContextFieldInfo, PoolConfigInfo, SqliteConfigInfo};