Pickaxe.Program.Interactive C# (CSharp) Method

Interactive() private static method

private static Interactive ( ) : void
return void
        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);
            }
        }