mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-14 16:07:52 +00:00
Plugins read problems from a host-owned snapshot that records every Diagnostics event per file and producer, instead of the UI-reported Problems reports, so what a plugin sees no longer depends on window lifetime or the invoking window. Adds the problems-changed workbench event (plugin API 1.8.0, gated at needs_api 8), editor focus events for files of other windows, severity style previews in plugin settings, and lays plugin annotations on the line-end chain before code-vision hints and inline blame. Components and fixtures are rebuilt for API 1.8.0. Co-authored-by: muutot <92625353+muutot@users.noreply.github.com>
32 lines
1.1 KiB
Plaintext
32 lines
1.1 KiB
Plaintext
package openidea:plugin@1.8.0;
|
|
|
|
/// Optional export (world `plugin-semantic-tokens`): semantic colouring of
|
|
/// documents of the languages declared with the `semantic-tokens` provider
|
|
/// kind, including languages the plugin doesn't contribute. The tokens join
|
|
/// the language server's and win where they overlap one.
|
|
interface semantic-tokens-provider {
|
|
use types.{range};
|
|
|
|
/// The document to colour (the editor's text while it is open).
|
|
record document {
|
|
/// Absolute path.
|
|
path: string,
|
|
language: string,
|
|
version: u64,
|
|
text: string,
|
|
}
|
|
|
|
/// A token: part of one line.
|
|
record semantic-token {
|
|
range: range,
|
|
/// An LSP token type in kebab-case (`method`, `property`, `type`, …).
|
|
kind: string,
|
|
/// LSP token modifiers in kebab-case (`static`, `deprecated`, …).
|
|
modifiers: list<string>,
|
|
}
|
|
|
|
/// The document's tokens, at most 65,536; asked again after each edit,
|
|
/// under the edit-path budget.
|
|
semantic-tokens: func(doc: document) -> list<semantic-token>;
|
|
}
|