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];
                }
            }
        }
Exemplo n.º 2
0
        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];
            }
        }
Exemplo n.º 5
0
        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;
                }
            }
        }
Exemplo n.º 6
0
        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];
                }
            }
        }
Exemplo n.º 8
0
        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];
                }
            }
        }
Exemplo n.º 9
0
        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;
                }
            }
        }