use super::super::Result;
use super::parser::Parser;
pub(crate) fn _try_parse_identifier<'doc>(
parser: &Parser<'doc>,
) -> Result<Option<(String, Parser<'doc>)>> {
let (first_char, parser1) =
match parser.consume_char_if_immutable(|c| c.is_alphabetic() || c == '_') {
Some((c, p)) => (c, p),
None => return Ok(None),
};
let (rest, parser2) = parser1.consume_many_if_immutable(|c| c.is_alphanumeric() || c == '_');
let mut identifier = String::new();
identifier.push(first_char);
identifier.push_str(&rest);
Ok(Some((identifier, parser2)))
}