1mod banner;
2mod cli;
3pub mod commands;
4pub mod dev_workspace;
5pub mod generator;
6pub mod generators;
7pub mod new_options;
8pub mod project_generator;
9pub mod registry;
10pub mod templates;
11
12pub use cli::run;
14
15pub use dev_workspace::DependencyMode;
16
17pub const DOIDO_VERSION: &str = env!("CARGO_PKG_VERSION");
20
21pub use generator::{GeneratedFile, Generator};
22pub use generators::{
23 channel::ChannelGenerator, controller::ControllerGenerator, generator_gen::GeneratorGenerator,
24 job::JobGenerator, mailer::MailerGenerator, migration::MigrationGenerator,
25 model::ModelGenerator, new::ProjectGenerator, resource::ResourceGenerator,
26 scaffold::ScaffoldGenerator, storage_adapter::StorageAdapterGenerator,
27 storage_install::StorageInstallGenerator, templates_gen::TemplatesGenerator,
28};
29pub use registry::GeneratorRegistry;
30
31pub fn default_registry() -> GeneratorRegistry {
32 let mut reg = GeneratorRegistry::new();
33 reg.register(Box::new(ControllerGenerator));
34 reg.register(Box::new(ModelGenerator));
35 reg.register(Box::new(MigrationGenerator));
36 reg.register(Box::new(JobGenerator));
37 reg.register(Box::new(MailerGenerator));
38 reg.register(Box::new(ChannelGenerator));
39 reg.register(Box::new(ScaffoldGenerator));
40 reg.register(Box::new(ResourceGenerator));
41 reg.register(Box::new(StorageInstallGenerator));
42 reg.register(Box::new(StorageAdapterGenerator));
43 reg.register(Box::new(ProjectGenerator));
44 reg.register(Box::new(TemplatesGenerator));
45 reg.register(Box::new(GeneratorGenerator));
46 reg.register(Box::new(crate::generators::locale::LocaleGenerator));
47 reg
48}