Example #1
0
        private List <MenuCommand> CreateMenuCommands(Process replProcess, TextBox interactiveText, Entity <ReplState> replEntity)
        {
            var dte = (DTE2)_serviceProvider.GetService(typeof(DTE));

            var loadSelectedFilesIntoRepl =
                new LoadFilesIntoRepl(
                    new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)),
                    new SelectedFilesProvider(dte.ToolWindows.SolutionExplorer),
                    ReplToolWindow);

            var loadSelectedProjectIntoRepl =
                new LoadFilesIntoRepl(
                    new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)),
                    new ProjectFilesProvider(
                        new SelectedProjectProvider(dte.Solution, dte.ToolWindows.SolutionExplorer)),
                    ReplToolWindow);

            var loadActiveFileIntoRepl =
                new LoadFilesIntoRepl(
                    new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)),
                    new ActiveFileProvider(dte),
                    ReplToolWindow);

            var componentModel = (IComponentModel)_serviceProvider.GetService(typeof(SComponentModel));

            var namespaceParser = new NamespaceParser(NamespaceParser.NamespaceSymbols);

            var activeTextBufferStateProvider =
                new ActiveTextBufferStateProvider(
                    componentModel.GetService <IVsEditorAdaptersFactoryService>(),
                    (IVsTextManager)_serviceProvider.GetService(typeof(SVsTextManager)));

            var changeReplNamespace =
                new ChangeReplNamespace(new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)));

            var menuCommands = new List <MenuCommand>();

            menuCommands.Add(new MenuCommand((sender, args) => loadSelectedProjectIntoRepl.Execute(), CommandIDs.LoadProjectIntoActiveRepl));
            menuCommands.Add(new MenuCommand((sender, args) => loadSelectedFilesIntoRepl.Execute(), CommandIDs.LoadFileIntoActiveRepl));
            menuCommands.Add(new MenuCommand((sender, args) => loadActiveFileIntoRepl.Execute(), CommandIDs.LoadActiveDocumentIntoRepl));
            menuCommands.Add(new MenuCommand((sender, args) => changeReplNamespace.Execute(namespaceParser.Execute(activeTextBufferStateProvider.Get())), CommandIDs.SwitchReplNamespaceToActiveDocument));
            menuCommands.Add(new MenuCommand((sender, args) => new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)).WriteBehindTheSceneExpressionToRepl((string)(dte.ActiveDocument.Selection as dynamic).Text), CommandIDs.LoadSelectedTextIntoRepl));
            return(menuCommands);
        }
Example #2
0
        private List<MenuCommand> CreateMenuCommands(Process replProcess, TextBox interactiveText, Entity<ReplState> replEntity)
        {
            var dte = (DTE2) _serviceProvider.GetService(typeof (DTE));

            var loadSelectedFilesIntoRepl =
                new LoadFilesIntoRepl(
                    new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)),
                    new SelectedFilesProvider(dte.ToolWindows.SolutionExplorer),
                    _replToolWindow);

            var loadSelectedProjectIntoRepl =
                new LoadFilesIntoRepl(
                    new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)),
                    new ProjectFilesProvider(
                        new SelectedProjectProvider(dte.Solution, dte.ToolWindows.SolutionExplorer)),
                    _replToolWindow);

            var loadActiveFileIntoRepl =
                new LoadFilesIntoRepl(
                    new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)),
                    new ActiveFileProvider(dte),
                    _replToolWindow);

            var componentModel = (IComponentModel) _serviceProvider.GetService(typeof (SComponentModel));

            var namespaceParser = new NamespaceParser(NamespaceParser.NamespaceSymbols);

            var activeTextBufferStateProvider =
                new ActiveTextBufferStateProvider(
                    componentModel.GetService<IVsEditorAdaptersFactoryService>(),
                    (IVsTextManager) _serviceProvider.GetService(typeof (SVsTextManager)));

            var changeReplNamespace =
                new ChangeReplNamespace(new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)));

            var menuCommands = new List<MenuCommand>();
            menuCommands.Add(new MenuCommand((sender, args) => loadSelectedProjectIntoRepl.Execute(), new CommandID(Guids.GuidClojureExtensionCmdSet, 11)));
            menuCommands.Add(new MenuCommand((sender, args) => loadSelectedFilesIntoRepl.Execute(), new CommandID(Guids.GuidClojureExtensionCmdSet, 12)));
            menuCommands.Add(new MenuCommand((sender, args) => loadActiveFileIntoRepl.Execute(), new CommandID(Guids.GuidClojureExtensionCmdSet, 13)));
            menuCommands.Add(new MenuCommand((sender, args) => changeReplNamespace.Execute(namespaceParser.Execute(activeTextBufferStateProvider.Get())), new CommandID(Guids.GuidClojureExtensionCmdSet, 14)));
            menuCommands.Add(new MenuCommand((sender, args) => new ReplWriter(replProcess, new TextBoxWriter(interactiveText, replEntity)).WriteBehindTheSceneExpressionToRepl((string)dte.ActiveDocument.Selection.Text), new CommandID(Guids.GuidClojureExtensionCmdSet, 15)));
            return menuCommands;
        }
        private List<MenuCommand> CreateMenuCommands(Repl repl)
        {
            var dte = (DTE2) _serviceProvider.GetService(typeof (DTE));
            repl.OnInvisibleWrite += () => _replToolWindow.ShowNoActivate();

            Action loadSelectedFilesIntoRepl =
                () => dte.ToolWindows.SolutionExplorer.GetSelectedFiles().LoadFilesInto(repl);

            Action loadSelectedProjectIntoRepl =
                () => dte.ToolWindows.SolutionExplorer.GetSelectedProject().GetAllFiles().LoadFilesInto(repl);

            Action loadActiveFileIntoRepl =
                () => dte.ActiveDocument.FullName.SingletonAsList().LoadFilesInto(repl);

            var componentModel = (IComponentModel) _serviceProvider.GetService(typeof (SComponentModel));
            var namespaceParser = new NamespaceParser(NamespaceParser.NamespaceSymbols);

            var activeTextBufferStateProvider =
                new ActiveTextBufferStateProvider(
                    componentModel.GetService<IVsEditorAdaptersFactoryService>(),
                    (IVsTextManager) _serviceProvider.GetService(typeof (SVsTextManager)));

            var menuCommands = new List<MenuCommand>();
            menuCommands.Add(new MenuCommand((sender, args) => loadSelectedProjectIntoRepl(), new CommandID(Guids.GuidClojureExtensionCmdSet, 11)));
            menuCommands.Add(new MenuCommand((sender, args) => loadSelectedFilesIntoRepl(), new CommandID(Guids.GuidClojureExtensionCmdSet, 12)));
            menuCommands.Add(new MenuCommand((sender, args) => loadActiveFileIntoRepl(), new CommandID(Guids.GuidClojureExtensionCmdSet, 13)));
            menuCommands.Add(new MenuCommand((sender, args) => repl.ChangeNamespace(namespaceParser.Execute(activeTextBufferStateProvider.Get())), new CommandID(Guids.GuidClojureExtensionCmdSet, 14)));
            menuCommands.Add(new MenuCommand((sender, args) => repl.WriteInvisibly((string)dte.ActiveDocument.Selection), new CommandID(Guids.GuidClojureExtensionCmdSet, 15)));
            return menuCommands;
        }