Skip to main content

libutils_console/
mod.rs

1//^
2//^ HEAD
3//^
4
5//> HEAD -> NO_STD
6#![no_std]
7
8//> HEAD -> FEATURES
9#![feature(const_trait_impl)]
10#![feature(const_destruct)]
11#![feature(test)]
12
13//> HEAD -> CRATES
14extern crate alloc;
15extern crate test;
16
17//> HEAD -> MODULES
18mod argument;
19#[cfg(test)]
20mod benches;
21mod descriptor;
22mod metadata;
23#[cfg(test)]
24mod tests;
25mod update;
26
27//> HEAD -> ARGUMENT
28pub use argument::Argument;
29
30//> HEAD -> ISSUE
31use libutils_issue::Issue;
32
33//> HEAD -> CORE
34use core::fmt::{
35    Display,
36    Debug
37};
38
39//> HEAD -> UPDATE
40pub use update::Update;
41
42//> HEAD -> METADATA
43pub use metadata::Metadata;
44
45//> HEAD -> DESCRIPTOR
46pub use descriptor::Descriptor;
47
48
49//^
50//^ CONSOLE
51//^
52
53//> CONSOLE -> TRAIT
54pub trait Console {
55    fn arguments() -> &'static [Argument];
56    fn open(filename: &str) -> Result<impl Descriptor, Issue>;
57    fn problem(issue: Issue, chain: &[&'static str]) -> impl Update;
58    fn print(value: impl Display) -> impl Update;
59    fn debug(value: impl Debug) -> impl Update;
60    fn clear() -> impl Update;
61}