clitest_lib/parser/mod.rs
1use crate::script::{Script, ScriptError, ScriptErrorType, ScriptFile, ScriptLocation};
2
3pub mod v0;
4
5pub fn parse_script(file: ScriptFile, script: &str) -> Result<Script, ScriptError> {
6 let version = script.lines().next().unwrap_or_default();
7 match version {
8 "#!/usr/bin/env clitest --v0" => v0::parse_script(file, script),
9 _ => Err(ScriptError::new(
10 ScriptErrorType::InvalidVersion,
11 ScriptLocation::new(file, 1),
12 )),
13 }
14}