actr_cli/templates/kotlin/
mod.rs1use super::{LangTemplate, ProjectTemplateName, TemplateContext};
2use crate::error::Result;
3use std::collections::HashMap;
4
5pub mod data_stream;
6pub mod echo;
7
8pub struct KotlinTemplate;
9
10impl LangTemplate for KotlinTemplate {
11 fn load_files(
12 &self,
13 template_name: ProjectTemplateName,
14 _context: &TemplateContext,
15 ) -> Result<HashMap<String, String>> {
16 let mut files = HashMap::new();
17
18 match template_name {
19 ProjectTemplateName::Echo => {
20 echo::load(&mut files)?;
21 }
22 ProjectTemplateName::Empty => {
23 return Err(crate::error::ActrCliError::Unsupported(
24 "Empty template is not supported for Kotlin yet".to_string(),
25 ));
26 }
27 ProjectTemplateName::DataStream => {
28 data_stream::load(&mut files)?;
29 }
30 }
31
32 Ok(files)
33 }
34}