@mermaid-lint/core
    Preparing search index...

    Interface Diagnostic

    A normalized diagnostic with absolute (document-relative) coordinates.

    This is the single shape every Markdown integration (markdownlint, remark, textlint, …) consumes, so they all share one extract → validate → report path instead of each re-deriving line mapping and error shaping.

    interface Diagnostic {
        column: number;
        fixable?: boolean;
        line: number;
        message: string;
        raw?: string;
        ruleId: string;
        severity: Severity;
        suggestion?: string;
    }
    Index

    Properties

    column: number

    1-indexed column in the source document.

    fixable?: boolean

    True when --fix writes exactly Diagnostic.suggestion.

    line: number

    1-indexed line in the source document.

    message: string

    Human-readable message (no rule-id prefix; see ruleId).

    For a syntax error this is ValidationError.message verbatim: the translated text cites no line, so there is nothing here to map into document coordinates. See that field's doc comment for the one family (module-raised errors) that can still word a citation of its own.

    raw?: string

    mermaid's own message for a syntax error, with every citation it recognizes rewritten into document lines — so a fenced block's parse error quotes the line the reader sees, not the line inside the fence.

    Present only for parser failures: semantic findings and structural defects (unclosed fence, empty block) never reach a parser and carry none.

    ruleId: string

    Stable id: 'mermaid' for syntax errors, else the semantic rule name.

    severity: Severity
    suggestion?: string

    The one corrected source line the explanation is confident about, when it is confident about one — the author's own line, rewritten.

    Deliberately not line-mapped, unlike Diagnostic.raw: this is quoted source, not parser prose, so a number in it is something the author typed. See ValidationError.suggestion.