pub enum Document<'a> {
Nil,
Text(Cow<'a, str>),
Concat(Vec<Document<'a>>),
Group(Box<Document<'a>>),
Indent(Box<Document<'a>>),
Line,
SoftLine,
SoftLineSpace,
HardLine,
}Expand description
Document 抽象,用于描述布局逻辑
Variants§
Nil
空文档
Text(Cow<'a, str>)
纯文本
Concat(Vec<Document<'a>>)
连接多个文档
Group(Box<Document<'a>>)
组合文档,作为换行计算的最小单位
Indent(Box<Document<'a>>)
增加缩进
Line
强制换行
SoftLine
软换行:如果 Group 展开则为换行,否则为空
SoftLineSpace
软换行(带空格):如果 Group 展开则为换行,否则为空格
HardLine
强制换行且会导致父级 Group 也展开
Implementations§
Trait Implementations§
Source§impl<'a> AsDocument for Document<'a>
impl<'a> AsDocument for Document<'a>
Source§fn as_document(&self) -> Document<'_>
fn as_document(&self) -> Document<'_>
Converts this type to a document for pretty printing.
Source§impl<'a> ToDocument<'a> for Document<'a>
impl<'a> ToDocument<'a> for Document<'a>
Source§fn to_document(self) -> Document<'a>
fn to_document(self) -> Document<'a>
Converts this type to a document value.
Auto Trait Implementations§
impl<'a> Freeze for Document<'a>
impl<'a> RefUnwindSafe for Document<'a>
impl<'a> Send for Document<'a>
impl<'a> Sync for Document<'a>
impl<'a> Unpin for Document<'a>
impl<'a> UnwindSafe for Document<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more