dart-sdk/pkg/analysis_server
Danny Tuppeny acefe9ab6d [analysis_server] Extract LSP registration options from ServerCapabilitiesComputer
This is a non-functional refactor that extracts the growing set of capabilities and options from ServerCapabilitiesComputer into files alongside the handlers they relate to.

The motivation for this is that for LSP-over-Legacy we'll need to accept client capabilities (and return server capabilities). The server capabilities will be different to the standard LSP ones (they will be a subset, and we might not support dynamic registration - at least initially). However the features we do support will have the same registration options, so to avoid duplicating them this moves the registration options away from the creation of the ServerCapabilities.

In future, we might consider further wrapping up a "feature" (which consists of these registration options, and the related handlers), but this change is already quite large and I just wanted to progress capabilities for LSP-over-Legacy so we can handle things like Code Actions (which require executeCommand and possible reverse-requests for applyEdit).

Change-Id: Iecd0aa36626fa44826f7d4dbd6e6c0d758075239
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2023-08-10 17:10:48 +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 [analysis_server] Change LSP-over-Legacy to be wrapped with the original protocol 2023-08-06 14:32:18 +00:00
lib [analysis_server] Extract LSP registration options from ServerCapabilitiesComputer 2023-08-10 17:10:48 +00:00
test [analysis_server] Extract LSP registration options from ServerCapabilitiesComputer 2023-08-10 17:10:48 +00:00
tool [analysis_server] Change LSP-over-Legacy to be wrapped with the original protocol 2023-08-06 14:32:18 +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.