Change Diagnostic.code to 'string | number' #28911
Labels
API
Relates to the public API for TypeScript
Breaking Change
Would introduce errors in existing code
Experience Enhancement
Noncontroversial enhancements
Suggestion
An idea for TypeScript
Milestone
I'm writing a LanguageService plugin for TypeScript that returns custom diagnostics. A
Diagnostic
needs to have acode
property of type number.I don't have a number. Instead I can provide a string that represents the name of the rule producing the diagnostic. In addition a random number I would choose looks quite ugly in the tooltip VSCode displays for the Diagnostic.
I know TypeScript only ever creates Diagnostics with numeric
code
, but it's too limiting for plugins.I looked it up and the LanguageServer protocol specifies it as
code?: number | string
.My current workaround is to use a type assertion. Until now nothing bad has happened.
The text was updated successfully, but these errors were encountered: