pub mod collect;
pub mod compile;
pub mod diagnostic;
pub mod judge;
pub mod lint;
pub mod model;
pub mod plan;
pub mod report;
pub mod select;
pub mod source;
pub use collect::{Collection, collect};
pub use compile::{Bundle, RunContext, RunnerCapabilities, check_capabilities, compile};
pub use diagnostic::{Diagnostic, DiagnosticCode, Severity, blocks_run};
pub use judge::{CaseResult, RunArtifacts, RunnerExit, Status, Timing, judge, reconcile};
pub use lint::{Footprint, LintResult, ProjectFacts, lint};
pub use plan::{ExpandOptions, Expanded, GroupOptions, Plan, expand, group};
pub use report::Report;
pub use select::Selector;
pub use source::{RelPath, SourceFile, SourceKind};
use foch::model::GamePath;
pub(crate) fn game_path(text: &str) -> &GamePath {
GamePath::new(text).expect("valid game path label")
}