dart-sdk/pkg/analysis_server
Danny Tuppeny d718ab5f08 [analysis_server] Extract LSP request helpers to allow reuse in LSP-over-Legacy tests
The mixin `LspAnalysisServerTestMixin` contains a lot of helpers for interacting with the LSP server in tests and is used by both the in-process tests and the out-of-process integration tests.

We now have a third category of LSP tests that would benefit from many of these helpers (such as "getHover()") but are not talking to a native LSP server.

This change splits those helpers out into `LspRequestHelpersMixin` which contains only the request helpers without any code assuming a native LSP server, so they can be used by LSP-over-Legacy tests.

All code in `request_helpers_mixin.dart` was lifted directly from `server_abstract.dart` with no changes.

It also adds a test that error responses in LSP-over-Legacy are handled appropriately.

Change-Id: I847855a5314b5b04d700c6400b67e76e5f0d3402
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/313362
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-07-12 15:30:15 +00:00
..
benchmark [analyzer] Make benchmark report memory usage in bytes to make golem happy 2023-06-20 06:07:48 +00:00
bin [analysis_server] re-enble null safety for the analysis server entrypoint 2021-05-13 17:18:15 +00:00
doc [analyzer] minor updates to the quick_fix.md documentation 2023-05-18 18:53:39 +00:00
lib Start converting portions of the KeywordContributor 2023-07-10 19:51:33 +00:00
test [analysis_server] Extract LSP request helpers to allow reuse in LSP-over-Legacy tests 2023-07-12 15:30:15 +00:00
tool Deprecate ExecutableElement.returnType, use returnType2 instead. 2023-06-29 23:16:59 +00:00
analysis_options.yaml Ignore TODO in pkg/analyzer and pkg/analysis_server. 2023-04-21 19:16:04 +00:00
AUTHORS
CHANGELOG.md
CONTRIBUTING.md
LICENSE Update LICENSE 2021-04-07 10:28:38 +00:00
OWNERS [infra] Add OWNERS to the Dart SDK 2022-02-14 14:06:34 +00:00
pubspec.yaml Add auto-snapshotting and usage reporting. 2023-05-22 18:00:26 +00:00
README.md "master->main" migration 2021-09-09 18:14:36 +00:00

analysis_server

A long-running process that provides analysis results to other tools.

The analysis server is designed to provide on-going analysis of one or more code bases as those code bases are changing.

Using the server

The analysis server is not intended to be used stand-alone, and therefore does not have a human-friendly user interface.

Clients (typically tools, such as an editor) are expected to run the analysis server in a separate process and communicate with it using a JSON protocol. The original protocol is specified in the file analysis_server/doc/api.html and Language Server Protocol support is documented in tool/lsp_spec/README.md.

Features and bugs

Please file feature requests and bugs at the issue tracker.