public override void Initialize() { DLRIntegrationAddIn addIn = CurrentSession.AddInManager.GetAddIn <DLRIntegrationAddIn>(); _virtualConsole = new VirtualConsole(CurrentSession, Console); addIn.ScriptRuntime.IO.SetOutput(MemoryStream.Null, _virtualConsole.Output); addIn.ScriptRuntime.IO.SetErrorOutput(MemoryStream.Null, _virtualConsole.Output); _pythonCommandLine = new PythonCommandLine();//(CurrentServer, CurrentSession); PythonConsoleOptions consoleOptions = new PythonConsoleOptions(); addIn.ScriptRuntime.Globals.SetVariable("Session", CurrentSession); addIn.ScriptRuntime.Globals.SetVariable("CurrentSession", CurrentSession); addIn.ScriptRuntime.Globals.SetVariable("Server", CurrentServer); addIn.ScriptRuntime.Globals.SetVariable("CurrentServer", CurrentServer); _consoleThread = new Thread(t => { _pythonCommandLine.Run(addIn.ScriptRuntime.GetEngine("py"), _virtualConsole, consoleOptions); }); _consoleThread.Start(); Thread.Sleep(1000); _pythonCommandLine.ScriptScope.SetVariable("Session", CurrentSession); _pythonCommandLine.ScriptScope.SetVariable("CurrentSession", CurrentSession); _pythonCommandLine.ScriptScope.SetVariable("Server", CurrentServer); _pythonCommandLine.ScriptScope.SetVariable("CurrentServer", CurrentServer); base.Initialize(); }
public override void Initialize() { DLRIntegrationAddIn addIn = CurrentSession.AddInManager.GetAddIn <DLRIntegrationAddIn>(); _virtualConsole = new VirtualConsole(CurrentSession, Console); addIn.ScriptRuntime.IO.SetOutput(MemoryStream.Null, _virtualConsole.Output); addIn.ScriptRuntime.IO.SetErrorOutput(MemoryStream.Null, _virtualConsole.Output); HostingHelpers.GetDomainManager(addIn.ScriptRuntime).SharedIO.SetOutput(new VirtualStream(Console), _virtualConsole.Output); HostingHelpers.GetDomainManager(addIn.ScriptRuntime).SharedIO.SetErrorOutput(new VirtualStream(Console), _virtualConsole.Output); _commandLine = new RubyCommandLine();//(CurrentServer, CurrentSession); ConsoleOptions consoleOptions = new RubyConsoleOptions(); addIn.ScriptRuntime.Globals.SetVariable("Session", CurrentSession); addIn.ScriptRuntime.Globals.SetVariable("CurrentSession", CurrentSession); addIn.ScriptRuntime.Globals.SetVariable("Server", CurrentServer); addIn.ScriptRuntime.Globals.SetVariable("CurrentServer", CurrentServer); _consoleThread = new Thread(t => { _commandLine.Run(addIn.ScriptRuntime.GetEngine("rb"), _virtualConsole, consoleOptions); }); _consoleThread.Start(); base.Initialize(); }
public void List() { DLRIntegrationAddIn addIn = CurrentSession.AddInManager.GetAddIn <DLRIntegrationAddIn>(); if (addIn.ScriptScopes.Keys.Count == 0) { Console.NotifyMessage("スクリプトは現在読み込まれていません。"); return; } foreach (var key in addIn.ScriptScopes.Keys) { Console.NotifyMessage(key); } }
public override void Initialize() { _dlrAddIn = CurrentSession.AddInManager.GetAddIn <DLRIntegrationAddIn>(); _scriptRuntime = _dlrAddIn.ScriptRuntime; _site = _scriptRuntime.Operations.CreateInstance(_scriptTypes[CurrentSession]) as Context; if (_site == null) { throw new ArgumentException("指定された型はContext クラスを継承していないためインスタンス化できません。"); } _site.CurrentServer = CurrentServer; _site.CurrentSession = CurrentSession; _site.Console = Console; _site.Initialize(); base.Initialize(); }