Skip to content

Commit

Permalink
Case sensitivity is now an argument
Browse files Browse the repository at this point in the history
  • Loading branch information
Raphdf202 committed Jun 18, 2024
1 parent b71f945 commit 471f8a6
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 13 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "searcher_txt"
version = "1.2.1"
version = "1.2.2"
authors = ["Raphdf201 <deschenesr545@gmail.com>"]
edition = "2021"
license-file = "unlicense.txt"
Expand Down
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
21 changes: 14 additions & 7 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
use std::error::Error;
use std::{env, fs};
use std::fs;

pub fn run(config: Config) -> Result<(), Box<dyn Error>> {
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)
Expand All @@ -20,19 +20,23 @@ pub fn run(config: Config) -> Result<(), Box<dyn Error>> {
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<Config, &str> {
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,
})
}
}

Expand Down Expand Up @@ -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)
);
}
}

0 comments on commit 471f8a6

Please # to comment.