Formatter introduced

This commit is contained in:
2025-02-07 00:47:34 +01:00
parent b94d8a64cb
commit 40c5eaf3d5
23 changed files with 608 additions and 218 deletions

20
orchid-api/src/format.rs Normal file
View File

@@ -0,0 +1,20 @@
use orchid_api_derive::Coding;
#[derive(Clone, Debug, Hash, PartialEq, Eq, Coding)]
pub struct FormattingUnit {
pub subs: Vec<FormattingUnit>,
pub variants: Vec<FormattingVariant>,
}
#[derive(Clone, Debug, Hash, PartialEq, Eq, Coding)]
pub struct FormattingVariant {
pub bounded: bool,
pub elements: Vec<FormattingElement>,
}
#[derive(Clone, Debug, Hash, PartialEq, Eq, Coding)]
pub enum FormattingElement {
Sub { slot: u32, bounded: Option<bool> },
String(String),
Indent(Vec<FormattingElement>),
}