Support diagnostics (squiggles) in extension API
Created by: felixfbecker
Extensions should be able to report problems about code, (optionally) tied to a file, line, column with a message and code.
This allows to show warnings (code smells that may be issues but not always and therefor should not break CI) on PRs, guiding the reviewer to take a closer look at certain potential issues.
In the future, these can be persisted on the backend and exposed through GraphQL to track the total number of diagnostics over multiple commits (graphs, leaderboard who is removing the most code smells in their commits, ...)
Also in the future, these can be the entry point / source for automatic refactors to apply suggested auto fixes for them.
Instead of being reported by extensions and persisted to the backend, diagnostics could also be uploaded from CI in LSIF.