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>
40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
package openidea:plugin@1.8.0;
|
|
|
|
/// Optional export (world `plugin-inlay-hints`): inline hints in documents of
|
|
/// the languages declared with the `inlay-hints` provider kind, including
|
|
/// languages the plugin doesn't contribute. They are shown next to the
|
|
/// language server's hints.
|
|
interface inlay-hints-provider {
|
|
use types.{position, range};
|
|
|
|
/// The document the hints are for (the editor's text while it is open).
|
|
record document {
|
|
path: string,
|
|
language: string,
|
|
version: u64,
|
|
text: string,
|
|
}
|
|
|
|
/// A hint shown at `position`, before the character there.
|
|
record inlay-hint {
|
|
/// UTF-16 position (0-based line and column).
|
|
position: position,
|
|
/// The text shown, e.g. `GET /orders` or `: string`.
|
|
label: string,
|
|
/// `type` or `parameter` follow the Inlay Hints settings of that kind;
|
|
/// anything else counts as `other`.
|
|
kind: string,
|
|
/// Shown when the pointer rests on the hint.
|
|
tooltip: option<string>,
|
|
/// A space before the label.
|
|
padding-left: bool,
|
|
/// A space after the label.
|
|
padding-right: bool,
|
|
}
|
|
|
|
/// The hints within `range` (the visible part of the document), under the
|
|
/// edit-path budget. Hints outside `range` are dropped; at most 10,000 per
|
|
/// call.
|
|
inlay-hints: func(doc: document, range: range) -> list<inlay-hint>;
|
|
}
|