aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/io/io_interface.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/io/io_interface.rs')
-rw-r--r--crates/shirabe/src/io/io_interface.rs72
1 files changed, 59 insertions, 13 deletions
diff --git a/crates/shirabe/src/io/io_interface.rs b/crates/shirabe/src/io/io_interface.rs
index 3826bb3..e78b608 100644
--- a/crates/shirabe/src/io/io_interface.rs
+++ b/crates/shirabe/src/io/io_interface.rs
@@ -11,7 +11,7 @@ pub const VERBOSE: i64 = 4;
pub const VERY_VERBOSE: i64 = 8;
pub const DEBUG: i64 = 16;
-pub trait IOInterface: LoggerInterface {
+pub trait IOInterface: LoggerInterface + std::fmt::Debug {
fn is_interactive(&self) -> bool;
fn is_verbose(&self) -> bool;
@@ -22,23 +22,65 @@ pub trait IOInterface: LoggerInterface {
fn is_decorated(&self) -> bool;
- fn write(&mut self, messages: PhpMixed, newline: bool, verbosity: i64);
+ fn write(&mut self, message: &str) {
+ self.write3(message, true, NORMAL)
+ }
+ fn write2(&mut self, message: &str, newline: bool) {
+ self.write3(message, newline, NORMAL)
+ }
+ fn write_no_newline(&mut self, message: &str) {
+ self.write3(message, false, NORMAL)
+ }
+ fn write3(&mut self, message: &str, newline: bool, verbosity: i64);
- fn write_error(&mut self, messages: PhpMixed, newline: bool, verbosity: i64);
+ fn write_error(&mut self, message: &str) {
+ self.write_error3(message, true, NORMAL)
+ }
+ fn write_error2(&mut self, message: &str, newline: bool) {
+ self.write_error3(message, newline, NORMAL)
+ }
+ fn write_error_no_newline(&mut self, message: &str) {
+ self.write_error3(message, false, NORMAL)
+ }
+ fn write_error3(&mut self, message: &str, newline: bool, verbosity: i64);
- fn write_raw(&mut self, messages: PhpMixed, newline: bool, verbosity: i64);
+ fn write_raw(&mut self, message: &str) {
+ self.write_raw3(message, true, NORMAL)
+ }
+ fn write_raw2(&mut self, message: &str, newline: bool) {
+ self.write_raw3(message, newline, NORMAL)
+ }
+ fn write_raw3(&mut self, message: &str, newline: bool, verbosity: i64);
- fn write_error_raw(&mut self, messages: PhpMixed, newline: bool, verbosity: i64);
+ fn write_error_raw(&mut self, message: &str) {
+ self.write_error_raw3(message, true, NORMAL)
+ }
+ fn write_error_raw2(&mut self, message: &str, newline: bool) {
+ self.write_error_raw3(message, newline, NORMAL)
+ }
+ fn write_error_raw3(&mut self, message: &str, newline: bool, verbosity: i64);
- fn overwrite(&mut self, messages: PhpMixed, newline: bool, size: Option<i64>, verbosity: i64);
+ fn overwrite(&mut self, message: &str) {
+ self.overwrite4(message, true, None, NORMAL)
+ }
+ fn overwrite2(&mut self, message: &str, newline: bool) {
+ self.overwrite4(message, newline, None, NORMAL)
+ }
+ fn overwrite3(&mut self, message: &str, newline: bool, size: Option<i64>) {
+ self.overwrite4(message, newline, size, NORMAL)
+ }
+ fn overwrite4(&mut self, message: &str, newline: bool, size: Option<i64>, verbosity: i64);
- fn overwrite_error(
- &mut self,
- messages: PhpMixed,
- newline: bool,
- size: Option<i64>,
- verbosity: i64,
- );
+ fn overwrite_error(&mut self, message: &str) {
+ self.overwrite_error4(message, true, None, NORMAL)
+ }
+ fn overwrite_error2(&mut self, message: &str, newline: bool) {
+ self.overwrite_error4(message, newline, None, NORMAL)
+ }
+ fn overwrite_error3(&mut self, message: &str, newline: bool, size: Option<i64>) {
+ self.overwrite_error4(message, newline, size, NORMAL)
+ }
+ fn overwrite_error4(&mut self, message: &str, newline: bool, size: Option<i64>, verbosity: i64);
fn ask(&mut self, question: String, default: PhpMixed) -> PhpMixed;
@@ -78,4 +120,8 @@ pub trait IOInterface: LoggerInterface {
);
fn load_configuration(&mut self, config: &mut Config) -> anyhow::Result<()>;
+
+ fn clone_box(&self) -> Box<dyn IOInterface> {
+ todo!()
+ }
}