From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- .../annotate-snippets-0.8.0/src/formatter/style.rs | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 vendor/annotate-snippets-0.8.0/src/formatter/style.rs (limited to 'vendor/annotate-snippets-0.8.0/src/formatter/style.rs') diff --git a/vendor/annotate-snippets-0.8.0/src/formatter/style.rs b/vendor/annotate-snippets-0.8.0/src/formatter/style.rs new file mode 100644 index 000000000..f76e6b0ab --- /dev/null +++ b/vendor/annotate-snippets-0.8.0/src/formatter/style.rs @@ -0,0 +1,52 @@ +//! Set of structures required to implement a stylesheet +//! +//! In order to provide additional styling information for the +//! formatter, a structs can implement `Stylesheet` and `Style` +//! traits. +//! +use std::fmt; + +/// StyleClass is a collection of named variants of style classes +pub enum StyleClass { + /// Message indicating an error. + Error, + /// Message indicating a warning. + Warning, + /// Message indicating an information. + Info, + /// Message indicating a note. + Note, + /// Message indicating a help. + Help, + + /// Style for line numbers. + LineNo, + + /// Parts of the text that are to be emphasised. + Emphasis, + + /// Parts of the text that are regular. Usually a no-op. + None, +} + +/// This trait implements a return value for the `Stylesheet::get_style`. +pub trait Style { + /// The method used to write text with formatter + fn paint(&self, text: &str, f: &mut fmt::Formatter<'_>) -> fmt::Result; + /// The method used to write display function with formatter + fn paint_fn<'a>( + &self, + c: Box) -> fmt::Result + 'a>, + f: &mut fmt::Formatter<'_>, + ) -> fmt::Result; + /// The method used by the DisplayListFormatter to display the message + /// in bold font. + fn bold(&self) -> Box; +} + +/// Trait to annotate structs that can provide `Style` implementations for +/// every `StyleClass` variant. +pub trait Stylesheet { + /// Returns a `Style` implementer based on the requested `StyleClass` variant. + fn get_style(&self, class: StyleClass) -> Box; +} -- cgit v1.2.3