use std::{convert::TryFrom, path::Path, vec::IntoIter}; use codemap::{CodeMap, Span, Spanned}; use num_traits::cast::ToPrimitive; use peekmore::{PeekMore, PeekMoreIterator}; use crate::{ atrule::AtRuleKind, common::{Brackets, ListSeparator}, error::SassResult, scope::Scope, selector::{ComplexSelectorComponent, ExtendRule, Extender, Selector, SelectorParser}, style::Style, unit::Unit, utils::{ peek_ident_no_interpolation, read_until_closing_curly_brace, read_until_open_curly_brace, read_until_semicolon_or_closing_curly_brace, }, value::{Number, Value}, {Cow, Token}, }; use common::{Branch, NeverEmptyVec, SelectorOrStyle}; mod args; pub mod common; mod function; mod ident; mod import; mod mixin; mod style; mod value; mod variable; pub(crate) enum Comment { Silent, Loud(String), } #[derive(Debug, Clone)] pub(crate) enum Stmt { RuleSet { super_selector: Selector, selector: Selector, body: Vec, }, Style(Box