style: code fmt style
This commit is contained in:
@@ -247,13 +247,13 @@ fn main() -> std::io::Result<()> {
|
||||
#[allow(dead_code)]
|
||||
// test zone
|
||||
//TODO refactor
|
||||
//todo implement 2001/11/01 3 getters !clement
|
||||
//todo implement 2001/11/01 3 getters !thomas
|
||||
//fix implement 18/11/2001 getters
|
||||
//todo implement 2001/11/01 #3 getters !clement
|
||||
//todo implement 2001/11/01 #3 getters !thomas
|
||||
//fix implement 18/11/2001 getters !jht5945
|
||||
//4
|
||||
//10/10/10
|
||||
fn test(){
|
||||
todo!("implements getters");
|
||||
}
|
||||
|
||||
//todo implement 2020/08/14 5 getters !clement
|
||||
//todo implement 2020/08/14 #5 getters !clement
|
||||
49
src/token.rs
49
src/token.rs
@@ -17,17 +17,15 @@ pub struct Token{
|
||||
|
||||
impl 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 number_regex = Regex::new("\\b[1-9]\\b").unwrap();
|
||||
let date_regex = Regex::new("(\\d*/\\d*/\\d*)").unwrap();
|
||||
let member_regex = Regex::new("!\\w*").unwrap();
|
||||
let number_regex = Regex::new("#[0-9]").unwrap();
|
||||
let date_regex = Regex::new("(\\d+/\\d+/\\d+)").unwrap();
|
||||
let member_regex = Regex::new("![\\w]+").unwrap();
|
||||
if date_regex.is_match("5") {
|
||||
panic!("regex");
|
||||
}
|
||||
// for i in &fields {
|
||||
// println!("{}", i);
|
||||
// }
|
||||
println!("///////////{:?}", fields);
|
||||
|
||||
let mut t = Token {
|
||||
file,
|
||||
@@ -40,27 +38,23 @@ impl Token {
|
||||
verbosity,
|
||||
};
|
||||
|
||||
for i in 0..fields.len() {
|
||||
for (i, field) in fields.iter().enumerate() {
|
||||
if i == 0 {
|
||||
t.keyword = fields[0].to_string().to_lowercase();
|
||||
} else if number_regex.is_match(fields[i]) {
|
||||
t.priority = Some(fields[i].to_string());
|
||||
} else if date_regex.is_match(fields[i]) {
|
||||
let date : Vec<&str> = fields[i].split('/').collect();
|
||||
t.date = NaiveDate::from_ymd_opt(date[0].parse::<i32>().unwrap(), date[1].parse::<u32>().unwrap(), date[2].parse::<u32>().unwrap());
|
||||
// t.date = Some(fields[i].to_string());
|
||||
} else if member_regex.is_match(fields[i]) {
|
||||
let mut member = String::new(); //from(fields[i].clone()).chars().next().map(|c| &s[c.len_utf8()..]).unwrap();
|
||||
let it = fields[i].chars().skip(1);
|
||||
for i in it {
|
||||
member.push(i);
|
||||
}
|
||||
|
||||
t.member = Some(member);
|
||||
t.keyword = field.to_lowercase();
|
||||
} else if number_regex.is_match(field) {
|
||||
t.priority = Some(field.chars().skip(1).collect::<String>());
|
||||
} else if date_regex.is_match(field) {
|
||||
let date: Vec<&str> = field.split('/').collect();
|
||||
let year = date[0].parse::<i32>().unwrap();
|
||||
let month = date[1].parse::<u32>().unwrap();
|
||||
let day = date[2].parse::<u32>().unwrap();
|
||||
t.date = NaiveDate::from_ymd_opt(year, month, day);
|
||||
} else if member_regex.is_match(field) {
|
||||
t.member = Some(field.chars().skip(1).collect::<String>());
|
||||
} else {
|
||||
t.comment = match t.comment {
|
||||
None => Some(fields[i].to_string()),
|
||||
Some(comment) => Some(format!("{} {}", comment, fields[i])),
|
||||
None => Some(field.to_string()),
|
||||
Some(comment) => Some(format!("{} {}", comment, field)),
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -113,11 +107,8 @@ impl fmt::Display for Token {
|
||||
if let Some(comment) = &self.comment {
|
||||
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"))?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user