package krasa.grepconsole.integration; import com.intellij.execution.filters.ConsoleInputFilterProvider; import com.intellij.execution.filters.InputFilter; import com.intellij.openapi.project.Project; import krasa.grepconsole.filter.GrepCopyingFilter; import krasa.grepconsole.filter.GrepInputFilter; import krasa.grepconsole.model.Profile; import krasa.grepconsole.plugin.GrepConsoleApplicationComponent; import krasa.grepconsole.plugin.ServiceManager; import org.jetbrains.annotations.NotNull; public class GrepConsoleInputFilterProvider implements ConsoleInputFilterProvider { @NotNull @Override public InputFilter[] getDefaultFilters(@NotNull Project project) { Profile defaultProfile = GrepConsoleApplicationComponent.getInstance().getState().getDefaultProfile(); GrepInputFilter inputFilter = ServiceManager.getInstance().createInputFilter(project); GrepCopyingFilter copyingFilter = ServiceManager.getInstance().createCopyingFilter(project); if (inputFilter != null) { if (defaultProfile.isFilterOutBeforeGrep()) { return new InputFilter[]{inputFilter, copyingFilter}; } else { return new InputFilter[]{copyingFilter, inputFilter}; } } else { return new InputFilter[]{copyingFilter}; } } }