dart-sdk/pkg/analysis_server/doc
Danny Tuppeny 76dc2c4cfa [analysis_server] Change LSP-over-Legacy to be wrapped with the original protocol
Originally we didn't use the LSP Request/Response classes, and just exposed the handlers through the legacy request/response.

However there were some mismatches (such as legacy protocol always returns Map<String, Object?> but some LSP requests return Lists, LSP using int|String IDs, and LSP having numeric error codes that don't match legacy string error codes).

This change uses LSP's request and Response by wrapping them inside a standard (legacy) handler. The LSP-over-Legacy handler has become a standard handler, and the params contain an "lspMessage" field that holds an LSP message, and the result contains an "lspResponse" field that contains an LSP response.

If an LSP handler returns an error, it will be returned as an error inside the LSP response, which will be in a _successful_ legacy request (since that's how we can return an LSP response - as the result).

Change-Id: I67973590ab32f3543d1a6e1b7279974e5e8832bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/315201
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2023-08-06 14:32:18 +00:00
..
implementation [analyzer] minor updates to the quick_fix.md documentation 2023-05-18 18:53:39 +00:00
process [analysis_server] Mark "when" keyword as a control keyword for Semantic Tokens 2023-01-31 18:07:41 +00:00
tutorial Spelling 2023-01-30 18:29:59 +00:00
api.html [analysis_server] Change LSP-over-Legacy to be wrapped with the original protocol 2023-08-06 14:32:18 +00:00
introduction.md Add more documentation to the server package 2022-08-11 17:05:38 +00:00