use std::path::PathBuf;
#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub struct Span {
pub start_line: u32,
pub start_col: u32,
pub end_line: u32,
pub end_col: u32,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct Source {
pub file: String,
pub span: Option<Span>,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct SourceRef {
pub uri: String,
pub commit: String,
pub content_hash: String,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct Document {
pub source_ref: SourceRef,
pub media_type: String,
pub content: Vec<u8>,
}
#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub struct ReferenceManual {
pub switchback_version: String,
pub title: String,
pub sources: Vec<Document>,
pub modules: Vec<Module>,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct Module {
pub id: crate::ids::ModuleId,
pub title: String,
pub overview: String,
pub contracts: Vec<super::contract::ManualContract>,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct CompanionFile {
pub output_name: String,
pub bytes: Vec<u8>,
pub source_path: PathBuf,
pub title: String,
pub source_dir: String,
pub stem: String,
}