protected override Completion ExecuteImpl(ExecutionEnvironment enviroment)
        {
            if (Message == null)
            {
                return(Completion.Void);
            }
            var c = Message.Execute(enviroment);

            if (c.Type != CompletionType.Value)
            {
                return(c);
            }
            var           value = c.ReturnValue;
            ConsoleWindow wnd   = GetConsole(enviroment);

            wnd.Write(value);
            return(Completion.Void);
        }
Beispiel #2
0
 public static ConsoleWindow GetConsole(ExecutionEnvironment enviroment)
 {
     if (!enviroment.HasValue("#$Console$#"))
     {
         Application.Current.Dispatcher.Invoke(() =>
         {
             consoleWindow       = new ConsoleWindow();
             consoleWindow.Owner = Application.Current.MainWindow;
             consoleWindow.Show();
         });
         enviroment.GetBaseEnvironment().RegisterValue("#$Console$#", consoleWindow);
     }
     else
     {
         consoleWindow = enviroment.GetValue("#$Console$#") as ConsoleWindow;
     }
     return(consoleWindow);
 }
Beispiel #3
0
        public static ConsoleWindow GetConsole(ExecutionEnvironment enviroment)
        {
            ConsoleWindow wnd = null;

            if (!enviroment.HasValue("#$Console$#"))
            {
                Application.Current.Dispatcher.Invoke(() =>
                {
                    wnd       = new ConsoleWindow();
                    wnd.Owner = Application.Current.MainWindow;
                    wnd.Show();
                });
                enviroment.GetBaseEnvironment().RegisterValue("#$Console$#", wnd);
                ConsoleBaseStatement.consoleWindow = wnd;
            }
            else
            {
                wnd = enviroment.GetValue("#$Console$#") as ConsoleWindow;
            }
            return(wnd);
        }
        protected override Completion ExecuteImpl(ExecutionEnvironment enviroment)
        {
            ConsoleWindow wnd = GetConsole(enviroment);

            return(new Completion(wnd.Read()));
        }