Work towards https://github.com/dart-lang/sdk/issues/61868 This adds a new notification type, 'PluginPrint'. There are several fields and variables then named 'pluginPrint' or 'print', and I am definitely open to changing these names, but this is the best one that I thought of. PluginPrint has three fields: The name of the plugin that printed, the message that was printed, and the timestamp. We wrap each plugin's AnalysisRule invocations with a zone, so that the `print` handler can know the name of the plugin. The prints are caught and sent to the server isolate as Notifications. The PluginIsolate then stores the collected prints. The Plugins Insights page can then retrieve them and display them. Manual testing, with 1000 libraries that get new lint reported once per file, I did not observe a negative performance impact. Change-Id: Id800ae41781c15ce89d06b563878c2b0edae43d3 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/486827 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Samuel Rawlins <srawlins@google.com>
package:analysis_server_client is a client wrapper over the Analysis Server.
Update: this package has been discontinued
This package has been discontinued and will not receive further updates.
People who need similar functionality could:
- continue to use the last published version; it should continue to be able to talk to the analysis server for the foreseeable future
- fork the package and maintain that fork (we don't expect that the analysis server protocol will evolve significantly)
- see if their use case could instead be satisfied by talking to the analysis
server over the LSP protocol (
dart language-server --protocol=lsp)
We welcome feedback about this at #50262; that would also be a good place to discuss alternatives.
Overview
-
Instances of Server manage a connection to an analysis server process, and facilitate communication to and from the server.
-
The Protocol library provides constants and classes to build requests for the server and decode responses and notifications from the server.
Example
The example uses the Server to launch the analysis server, analyze all *.dart files in the specified directory, display the results, and shutdown the analysis server.
References
For more about the analysis server, see the Analysis Server page.