Skip to main content

oxide_cli/templates/
loader.rs

1use std::path::Path;
2
3use anyhow::Result;
4
5use crate::{
6  AppContext,
7  templates::{TemplateFile, install::install_template},
8  utils::fs::read_dir_to_files,
9};
10
11pub async fn get_files(ctx: &AppContext, template_name: &str) -> Result<Vec<TemplateFile>> {
12  let path = Path::new(template_name);
13  let install_result = install_template(ctx, template_name).await?;
14  if let Some(message) = install_result.message(template_name) {
15    println!("{message}");
16  }
17
18  let files = read_dir_to_files(&ctx.paths.templates.join(path))?;
19
20  Ok(files)
21}