Files
Sam Rawlins 26102c5d52 DAS plugins: Wire up initial screen for new plugins.
This renames the old screen, "Legacy plugins" and adds a new screen,
"Plugins". On the new plugins screen, we ask the plugins isolate(s) for
their plugins details, and print the following, for eadh plugin:

* the plugin's name
* the names of the registered lint rules
* the names of the registered warning rules
* the IDs and "messages" of the registered assists
* the IDs and "messages" and associated diagnostic codes of the
  registered quick fixes

More to come in follow ups:

* The resolved versions of plugin packages (coming from package_config.json)

Change-Id: Ic3dc4c5bffa64fd4da4097c042a847cc064e41ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/447763
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-09-02 08:38:32 -07:00

29 lines
906 B
Dart

// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// @docImport 'package:analysis_server_plugin/src/plugin_server.dart';
library;
import 'dart:async';
import 'package:analysis_server_plugin/registry.dart';
abstract class Plugin {
/// A user-visible name for this plugin, used for error-reporting and
/// insights-reporting purposes.
String get name;
/// Registers analysis rules, quick fixes, and assists.
FutureOr<void> register(PluginRegistry registry);
FutureOr<void> shutDown() {}
/// Initializes any necessary start-up state that is required for this plugin
/// to run.
///
/// This is called once by the plugin server, in [PluginServer.initialize],
/// per analysis context.
FutureOr<void> start() {}
}