(version_text: &str)
| 27 | } |
| 28 | |
| 29 | pub fn clang(version_text: &str) -> Result<(&str, &str)> { |
| 30 | let re = Regex::new(r"(.* )?clang version (.+?)( \(.*\))?$").unwrap(); |
| 31 | match re.captures(version_text) { |
| 32 | Some(caps) => Ok(( |
| 33 | caps.get(2).unwrap().as_str(), |
| 34 | caps.get(3).map(|m| m.as_str()).unwrap_or(""), |
| 35 | )), |
| 36 | None => Err(anyhow!("clang version parse error"))?, |
| 37 | } |
| 38 | } |