tentative argument parsing
This commit is contained in:
		
							parent
							
								
									b3da4df9ec
								
							
						
					
					
						commit
						9c0e14ba35
					
				@ -8,16 +8,30 @@ use std::process;
 | 
			
		||||
 | 
			
		||||
fn main() {
 | 
			
		||||
  let args: Vec<String> = env::args().skip(1).collect();
 | 
			
		||||
 | 
			
		||||
  for i in args {
 | 
			
		||||
    let mut arg = i.as_str();
 | 
			
		||||
    match arg {
 | 
			
		||||
      "-u" => process::exit(1),
 | 
			
		||||
 | 
			
		||||
      _ => {
 | 
			
		||||
        print!("{}", read_to_string(arg).unwrap())
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
  let mut opts = Vec::new();
 | 
			
		||||
  
 | 
			
		||||
  for arg in &args {
 | 
			
		||||
    if arg.starts_with("-") {
 | 
			
		||||
      opts.push(arg);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if opts.is_empty() == false {
 | 
			
		||||
    for option in opts {
 | 
			
		||||
      match option.as_str() {
 | 
			
		||||
        // Write  bytes  from the input file to the standard output without
 | 
			
		||||
        // delay as each is read.
 | 
			
		||||
        "-u" => {},
 | 
			
		||||
 | 
			
		||||
        _ => process::exit(1),
 | 
			
		||||
      };
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  else { 
 | 
			
		||||
    for path in args {
 | 
			
		||||
      print!("{}", read_to_string(path).unwrap());
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  stdout().flush().unwrap();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user