diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java index 61e9d215a123..e64da3ea63de 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java @@ -1506,13 +1506,7 @@ public abstract class ChooseByNameBase { if (myProject != null && myProject.isDisposed()) return null; final Set elements = new LinkedHashSet<>(); - - boolean scopeExpanded = fillWithScopeExpansion(elements, myPattern); - - String lowerCased = patternToLowerCase(myPattern); - if (elements.isEmpty() && !lowerCased.equals(myPattern)) { - scopeExpanded = fillWithScopeExpansion(elements, lowerCased); - } + boolean scopeExpanded = populateElements(elements); final String cardToShow = elements.isEmpty() ? NOT_FOUND_CARD : scopeExpanded ? NOT_FOUND_IN_PROJECT_CARD : CHECK_BOX_CARD; Set filtered = filter(elements); @@ -1528,6 +1522,25 @@ public abstract class ChooseByNameBase { }, myModalityState); } + private boolean populateElements(Set elements) { + boolean scopeExpanded = false; + try { + scopeExpanded = fillWithScopeExpansion(elements, myPattern); + + String lowerCased = patternToLowerCase(myPattern); + if (elements.isEmpty() && !lowerCased.equals(myPattern)) { + scopeExpanded = fillWithScopeExpansion(elements, lowerCased); + } + } + catch (ProcessCanceledException e) { + throw e; + } + catch (Exception e) { + LOG.error(e); + } + return scopeExpanded; + } + private boolean fillWithScopeExpansion(Set elements, String pattern) { if (!ourLoadNamesEachTime) ensureNamesLoaded(myCheckboxState); addElementsByPattern(pattern, elements, myProgress, myCheckboxState);