public StartReplUsingProjectVersion( ReplFactory replFactory, Func <Process> replProcessProvider) { _replProcessProvider = replProcessProvider; _replFactory = replFactory; }
private void ShowClojureProjectMenuCommands() { OleMenuCommandService menuCommandService = (OleMenuCommandService)GetService(typeof(IMenuCommandService)); ReplFactory replFactory = new ReplFactory(this); StartReplUsingProjectVersion replStartFunction = new StartReplUsingProjectVersion(replFactory, () => { DTE2 dte = (DTE2)GetService(typeof(DTE)); IProvider <EnvDTE.Project> projectProvider = new SelectedProjectProvider(dte.Solution, dte.ToolWindows.SolutionExplorer); string frameworkPath = Path.Combine(EnvironmentVariables.VsClojureRuntimesDir, "ClojureCLR-1.5.0"); try { frameworkPath = new LaunchParametersBuilder((ProjectNode)projectProvider.Get().Object).Get().FrameworkPath; } catch { } SelectedProjectProvider selectedProjectProvider = new SelectedProjectProvider(dte.Solution, dte.ToolWindows.SolutionExplorer); return(ReplUtilities.CreateReplProcess(frameworkPath, Path.GetDirectoryName(selectedProjectProvider.Get().FullName))); }); menuCommandService.AddCommand(new MenuCommand((sender, args) => { replFactory.ReplManager = ReplToolWindow.TabControl; replFactory.ReplToolWindow = ReplToolWindowFrame; replStartFunction.Execute(); }, CommandIDs.StartReplUsingProjectVersion)); }
public StartReplUsingProjectVersion( ReplFactory replFactory, Func<Process> replProcessProvider) { _replProcessProvider = replProcessProvider; _replFactory = replFactory; }
public StartReplUsingProjectVersion( ReplFactory replFactory, IVsWindowFrame toolWindowFrame, Func<string> frameworkProvider, IProvider<EnvDTE.Project> selectedProjectProvider) { _frameworkProvider = frameworkProvider; _selectedProjectProvider = selectedProjectProvider; _replFactory = replFactory; _toolWindowFrame = toolWindowFrame; }
public StartReplUsingProjectVersion( ReplFactory replFactory, IVsWindowFrame toolWindowFrame, Func <string> frameworkProvider, IProvider <EnvDTE.Project> selectedProjectProvider) { _frameworkProvider = frameworkProvider; _selectedProjectProvider = selectedProjectProvider; _replFactory = replFactory; _toolWindowFrame = toolWindowFrame; }
public EvalResult ResetCS(EvalRequest request) { var response = EvalResult.Empty(request.SessionId); response.StringResult = $"Total Memory: {System.GC.GetTotalMemory(false)} bytes -> "; var engine = ReplFactory.GetCSEngine(request.SessionId, e => { e.Reset(typeof(ReplService).Assembly); }); response.StringResult += $"{System.GC.GetTotalMemory(true)} bytes"; return(response); }
public EvalResult EvalCS(EvalRequest request) { var analyzer = new ReplAnalyzerCS(request.Code); if (!analyzer.IsCompleteSubmission()) { return(EvalResult.Error(request.SessionId, "Submission is not completed!")); } var engine = ReplFactory.GetCSEngine(request.SessionId, e => { e.InitEngineWithAssembly(typeof(ReplService).Assembly); }); return(engine.Eval(request.Code)); }
static void Main(string[] args) { DoSomeWork(); var sessionId = Guid.NewGuid(); var engine = ReplFactory.GetCSEngine(sessionId, e => { e.OnOutput += Engine_OnOutput; e.OnError += Engine_OnError; e.InitEngineWithAssembly(typeof(Program).Assembly); }); _console.WriteLineInfo("------------------------------------------------------------------------"); _console.WriteLineInfo($" New code session started with Id: {sessionId}"); _console.WriteLineInfo("------------------------------------------------------------------------"); ProcessRepl(engine, sessionId); }
public EvalResult ValidateCS(EvalRequest request) { var analyzer = new ReplAnalyzerCS(request.Code); if (!analyzer.IsCompleteSubmission()) { return(EvalResult.Error(request.SessionId, "Submission is not completed!")); } var engine = ReplFactory.GetCSEngine(request.SessionId, e => { e.InitEngineWithAssembly(typeof(ReplService).Assembly); }); var diagnostics = engine.Validate(request.Code, out var script, out var scriptState); var hasErrors = diagnostics.Any(x => x.Severity == DiagnosticSeverity.Error || (x.Severity == DiagnosticSeverity.Warning && x.IsWarningAsError)); var diagResult = diagnostics.Select(x => new DiagnosticsResult(x.ToString(), x.Severity)).ToList(); return(EvalResult.Instance(request.SessionId, string.Empty, diagResult, hasErrors)); }