csvpp 0.5.1

Compile csv++ source code to a target spreadsheet format
Documentation
use super::Module;
use std::fmt;

impl fmt::Display for Module {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        writeln!(f, "\n# Variables")?;
        for ast in self.scope.variables.values() {
            writeln!(f, "{ast}")?;
        }

        writeln!(f, "\n# Functions")?;
        for ast in self.scope.functions.values() {
            writeln!(f, "fn {ast}")?;
        }

        writeln!(f, "\n# Spreadsheet")?;
        write!(f, "{}", self.spreadsheet)
    }
}

#[cfg(test)]
mod tests {
    use crate::test_utils::*;

    #[test]
    fn display() {
        let module_str = build_module().to_string();

        assert!(module_str.contains("# Variables"));
        assert!(module_str.contains("# Functions"));
        assert!(module_str.contains("# Spreadsheet"));
    }
}