From d8cfd1e2edd34a1ddb7b7c936ce3424f9d45bbbe Mon Sep 17 00:00:00 2001 From: Isabella Harries Magnusdottir Date: Mon, 13 Apr 2026 19:05:12 +0200 Subject: [PATCH] 4 done --- CoDepend/.codepend/snapshot | Bin 2541 -> 2491 bytes CoDepend/Domain/RendererBase.cs | 13 +++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CoDepend/.codepend/snapshot b/CoDepend/.codepend/snapshot index aa638e386a9c420fe83fb2ee05c97d4985dbf67a..d3b5fb435da98ef55426d5416640e539da06cd84 100644 GIT binary patch delta 1964 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 aYk~Acc16y#jZ#)Z`Dihl NormalizeExtension(FileExtension); + protected abstract string Render(RenderGraph graph, View view, RenderOptions options); public string RenderView(ProjectDependencyGraph graph, View view, RenderOptions options) @@ -96,12 +99,18 @@ public async Task SaveViewToFileAsync(string content, View view, RenderOptions o Directory.CreateDirectory(dir); var diffString = diff ? "-diff" : ""; - var filename = $"{options.BaseOptions.ProjectName}{diffString}-{view.ViewName}.{FileExtension}"; + var filename = $"{options.BaseOptions.ProjectName}{diffString}-{view.ViewName}{NormalizedFileExtension}"; var path = Path.Combine(dir, filename); await File.WriteAllTextAsync(path, content, ct); } + private static string NormalizeExtension(string ext) + { + ext = ext.Trim(); + return ext.StartsWith('.') ? ext : "." + ext; + } + private static RenderGraph BuildRenderGraph( ProjectDependencyGraph graph, View view, @@ -450,4 +459,4 @@ private static bool IsUnderAnyRoot(RelativePath path, IReadOnlySet { return roots.Any(root => path.Value.StartsWith(root.Value, StringComparison.OrdinalIgnoreCase)); } -} +} \ No newline at end of file