public static string GetHeader(AuthorInformation authorInfo, StandardHeaderPolicy policy, TextStylePolicy textPolicy, string fileName, bool newFile) { string[] comment = Document.GetCommentTags(fileName); if (comment == null) { return(""); } if (string.IsNullOrEmpty(policy.Text) || (newFile && !policy.IncludeInNewFiles)) { return(""); } string result; string eolMarker = TextStylePolicy.GetEolMarker(textPolicy.EolMarker); if (comment.Length == 1) { string cmt = comment[0]; //make sure there's a space between the comment char and the license text if (!char.IsWhiteSpace(cmt[cmt.Length - 1])) { cmt = cmt + " "; } StringBuilder sb = new StringBuilder(policy.Text.Length); string[] lines = policy.Text.Split('\n'); foreach (string line in lines) { if (string.IsNullOrWhiteSpace(line)) { sb.Append(cmt.TrimEnd()); sb.Append(eolMarker); continue; } sb.Append(cmt); sb.Append(line); sb.Append(eolMarker); } result = sb.ToString(); } else { //multiline comment result = String.Concat(comment[0], "\n", policy.Text, "\n", comment[1], "\n"); } return(StringParserService.Parse(result, new string[, ] { { "FileName", Path.GetFileName(fileName) }, { "FileNameWithoutExtension", Path.GetFileNameWithoutExtension(fileName) }, { "Directory", Path.GetDirectoryName(fileName) }, { "FullFileName", fileName }, { "AuthorName", authorInfo.Name }, { "AuthorEmail", authorInfo.Email }, { "CopyrightHolder", authorInfo.Copyright }, })); }
public static string GetHeader(SolutionItem policyParent, string fileName, bool newFile) { StandardHeaderPolicy headerPolicy = policyParent != null?policyParent.Policies.Get <StandardHeaderPolicy> () : MonoDevelop.Projects.Policies.PolicyService.GetDefaultPolicy <StandardHeaderPolicy> (); TextStylePolicy textPolicy = policyParent != null?policyParent.Policies.Get <TextStylePolicy> ("text/plain") : MonoDevelop.Projects.Policies.PolicyService.GetDefaultPolicy <TextStylePolicy> ("text/plain"); AuthorInformation authorInfo = policyParent != null ? policyParent.AuthorInformation : AuthorInformation.Default; return(GetHeader(authorInfo, headerPolicy, textPolicy, fileName, newFile)); }
public void LoadFrom(StandardHeaderPolicy policy) { headerText.Buffer.Text = policy.Text ?? ""; includeAutoCheck.Active = policy.IncludeInNewFiles; }