codetwin 0.1.10

A code to diagram/documentation generator.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/// The Driver trait definition
use crate::core::ir::Blueprint;
use anyhow::Result;

// Defined in terminology.rs
pub use crate::drivers::LanguageTerminology;

pub trait Driver {
    fn parse(&self, content: &str) -> Result<Blueprint>;
    fn generate(&self, blueprint: &Blueprint) -> Result<String>;

    /// Provide language-specific terminology for layouts
    /// Default: uses generic terminology (works for all languages)
    /// Drivers override for language-accurate output
    fn terminology(&self) -> LanguageTerminology {
        LanguageTerminology::generic()
    }
}