private static void Interactive()
{
//interactive prompt ; delimited.
ConsoleAppender.PlatConsole.MoveCursor(ConsoleAppender.PlatConsole.CurrentLine + 1);
var builder = new StringBuilder();
Console.Write("pickaxe> ");
while (true)
{
char character = Convert.ToChar(Console.Read());
if (character == '\n')
{
ConsoleAppender.PlatConsole.CurrentLine++;
Console.Write(" -> ");
}
if (character == ';') //run it.
{
ConsoleAppender.PlatConsole.CurrentLine++;
while (Convert.ToChar(Console.Read()) != '\n') {} //clear buf
Thread thread = new Thread(() => Compile(new[]{builder.ToString()}, new string[0]));
thread.Start();
thread.Join();
builder.Clear();
ConsoleAppender.PlatConsole.MoveCursor(ConsoleAppender.PlatConsole.CurrentLine + 1);
Console.Write("pickaxe> ");
continue;
}
builder.Append(character);
}
}