fn validate()

in src/models/capture_group_patterns.rs [75:94]


  fn validate(&self) -> Result<(), String> {
    if self.pattern().starts_with("rgx ") {
      return self
        .extract_regex()
        .map(|_| Ok(()))
        .unwrap_or(Err(format!("Cannot parse the regex - {}", self.pattern())));
    }
    if self.pattern().starts_with("cs ") {
      return Ok(());
    }
    let mut parser = get_ts_query_parser();
    parser
      .parse(self.pattern(), None)
      .filter(|x| number_of_errors(&x.root_node()) == 0)
      .map(|_| Ok(()))
      .unwrap_or(Err(format!(
        "Cannot parse the tree-sitter query - {}",
        self.pattern()
      )))
  }