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; }
public void Initialize() { _tokenizer = new Tokenizer(); _parser = new NamespaceParser(new List<string>() {"ns"}); }