mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-07 10:16:03 -10:00
A new optional inlay-hints-provider export (worlds plugin-inlay-hints / inlay-hints), declared as the inlay-hints provider kind for any language (API 1.3). The host asks the language server and the plugins together for the visible range and returns both in position order; with no server hints the plugins' hints still show. Kinds map to the Inlay Hints settings; labels, tooltips and counts are capped. Co-authored-by: yzPeedro <[email protected]>
40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
package openidea:[email protected];
|
|
|
|
/// 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>;
|
|
}
|