lua_assembler/formats/lua/writer/
mod.rs1use gaia_types::writer::TextWriter;
2use oak_core::source::ToSource;
3use oak_lua::ast::LuaRoot;
4use std::fmt::Write;
5
6#[derive(Debug)]
7pub struct LuaWriter<W> {
8 writer: TextWriter<W>,
9}
10
11impl<W: Write> LuaWriter<W> {
12 pub fn new(writer: TextWriter<W>) -> Self {
13 Self { writer }
14 }
15
16 pub fn write_ast(&mut self, ast: &LuaRoot) -> Result<(), std::fmt::Error> {
17 let source = ast.to_source_string();
18 self.writer.write_line(&source)?;
19 Ok(())
20 }
21
22 pub fn finish(self) -> W {
23 self.writer.finish()
24 }
25}