Skip to content

Commit fed6885

Browse files
committed
Feature: Original line numbers maintained.
1 parent 9717c4e commit fed6885

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

Program.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,13 @@ private static void Main(string[] args)
2525
sourceDirectory
2626
.GetFiles("*.cs", SearchOption.AllDirectories)
2727
.Where(f => !ShouldSkipFile(f))
28-
.ToDictionary(o => o.FullName, o => File.ReadLines(o.FullName).Where(ShouldIncludeSourceLine).Select(s => s.Trim()));
28+
.ToDictionary(o => o.FullName, o => File.ReadLines(o.FullName));
2929

3030
// Write header.
3131
using var fileStream = new FileInfo(args[1]).Open(FileMode.Create);
3232
using var writer = new StreamWriter(fileStream);
33-
writer.WriteLine("// CodeIngest Source Dump - A CLI tool that merges and processes .cs files for GPT reviews.");
33+
writer.WriteLine("// CodeIngest Source Dump - A CLI tool that merges and processes code files for GPT reviews.");
3434
writer.WriteLine("// Notes: Comments, namespaces, and using statements removed to reduce noise.");
35-
writer.WriteLine("// Language: C#");
3635

3736
// Combine files into a single output file.
3837
foreach (var kvp in sourceFiles)
@@ -45,7 +44,12 @@ private static void Main(string[] args)
4544

4645
var lineNumber = 1;
4746
foreach (var line in lines)
48-
writer.WriteLine($"{lineNumber++.ToString().PadLeft(padWidth)} | {line}");
47+
{
48+
if (ShouldIncludeSourceLine(line))
49+
writer.WriteLine($"{lineNumber.ToString().PadLeft(padWidth)} | {line.Trim()}");
50+
51+
lineNumber++;
52+
}
4953
}
5054

5155
// Report summary.
@@ -54,7 +58,7 @@ private static void Main(string[] args)
5458
}
5559

5660
private static bool ShouldSkipFile(FileInfo f) =>
57-
new[] {"resx", ".g.", ".designer.", "\\obj\\", "/obj/", "\\bin\\", "/bin/", "assemblyinfo.cs" }.Any(o => f.FullName.Contains(o, StringComparison.OrdinalIgnoreCase));
61+
new[] {"resx", ".g.", ".designer.", "\\obj\\", "/obj/", "\\bin\\", "/bin/", "assemblyinfo.cs", "/.", "\\." }.Any(o => f.FullName.Contains(o, StringComparison.OrdinalIgnoreCase));
5862

5963
private static bool ShouldIncludeSourceLine(string s)
6064
{

0 commit comments

Comments
 (0)