From 471f8a64b968c75a6f1437fee0755bfc1b213eec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Desch=C3=AAnes?= Date: Tue, 18 Jun 2024 13:59:46 -0400 Subject: [PATCH] Case sensitivity is now an argument --- Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 10 ++++++---- src/lib.rs | 21 ++++++++++++++------- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a3c575a..f1de8c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,4 +4,4 @@ version = 3 [[package]] name = "searcher_txt" -version = "1.2.1" +version = "1.2.2" diff --git a/Cargo.toml b/Cargo.toml index d2e67ec..734f9bc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "searcher_txt" -version = "1.2.1" +version = "1.2.2" authors = ["Raphdf201 "] edition = "2021" license-file = "unlicense.txt" diff --git a/README.md b/README.md index 53dc06a..bd006f3 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,14 @@ i made this to train my rust skills -## Versions +## Changelog -1.0.0 : Basic code (with errors) +1.2.2 : Case sensitivity is now an argument -1.1.0 : Fixed some errors +1.2.1 : Better error messages 1.2.0 : Added back case sensitivity option -1.2.1 : Better error messages +1.1.0 : Fixed some errors + +1.0.0 : Basic code (with errors) diff --git a/src/lib.rs b/src/lib.rs index adf415f..782ca89 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,10 +1,10 @@ use std::error::Error; -use std::{env, fs}; +use std::fs; pub fn run(config: Config) -> Result<(), Box> { let contents = fs::read_to_string(config.filename)?; - let results = if config.case_sensitivity { + let results = if config.case_sensitivity == "true" { search(&config.query, &contents) } else { search_case_insensitive(&config.query, &contents) @@ -20,19 +20,23 @@ pub fn run(config: Config) -> Result<(), Box> { pub struct Config { pub query: String, pub filename: String, - pub case_sensitivity: bool, + pub case_sensitivity: String, } impl Config { pub fn new(args: &[String]) -> Result { if args.len() < 3 { - return Err("Not enough arguments"); + return Err("Missing arguments"); } let query = args[1].clone(); let filename = args[2].clone(); - let case_sensitivity = env::var("CASE_INSENSITIVE").is_err(); + let case_sensitivity = args[3].clone(); - Ok(Config { query, filename, case_sensitivity }) + Ok(Config { + query, + filename, + case_sensitivity, + }) } } @@ -86,6 +90,9 @@ safe, fast, productive. Pick three. Trust me."; - assert_eq!(vec!["Rust:", "Trust me."], search_case_insensitive(query, contents)); + assert_eq!( + vec!["Rust:", "Trust me."], + search_case_insensitive(query, contents) + ); } }