pub struct ShellParseError {
pub message: String,
pub span: Span,
pub suggestion: Option<String>,
}Fields§
§message: String§span: Span§suggestion: Option<String>Implementations§
Source§impl ShellParseError
impl ShellParseError
Sourcepub fn render(&self, source: &str) -> String
pub fn render(&self, source: &str) -> String
Renders the diagnostic against the source the span points into:
error: background jobs (`&`) are not supported
│ watch & build
│ ^
= help: the engine already parallelizes beams; ...Multi-line sources (a run string with embedded newlines) excerpt
only the line containing the span start.
The caret is positioned by counting characters, not bytes: spans are byte offsets, and padding with one space per byte would push the underline right by one column for every accented character ahead of it on the line. One space per character is right for everything a beam command realistically contains; a double-width character (CJK, an emoji) would still shift it, which would need display-width measurement rather than a count.
Trait Implementations§
Source§impl Clone for ShellParseError
impl Clone for ShellParseError
Source§fn clone(&self) -> ShellParseError
fn clone(&self) -> ShellParseError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ShellParseError
impl Debug for ShellParseError
Source§impl Display for ShellParseError
impl Display for ShellParseError
Source§impl Error for ShellParseError
impl Error for ShellParseError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl PartialEq for ShellParseError
impl PartialEq for ShellParseError
impl StructuralPartialEq for ShellParseError
Auto Trait Implementations§
impl Freeze for ShellParseError
impl RefUnwindSafe for ShellParseError
impl Send for ShellParseError
impl Sync for ShellParseError
impl Unpin for ShellParseError
impl UnsafeUnpin for ShellParseError
impl UnwindSafe for ShellParseError
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more