pub struct EditProblem {
pub kind: EditProblemKind,
pub message: String,
pub proposal: Option<String>,
pub fix: Option<EditFix>,
}Expand description
One classified problem, with the diagnostic and the way out.
Fields§
§kind: EditProblemKindThe taxonomy entry.
message: StringThe real diagnostic. For a parse failure this is the parser’s own
message, verbatim — never the old file not valid after edit.
proposal: Option<String>What to do about it. Always populated; the least a problem can propose is reopening the editor on the retained copy.
fix: Option<EditFix>The repair tix can perform, when there is one it can perform safely.
Implementations§
Source§impl EditProblem
impl EditProblem
Sourcepub fn summary(&self) -> String
pub fn summary(&self) -> String
kind: message, the one-line form the prompt and status line use.
Sourcepub fn diagnostic(&self) -> Diagnostic
pub fn diagnostic(&self) -> Diagnostic
The same problem as the crate’s shared diagnostic value.
Editor repair is an error surface even when it is presented as a compact
form label: the typed value keeps the stable E-tix-edit id and carries the
proposal as its help: footer. A full-screen/CLI presentation can render it
through Diagnostic::render; the TUI may continue to draw
Self::summary and Self::proposal_text on the form where a rustc block
would not fit.
Sourcepub fn proposal_text(&self) -> String
pub fn proposal_text(&self) -> String
The proposal text, or a plain “reopen the editor” fallback so a problem can never render as a dead end.
Trait Implementations§
Source§impl Clone for EditProblem
impl Clone for EditProblem
Source§impl Debug for EditProblem
impl Debug for EditProblem
impl Eq for EditProblem
Source§impl PartialEq for EditProblem
impl PartialEq for EditProblem
impl StructuralPartialEq for EditProblem
Auto Trait Implementations§
impl Freeze for EditProblem
impl RefUnwindSafe for EditProblem
impl Send for EditProblem
impl Sync for EditProblem
impl Unpin for EditProblem
impl UnsafeUnpin for EditProblem
impl UnwindSafe for EditProblem
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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> ⓘ
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