summaryrefslogtreecommitdiff
path: root/src/log.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/log.rs')
-rw-r--r--src/log.rs25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/log.rs b/src/log.rs
index 48de096..c72c944 100644
--- a/src/log.rs
+++ b/src/log.rs
@@ -1,41 +1,36 @@
/*
- Copyright 2023 Gabriel Bjørnager Jensen.
+ Copyright 2023-2024 Gabriel Bjørnager Jensen.
- This file is part of AAS.
+ This file is part of eAS.
- AAS is free software: you can redistribute it
+ eAS is free software: you can redistribute it
and/or modify it under the terms of the GNU
General Public License as published by the Free
Software Foundation, either version 3 of the
License, or (at your option) any later version.
- AAS is distributed in the hope that it will
+ eAS is distributed in the hope that it will
be useful, but WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU
- General Public License along with AAS. If not,
+ General Public License along with eAS. If not,
see <https://www.gnu.org/licenses/>.
*/
#[macro_export]
macro_rules! log {
- (error, $($message: tt)*) => {{
- eprintln!("\u{1B}[1m\u{1B}[91merror\u{1B}[0m: {}", format!($($message)?));
- }};
+ (error, $error: expr) => {{
+ use crate::error::Error;
+ let error: Error = $error;
+ eprintln!("\u{1B}[1m\u{1B}[91merror\u{1B}[0m \u{1B}[1m(e{:04X})\u{1B}[22m: {}", error.code(), error.message());
- (note, $($message: tt)*) => {{q
- eprintln!("\u{1B}[1m\u{1B}[95mnote\u{1B}[0m: {}", format!($($message)?));
+ if let Some(note) = error.note() { eprintln!("\u{2014} \u{1B}[1m\u{1B}[93mnote\u{1B}[0m: \u{1B}[3m{note}\u{1B}[m") };
}};
(status, $($message: tt)*) => {{
eprintln!("{}", format!($($message)?));
}};
-
- (warning, $($message: tt)*) => {{
- use crate::log::log;
- eprintln!("\u{1B}[1m\u{1B}[93mwarning\u{1B}[0m: {}", format!($($message)?));
- }};
}