Initial commit

Still getting Config and argument parsing setup.
This commit is contained in:
Cameron Cordes
2020-04-26 23:18:40 -04:00
commit b73e4d38f1
5 changed files with 185 additions and 0 deletions

30
src/config.rs Normal file
View File

@@ -0,0 +1,30 @@
extern crate clap;
use clap::{Arg, App};
#[derive(Debug)]
pub struct Config {
pub pattern: String,
pub ignore_case: bool
}
impl Config {
pub fn from_args() -> Config {
let matches = App::new("Rack")
.version("0.1")
.about("Like Ack but in Rust")
.arg(Arg::with_name("ignore case")
.short("i")
.help("Ignore case when looking for matches"))
.arg(Arg::with_name("pattern")
.help("The pattern you're looking for")
.index(1)
.required(true))
.get_matches();
Config {
pattern: String::from(matches.value_of("pattern").unwrap()),
ignore_case: matches.is_present("ignore case")
}
}
}