#[inline]
pub fn is_definition_line(line: &str) -> bool {
crate::utils::is_definition_list_item(line)
}
#[inline]
pub fn could_be_term_line(line: &str) -> bool {
let trimmed = line.trim();
!trimmed.is_empty() && !is_definition_line(line) && !line.starts_with(' ')
}
#[inline]
pub fn is_definition_continuation(line: &str) -> bool {
line.starts_with(" ") && !line.trim_start().starts_with(':')
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_is_definition_line() {
assert!(is_definition_line(": Definition text"));
assert!(is_definition_line(": Definition text"));
assert!(is_definition_line(":\tDefinition text"));
assert!(is_definition_line(": Long definition"));
assert!(!is_definition_line("Term"));
assert!(!is_definition_line(" Term"));
assert!(!is_definition_line(""));
assert!(!is_definition_line(":NoSpace")); }
#[test]
fn test_could_be_term_line() {
assert!(could_be_term_line("Term"));
assert!(could_be_term_line("Multi Word Term"));
assert!(could_be_term_line("Term with special chars: like this"));
assert!(!could_be_term_line("")); assert!(!could_be_term_line(" ")); assert!(!could_be_term_line(": Definition")); assert!(!could_be_term_line(" Term")); }
#[test]
fn test_is_definition_continuation() {
assert!(is_definition_continuation(" Continuation text"));
assert!(is_definition_continuation(" More continuation"));
assert!(!is_definition_continuation(": New definition"));
assert!(!is_definition_continuation("No indent"));
assert!(!is_definition_continuation(" Only 2 spaces"));
}
}