diff options
author | Mike Krüger <mkrueger@novell.com> | 2010-01-15 16:58:40 +0300 |
---|---|---|
committer | Mike Krüger <mkrueger@novell.com> | 2010-01-15 16:58:40 +0300 |
commit | 8575f09f17cd1a2b4415cc643dc0cb3ccf1f2a55 (patch) | |
tree | eb57e9f8b4accfabb8fd633a86f6a761df28f83e /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates | |
parent | a1ebe6223b3f9455037aba01b2599fcd5d6df74e (diff) |
* MonoDevelop.Ide.Templates/CodeDomFileDescriptionTemplate.cs: strip
blank lines in CodeDOM output.
svn path=/trunk/monodevelop/; revision=149635
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeDomFileDescriptionTemplate.cs | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeDomFileDescriptionTemplate.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeDomFileDescriptionTemplate.cs index 3bcfdb69a9..023001233a 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeDomFileDescriptionTemplate.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeDomFileDescriptionTemplate.cs @@ -85,10 +85,10 @@ namespace MonoDevelop.Ide.Templates provider.GenerateCodeFromCompileUnit (cu, sw, options); sw.Close (); - return StripHeader (sw.ToString ()); + return StripHeaderAndBlankLines (sw.ToString ()); } - static string StripHeader (string text) + static string StripHeaderAndBlankLines (string text) { Mono.TextEditor.Document doc = new Mono.TextEditor.Document (); doc.Text = text; @@ -101,9 +101,26 @@ namespace MonoDevelop.Ide.Templates break; } } + for (int i = 0; i < doc.LineCount; i++) { + Mono.TextEditor.LineSegment line = doc.GetLine (i); + if (IsBlankLine (doc, line) && line.Length > 0) { + ((Mono.TextEditor.IBuffer)doc).Remove (line.Offset, line.Length); + i--; + continue; + } + } int offset = doc.GetLine (realStartLine).Offset; return doc.GetTextAt (offset, doc.Length - offset); } + + static bool IsBlankLine (Mono.TextEditor.Document doc, Mono.TextEditor.LineSegment line) + { + for (int i = 0; i < line.EditableLength; i++) { + if (!Char.IsWhiteSpace (doc.GetCharAt (line.Offset + i))) + return false; + } + return true; + } internal static string StripImplicitNamespace (Project project, Dictionary<string,string> tags, string ns) { |