From dd93e20ee5585a9aabc41383a840f9b23db5c743 Mon Sep 17 00:00:00 2001 From: hzlinyiyu Date: Wed, 28 Feb 2024 09:44:40 +0800 Subject: [PATCH] work? --- README.md | Bin 24444 -> 50612 bytes src/lib.rs | 19 +++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7e6ff2926797225ad6b3241be8a5a31cfe62d877..6da8f85b6f872ed5439e53fd062d06328a846934 100644 GIT binary patch literal 50612 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.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 literal 24444 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 diff --git a/src/lib.rs b/src/lib.rs index 90d46536..eee1b9a6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -43,6 +43,8 @@ //! - [... in `main()`](#-in-main) //! - [... diagnostic code URLs](#-diagnostic-code-urls) //! - [... snippets](#-snippets) +//! - [... help text](#-help-text) +//! - [... severity level](#-severity-level) //! - [... multiple related errors](#-multiple-related-errors) //! - [... delayed source code](#-delayed-source-code) //! - [... handler options](#-handler-options) @@ -424,7 +426,7 @@ //! } //! ``` //! -//! #### ... help text +//! ### ... help text //! `miette` provides two facilities for supplying help text for your errors: //! //! The first is the `#[help()]` format attribute that applies to structs or @@ -460,6 +462,19 @@ //! }; //! ``` //! +//! ### ... severity level +//! `miette` provides a way to set the severity level of a diagnostic. +//! +//! ```rust +//! use miette::Diagnostic; +//! use thiserror::Error; +//! +//! #[derive(Debug, Diagnostic, Error)] +//! #[error("welp")] +//! #[diagnostic(severity(Warning))] +//! struct Foo; +//! ``` +//! //! ### ... multiple related errors //! //! `miette` supports collecting multiple errors into a single diagnostic, and @@ -636,7 +651,7 @@ //! //! let source = "2 + 2 * 2 = 8".to_string(); //! let report = miette!( -//! labels = vec[ +//! labels = vec![ //! LabeledSpan::at(12..13, "this should be 6"), //! ], //! help = "'*' has greater precedence than '+'",