node: webpack errors consisting of two lines (WEB-36956)

GitOrigin-RevId: c2388ff7d6e167378a7cb947aa9d82e9baa09839
This commit is contained in:
Sergey Simonchik
2020-10-19 22:00:23 +03:00
committed by intellij-monorepo-bot
parent 67839476fc
commit 08f9fbce1a
2 changed files with 19 additions and 6 deletions

View File

@@ -2,15 +2,16 @@
package com.intellij.terminal;
import com.intellij.execution.filters.CompositeFilter;
import com.intellij.execution.filters.ConsoleFilterProvider;
import com.intellij.execution.filters.Filter;
import com.intellij.execution.impl.ConsoleViewUtil;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.project.Project;
import com.intellij.psi.search.GlobalSearchScope;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
@@ -21,14 +22,20 @@ class CompositeFilterWrapper {
private final Project myProject;
private final TerminalExecutionConsole myConsole;
private final List<Filter> myFilters = new CopyOnWriteArrayList<>();
private volatile CompositeFilter myCompositeFilter;
private final AtomicBoolean myConsoleFilterProvidersAdded = new AtomicBoolean(false);
CompositeFilterWrapper(@NotNull Project project, @Nullable TerminalExecutionConsole console) {
CompositeFilterWrapper(@NotNull Project project, @Nullable TerminalExecutionConsole console, @NotNull Disposable disposable) {
myProject = project;
myConsole = console;
ConsoleFilterProvider.FILTER_PROVIDERS.addChangeListener(() -> {
myCompositeFilter = null;
}, disposable);
}
void addFilter(@NotNull Filter filter) {
myFilters.add(filter);
myCompositeFilter = null;
}
@NotNull
@@ -46,10 +53,16 @@ class CompositeFilterWrapper {
@NotNull
CompositeFilter getCompositeFilter() {
List<Filter> filters = new ArrayList<>(myFilters);
filters.addAll(createCompositeFilters());
CompositeFilter filter = new CompositeFilter(myProject, filters);
CompositeFilter filter = myCompositeFilter;
if (filter != null) {
return filter;
}
if (myConsoleFilterProvidersAdded.compareAndSet(false, true)) {
myFilters.addAll(createCompositeFilters());
}
filter = new CompositeFilter(myProject, myFilters);
filter.setForceUseAllFilters(true);
myCompositeFilter = filter;
return filter;
}
}

View File

@@ -68,7 +68,7 @@ public class JBTerminalWidget extends JediTermWidget implements Disposable, Data
@NotNull Disposable parent) {
super(columns, lines, settingsProvider);
mySettingsProvider = settingsProvider;
myCompositeFilterWrapper = new CompositeFilterWrapper(project, console);
myCompositeFilterWrapper = new CompositeFilterWrapper(project, console, this);
addHyperlinkFilter(line -> runFilters(project, line));
setName("terminal");
Disposer.register(parent, this);