style: code fmt style

This commit is contained in:
2020-07-26 15:51:15 +08:00
parent d4aaebf94e
commit d91b059d1d
2 changed files with 24 additions and 33 deletions

View File

@@ -247,13 +247,13 @@ fn main() -> std::io::Result<()> {
#[allow(dead_code)] #[allow(dead_code)]
// test zone // test zone
//TODO refactor //TODO refactor
//todo implement 2001/11/01 3 getters !clement //todo implement 2001/11/01 #3 getters !clement
//todo implement 2001/11/01 3 getters !thomas //todo implement 2001/11/01 #3 getters !thomas
//fix implement 18/11/2001 getters //fix implement 18/11/2001 getters !jht5945
//4 //4
//10/10/10 //10/10/10
fn test(){ fn test(){
todo!("implements getters"); todo!("implements getters");
} }
//todo implement 2020/08/14 5 getters !clement //todo implement 2020/08/14 #5 getters !clement

View File

@@ -17,17 +17,15 @@ pub struct Token{
impl Token { impl Token {
pub fn new(file: String, line: usize, s: String, verbosity: i8) -> Token { pub fn new(file: String, line: usize, s: String, verbosity: i8) -> Token {
// println!("{}", s); println!(">>>>>>>>>>>{}", s);
let fields: Vec<&str>= s.split_whitespace().collect(); let fields: Vec<&str>= s.split_whitespace().collect();
let number_regex = Regex::new("\\b[1-9]\\b").unwrap(); let number_regex = Regex::new("#[0-9]").unwrap();
let date_regex = Regex::new("(\\d*/\\d*/\\d*)").unwrap(); let date_regex = Regex::new("(\\d+/\\d+/\\d+)").unwrap();
let member_regex = Regex::new("!\\w*").unwrap(); let member_regex = Regex::new("![\\w]+").unwrap();
if date_regex.is_match("5") { if date_regex.is_match("5") {
panic!("regex"); panic!("regex");
} }
// for i in &fields { println!("///////////{:?}", fields);
// println!("{}", i);
// }
let mut t = Token { let mut t = Token {
file, file,
@@ -40,27 +38,23 @@ impl Token {
verbosity, verbosity,
}; };
for i in 0..fields.len() { for (i, field) in fields.iter().enumerate() {
if i == 0 { if i == 0 {
t.keyword = fields[0].to_string().to_lowercase(); t.keyword = field.to_lowercase();
} else if number_regex.is_match(fields[i]) { } else if number_regex.is_match(field) {
t.priority = Some(fields[i].to_string()); t.priority = Some(field.chars().skip(1).collect::<String>());
} else if date_regex.is_match(fields[i]) { } else if date_regex.is_match(field) {
let date : Vec<&str> = fields[i].split('/').collect(); let date: Vec<&str> = field.split('/').collect();
t.date = NaiveDate::from_ymd_opt(date[0].parse::<i32>().unwrap(), date[1].parse::<u32>().unwrap(), date[2].parse::<u32>().unwrap()); let year = date[0].parse::<i32>().unwrap();
// t.date = Some(fields[i].to_string()); let month = date[1].parse::<u32>().unwrap();
} else if member_regex.is_match(fields[i]) { let day = date[2].parse::<u32>().unwrap();
let mut member = String::new(); //from(fields[i].clone()).chars().next().map(|c| &s[c.len_utf8()..]).unwrap(); t.date = NaiveDate::from_ymd_opt(year, month, day);
let it = fields[i].chars().skip(1); } else if member_regex.is_match(field) {
for i in it { t.member = Some(field.chars().skip(1).collect::<String>());
member.push(i);
}
t.member = Some(member);
} else { } else {
t.comment = match t.comment { t.comment = match t.comment {
None => Some(fields[i].to_string()), None => Some(field.to_string()),
Some(comment) => Some(format!("{} {}", comment, fields[i])), Some(comment) => Some(format!("{} {}", comment, field)),
}; };
} }
} }
@@ -113,11 +107,8 @@ impl fmt::Display for Token {
if let Some(comment) = &self.comment { if let Some(comment) = &self.comment {
multiline_msg.push(format!("{}", comment.blue())); multiline_msg.push(format!("{}", comment.blue()));
} }
// if self.comment.is_some() {
// s = string_format!("{}{}\n".to_string(), s, self.comment.clone().unwrap().blue().to_string());
// }
} }
write!(f, "{}\n", multiline_msg.join("\n"))?; write!(f, "{}\n", multiline_msg.join("\n"))?;
Ok(()) Ok(())
} }