3a91bf9b22
Changes the initialization logic for `PluginConfiguration` so that it always populates the `diagnosticConfigs` field with a map that ignores case when matching keys. This insures that diagnostic codes in a plug-in configuration are matched in a case-insensitive fashion. Also changes the logic in `pkg/analysis_server_plugin` so that when it looks up names in this map, it uses `DiagnosticCode.lowerCaseName` rather than `DiagnosticCode.name`. This in itself has no effect (since the map ignores case), but it paves the way for deprecating (and eventually removing) the `DiagnosticCode.name` getter. Change-Id: I6a6a6964f8ba149f883d1e9b2c9168a0929f7803 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/466184 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Paul Berry <paulberry@google.com>
analysis_server_plugin package
This package offers support for writing Dart analysis server plugins, for Dart 3.10 (Flutter 3.38) and later.
Analysis server plugins empower developers to contribute their own Dart static
analysis in IDEs and at the command line via dart analyze and flutter analyze. Analysis server plugins can offer the following static analyses:
- analysis rules, which report diagnostics in the IDE, and at the command line
- IDE quick fixes, which are local refactorings offered to users to correct a given diagnostic
- IDE quick assists, which are local refactorings that are offered at specific syntax nodes in code, but do not necessarily correct a static code issue
Review the following documents for how to write and how to use analysis server plugins: