#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ProfileKind {
Document,
Component,
}
pub trait Profile: Copy + Default + 'static {
const KIND: ProfileKind;
const TOLERATE_DECLARATIONS: bool;
const FOLD_NAME_CASE: bool;
const SELF_CLOSING_ANY_ELEMENT: bool;
const IMPLIED_END_TAGS: bool;
const TABLE_CONTENT_MODEL: bool;
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct Document;
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct Component;
impl Profile for Document {
const KIND: ProfileKind = ProfileKind::Document;
const TOLERATE_DECLARATIONS: bool = true;
const FOLD_NAME_CASE: bool = true;
const SELF_CLOSING_ANY_ELEMENT: bool = false;
const IMPLIED_END_TAGS: bool = true;
const TABLE_CONTENT_MODEL: bool = true;
}
impl Profile for Component {
const KIND: ProfileKind = ProfileKind::Component;
const TOLERATE_DECLARATIONS: bool = false;
const FOLD_NAME_CASE: bool = false;
const SELF_CLOSING_ANY_ELEMENT: bool = true;
const IMPLIED_END_TAGS: bool = false;
const TABLE_CONTENT_MODEL: bool = false;
}