pub use crate::parser::tackler_txns::git_to_txns;
pub use crate::parser::tackler_txns::paths_to_txns;
pub use crate::parser::tackler_txns::string_to_txns;
pub use crate::parser::tackler_txns::GitInputSelector;
mod ctx_handler;
mod tackler_parser;
mod tackler_txns;
mod txn_antlr;
#[inline]
fn illegal_characters(c: char) -> bool {
c == ':' || c.is_whitespace()
}
fn is_valid_id_start_char(c: char) -> bool {
!(c.is_ascii_digit() || c == ':' || c == '-' || c == '_' || c == 'ยท' || c.is_whitespace())
}
fn is_valid_sub_id_start_char(c: char) -> bool {
c.is_numeric() || is_valid_id_start_char(c)
}
pub fn is_valid_id(token: &str) -> bool {
!token.is_empty()
&& token.starts_with(is_valid_id_start_char)
&& !token.contains(illegal_characters)
}
pub fn is_valid_sub_id(token: &str) -> bool {
!token.is_empty()
&& token.starts_with(is_valid_sub_id_start_char)
&& !token.contains(illegal_characters)
}
#[cfg(test)]
mod tests;