public void SetUpFixture() { string python = "class Test:\r\n" + "\tdef __init__(self):\r\n" + "\t\tpass\r\n"; 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]; } // Get folds. ParserFoldingStrategy foldingStrategy = new ParserFoldingStrategy(); ParseInformation parseInfo = new ParseInformation(); parseInfo.SetCompilationUnit(compilationUnit); DocumentFactory docFactory = new DocumentFactory(); IDocument doc = docFactory.CreateDocument(); doc.TextContent = python; List <FoldMarker> markers = foldingStrategy.GenerateFoldMarkers(doc, @"C:\Temp\test.py", parseInfo); if (markers.Count > 1) { classMarker = markers[0]; methodMarker = markers[1]; } } }
public override void Run() { ITextEditorProvider provider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorProvider; ITextEditor editor = provider.TextEditor; FoldingManager foldingManager = editor.GetService(typeof(FoldingManager)) as FoldingManager; if (foldingManager != null) { foreach (FoldingSection fm in foldingManager.AllFoldings) { fm.IsFolded = ParserFoldingStrategy.IsDefinition(fm); } } }
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 SetUpFixture() { string python = "def foo():\r\n" + "\tpass\r\n" + "\r\n" + "def bar(i):\r\n" + "\tpass"; DefaultProjectContent projectContent = new DefaultProjectContent(); PythonParser parser = new PythonParser(); compilationUnit = parser.Parse(projectContent, @"C:\test.py", python); if (compilationUnit.Classes.Count > 0) { globalClass = compilationUnit.Classes[0]; if (globalClass.Methods.Count > 1) { fooMethod = globalClass.Methods[0]; barMethod = globalClass.Methods[1]; } } // Get folds. ParserFoldingStrategy foldingStrategy = new ParserFoldingStrategy(); ParseInformation parseInfo = new ParseInformation(); parseInfo.SetCompilationUnit(compilationUnit); DocumentFactory docFactory = new DocumentFactory(); IDocument doc = docFactory.CreateDocument(); doc.TextContent = python; List <FoldMarker> markers = foldingStrategy.GenerateFoldMarkers(doc, @"C:\Temp\test.py", parseInfo); if (markers.Count > 1) { fooMethodMarker = markers[0]; barMethodMarker = markers[1]; } }
public override void Run() { ITextEditorProvider provider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorProvider; ITextEditor editor = provider.TextEditor; ParserFoldingStrategy strategy = editor.GetService(typeof(ParserFoldingStrategy)) as ParserFoldingStrategy; if (strategy != null) { // look for folding on this line: FoldingSection folding = strategy.FoldingManager.GetNextFolding(editor.Document.PositionToOffset(editor.Caret.Line, 1)); if (folding == null || editor.Document.GetLineForOffset(folding.StartOffset).LineNumber != editor.Caret.Line) { // no folding found on current line: find innermost folding containing the caret folding = strategy.FoldingManager.GetFoldingsContaining(editor.Caret.Offset).LastOrDefault(); } if (folding != null) { folding.IsFolded = !folding.IsFolded; } } }
public void SetUpFixture() { string Ruby = "class Test\r\n" + "\r\n" + "\tdef foo\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]; } // Get folds. ParserFoldingStrategy foldingStrategy = new ParserFoldingStrategy(); ParseInformation parseInfo = new ParseInformation(); parseInfo.SetCompilationUnit(compilationUnit); DocumentFactory docFactory = new DocumentFactory(); IDocument doc = docFactory.CreateDocument(); doc.TextContent = Ruby; List <FoldMarker> markers = foldingStrategy.GenerateFoldMarkers(doc, @"C:\Temp\test.rb", parseInfo); if (markers.Count > 0) { classMarker = markers[0]; } if (markers.Count > 1) { methodMarker = markers[1]; } } }
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 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 override void Run() { ITextEditorProvider provider = WorkbenchSingleton.Workbench.ActiveViewContent as ITextEditorProvider; ITextEditor editor = provider.TextEditor; ParserFoldingStrategy strategy = editor.GetService(typeof(ParserFoldingStrategy)) as ParserFoldingStrategy; if (strategy != null) { bool doFold = true; foreach (FoldingSection fm in strategy.FoldingManager.AllFoldings) { if (fm.IsFolded) { doFold = false; break; } } foreach (FoldingSection fm in strategy.FoldingManager.AllFoldings) { fm.IsFolded = doFold; } } }