//! Utilities for parsing Python docstrings. /// Extract the leading words from a line of text within a Python docstring. pub fn leading_words(line: &str) -> &str { let line = line.trim(); line.find(|char: char| !char.is_alphanumeric() && !char.is_whitespace()) .map_or(line, |index| &line[..index]) } /// Extract the leading whitespace from a line of text within a Python docstring. pub fn leading_space(line: &str) -> &str { line.find(|char: char| !char.is_whitespace()) .map_or(line, |index| &line[..index]) } /// Replace any non-whitespace characters from an indentation string within a Python docstring. pub fn clean_space(indentation: &str) -> String { indentation .chars() .map(|char| if char.is_whitespace() { char } else { ' ' }) .collect() }