[][src]Struct rslint_core::Diagnostic

pub struct Diagnostic {
    pub file_id: usize,
    pub severity: Severity,
    pub code: Option<String>,
    pub title: String,
    pub tag: Option<DiagnosticTag>,
    pub primary: Option<SubDiagnostic>,
    pub children: Vec<SubDiagnostic>,
    pub suggestions: Vec<CodeSuggestion>,
    pub footers: Vec<Footer>,
}

A diagnostic message that can give information like errors or warnings.

Fields

file_id: usizeseverity: Severitycode: Option<String>title: Stringtag: Option<DiagnosticTag>primary: Option<SubDiagnostic>children: Vec<SubDiagnostic>suggestions: Vec<CodeSuggestion>footers: Vec<Footer>

Implementations

impl Diagnostic[src]

pub fn error(
    file_id: usize,
    code: impl Into<String>,
    title: impl Into<String>
) -> Diagnostic
[src]

Creates a new Diagnostic with the Error severity.

pub fn warning(
    file_id: usize,
    code: impl Into<String>,
    title: impl Into<String>
) -> Diagnostic
[src]

Creates a new Diagnostic with the Warning severity.

pub fn help(
    file_id: usize,
    code: impl Into<String>,
    title: impl Into<String>
) -> Diagnostic
[src]

Creates a new Diagnostic with the Help severity.

pub fn note(
    file_id: usize,
    code: impl Into<String>,
    title: impl Into<String>
) -> Diagnostic
[src]

Creates a new Diagnostic with the Note severity.

pub fn new(
    file_id: usize,
    severity: Severity,
    title: impl Into<String>
) -> Diagnostic
[src]

Creates a new Diagnostic that will be used in a builder-like way to modify labels, and suggestions.

pub fn new_with_code(
    file_id: usize,
    severity: Severity,
    title: impl Into<String>,
    code: Option<String>
) -> Diagnostic
[src]

Creates a new Diagnostic with an error code that will be used in a builder-like way to modify labels, and suggestions.

pub fn severity(self, severity: Severity) -> Diagnostic[src]

Overwrites the severity of this diagnostic.

pub fn deprecated(self) -> Diagnostic[src]

Marks this diagnostic as deprecated code, which will be displayed in the language server.

This does not have any influence on the diagnostic rendering.

pub fn unnecessary(self) -> Diagnostic[src]

Marks this diagnostic as unnecessary code, which will be displayed in the language server.

This does not have any influence on the diagnostic rendering.

pub fn label_in_file(
    self,
    severity: Severity,
    span: FileSpan,
    msg: String
) -> Diagnostic
[src]

Attaches a label to this Diagnostic, that will point to another file that is provided.

pub fn label(
    self,
    severity: Severity,
    span: impl Span,
    msg: impl Into<String>
) -> Diagnostic
[src]

Attaches a label to this Diagnostic.

The given span has to be in the file that was provided while creating this Diagnostic.

pub fn primary(self, span: impl Span, msg: impl Into<String>) -> Diagnostic[src]

Attaches a primary label to this Diagnostic.

pub fn secondary(self, span: impl Span, msg: impl Into<String>) -> Diagnostic[src]

Attaches a secondary label to this Diagnostic.

pub fn suggestion_in_file(
    self,
    span: impl Span,
    msg: &str,
    suggestion: impl Into<String>,
    applicability: Applicability,
    file: usize
) -> Diagnostic
[src]

Prints out a message that suggests a possible solution, that is in another file as this Diagnostic, to the error.

If the message plus the suggestion is longer than 25 chars, the suggestion is displayed as a new children of this Diagnostic, otherwise it will be inlined with the other labels.

A suggestion is displayed like:

try adding a `;`: console.log();

or in a separate multiline suggestion

The message should not contain the : because it's added automatically. The suggestion will automatically be wrapped inside two backticks.

pub fn suggestion(
    self,
    span: impl Span,
    msg: &str,
    suggestion: impl Into<String>,
    applicability: Applicability
) -> Diagnostic
[src]

Prints out a message that suggests a possible solution to the error.

If the message plus the suggestion is longer than 25 chars, the suggestion is displayed as a new children of this Diagnostic, otherwise it will be inlined with the other labels.

A suggestion is displayed like:

try adding a `;`: console.log();

or in a separate multiline suggestion

The message should not contain the : because it's added automatically. The suggestion will automatically be wrapped inside two backticks.

pub fn suggestion_full(
    self,
    span: impl Span,
    msg: &str,
    suggestion: impl Into<String>,
    applicability: Applicability
) -> Diagnostic
[src]

Add a suggestion which is always shown in the Full style.

pub fn suggestion_inline(
    self,
    span: impl Span,
    msg: &str,
    suggestion: impl Into<String>,
    applicability: Applicability
) -> Diagnostic
[src]

Add a suggestion which is always shown in the Inline style.

pub fn suggestion_no_code(
    self,
    span: impl Span,
    msg: &str,
    applicability: Applicability
) -> Diagnostic
[src]

Add a suggestion which does not have a suggestion code.

pub fn indel_suggestion(
    self,
    indels: impl IntoIterator<Item = Indel>,
    span: impl Span,
    msg: &str,
    applicability: Applicability
) -> Diagnostic
[src]

pub fn suggestion_with_labels(
    self,
    span: impl Span,
    msg: &str,
    suggestion: impl Into<String>,
    applicability: Applicability,
    labels: impl IntoIterator<Item = impl Span>
) -> Diagnostic
[src]

Add a suggestion with info labels which point to places in the suggestion.

The label ranges are relative to the start of the span, not relative to the original code

pub fn suggestion_with_src_labels(
    self,
    span: impl Span,
    msg: &str,
    suggestion: impl Into<String>,
    applicability: Applicability,
    labels: impl IntoIterator<Item = impl Span>
) -> Diagnostic
[src]

Add a suggestion with info labels which point to places in the suggestion.

The label ranges are relative to the source code, not relative to the original code

pub fn footer(self, severity: Severity, msg: impl Into<String>) -> Diagnostic[src]

Adds a footer to this Diagnostic, which will be displayed under the actual error.

pub fn footer_help(self, msg: impl Into<String>) -> Diagnostic[src]

Adds a footer to this Diagnostic, with the Help severity.

pub fn footer_note(self, msg: impl Into<String>) -> Diagnostic[src]

Adds a footer to this Diagnostic, with the Note severity.

Trait Implementations

impl Clone for Diagnostic[src]

impl Debug for Diagnostic[src]

impl From<ErrorBuilder> for Diagnostic[src]

impl Hash for Diagnostic[src]

impl PartialEq<Diagnostic> for Diagnostic[src]

impl StructuralPartialEq for Diagnostic[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> Erasable for T

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.