From 623d91c74e255dcb38dfcf6250bd1423235ce546 Mon Sep 17 00:00:00 2001 From: LunaStev Date: Wed, 15 Jan 2025 19:29:26 +0900 Subject: [PATCH 1/9] Add Wave Version --- src/main.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main.rs b/src/main.rs index 75034ed..38886a0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -41,6 +41,8 @@ fn format_ast(ast: &AST) -> String { } */ +const VERSION: &str = env!("CARGO_PKG_VERSION"); + fn main() { let args: Vec = env::args().collect(); From b00e1a2301f58e203f879d1e31ab1e1c1263d069 Mon Sep 17 00:00:00 2001 From: LunaStev Date: Wed, 15 Jan 2025 19:33:30 +0900 Subject: [PATCH 2/9] Version Update --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 7d73fa1..95d3749 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "Wave" -version = "0.1.0" +version = "0.0.2-pre-alpha" edition = "2021" [dependencies] \ No newline at end of file From 7fa0361aea02ff4197bbf8c132d825b48bc3935c Mon Sep 17 00:00:00 2001 From: LunaStev Date: Wed, 15 Jan 2025 19:33:38 +0900 Subject: [PATCH 3/9] Version update --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 8724f4a..d8e0f93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,4 +4,4 @@ version = 3 [[package]] name = "Wave" -version = "0.1.0" +version = "0.0.2-pre-alpha" From 774859b874a6cd4aa36d9eb95b2032a4931a3d42 Mon Sep 17 00:00:00 2001 From: LunaStev Date: Wed, 15 Jan 2025 19:34:08 +0900 Subject: [PATCH 4/9] Update CLI - Add run - --Add version --- src/main.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main.rs b/src/main.rs index 38886a0..5af3e60 100644 --- a/src/main.rs +++ b/src/main.rs @@ -53,6 +53,30 @@ fn main() { let file_path = &args[1]; + let code = match fs::read_to_string(file_path) { + Ok(content) => content, + Err(err) => { + eprintln!("Error reading file {}: {}", file_path, err); + process::exit(1); + } + "run" => { + if args.len() < 3 { + eprintln!("Usage: wave run "); + process::exit(1); + } + + let file_path = &args[2]; + run_wave_file(file_path); + } + _ => { + eprintln!("Unknown command: {}", args[1]); + eprintln!("Use 'wave --version' or 'wave run '"); + process::exit(1); + } + } +} + +fn run_wave_file(file_path: &str) { let code = match fs::read_to_string(file_path) { Ok(content) => content, Err(err) => { From 7c4976e07c466daec3fbf0b6023584f5b6b9e0f2 Mon Sep 17 00:00:00 2001 From: LunaStev Date: Wed, 15 Jan 2025 19:34:24 +0900 Subject: [PATCH 5/9] Add --version --- src/main.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/main.rs b/src/main.rs index 5af3e60..d44eb5c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -51,13 +51,10 @@ fn main() { process::exit(1); } - let file_path = &args[1]; - - let code = match fs::read_to_string(file_path) { - Ok(content) => content, - Err(err) => { - eprintln!("Error reading file {}: {}", file_path, err); - process::exit(1); + match args[1].as_str() { + "--version" => { + println!("v{}", VERSION); + return; } "run" => { if args.len() < 3 { From 75274e7b7e2a3a019276d9f8bdcd9171c15434fa Mon Sep 17 00:00:00 2001 From: LunaStev Date: Wed, 15 Jan 2025 19:34:37 +0900 Subject: [PATCH 6/9] Add Description --- src/main.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index d44eb5c..a442c38 100644 --- a/src/main.rs +++ b/src/main.rs @@ -47,7 +47,10 @@ fn main() { let args: Vec = env::args().collect(); if args.len() < 2 { - eprintln!("Usage: {} ", args[0]); + eprintln!("Usage: wave [arguments]"); + eprintln!("Commands:"); + eprintln!(" run Execute the specified Wave file"); + eprintln!(" --version Show the CLI version"); process::exit(1); } From db0ed686c2276674cc7163c30dc058ff073a1a92 Mon Sep 17 00:00:00 2001 From: LunaStev Date: Wed, 15 Jan 2025 19:35:00 +0900 Subject: [PATCH 7/9] Separation --- src/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index a442c38..2abb878 100644 --- a/src/main.rs +++ b/src/main.rs @@ -90,7 +90,8 @@ fn run_wave_file(file_path: &str) { let tokens = lexer.tokenize(); eprintln!("Tokens: {}", format_tokens(&tokens)); - let function_name = tokens.iter() + let function_name = tokens + .iter() .find(|token| matches!(token.token_type, TokenType::IDENTIFIER(_))) .map(|token| token.lexeme.clone()) .unwrap_or_default(); From dde3a07240a761a1977511e118d0812cd8af6ef9 Mon Sep 17 00:00:00 2001 From: LunaStev Date: Wed, 15 Jan 2025 19:41:26 +0900 Subject: [PATCH 8/9] Change lowercase letters --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 95d3749..9c57041 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "Wave" +name = "wave" version = "0.0.2-pre-alpha" edition = "2021" From faaaea518421c4bbbf74c2ef8492c89273a45016 Mon Sep 17 00:00:00 2001 From: LunaStev Date: Wed, 15 Jan 2025 19:41:47 +0900 Subject: [PATCH 9/9] Change lowercase letters --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index d8e0f93..6a9880a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3,5 +3,5 @@ version = 3 [[package]] -name = "Wave" +name = "wave" version = "0.0.2-pre-alpha"