use koicore::parser::{Parser, ParserConfig, StringInputSource};
fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("=== Basic Parser Usage Example ===");
let koi_script = r#"
#title "My First KoiLang Script"
#character Alice "Hello, world!"
This is regular text content.
#background Forest
#action walk speed(5)
"#;
let input = StringInputSource::new(koi_script);
let config = ParserConfig::default();
let mut parser = Parser::new(input, config);
let mut command_count = 0;
while let Some(command) = parser.next_command()? {
command_count += 1;
println!("Command #{}: {}", command_count, command.name());
for param in command.params() {
println!(" Parameter: {}", param);
}
}
println!("Total commands parsed: {}", command_count);
Ok(())
}