Skip to content

Commit

Permalink
Merge pull request #24 from flcdrg/FixLineEndings
Browse files Browse the repository at this point in the history
Ensure generated text always uses Windows line endings
  • Loading branch information
mganss authored Apr 5, 2017
2 parents 39dec11 + 133663d commit fc8d0cb
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 12 deletions.
7 changes: 7 additions & 0 deletions XmlSchemaClassGenerator/CodeUtilities.cs
Original file line number Diff line number Diff line change
Expand Up @@ -220,5 +220,12 @@ public static string GetUniqueFieldName(this TypeModel typeModel, PropertyModel

return string.Format("{0}{1}", propBackingFieldName, i);
}

static readonly Regex NormalizeNewlinesRegex = new Regex(@"(^|[^\r])\n",RegexOptions.Compiled);

internal static string NormalizeNewlines(string text)
{
return NormalizeNewlinesRegex.Replace(text, "$1\r\n");
}
}
}
24 changes: 12 additions & 12 deletions XmlSchemaClassGenerator/TypeModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,9 @@ public static IEnumerable<CodeCommentStatement> GetComments(IEnumerable<Document

foreach (var doc in docs.OrderBy(d => d.Language))
{
var text = doc.Text;
var comment = string.Format(@"<para{0}>{1}</para>",
string.IsNullOrEmpty(doc.Language) ? "" : string.Format(@" xml:lang=""{0}""", doc.Language),
Regex.Replace(doc.Text, @"(^|[^\r])\n", "$1\r\n")); // normalize newlines
string.IsNullOrEmpty(doc.Language) ? "" : string.Format(@" xml:lang=""{0}""", doc.Language), CodeUtilities.NormalizeNewlines(text));
yield return new CodeCommentStatement(comment, true);
}

Expand Down Expand Up @@ -435,7 +435,7 @@ internal static string GetAccessors(string memberName, string backingFieldName,
switch (typeCode)
{
case PropertyValueTypeCode.ValueType:
return string.Format(@"
return CodeUtilities.NormalizeNewlines(string.Format(@"
{{
get
{{
Expand All @@ -449,9 +449,9 @@ internal static string GetAccessors(string memberName, string backingFieldName,
OnPropertyChanged(""{1}"");
}}
}}
}}", backingFieldName, memberName, (privateSetter ? "private " : string.Empty));
}}", backingFieldName, memberName, (privateSetter ? "private " : string.Empty)));
case PropertyValueTypeCode.Other:
return string.Format(@"
return CodeUtilities.NormalizeNewlines(string.Format(@"
{{
get
{{
Expand All @@ -467,9 +467,9 @@ internal static string GetAccessors(string memberName, string backingFieldName,
OnPropertyChanged(""{1}"");
}}
}}
}}", backingFieldName, memberName, (privateSetter ? "private " : string.Empty));
}}", backingFieldName, memberName, (privateSetter ? "private " : string.Empty)));
case PropertyValueTypeCode.Array:
return string.Format(@"
return CodeUtilities.NormalizeNewlines(string.Format(@"
{{
get
{{
Expand All @@ -485,23 +485,23 @@ internal static string GetAccessors(string memberName, string backingFieldName,
OnPropertyChanged(""{1}"");
}}
}}
}}", backingFieldName, memberName, (privateSetter ? "private " : string.Empty));
}}", backingFieldName, memberName, (privateSetter ? "private " : string.Empty)));
}
}

if (privateSetter)
{
return string.Format(@"
return CodeUtilities.NormalizeNewlines(string.Format(@"
{{
get
{{
return this.{0};
}}
}}", backingFieldName);
}}", backingFieldName));
}
else
{
return string.Format(@"
return CodeUtilities.NormalizeNewlines(string.Format(@"
{{
get
{{
Expand All @@ -511,7 +511,7 @@ internal static string GetAccessors(string memberName, string backingFieldName,
{{
this.{0} = value;
}}
}}", backingFieldName);
}}", backingFieldName));
}
}

Expand Down

0 comments on commit fc8d0cb

Please sign in to comment.