Skip to main content

parse_nested_body

Function parse_nested_body 

Source
pub(crate) fn parse_nested_body(
    parent_selector_texts: &[String],
    body: &str,
    out_rules: &mut Vec<Rule>,
    layer: Option<usize>,
) -> Vec<Declaration>
Expand description

CSS Nesting のルール本体をパースする。トップレベル(このネストの深さ)の ; で 宣言を区切り、トップレベルの { はネストしたルールの開始とみなして対応する } までを取り出し再帰する。ネストしたセレクタの各カンマ枝は、& を含めば親セレクタの テキストで置換し、含まなければ親セレクタの後ろに半角スペースで連結する(子孫結合子 扱い)。戻り値はこのレベル自身の宣言一覧(ネストしたルールは out_rules に積む)。