package com.wix.nodejs; import com.intellij.execution.configurations.GeneralCommandLine; import com.intellij.openapi.util.SystemInfo; public class CLI { public static final String JSON = "json"; public static final String FORMAT = "-f"; public static final String NO_COLOR = "--no-color"; public static final String VERSION = "--version"; public static final String V = "-v"; public static final String PARAM = "--"; public static final String ALIAS = "-"; private final GeneralCommandLine commandLine = new GeneralCommandLine(); public CLI(String cwd, String node, String exe) { if (SystemInfo.isWindows) { commandLine.setExePath(exe); } else { commandLine.setExePath(node); commandLine.addParameter(exe); } commandLine.setWorkDirectory(cwd); } public CLI noColor() { return param(NO_COLOR); } public CLI param(String value) { commandLine.addParameter(value); return this; } public CLI param(String key, String value) { commandLine.addParameter(key); commandLine.addParameter(value); return this; } public CLI json() { return param(FORMAT, JSON); } public GeneralCommandLine cmd() { return commandLine; } }