disablePlugin method
CLI: Disable a plugin.
Implementation
Future<PluginOperationResult> disablePlugin(
String plugin, [
PluginScope? scope,
]) async {
try {
final result = await operations.disablePlugin(plugin, scope);
if (!result.success) {
writeError(
'Failed to disable plugin "$plugin": ${result.message}',
);
_logFailure('disable', plugin);
return result;
}
writeOutput('Successfully disabled: ${result.pluginName}');
final id = parsePluginIdentifier(result.pluginId ?? plugin);
logEvent('tengu_plugin_disabled_cli', {
...buildPluginTelemetryFields(
id.name,
id.marketplace,
getManagedPluginNames(),
).toMap(),
'scope': result.scope?.name,
});
return result;
} catch (e) {
_handleError(e, 'disable', plugin);
return PluginOperationResult(
success: false,
message: e.toString(),
);
}
}