public void SetUpFixture() { string ruby = "class Test\r\n" + "\tdef initialize\r\n" + "\t\tputs 'test'\r\n" + "\tend\r\n" + "end"; DefaultProjectContent projectContent = new DefaultProjectContent(); RubyParser parser = new RubyParser(); compilationUnit = parser.Parse(projectContent, @"C:\test.rb", ruby); if (compilationUnit.Classes.Count > 0) { c = compilationUnit.Classes[0]; if (c.Methods.Count > 0) { method = c.Methods[0]; } TextArea textArea = new TextArea(); document = new TextDocument(); textArea.Document = document; textArea.Document.Text = ruby; // Get folds. ParserFoldingStrategy foldingStrategy = new ParserFoldingStrategy(textArea); ParseInformation parseInfo = new ParseInformation(compilationUnit); foldingStrategy.UpdateFoldings(parseInfo); List<FoldingSection> folds = new List<FoldingSection>(foldingStrategy.FoldingManager.AllFoldings); if (folds.Count > 1) { classFold = folds[0]; methodFold = folds[1]; } } }
public void UpdateParseInformationForFolding(ParseInformation parseInfo) { if (!CodeEditorOptions.Instance.EnableFolding || disableParseInformationFolding) { parseInfo = null; } IServiceContainer container = this.Adapter.GetService(typeof(IServiceContainer)) as IServiceContainer; ParserFoldingStrategy folding = container.GetService(typeof(ParserFoldingStrategy)) as ParserFoldingStrategy; if (parseInfo == null) { if (folding != null) { folding.Dispose(); container.RemoveService(typeof(ParserFoldingStrategy)); } } else { if (folding == null) { TextArea textArea = this.Adapter.GetService(typeof(TextArea)) as TextArea; folding = new ParserFoldingStrategy(textArea); container.AddService(typeof(ParserFoldingStrategy), folding); } folding.UpdateFoldings(parseInfo); } }
public void SetUpFixture() { string python = "class Test:\r\n" + "\tdef foo(self):\r\n" + "\t\tpass"; DefaultProjectContent projectContent = new DefaultProjectContent(); PythonParser parser = new PythonParser(); compilationUnit = parser.Parse(projectContent, @"C:\test.py", python); if (compilationUnit.Classes.Count > 0) { c = compilationUnit.Classes[0]; if (c.Methods.Count > 0) { method = c.Methods[0]; } TextArea textArea = new TextArea(); document = new TextDocument(); textArea.Document = document; textArea.Document.Text = python; ParserFoldingStrategy foldingStrategy = new ParserFoldingStrategy(textArea); ParseInformation parseInfo = new ParseInformation(compilationUnit); foldingStrategy.UpdateFoldings(parseInfo); List<FoldingSection> folds = new List<FoldingSection>(foldingStrategy.FoldingManager.AllFoldings); if (folds.Count > 0) { classFold = folds[0]; } if (folds.Count > 1) { methodFold = folds[1]; } } }
public void UpdateParseInformationForFolding(ParseInformation parseInfo) { if (!CodeEditorOptions.Instance.EnableFolding) { parseInfo = null; } else { if (parseInfo == null || !parseInfo.IsFullParseInformation) { parseInfo = SD.ParserService.Parse(this.FileName, this.Document); } if (parseInfo != null && !parseInfo.SupportsFolding) { parseInfo = null; } } IServiceContainer container = this.Adapter.GetService(typeof(IServiceContainer)) as IServiceContainer; ParserFoldingStrategy folding = container.GetService(typeof(ParserFoldingStrategy)) as ParserFoldingStrategy; if (parseInfo == null) { if (folding != null) { folding.Dispose(); container.RemoveService(typeof(ParserFoldingStrategy)); } } else { if (folding == null) { TextArea textArea = this.Adapter.GetService(typeof(TextArea)) as TextArea; folding = new ParserFoldingStrategy(textArea); container.AddService(typeof(ParserFoldingStrategy), folding); } folding.UpdateFoldings(parseInfo); } }
public void SetUpFixture() { string ruby = "def foo\r\n" + "end\r\n" + "\r\n" + "def bar(i)\r\n" + "end"; DefaultProjectContent projectContent = new DefaultProjectContent(); RubyParser parser = new RubyParser(); compilationUnit = parser.Parse(projectContent, @"C:\test.rb", ruby); if (compilationUnit.Classes.Count > 0) { globalClass = compilationUnit.Classes[0]; if (globalClass.Methods.Count > 1) { fooMethod = globalClass.Methods[0]; barMethod = globalClass.Methods[1]; } } // Get folds. TextArea textArea = new TextArea(); document = new TextDocument(); textArea.Document = document; textArea.Document.Text = ruby; ParserFoldingStrategy foldingStrategy = new ParserFoldingStrategy(textArea); ParseInformation parseInfo = new ParseInformation(compilationUnit); foldingStrategy.UpdateFoldings(parseInfo); List<FoldingSection> folds = new List<FoldingSection>(foldingStrategy.FoldingManager.AllFoldings); if (folds.Count > 1) { fooMethodFold = folds[0]; barMethodFold = folds[1]; } }
public void UpdateParseInformationForFolding(ParseInformation parseInfo) { if (!CodeEditorOptions.Instance.EnableFolding || disableParseInformationFolding) parseInfo = null; IServiceContainer container = this.Adapter.GetService(typeof(IServiceContainer)) as IServiceContainer; ParserFoldingStrategy folding = container.GetService(typeof(ParserFoldingStrategy)) as ParserFoldingStrategy; if (parseInfo == null) { if (folding != null) { folding.Dispose(); container.RemoveService(typeof(ParserFoldingStrategy)); } } else { if (folding == null) { TextArea textArea = this.Adapter.GetService(typeof(TextArea)) as TextArea; folding = new ParserFoldingStrategy(textArea); container.AddService(typeof(ParserFoldingStrategy), folding); } folding.UpdateFoldings(parseInfo); } }
public void UpdateParseInformationForFolding(ParseInformation parseInfo) { if (!CodeEditorOptions.Instance.EnableFolding) { parseInfo = null; } else { if (parseInfo == null || !parseInfo.IsFullParseInformation) parseInfo = SD.ParserService.Parse(this.FileName, this.Document); if (parseInfo != null && !parseInfo.SupportsFolding) parseInfo = null; } IServiceContainer container = this.Adapter.GetService(typeof(IServiceContainer)) as IServiceContainer; ParserFoldingStrategy folding = container.GetService(typeof(ParserFoldingStrategy)) as ParserFoldingStrategy; if (parseInfo == null) { if (folding != null) { folding.Dispose(); container.RemoveService(typeof(ParserFoldingStrategy)); } } else { if (folding == null) { TextArea textArea = this.Adapter.GetService(typeof(TextArea)) as TextArea; folding = new ParserFoldingStrategy(textArea); container.AddService(typeof(ParserFoldingStrategy), folding); } folding.UpdateFoldings(parseInfo); } }