Skip to main content

libutils_console/
mod.rs

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