Parser

Trait Parser 

Source
pub trait Parser<'i> {
    type Impl: SelectorImpl;
    type Error: 'i + From<SelectorParseErrorKind<'i>>;

    // Provided methods
    fn parse_slotted(&self) -> bool { ... }
    fn parse_part(&self) -> bool { ... }
    fn parse_is_and_where(&self) -> bool { ... }
    fn is_and_where_error_recovery(&self) -> ParseErrorRecovery { ... }
    fn is_is_alias(&self, _name: &str) -> bool { ... }
    fn parse_host(&self) -> bool { ... }
    fn parse_non_ts_pseudo_class(
        &self,
        location: SourceLocation,
        name: CowRcStr<'i>,
    ) -> Result<<Self::Impl as SelectorImpl>::NonTSPseudoClass, ParseError<'i, Self::Error>> { ... }
    fn parse_non_ts_functional_pseudo_class<'t>(
        &self,
        name: CowRcStr<'i>,
        arguments: &mut CssParser<'i, 't>,
    ) -> Result<<Self::Impl as SelectorImpl>::NonTSPseudoClass, ParseError<'i, Self::Error>> { ... }
    fn parse_pseudo_element(
        &self,
        location: SourceLocation,
        name: CowRcStr<'i>,
    ) -> Result<<Self::Impl as SelectorImpl>::PseudoElement, ParseError<'i, Self::Error>> { ... }
    fn parse_functional_pseudo_element<'t>(
        &self,
        name: CowRcStr<'i>,
        arguments: &mut CssParser<'i, 't>,
    ) -> Result<<Self::Impl as SelectorImpl>::PseudoElement, ParseError<'i, Self::Error>> { ... }
    fn default_namespace(
        &self,
    ) -> Option<<Self::Impl as SelectorImpl>::NamespaceUrl> { ... }
    fn namespace_for_prefix(
        &self,
        _prefix: &<Self::Impl as SelectorImpl>::NamespacePrefix,
    ) -> Option<<Self::Impl as SelectorImpl>::NamespaceUrl> { ... }
}

Required Associated Types§

Provided Methods§

Source

fn parse_slotted(&self) -> bool

Whether to parse the ::slotted() pseudo-element.

Source

fn parse_part(&self) -> bool

Whether to parse the ::part() pseudo-element.

Source

fn parse_is_and_where(&self) -> bool

Whether to parse the :where pseudo-class.

Source

fn is_and_where_error_recovery(&self) -> ParseErrorRecovery

The error recovery that selector lists inside :is() and :where() have.

Source

fn is_is_alias(&self, _name: &str) -> bool

Whether the given function name is an alias for the :is() function.

Source

fn parse_host(&self) -> bool

Whether to parse the :host pseudo-class.

Source

fn parse_non_ts_pseudo_class( &self, location: SourceLocation, name: CowRcStr<'i>, ) -> Result<<Self::Impl as SelectorImpl>::NonTSPseudoClass, ParseError<'i, Self::Error>>

Parses non-tree-structural pseudo-classes. Tree structural pseudo-classes, like :first-child, are built into this library.

This function can return an “Err” pseudo-element in order to support CSS2.1 pseudo-elements.

Source

fn parse_non_ts_functional_pseudo_class<'t>( &self, name: CowRcStr<'i>, arguments: &mut CssParser<'i, 't>, ) -> Result<<Self::Impl as SelectorImpl>::NonTSPseudoClass, ParseError<'i, Self::Error>>

Source

fn parse_pseudo_element( &self, location: SourceLocation, name: CowRcStr<'i>, ) -> Result<<Self::Impl as SelectorImpl>::PseudoElement, ParseError<'i, Self::Error>>

Source

fn parse_functional_pseudo_element<'t>( &self, name: CowRcStr<'i>, arguments: &mut CssParser<'i, 't>, ) -> Result<<Self::Impl as SelectorImpl>::PseudoElement, ParseError<'i, Self::Error>>

Source

fn default_namespace( &self, ) -> Option<<Self::Impl as SelectorImpl>::NamespaceUrl>

Source

fn namespace_for_prefix( &self, _prefix: &<Self::Impl as SelectorImpl>::NamespacePrefix, ) -> Option<<Self::Impl as SelectorImpl>::NamespaceUrl>

Implementors§