package org.jetbrains.plugins.cucumber.steps.search;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.util.Computable;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.SearchScope;
import org.jetbrains.plugins.cucumber.psi.GherkinFileType;
public class CucumberStepSearchUtil {
public static SearchScope restrictScopeToGherkinFiles(final Computable<SearchScope> originalScopeComputation) {
return ReadAction.compute(() -> {
final SearchScope originalScope = originalScopeComputation.compute();
if (originalScope instanceof GlobalSearchScope) {
return GlobalSearchScope.getScopeRestrictedByFileTypes((GlobalSearchScope)originalScope,
GherkinFileType.INSTANCE);
}
return originalScope;
});
}
}