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];
				}
			}
		}
示例#2
0
        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];
			}
		}
示例#6
0
		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);
			}
		}
示例#7
0
		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);
			}
		}