#![doc = include_str!("readme.md")]
#[doc = include_str!("../readme.md")]
pub struct ValkyrieFormatter {}
impl ValkyrieFormatter {
pub fn new() -> Self {
Self {}
}
pub fn format(&self, source: &str) -> String {
source.to_string()
}
pub fn format_namespace(&self, name: &str, body: &str) -> String {
format!("namespace {} {{\n{}\n}}", name, self.indent_lines(body))
}
pub fn format_micro_fn(&self, name: &str, params: &str, body: &str) -> String {
format!("micro {}({}) {{\n{}\n}}", name, params, self.indent_lines(body))
}
pub fn format_micro_val(&self, name: &str, value: &str) -> String {
format!("micro {} = {}", name, value)
}
fn indent_lines(&self, text: &str) -> String {
text.lines().map(|line| if line.trim().is_empty() { String::new() } else { format!(" {}", line) }).collect::<Vec<_>>().join("\n")
}
}
impl Default for ValkyrieFormatter {
fn default() -> Self {
Self::new()
}
}