findPluginInSettings method
Search all editable settings scopes for a plugin ID.
Implementation
({String pluginId, PluginScope scope})? findPluginInSettings(String plugin) {
final hasMarketplace = plugin.contains('@');
const searchOrder = [
PluginScope.local,
PluginScope.project,
PluginScope.user,
];
for (final scope in searchOrder) {
final enabledPlugins = getSettingsEnabledPlugins(
scopeToSettingSource(scope),
);
if (enabledPlugins == null) continue;
for (final key in enabledPlugins.keys) {
if (hasMarketplace ? key == plugin : key.startsWith('$plugin@')) {
return (pluginId: key, scope: scope);
}
}
}
return null;
}