libutils_terminal/console.rs
1//^
2//^ HEAD
3//^
4
5//> HEAD -> HASHBROWN
6use hashbrown::HashMap as Map;
7
8//> HEAD -> PROBLEM
9use libutils_problem::{
10 Threat,
11 Threaten
12};
13
14//> HEAD -> ISSUE
15use libutils_issue::Issue;
16
17
18//^
19//^ CONSOLE
20//^
21
22//> CONSOLE -> TRAIT
23pub trait Console: Threaten {
24 fn arguments(&self) -> Vec<String>;
25 fn environment(&self) -> Map<String, String>;
26 fn sync(&mut self) -> ();
27 fn problem<Object: Into<Issue>, const N: usize>(&mut self, threat: Threat<Object, N>) -> ();
28}