#![doc = include_str!("../examples/css/parser.rs")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(docsrs, feature(extended_key_value_attributes))]
#![cfg_attr(all(not(feature = "std"), not(test)), no_std)]
#![warn(missing_docs)]
#![warn(clippy::std_instead_of_core)]
#![warn(clippy::std_instead_of_alloc)]
#![warn(clippy::print_stderr)]
#![warn(clippy::print_stdout)]
#[cfg(feature = "alloc")]
#[cfg_attr(test, macro_use)]
#[allow(unused_extern_crates)]
extern crate alloc;
#[doc = include_str!("../README.md")]
#[cfg(doctest)]
pub struct ReadmeDoctests;
pub(crate) mod util {
#[allow(dead_code)]
pub(crate) fn from_fn<F: Fn(&mut core::fmt::Formatter<'_>) -> core::fmt::Result>(
f: F,
) -> FromFn<F> {
FromFn(f)
}
pub(crate) struct FromFn<F>(F)
where
F: Fn(&mut core::fmt::Formatter<'_>) -> core::fmt::Result;
impl<F> core::fmt::Debug for FromFn<F>
where
F: Fn(&mut core::fmt::Formatter<'_>) -> core::fmt::Result,
{
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
(self.0)(f)
}
}
impl<F> core::fmt::Display for FromFn<F>
where
F: Fn(&mut core::fmt::Formatter<'_>) -> core::fmt::Result,
{
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
(self.0)(f)
}
}
}
#[macro_use]
mod macros;
#[macro_use]
#[cfg(feature = "parser")]
pub mod error;
#[cfg(feature = "parser")]
mod parser;
pub mod stream;
#[cfg(feature = "ascii")]
pub mod ascii;
#[cfg(feature = "binary")]
pub mod binary;
#[cfg(feature = "parser")]
pub mod combinator;
#[cfg(feature = "parser")]
pub mod token;
#[cfg(feature = "unstable-doc")]
pub mod _topic;
#[cfg(feature = "unstable-doc")]
pub mod _tutorial;
pub mod prelude {
#[cfg(feature = "parser")]
pub use crate::error::ModalError as _;
#[cfg(feature = "parser")]
pub use crate::error::ParserError as _;
pub use crate::stream::AsChar as _;
pub use crate::stream::ContainsToken as _;
pub use crate::stream::Stream as _;
pub use crate::stream::StreamIsPartial as _;
#[cfg(feature = "parser")]
pub use crate::ModalParser;
#[cfg(feature = "parser")]
pub use crate::ModalResult;
#[cfg(feature = "parser")]
pub use crate::Parser;
#[cfg(feature = "unstable-recover")]
#[cfg(feature = "std")]
#[cfg(feature = "parser")]
pub use crate::RecoverableParser as _;
#[cfg(all(test, feature = "parser"))]
pub(crate) use crate::TestResult;
}
#[cfg(feature = "parser")]
pub use error::ModalResult;
#[cfg(feature = "parser")]
pub use error::Result;
#[cfg(feature = "unstable-recover")]
#[cfg(feature = "std")]
#[cfg(feature = "parser")]
pub use parser::RecoverableParser;
#[cfg(feature = "parser")]
pub use parser::{ModalParser, Parser};
pub use stream::BStr;
pub use stream::Bytes;
pub use stream::LocatingSlice;
pub use stream::Partial;
pub use stream::Stateful;
pub use stream::Str;
#[cfg(all(test, feature = "parser"))]
pub(crate) use error::TestResult;