/// <summary> /// Inserts a summary into the file's header. /// </summary> /// <param name="file"> /// The file to insert into. /// </param> public void InsertFileHeaderSummary(ICSharpFile file) { FileHeader fileHeader = new FileHeader(file) { Summary = Utils.GetSummaryText(file) }; fileHeader.Update(); }
/// <summary> /// Inserts the file name into the file. /// </summary> /// <param name="file"> /// The file to insert into. /// </param> public void InsertFileName(ICSharpFile file) { string fileName = file.GetSourceFile().ToProjectFile().Location.Name; FileHeader fileHeader = new FileHeader(file) { FileName = fileName }; fileHeader.Update(); }
/// <summary> /// Updates the existing header or inserts one if missing. /// </summary> /// <param name="file"> /// THe file to check the header on. /// </param> public void InsertFileHeader(ICSharpFile file) { FileHeader fileHeader = new FileHeader(file); DocumentationRulesConfiguration docConfig = this.GetDocumentationRulesConfig(file); fileHeader.FileName = file.GetSourceFile().ToProjectFile().Location.Name; fileHeader.CompanyName = docConfig.CompanyName; fileHeader.CopyrightText = docConfig.Copyright; fileHeader.Summary = Utils.GetSummaryText(file); fileHeader.Update(); }
/// <summary> /// Inserts copyright text into the file's header. /// </summary> /// <param name="file"> /// The file to insert the company name into. /// </param> public void InsertCopyrightText(ICSharpFile file) { DocumentationRulesConfiguration docConfig = this.GetDocumentationRulesConfig(file); FileHeader fileHeader = new FileHeader(file) { CopyrightText = docConfig.Copyright }; fileHeader.Update(); }
/// <summary> /// Inserts the company name into the file's header. /// </summary> /// <param name="file"> /// The file to insert the company name into. /// </param> public void InsertCompanyName(ICSharpFile file) { DocumentationRulesConfiguration docConfig = this.GetDocumentationRulesConfig(file); FileHeader fileHeader = new FileHeader(file) { CompanyName = docConfig.CompanyName }; fileHeader.Update(); }
/// <summary> /// Inserts any missing items from the file header. /// Also formats the existing header ensuring that the top and bottom line start with 2 slashes and a space and that a newline follows the header. /// </summary> /// <param name="options"> /// The options. /// </param> /// <param name="file"> /// The file to update. /// </param> private void UpdateFileHeader(DocumentationOptions options, ICSharpFile file) { // The idea here is to load the existing header into our FileHeader object // The FileHeader object will ensure that the format of the header is correct even if we're not changing its contents // Thus we'll swap it out if its changed at the end. string fileName = file.GetSourceFile().ToProjectFile().Location.Name; UpdateFileHeaderStyle updateFileHeaderOption = options.SA1633SA1641UpdateFileHeader; if (updateFileHeaderOption == UpdateFileHeaderStyle.Ignore) { return; } DocumentationRulesConfiguration docConfig = this.GetDocumentationRulesConfig(file); string summaryText = Utils.GetSummaryText(file); FileHeader fileHeader = new FileHeader(file) { InsertSummary = options.SA1639FileHeaderMustHaveSummary }; switch (updateFileHeaderOption) { case UpdateFileHeaderStyle.ReplaceCopyrightElement: fileHeader.FileName = fileName; fileHeader.CompanyName = docConfig.CompanyName; fileHeader.CopyrightText = docConfig.Copyright; fileHeader.Summary = string.IsNullOrEmpty(fileHeader.Summary) ? summaryText : fileHeader.Summary; break; case UpdateFileHeaderStyle.ReplaceAll: fileHeader.FileName = fileName; fileHeader.CompanyName = docConfig.CompanyName; fileHeader.CopyrightText = docConfig.Copyright; fileHeader.Summary = summaryText; break; case UpdateFileHeaderStyle.InsertMissing: fileHeader.FileName = string.IsNullOrEmpty(fileHeader.FileName) ? fileName : fileHeader.FileName; fileHeader.CompanyName = string.IsNullOrEmpty(fileHeader.CompanyName) ? docConfig.CompanyName : fileHeader.CompanyName; fileHeader.CopyrightText = string.IsNullOrEmpty(fileHeader.CopyrightText) ? docConfig.Copyright : fileHeader.CopyrightText; fileHeader.Summary = string.IsNullOrEmpty(fileHeader.Summary) ? summaryText : fileHeader.Summary; break; } fileHeader.Update(); }
/// <summary> /// Executes <see cref="styleCopCore"/> within the <see cref="OnViolationEncountered"/>. /// </summary> /// <remarks> /// Violations are raised as events, handled by <see cref="IProjectFile"/>. /// </remarks> /// <param name="projectFile"> /// <see cref="StyleCopStageProcess"/>representing the file currently being parsed by ReSharper. /// </param> /// <param name="document"> /// The document being checked. /// </param> public void Execute(IProjectFile projectFile, IDocument document) { StyleCopTrace.In(projectFile, document); if (projectFile == null) { return; } this.Initialize(); this.violationHighlights.Clear(); if (!this.styleCopSettings.SkipAnalysisForDocument(projectFile)) { FileHeader fileHeader = new FileHeader(Utils.GetCSharpFile(projectFile.GetSolution(), document)); if (!fileHeader.UnStyled && StyleCopReferenceHelper.EnsureStyleCopIsLoaded()) { this.file = projectFile; this.document = document; this.RunStyleCop(document); } } StyleCopTrace.Out(); }