feat(plugins): leave room in plugin API 1.0 for what will grow

Released 1.x types never change, so the sets and records that will have
to grow are opened up before the API is frozen:

- Event kinds and action sources are strings; `event`, view `body`,
  `view-event` and `field-value` get an `other(extension)` case (a kind and
  JSON data) that carries later cases to older plugins and IDEs. An IDE
  refuses an event kind it doesn't know, says a view body needs a newer
  IDE, and leaves out unknown form fields.
- Completion items can be snippets, match on `filter-text` and bring
  `additional-edits` (imports). Code actions can carry `data` instead of
  edits; the new `resolve-code-action` export computes them when the user
  picks the action, under the command budget, through the existing resolve
  path.
- Diagnostics name their `source`, carry `tags` (`unnecessary`,
  `deprecated`) and `related` locations.
- The SDK's enums are `#[non_exhaustive]` with `Other` variants;
  `Diagnostic::new`, `Providers::resolve_code_action`.
- README: 1.x calls stay synchronous and pass documents whole; async and
  incremental sync come later behind the host adapter or a new interface.

Official plugins and fixtures rebuilt.
Цей коміт міститься в:
l0ng-ai committed 2026-11-04 20:10:09 +08:00
1 джерело e3c7f362c4
коміт 7c71cf8b6a
56 files changed
+698 -210

No files matched your search

Бінарний файл не відображається.
+1 -1
Переглянути файл
@@ -1 +1 @@
09cc92e8e731f8f59f3857a71f9a30cc3d9e04a1c32092920f573b0f26592855
04844bfbfbcb1770f4f4742658944c592922b037b2387e9340de58ef0d9baacc