diff --git a/script-config.json b/script-config.json index ea0c50b..b737614 100644 --- a/script-config.json +++ b/script-config.json @@ -2,5 +2,6 @@ "file_ext": "rs", "simple_script_url": "https://git.hatter.ink/rust-scripts/scriptbase/raw/branch/main/single-scripts/$NAME", "project_script_url": "https://git.hatter.ink/rust-scripts/scriptbase/raw/branch/main/$NAME/src/main.rs", + "script_sub_dir": "src", "skip_dirs": [] } diff --git a/update-meta-rs/src/main.rs b/update-meta-rs/src/main.rs index c400720..f14586c 100755 --- a/update-meta-rs/src/main.rs +++ b/update-meta-rs/src/main.rs @@ -26,6 +26,7 @@ struct ScriptConfig { file_ext: String, simple_script_url: String, project_script_url: String, + script_sub_dir: Option, skip_dirs: Vec, } @@ -87,9 +88,11 @@ fn main() -> XResult<()> { continue; } let abs_dir_entry = std::path::absolute(&dir_entry.path())?; - let main_script = abs_dir_entry - .join("src") - .join(format!("main.{}", script_config.file_ext)); + let mut main_script = abs_dir_entry; + if let Some(sub_dir) = &script_config.script_sub_dir { + main_script = main_script.join(sub_dir); + } + main_script = main_script.join(format!("main.{}", script_config.file_ext)); if let Some(script_file_name) = translate_script_dir_to_script_name(script_dir, &script_config)