3 releases
0.1.3 | Apr 26, 2020 |
---|---|
0.1.2 |
|
0.1.1 | Apr 25, 2020 |
0.1.0 | Apr 25, 2020 |
#662 in Command-line interface
38KB
503 lines
show-my-errors
This is a library to display simple errors in colorful, rustc-like way. It can't show multi-line errors or draw arrows between parts of code, but its interface is simple and easy to use. If you want something more complex, you probably should use annotate-snippets, which is used by rustc itself.
Basic usage
Entry point of this library is AnnotationList
. You should create it, add some errors
and then use .show_stderr()
or
.show_stdout()
with some Stylesheet
to display the message.
let mut list = AnnotationList::new("hello.txt", "Hello world!");
list
.warning(4..7, "punctuation problem", "you probably forgot a comma")?
.info(0..0, "consider adding some translations", None)?;
assert_eq!(list.to_string()?, r#"
warning: punctuation problem
--> hello.txt:1:5
|
1 | Hello world!
| ^^^ you probably forgot a comma
info: consider adding some translations
--> hello.txt:1:1
|
1 | Hello world!
|
"#);
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
SPDX-License-Identifier: MIT OR Apache-2.0
Dependencies
~0.4–7.5MB
~55K SLoC