Example usage for com.intellij.openapi.options SearchableConfigurable getId

List of usage examples for com.intellij.openapi.options SearchableConfigurable getId

Introduction

In this page you can find the example usage for com.intellij.openapi.options SearchableConfigurable getId.

Prototype

@NotNull
@NonNls
String getId();

Source Link

Document

Unique configurable id.

Usage

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);
}