pub struct Label { /* private fields */ }
Expand description
Represents a labelled span of some source code.
Each label is meant to be used as a snippet within a larger source code. It provides a way to highlight a specific portion of the source code, and uses labels to provide additional information about the span.
Implementations§
Source§impl Label
impl Label
Sourcepub fn new(
source: Option<Arc<dyn Source>>,
range: impl Into<SpanRange>,
message: impl Into<String>,
) -> Self
pub fn new( source: Option<Arc<dyn Source>>, range: impl Into<SpanRange>, message: impl Into<String>, ) -> Self
Creates a new Label
from the given source, range, and label.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::new(Some(source.clone()), 60..65, "could not find method 'invok'");
assert_eq!(label.message(), "could not find method 'invok'");
assert_eq!(label.severity(), None);
Sourcepub fn error(
source: Option<Arc<dyn Source>>,
range: impl Into<SpanRange>,
label: impl Into<String>,
) -> Self
pub fn error( source: Option<Arc<dyn Source>>, range: impl Into<SpanRange>, label: impl Into<String>, ) -> Self
Creates a new Label
from the given source, range, and label, with a
severity of Severity::Error
.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::error(Some(source.clone()), 60..65, "could not find method 'invok'");
assert_eq!(label.message(), "could not find method 'invok'");
assert_eq!(label.severity(), Some(Severity::Error));
Sourcepub fn warning(
source: Option<Arc<dyn Source>>,
range: impl Into<SpanRange>,
label: impl Into<String>,
) -> Self
pub fn warning( source: Option<Arc<dyn Source>>, range: impl Into<SpanRange>, label: impl Into<String>, ) -> Self
Creates a new Label
from the given source, range, and label, with a
severity of Severity::Warning
.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::warning(Some(source.clone()), 60..65, "could not find method 'invok'");
assert_eq!(label.message(), "could not find method 'invok'");
assert_eq!(label.severity(), Some(Severity::Warning));
Sourcepub fn info(
source: Option<Arc<dyn Source>>,
range: impl Into<SpanRange>,
label: impl Into<String>,
) -> Self
pub fn info( source: Option<Arc<dyn Source>>, range: impl Into<SpanRange>, label: impl Into<String>, ) -> Self
Creates a new Label
from the given source, range, and label, with a
severity of Severity::Info
.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::info(Some(source.clone()), 60..65, "could not find method 'invok'");
assert_eq!(label.message(), "could not find method 'invok'");
assert_eq!(label.severity(), Some(Severity::Info));
Sourcepub fn note(
source: Option<Arc<dyn Source>>,
range: impl Into<SpanRange>,
label: impl Into<String>,
) -> Self
pub fn note( source: Option<Arc<dyn Source>>, range: impl Into<SpanRange>, label: impl Into<String>, ) -> Self
Creates a new Label
from the given source, range, and label, with a
severity of Severity::Note
.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::note(Some(source.clone()), 60..65, "could not find method 'invok'");
assert_eq!(label.message(), "could not find method 'invok'");
assert_eq!(label.severity(), Some(Severity::Note));
Sourcepub fn help(
source: Option<Arc<dyn Source>>,
range: impl Into<SpanRange>,
label: impl Into<String>,
) -> Self
pub fn help( source: Option<Arc<dyn Source>>, range: impl Into<SpanRange>, label: impl Into<String>, ) -> Self
Creates a new Label
from the given source, range, and label, with a
severity of Severity::Help
.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::help(Some(source.clone()), 60..65, "could not find method 'invok'");
assert_eq!(label.message(), "could not find method 'invok'");
assert_eq!(label.severity(), Some(Severity::Help));
Sourcepub fn message(&self) -> &str
pub fn message(&self) -> &str
Gets the message of the current label instance.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::new(Some(source.clone()), 60..65, "could not find method 'invok'");
assert_eq!(label.message(), "could not find method 'invok'");
Sourcepub fn range(&self) -> &SpanRange
pub fn range(&self) -> &SpanRange
Gets the integer span of the current label instance.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity, SpanRange};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::new(Some(source.clone()), 60..65, "could not find method 'invok'");
assert_eq!(label.range(), &SpanRange(60..65));
Sourcepub fn source(&self) -> Option<Arc<dyn Source>>
pub fn source(&self) -> Option<Arc<dyn Source>>
Gets the source code of the current label instance.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity, Source, SpanRange};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::new(Some(source.clone()), 60..65, "could not find method 'invok'");
assert_eq!(label.source().unwrap().name(), source.name());
assert_eq!(label.source().unwrap().content(), source.content());
Sourcepub fn severity(&self) -> Option<Severity>
pub fn severity(&self) -> Option<Severity>
Gets the severity of the current label instance.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::new(Some(source.clone()), 60..65, "could not find method 'invok'")
.with_severity(Severity::Warning);
assert_eq!(label.severity(), Some(Severity::Warning));
Sourcepub fn with_severity(self, severity: Severity) -> Self
pub fn with_severity(self, severity: Severity) -> Self
Sets the severity for the current label instance.
§Examples
use std::sync::Arc;
use error_snippet::{Label, Severity};
let source = Arc::new(r#"fn main() -> int {
let a = new Testing();
let b = a.invok();
return 0;
}"#);
let label = Label::new(Some(source.clone()), 60..65, "could not find method 'invok'")
.with_severity(Severity::Warning);
assert_eq!(label.message(), "could not find method 'invok'");
assert_eq!(label.severity(), Some(Severity::Warning));
Trait Implementations§
impl Eq for Label
Auto Trait Implementations§
impl Freeze for Label
impl !RefUnwindSafe for Label
impl Send for Label
impl Sync for Label
impl Unpin for Label
impl !UnwindSafe for Label
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more