Represents a diagnostic, such as a compiler error or warning. Diagnostic objects are only valid in the scope of a file.
A code or identifier for this diagnostics. Will not be surfaced to the user, but should be used for later processing, e.g. when providing code actions.
The human-readable message.
The range to which this diagnostic applies.
An array of related diagnostic information, e.g. when symbol-names within a scope collide all definitions can be marked via this property.
A human-readable string describing the source of this diagnostic, e.g. 'typescript' or 'super lint'.
Additional metadata about the diagnostic.