package com.lightd.ideap.maven.execution;
import com.intellij.execution.ConsoleFolding;
import com.lightd.ideap.maven.MvnCommandFolding;
import java.util.Arrays;
import java.util.List;
public class CommandLineFolding extends ConsoleFolding implements MvnCommandFolding {
private String jdkHome;
private String mainClass;
private String goalStr;
@Override
public boolean shouldFoldLine(String line) {
if (jdkHome != null && line.startsWith(jdkHome) && line.contains(mainClass)) {
jdkHome = null;
return true;
}
return false;
}
@Override
public String getPlaceHolder(String text) {
return getPlaceholderText(Arrays.asList(text));
}
@Override
public boolean byMavenRun() {
return mainClass != null;
}
@Override
public String getPlaceholderText(List<String> lines) {
if (!lines.isEmpty() && lines.get(0).contains(mainClass) && lines.get(0).endsWith(goalStr))
return "mvn " + goalStr;
return null;
}
@Override
public void placeMaven(String jdkHome, String mainClass, String goalStr) {
this.jdkHome = jdkHome;
this.mainClass = mainClass;
this.goalStr = goalStr;
}
}