ctrl+shift+a: process OptionsTopHitProvider as well

This commit is contained in:
Sergey Ignatov
2014-09-19 17:27:37 +04:00
parent b375b090d2
commit bf3112c6c8
@@ -18,6 +18,7 @@ package com.intellij.ide.util.gotoByName;
import com.intellij.ide.DataManager;
import com.intellij.ide.SearchTopHitProvider;
import com.intellij.ide.actions.ApplyIntentionAction;
import com.intellij.ide.ui.OptionsTopHitProvider;
import com.intellij.ide.ui.search.ActionFromOptionDescriptorProvider;
import com.intellij.ide.ui.search.OptionDescription;
import com.intellij.ide.ui.search.SearchableOptionsRegistrar;
@@ -85,6 +86,10 @@ public class GotoActionItemProvider implements ChooseByNameItemProvider {
private static boolean processTopHits(String pattern, Processor<MatchedValue> consumer, DataContext dataContext) {
final CollectConsumer<Object> collector = new CollectConsumer<Object>();
for (SearchTopHitProvider provider : SearchTopHitProvider.EP_NAME.getExtensions()) {
if (provider instanceof OptionsTopHitProvider) {
String prefix = "#" + ((OptionsTopHitProvider)provider).getId() + " ";
provider.consumeTopHits(prefix + pattern, collector, CommonDataKeys.PROJECT.getData(dataContext));
}
provider.consumeTopHits(pattern, collector, CommonDataKeys.PROJECT.getData(dataContext));
}
final Collection<Object> result = collector.getResult();