-
Notifications
You must be signed in to change notification settings - Fork 25
Description
The need
We plan to develop more quality rules with our parser.
These quality rules will be done on a private repository, so we need a way to "plug" quality rules inside the parser.
A quality rule must be executed when all symbol have been resolved.
These quality rules could become slow. Code completion for LSP must remains as fast as possible.
As Completion within LSP requires CrossCheck execution step to be complete, we need a new execution step to be sure that quality rules will not be executed.
Diagnostics of quality rules and all others diagnostic must be sent by LSP 500ms after no update of texte have been received by LSP.
When completion is requested, only diagnostics up to CrossCheck step will be sent by LSP.
Raw solution
Extend the IAnalyser to provide a way to create quality rules.
This IAnalyser will be executed in a new step after CrossCheck.
Out of perimeter of this issue:
- Load quality rules from an external DLL. See Support external analyzers #1825.
- Define how a quality rule return information. Fow now we use Diagnostics.