// Path: CommandLineClient/src/main/java/com/dslplatform/compiler/client/parameters/LogOutput.java
// public enum LogOutput implements CompileParameter {
// 	INSTANCE;
// 
// 	@Override
// 	public String getAlias() { return "log"; }
// 	@Override
// 	public String getUsage() { return null; }
// 
// 	@Override
// 	public boolean check(final Context context) {
// 		return true;
// 	}
// 
// 	@Override
// 	public void run(final Context context) {
// 	}
// 
// 	@Override
// 	public String getShortDescription() {
// 		return "Show detailed log";
// 	}
// 
// 	@Override
// 	public String getDetailedDescription() {
// 		return "Show exceptions with full stacktrace.\n" +
// 				"Show process output.\n" +
// 				"Show full DSL when added or removed.";
// 	}
// }


import com.dslplatform.compiler.client.parameters.DisableColors;
import com.dslplatform.compiler.client.parameters.LogOutput;
import com.dslplatform.compiler.client.parameters.DisablePrompt;
import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.Ansi.Color;
import org.fusesource.jansi.AnsiConsole;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
package com.dslplatform.compiler.client;



public class Context implements Closeable {
	private final Map<String, String> parameters = new HashMap<String, String>();
	private final Map<String, Object> cache = new HashMap<String, Object>();

	private PrintStream console;

	private boolean withLog;
	private boolean noPrompt;
	private boolean withColor = true;

	public Context() {
		this(AnsiConsole.out());
	}

	protected Context(PrintStream console) {
		this.console = console;
	}

	public void put(final CompileParameter parameter, final String value) {
		if (parameter instanceof DisablePrompt) {
			noPrompt = true;
// Path: CommandLineClient/src/main/java/com/dslplatform/compiler/client/parameters/LogOutput.java
// public enum LogOutput implements CompileParameter {
// 	INSTANCE;
// 
// 	@Override
// 	public String getAlias() { return "log"; }
// 	@Override
// 	public String getUsage() { return null; }
// 
// 	@Override
// 	public boolean check(final Context context) {
// 		return true;
// 	}
// 
// 	@Override
// 	public void run(final Context context) {
// 	}
// 
// 	@Override
// 	public String getShortDescription() {
// 		return "Show detailed log";
// 	}
// 
// 	@Override
// 	public String getDetailedDescription() {
// 		return "Show exceptions with full stacktrace.\n" +
// 				"Show process output.\n" +
// 				"Show full DSL when added or removed.";
// 	}
// }


// Path: CommandLineClient/src/main/java/com/dslplatform/compiler/client/Context.java
import com.dslplatform.compiler.client.parameters.DisableColors;
import com.dslplatform.compiler.client.parameters.LogOutput;
import com.dslplatform.compiler.client.parameters.DisablePrompt;
import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.Ansi.Color;
import org.fusesource.jansi.AnsiConsole;
import java.io.*;
import java.util.HashMap;
import java.util.Map;

package com.dslplatform.compiler.client;



public class Context implements Closeable {
	private final Map<String, String> parameters = new HashMap<String, String>();
	private final Map<String, Object> cache = new HashMap<String, Object>();

	private PrintStream console;

	private boolean withLog;
	private boolean noPrompt;
	private boolean withColor = true;

	public Context() {
		this(AnsiConsole.out());
	}

	protected Context(PrintStream console) {
		this.console = console;
	}

	public void put(final CompileParameter parameter, final String value) {
		if (parameter instanceof DisablePrompt) {
			noPrompt = true;
		} else if (parameter instanceof LogOutput) {