예제 #1
0
        protected NodeOutput OutputNode(int indentLevel, AstNode node, bool startWithNewLine = false)
        {
            var stringWriter = new StringWriter();
            var formatter    = new SegmentTrackingTokenWriter(stringWriter);

            formatter.Indentation       = indentLevel;
            formatter.IndentationString = Options.TabsToSpaces ? new string (' ', Options.IndentSize) : "\t";
            stringWriter.NewLine        = Options.EolMarker;
            if (startWithNewLine)
            {
                formatter.NewLine();
            }
            var visitor = new CSharpOutputVisitor(formatter, formattingOptions);

            node.AcceptVisitor(visitor);
            string text = stringWriter.ToString().TrimEnd();

            return(new NodeOutput(text, formatter.NewSegments));
        }
예제 #2
0
파일: Script.cs 프로젝트: 0xd4d/NRefactory
		protected NodeOutput OutputNode(int indentLevel, AstNode node, bool startWithNewLine = false)
		{
			var stringWriter = new StringWriter ();
			var formatter = new SegmentTrackingTokenWriter(stringWriter);
			formatter.Indentation = indentLevel;
			formatter.IndentationString = Options.TabsToSpaces ? new string (' ', Options.IndentSize) : "\t";
			stringWriter.NewLine = Options.EolMarker;
			if (startWithNewLine)
				formatter.NewLine ();
			var visitor = new CSharpOutputVisitor (formatter, formattingOptions);
			node.AcceptVisitor (visitor);
			string text = stringWriter.ToString().TrimEnd();
			return new NodeOutput(text, formatter.NewSegments);
		}