use crate::ListItem;
impl ListItem {
pub(crate) fn parse_depth_from_marker(marker: &str) -> Option<usize> {
let trimmed = marker.trim();
if trimmed.starts_with('*') {
let depth = trimmed.chars().take_while(|&c| c == '*').count();
return Some(depth);
}
if trimmed.starts_with('-') {
return Some(1);
}
if trimmed.starts_with('.') {
let depth = trimmed.chars().take_while(|&c| c == '.').count();
return Some(depth);
}
if let Some(dot_pos) = trimmed.find('.') {
let (num_part, _) = trimmed.split_at(dot_pos);
if num_part.chars().all(|c| c.is_ascii_digit()) {
return Some(1);
}
}
None
}
}