d97c3e8702
This fixes a few minor issues: - Setting a new selection position did not remove a previously set selection range (which could result in a mismatched offset/length due to how the resulting change merges the position/range) - Setting a new selection range did not update a previously set selection position - Inserting new changes before a change that sets a selection range only updated the selection position, not selection range - Setting a selection range/position after another change that inserts only updated the selection position to compensate and not the selection range These issues led to cases where selection ranges could be incorrect, or even overlap with linked edit groups that could cause errors that caused code action requests to fail. Fixes https://github.com/Dart-Code/Dart-Code/issues/4184 Change-Id: I43e2a8361c97b2eccb2d6b426a75eda5cc811e06 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/261682 Commit-Queue: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> |
||
---|---|---|
.. | ||
doc | ||
lib | ||
test | ||
tool/spec | ||
.gitignore | ||
analysis_options.yaml | ||
CHANGELOG.md | ||
LICENSE | ||
OWNERS | ||
pubspec.yaml | ||
README.md |
A framework for building plugins for the analysis server.
Usage
Note: The plugin support is not currently available for general use.
Plugins are written in Dart and are run in the same VM as the analysis server. The analysis server runs each plugin in a separate isolate and communicates with the plugin using a plugin API. This API is similar to the API used by the analysis server to communicate with clients.
Plugins are automatically discovered and run by the analysis server.
This package contains support code to make it easier to write a plugin. There is a tutorial describing how to use the support in this package.
Support
Post issues and feature requests on the issue tracker.
Questions and discussions are welcome at the Dart Analyzer Discussion Group.
License
See the LICENSE file.