Files
openidea/wit/injections.wit
T
Muuandmuutot c8bdfa8edd feat(plugins): a host-owned diagnostics snapshot and line-end annotation order (#3103)
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>
2026-11-14 00:07:03 +08:00

17 lines
874 B
Plaintext

package openidea:plugin@1.8.0;
/// Embedded languages. The host routes plugin providers and configured language
/// servers inside these ranges, preserving host-document UTF-16 coordinates.
/// Each LSP range gets its own masked, in-memory sibling document (at most 32
/// per host document, documents over 2 MiB excluded). No file is written.
/// Formatting and rename continue to use the host language's server.
interface injections {
/// A versioned document snapshot. Coordinates are zero-based UTF-16.
record document { path: string, language: string, version: u64, text: string }
/// A host-document range containing the named language.
record injection { range: range, language: string }
use types.{range};
/// Embedded ranges, refreshed after edits under the editor-provider budget.
injections: func(doc: document) -> list<injection>;
}