unify comandline parsing into function
This commit is contained in:
parent
cadc5a6798
commit
6f29d97bb6
@ -129,17 +129,7 @@ pub fn turtle_main(args: TokenStream, input: TokenStream) -> TokenStream {
|
||||
#[macroquad::main(#window_title)]
|
||||
async fn main() {
|
||||
// Parse command-line arguments for SVG export FIRST (before any graphics init)
|
||||
let args: Vec<String> = std::env::args().collect();
|
||||
let mut export_svg_path: Option<String> = None;
|
||||
|
||||
let mut i = 1;
|
||||
while i < args.len() {
|
||||
if args[i] == "--export-svg" && i + 1 < args.len() {
|
||||
export_svg_path = Some(args[i + 1].clone());
|
||||
break;
|
||||
}
|
||||
i += 1;
|
||||
}
|
||||
let export_svg_path = turtle_lib::export::parse_svg_export_arg();
|
||||
|
||||
// Handle SVG export mode (execute instantly without rendering)
|
||||
if let Some(filename) = export_svg_path {
|
||||
@ -220,17 +210,7 @@ pub fn turtle_main(args: TokenStream, input: TokenStream) -> TokenStream {
|
||||
#[macroquad::main(#window_title)]
|
||||
async fn main() {
|
||||
// Parse command-line arguments for SVG export FIRST (before any graphics init)
|
||||
let args: Vec<String> = std::env::args().collect();
|
||||
let mut export_svg_path: Option<String> = None;
|
||||
|
||||
let mut i = 1;
|
||||
while i < args.len() {
|
||||
if args[i] == "--export-svg" && i + 1 < args.len() {
|
||||
export_svg_path = Some(args[i + 1].clone());
|
||||
break;
|
||||
}
|
||||
i += 1;
|
||||
}
|
||||
let export_svg_path = turtle_lib::export::parse_svg_export_arg();
|
||||
|
||||
// Handle SVG export mode (execute instantly without rendering)
|
||||
if let Some(filename) = export_svg_path {
|
||||
|
||||
@ -24,3 +24,15 @@ pub trait DrawingExporter {
|
||||
/// Returns an error if the export fails (e.g., file I/O error)
|
||||
fn export(&self, world: &TurtleWorld, filename: &str) -> Result<(), ExportError>;
|
||||
}
|
||||
|
||||
pub fn parse_svg_export_arg() -> Option<String> {
|
||||
let args: Vec<String> = std::env::args().collect();
|
||||
let mut i = 1;
|
||||
while i < args.len() {
|
||||
if args[i] == "--export-svg" && i + 1 < args.len() {
|
||||
return Some(args[i + 1].clone());
|
||||
}
|
||||
i += 1;
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user