List of usage examples for com.intellij.openapi.options SearchableConfigurable getId
@NotNull @NonNls String getId();
From source file:com.intellij.ide.ui.search.SearchableOptionsRegistrarImpl.java
License:Apache License
@Override @Nullable//from w ww . jav a 2s .c o m public String getInnerPath(SearchableConfigurable configurable, @NonNls String option) { loadHugeFilesIfNecessary(); Set<OptionDescription> path = null; final Set<String> words = getProcessedWordsWithoutStemming(option); for (String word : words) { Set<OptionDescription> configs = getAcceptableDescriptions(word); if (configs == null) return null; final Set<OptionDescription> paths = new HashSet<OptionDescription>(); for (OptionDescription config : configs) { if (Comparing.strEqual(config.getConfigurableId(), configurable.getId())) { paths.add(config); } } if (path == null) { path = paths; } path.retainAll(paths); } if (path == null || path.isEmpty()) { return null; } else { OptionDescription result = null; for (OptionDescription description : path) { final String hit = description.getHit(); if (hit != null) { boolean theBest = true; for (String word : words) { if (!hit.contains(word)) { theBest = false; } } if (theBest) return description.getPath(); } result = description; } return result != null ? result.getPath() : null; } }
From source file:com.intellij.ide.ui.search.SearchableOptionsRegistrarImpl.java
License:Apache License
@Override public Set<String> getSynonym(final String option, @NotNull final SearchableConfigurable configurable) { loadHugeFilesIfNecessary();//from w ww.j a v a 2 s. co m return myHighlightOption2Synonym.get(Pair.create(option, configurable.getId())); }
From source file:com.intellij.ide.ui.search.TraverseUIStarter.java
License:Apache License
public void startup() throws IOException { final HashMap<SearchableConfigurable, TreeSet<OptionDescription>> options = new HashMap<SearchableConfigurable, TreeSet<OptionDescription>>(); SearchUtil.processProjectConfigurables(ProjectManager.getInstance().getDefaultProject(), options); Element root = new Element(OPTIONS); for (SearchableConfigurable configurable : options.keySet()) { Element configurableElement = new Element(CONFIGURABLE); final String id = configurable.getId(); if (id == null) continue; configurableElement.setAttribute(ID, id); configurableElement.setAttribute(CONFIGURABLE_NAME, configurable.getDisplayName()); final TreeSet<OptionDescription> sortedOptions = options.get(configurable); writeOptions(configurableElement, sortedOptions); if (configurable instanceof KeymapPanel) { processKeymap(configurableElement); } else if (configurable instanceof OptionsContainingConfigurable) { processOptionsContainingConfigurable((OptionsContainingConfigurable) configurable, configurableElement); } else if (configurable instanceof PluginManagerConfigurable) { final TreeSet<OptionDescription> descriptions = wordsToOptionDescriptors( Collections.singleton(AvailablePluginsManagerMain.MANAGE_REPOSITORIES)); for (OptionDescription description : descriptions) { append(null, AvailablePluginsManagerMain.MANAGE_REPOSITORIES, description.getOption(), configurableElement); }/*from ww w .j a v a 2 s . co m*/ } else if (configurable instanceof AllFileTemplatesConfigurable) { processFileTemplates(configurableElement); } root.addContent(configurableElement); configurable.disposeUIResources(); } final File file = new File(OUTPUT_PATH); if (!file.isFile()) { file.getParentFile().mkdirs(); file.createNewFile(); } JDOMUtil.writeDocument(new Document(root), OUTPUT_PATH, "\n"); System.out.println("Searchable options index builder completed"); ((ApplicationEx) ApplicationManager.getApplication()).exit(true, true); }