* Add unused diagnostic subtype
Fixes#15710
Adds a new `DiagnosticTag` class that provide additional information about a diagnostic. Introduce `DiagnosticTag.Unnecessary` to mark when a diagnostic is for unused / unnecessary code
The design comes from Rosyln's diagnostic object and allows us to modify how a diagnostic is rendered without changing its serverity.
Hooks up JS and TS to use this new tag. This is controlled by the `javascript.showUnused.enabled` setting which is enabled by default
- Introduce a new diagnostic severity for unused.
However, using this approach, if a user sets `noUnusedLocals` in their `tsconfig.json`, the resulting diagnostic could only show the squiggly OR be grayed out. Using `customTags` allows us to support both graying out and showing the squiggly
- Custom JS/TS implementation using decorators
Not themable. We want a standard experience across languages.
* - Move to proposed
- Use numeric enum
* Pick up TS 2.7
* Fix formatter in build script
* Fix build error for ts 2.7
* Pick up new ts format and tslint versions
* Update lock
* use 2.7.2 for build
* Formatting
* Add CodeAction Type
Adds skeleton on a new CodeActionType and allows codeActionProvider to return either `Command`s or `CodeAction`s
Move proposed CodeAction API to proposed and try using it in TS
Split CodeAction into quickfix and refactoring classes
Update proposed interface
Update for new API
Adding basic docs
* Support workspace edits and text edits in codeactions
* Remove placeholders
* Resolving conflicts and making PR suggested changes
* Fix quick fix test
* Revert change to only use `CodeAction` instead of `CodeAction | Command` in modes since this will break `vscode.executeCodeActionProvider`