(version_text: &str)
| 19 | use regex::Regex; |
| 20 | |
| 21 | pub fn gcc(version_text: &str) -> Result<(&str, &str)> { |
| 22 | let re = Regex::new(r"^\S*g(cc|\+\+)\S* \((.*)\) (.+)$").unwrap(); |
| 23 | match re.captures(version_text) { |
| 24 | Some(caps) => Ok((caps.get(3).unwrap().as_str(), caps.get(2).unwrap().as_str())), |
| 25 | None => Err(anyhow!("gcc version parse error"))?, |
| 26 | } |
| 27 | } |
| 28 | |
| 29 | pub fn clang(version_text: &str) -> Result<(&str, &str)> { |
| 30 | let re = Regex::new(r"(.* )?clang version (.+?)( \(.*\))?$").unwrap(); |