use crate::Result;
pub fn fmt(input: &str) -> Result<String> {
let syntax_tree = syn::parse_file(&input)?;
Ok(prettyplease::unparse(&syntax_tree))
}
pub(crate) fn extract_webidl_name(idl: &str) -> Option<String> {
let name = (&idl).lines().find(|line| line.contains("interface"))?;
let mut iter = name.split("interface");
iter.next()?;
let mut name = iter.next()?;
if name.contains("mixin") {
let mut iter = name.split("mixin");
let _ = iter.next()?;
name = iter.next()?;
}
if name.contains("{") {
name = name.split("{").next()?;
}
if name.contains(":") {
name = name.split(":").next()?;
}
Some(name.trim().to_owned())
}