Cross Platform Terminal UI toolkit for .NET
This report summarizes scanner evidence for tui-cs/Terminal.Gui, a C# project with 11,256 GitHub stars. SynthScan examined 418,490 lines of code across 1678 source files, recording 1954 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 5.3 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1819 finding(s).
Are imports declared and package/API names verified? 9 finding(s).
Are wrappers, guards, and repeated structures necessary? 126 finding(s).
Which changes need focused human review? 1954 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1954 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | GitVersion.yml | 1 | # This file configures GitVersion 6.x to work with Terminal.Gui's GitFlow branching strategy. | COMMENT |
| LOW | GitVersion.yml | 41 | # Specifies develop as the source branch | COMMENT |
| LOW | GitVersion.yml | 61 | # increment: Minor | COMMENT |
| LOW | Tools/MigrateConfig/Program.cs | 1 | // Migrates a pre-MEC Terminal.Gui config.json (flat-key, array-themes shape) | COMMENT |
| LOW | docfx/docs/drivers.md | 121 | Logging.Information($" Platforms: {string.Join(", ", descriptor.SupportedPlatforms)}"); | COMMENT |
| LOW | docfx/docs/input-injection.md | 361 | /// Abstraction for time-related operations, allowing virtual time in tests. | COMMENT |
| LOW | docfx/docs/input-injection.md | 441 | **Purpose:** Provide input records to the input processor | COMMENT |
| LOW | docfx/docs/input-injection.md | 601 | IInputSource InputSource { get; } | COMMENT |
| LOW | docfx/docs/input-injection.md | 741 | ```csharp | COMMENT |
| LOW | Tests/AppTestHelpers/AppTestHelper.Navigation.cs | 21 | { | COMMENT |
| LOW | Tests/AppTestHelpers/AppTestHelper.cs | 221 | .Create (builder => builder.SetMinimumLevel (LogLevel.Trace) | COMMENT |
| LOW | Tests/AppTestHelpers/With.cs | 1 | | COMMENT |
| LOW | Tests/AppTestHelpers/AppTestHelper.Snapshot.cs | 1 | using System.Runtime.CompilerServices; | COMMENT |
| LOW | Tests/AppTestHelpers/AppTestHelper.Snapshot.cs | 21 | /// Complements <see cref="AnsiScreenShot" /> (which only dumps to a writer): this | COMMENT |
| LOW | Tests/AppTestHelpers/TestDriver.cs | 1 | namespace AppTestHelpers; | COMMENT |
| LOW | Tests/AppTestHelpers/AppTestHelper.Input.cs | 61 | /// <paramref name="evaluator"/>. | COMMENT |
| LOW | Tests/UnitTests.Legacy/TestLogging.cs | 1 | #nullable enable | COMMENT |
| LOW | Tests/UnitTests.Legacy/TestLogging.cs | 21 | /// using (TestLogging.BindTo(_output)) | COMMENT |
| LOW | Tests/UnitTests.Legacy/TestLogging.cs | 41 | /// Binds Terminal.Gui logging to xUnit output with verbose logging (Trace and above). | COMMENT |
| LOW | Tests/UnitTests.Legacy/TestLogging.cs | 61 | /// and enables the specified trace categories. | COMMENT |
| LOW | Tests/UnitTests.Legacy/OutputAssert.cs | 1 | namespace UnitTests; | COMMENT |
| LOW | Tests/UnitTests.Legacy/DriverAssert.cs | 81 | output.WriteLine ($" Expected: {userExpected} ({expectedAttributes [int.Parse (userExpected.ToString | COMMENT |
| LOW | Tests/UnitTests.Legacy/DriverAssert.cs | 101 | // if (val2.HasValue) | COMMENT |
| LOW | Tests/StressTests/ApplicationStressTests.cs | 21 | /// <summary> | COMMENT |
| LOW | Tests/PerformanceTests/ScrollingPerformanceTests.cs | 1 | // Copilot | COMMENT |
| LOW | Tests/IntegrationTests/TabsFanOutIntegrationTests.cs | 1 | using System.Text; | COMMENT |
| LOW | Tests/IntegrationTests/ProgressScenarioTests.cs | 1 | // Claude - Opus 4.8 (1M context) | COMMENT |
| LOW | Tests/Benchmarks/ViewBase/ScenarioMemoryBenchmark.cs | 1 | using Terminal.Gui.App; | COMMENT |
| LOW | Tests/Benchmarks/ViewBase/ViewMemoryBenchmark.cs | 1 | using Terminal.Gui.App; | COMMENT |
| LOW | …marks/EnumExtensions/HasFlagVsFastHasFlagsBenchmark.cs | 1 | using BenchmarkDotNet.Attributes; | COMMENT |
| LOW | …nchmarks/Configuration/SchemeSerializationBenchmark.cs | 1 | using System.Text.Json; | COMMENT |
| LOW | Tests/Benchmarks/Configuration/ThemeSwitchBenchmark.cs | 1 | using BenchmarkDotNet.Attributes; | COMMENT |
| LOW | …Configuration/TuiConfigurationBuilderBuildBenchmark.cs | 1 | using BenchmarkDotNet.Attributes; | COMMENT |
| LOW | …s/Benchmarks/Configuration/SchemeAttributeBenchmark.cs | 1 | using BenchmarkDotNet.Attributes; | COMMENT |
| LOW | Tests/Benchmarks/Scrolling/BaselineScrollBenchmark.cs | 1 | using System.Drawing; | COMMENT |
| LOW | Tests/Benchmarks/Views/ButtonDrawBenchmark.cs | 1 | using BenchmarkDotNet.Attributes; | COMMENT |
| LOW | Tests/Benchmarks/Views/ButtonDrawBenchmark.cs | 21 | /// <para> | COMMENT |
| LOW | …ks/ConsoleDrivers/OutputBuffer/OutputWriteBenchmark.cs | 1 | using System.Diagnostics; | COMMENT |
| LOW | …itTestsParallelizable/ViewBase/CommandBubblingTests.cs | 921 | COMMENT | |
| LOW | …itTestsParallelizable/ViewBase/CommandBubblingTests.cs | 941 | /// Topology (uses only View base classes): | COMMENT |
| LOW | …itTestsParallelizable/ViewBase/CommandBubblingTests.cs | 1001 | Assert.Contains (traceBackend.Entries, e => e.Phase == "BridgedCancellation" && e.Message!.Contains ("OnActivate | COMMENT |
| LOW | …itTestsParallelizable/ViewBase/CommandBubblingTests.cs | 1061 | // No BridgedCancellation warning — this is a direct containment path. | COMMENT |
| LOW | …itTestsParallelizable/ViewBase/CommandBubblingTests.cs | 1121 | COMMENT | |
| LOW | …s/UnitTestsParallelizable/ViewBase/ViewCommandTests.cs | 1681 | /// A minimal composite view that relays <see cref="Command.Activate"/> to a dispatch | COMMENT |
| LOW | …s/UnitTestsParallelizable/ViewBase/ViewCommandTests.cs | 2061 | /// Replicates the BUGBUG at PopoverMenus.cs line 192: when a <see cref="CommandBridge"/> | COMMENT |
| LOW | …s/UnitTestsParallelizable/ViewBase/ViewCommandTests.cs | 2121 | COMMENT | |
| LOW | …s/UnitTestsParallelizable/ViewBase/ViewCommandTests.cs | 2181 | Assert.Equal (0, valueAtAncestorActivating); | COMMENT |
| LOW | …s/UnitTestsParallelizable/ViewBase/ViewCommandTests.cs | 2241 | Assert.Equal (1, valueAtAncestorAccepting); // Was already 1 when ancestor saw it | COMMENT |
| LOW | …arallelizable/ViewBase/Arrangement/ArrangementTests.cs | 641 | COMMENT | |
| LOW | …tTestsParallelizable/ViewBase/Layout/Pos.AlignTests.cs | 21 | { | COMMENT |
| LOW | …tTestsParallelizable/ViewBase/Layout/Pos.AlignTests.cs | 41 | // { | COMMENT |
| LOW | …tTestsParallelizable/ViewBase/Layout/Pos.AlignTests.cs | 61 | //public void PosAlign_Equals_CachedLocation_Not_Used () | COMMENT |
| LOW | …izable/ViewBase/Layout/StaleContentSizeCaptureTests.cs | 1 | // Copilot | COMMENT |
| LOW | …izable/ViewBase/Layout/StaleContentSizeCaptureTests.cs | 321 | /// updated value rather than the size captured before the event fired. See issue #4522. | COMMENT |
| LOW | …rallelizable/ViewBase/Layout/LayoutConvergenceTests.cs | 1 | // Claude - Opus 4.8 | COMMENT |
| LOW | …able/ViewBase/Layout/SetNeedsLayoutPropagationTests.cs | 1 | namespace ViewBaseTests.Layout; | COMMENT |
| LOW | …TestsParallelizable/ViewBase/Layout/CollectDimTests.cs | 1 | #nullable enable | COMMENT |
| LOW | …Parallelizable/ViewBase/Draw/SubViewOnlyRedrawTests.cs | 1 | using UnitTests; | COMMENT |
| LOW | …sParallelizable/ViewBase/Draw/OcclusionCullingTests.cs | 1 | using UnitTests; | COMMENT |
| LOW | …zable/ViewBase/Draw/AdornmentSubViewLineCanvasTests.cs | 1 | // Copilot | COMMENT |
| 1656 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Tests/PerformanceTests/ScrollingPerformanceTests.cs | 26 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | Tests/PerformanceTests/ScrollingPerformanceTests.cs | 28 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | Tests/PerformanceTests/ScrollingPerformanceTests.cs | 113 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | Tests/PerformanceTests/ScrollingPerformanceTests.cs | 115 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | Tests/PerformanceTests/ScrollingPerformanceTests.cs | 201 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | Tests/PerformanceTests/ScrollingPerformanceTests.cs | 203 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | Tests/PerformanceTests/ScrollingPerformanceTests.cs | 254 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | Tests/PerformanceTests/ScrollingPerformanceTests.cs | 256 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …marks/EnumExtensions/HasFlagVsFastHasFlagsBenchmark.cs | 60 | // ── MouseFlags (Rank 1 — 122 call sites in mouse input hot path) ────────── | COMMENT |
| MEDIUM | …marks/EnumExtensions/HasFlagVsFastHasFlagsBenchmark.cs | 94 | // ── ViewArrangement (Rank 2 — 42 call sites in layout / arrangement) ────── | COMMENT |
| MEDIUM | …marks/EnumExtensions/HasFlagVsFastHasFlagsBenchmark.cs | 162 | // ── MouseState (Rank 4 — 14 call sites in mouse state tracking) ─────────── | COMMENT |
| MEDIUM | …marks/EnumExtensions/HasFlagVsFastHasFlagsBenchmark.cs | 196 | // ── KeyCode (Rank 5 — 11 call sites in keyboard input) ──────────────────── | COMMENT |
| MEDIUM | …zable/ViewBase/Draw/AdornmentSubViewLineCanvasTests.cs | 59 | // Expected: ──═══── (double-line from SubView merged with view's single-line) | COMMENT |
| MEDIUM | …lelizable/ViewBase/Adornment/BorderTransparentTests.cs | 685 | // "ZZZ" should render at the last row of the border (below └─────┘). | STRING |
| MEDIUM | …lelizable/ViewBase/Adornment/BorderTransparentTests.cs | 770 | // Row 0: ┌────────┐XX border top | STRING |
| MEDIUM | …lelizable/ViewBase/Adornment/BorderTransparentTests.cs | 774 | // Row 4: └────────┘XX border bottom | STRING |
| MEDIUM | …lelizable/ViewBase/Adornment/BorderTransparentTests.cs | 860 | // Row 1: ┌──────┐XXXXX border top | STRING |
| MEDIUM | …lelizable/ViewBase/Adornment/BorderTransparentTests.cs | 862 | // Row 3: └──────┘XXXXX border bottom | STRING |
| MEDIUM | …lelizable/ViewBase/Adornment/BorderTransparentTests.cs | 977 | // Row 1: ┌──────┐ border top | STRING |
| MEDIUM | …lelizable/ViewBase/Adornment/BorderTransparentTests.cs | 979 | // Row 3: └──────┘ border bottom | STRING |
| MEDIUM | …lelizable/ViewBase/Adornment/BorderTransparentTests.cs | 1043 | // Row 0: ┌──────────┐XX border top line: opaque (drawn line chars) | STRING |
| MEDIUM | …lelizable/ViewBase/Adornment/BorderTransparentTests.cs | 1048 | // Row 5: └──────────┘XX border bottom line: opaque | STRING |
| MEDIUM⚡ | …izable/ViewBase/Adornment/OverlappedLineCanvasTests.cs | 80 | // Row 1: │ │──────┐ viewFront sides + viewBack top (occluded under viewFront) | COMMENT |
| MEDIUM⚡ | …izable/ViewBase/Adornment/OverlappedLineCanvasTests.cs | 82 | // Row 3: │ └──────┘ viewBack sides/bottom | COMMENT |
| MEDIUM⚡ | …izable/ViewBase/Adornment/OverlappedLineCanvasTests.cs | 83 | // Row 4: └──────┘ viewBack bottom (but viewFront doesn't reach here) | COMMENT |
| MEDIUM | …izable/ViewBase/Adornment/OverlappedLineCanvasTests.cs | 157 | // Row 2: viewFront has │ │ (sides), viewBack has ┌──────┐ (top) | COMMENT |
| MEDIUM | …izable/ViewBase/Adornment/OverlappedLineCanvasTests.cs | 373 | // Row 1: │ │─────┐ (viewFront sides; viewBack top partially visible) | STRING |
| MEDIUM | …izable/ViewBase/Adornment/OverlappedLineCanvasTests.cs | 376 | // Row 4: └──────────┘ (viewBack bottom) | STRING |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 13 | // ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 15 | // ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 65 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 67 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 234 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 236 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 296 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 298 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 376 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …rallelizable/ViewBase/Adornment/TabCompositionTests.cs | 378 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 230 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 233 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 475 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 478 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 697 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 700 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 762 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 765 | // ════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 1533 | // ════════════════════════════════════════════════════════════════════ | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 1537 | // ════════════════════════════════════════════════════════════════════ | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2191 | // ════════════════════════════════════════════════════════════════════ | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2194 | // ════════════════════════════════════════════════════════════════════ | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2422 | // ════════════════════════════════════════════════════════════════════ | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2427 | // ════════════════════════════════════════════════════════════════════ | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2501 | // ──────────────────────────────────────────────────────────────────── | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2503 | // ──────────────────────────────────────────────────────────────────── | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2560 | // ──────────────────────────────────────────────────────────────────── | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2563 | // ──────────────────────────────────────────────────────────────────── | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2758 | // ──────────────────────────────────────────────────────────────────── | STRING |
| MEDIUM | …tsParallelizable/ViewBase/Adornment/BorderViewTests.cs | 2760 | // ──────────────────────────────────────────────────────────────────── | STRING |
| MEDIUM | …itTestsParallelizable/Drawing/Lines/LineCanvasTests.cs | 1339 | // ╔╡╞═════╗ | COMMENT |
| MEDIUM | Tests/UnitTestsParallelizable/Views/GraphViewTests.cs | 13 | // ─── Coordinate conversion ────────────────────────────────────────────────── | COMMENT |
| 62 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | docfx/docs/cancellable-work-pattern.md | 155 | // Step 1: Call virtual method (subclass gets first chance) | COMMENT |
| LOW⚡ | docfx/docs/cancellable-work-pattern.md | 161 | // Step 2: Raise event (external subscribers get a chance) | COMMENT |
| LOW⚡ | docfx/docs/cancellable-work-pattern.md | 168 | // Step 3: Execute default behavior | COMMENT |
| LOW | docfx/docs/events.md | 94 | #### Step 1: Define the Events and Virtual Methods | COMMENT |
| LOW | docfx/docs/events.md | 115 | #### Step 2: Implement the Property with CWPPropertyHelper | COMMENT |
| LOW | docfx/docs/events.md | 145 | #### Step 3: Consuming the Events | COMMENT |
| LOW⚡ | docfx/docs/events.md | 209 | // Step 1: Call virtual method (subclass gets first chance) | COMMENT |
| LOW⚡ | docfx/docs/events.md | 215 | // Step 2: Raise event (external subscribers get a chance) | COMMENT |
| LOW⚡ | docfx/docs/events.md | 223 | // Step 3: Execute default behavior | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 448 | // Step 2: Open the Test menu | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 452 | // Step 3: Navigate within the OptionSelector to Error | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 461 | // Step 4: Press Space to activate | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 467 | // Step 5: Assert | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 590 | // Step 2: Open the Test menu | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 594 | // Step 6: Click directly on the Error checkbox WITHOUT keyboard navigation first. | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 659 | // Step 2: Open the Test menu | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 663 | // Step 6: Click directly on the Error checkbox WITHOUT keyboard navigation first. | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 726 | // Step 2: Open the Test menu | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 730 | // Step 6: Click directly on the Error checkbox WITHOUT keyboard navigation first. | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 414 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 491 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 532 | // Step 5: Assert | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 556 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 615 | // Step 5: Assert | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 634 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 683 | // Step 5: Assert | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 701 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 752 | // Step 5: Assert | COMMENT |
| LOW⚡ | …arallelizable/Drawing/Region/ZeroAreaRectangleTests.cs | 177 | // Step 1: Build lineRegion matching the raw line canvas output | COMMENT |
| LOW⚡ | …arallelizable/Drawing/Region/ZeroAreaRectangleTests.cs | 183 | // Step 2: Intersect with adornment frame — this creates the zero-width rect | COMMENT |
| LOW⚡ | …arallelizable/Drawing/Region/ZeroAreaRectangleTests.cs | 186 | // Step 3: Build exclusion region | COMMENT |
| LOW⚡ | …arallelizable/Drawing/Region/ZeroAreaRectangleTests.cs | 191 | // Step 4: Union lineRegion into exclusion — this is where the bug manifests | COMMENT |
| LOW⚡ | …UnitTestsParallelizable/Drivers/Output/AddRuneTests.cs | 243 | // Step 1: Draw initial content - a wide glyph at column 1 with white-on-black | COMMENT |
| LOW⚡ | …UnitTestsParallelizable/Drivers/Output/AddRuneTests.cs | 253 | // Step 2: Now redraw the SAME wide glyph at column 1 but with a DIFFERENT attribute (red-on-yellow) | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 448 | // Step 1: Extract items | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 453 | // Step 2: RemoveAll from Root | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 458 | // Step 3: RemoveAll from PopoverMenu to detach cascading SubMenus, then dispose | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 465 | // Step 4: Create new inline Menu | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 470 | // Step 5: BeginInit + EndInit on inline Menu | COMMENT |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 14 | /// Step 0: All 5 tabs fit in 26 columns. No scroll needed. Tab1 selected. | COMMENT |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 55 | /// Step 1: Width reduced to 18. Tab1 selected. Tab4 clipped, Tab5 off-screen. | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 280 | /// Step 2: Width 18, Tab2 selected. No scroll offset change, just focus change. | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 324 | /// Step 4: Select Tab4 to scroll right, then select Tab2. EnsureTabVisible scrolls | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 377 | /// Step 6: Select Tab4 with width 18. Tab1 partially clipped, Tab5 partially visible. | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 423 | /// Step 9: Select Tab1 after being scrolled. EnsureTabVisible scrolls back to offset 0. | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 472 | /// Step 11: Width back to 26. All tabs fit. No scroll indicators. Tab4 selected. | STRING |
| LOW | …al.Gui/Drawing/Quant/PopularityPaletteWithThreshold.cs | 33 | // Step 1: Build the histogram of colors (count occurrences) | COMMENT |
| LOW⚡ | …al.Gui/Drawing/Quant/PopularityPaletteWithThreshold.cs | 50 | // Step 2: Merge similar colors using the color distance threshold | COMMENT |
| LOW⚡ | …al.Gui/Drawing/Quant/PopularityPaletteWithThreshold.cs | 53 | // Step 3: Sort the histogram by frequency (most frequent colors first) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 448 | // Step 2: Open the Test menu | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 452 | // Step 3: Navigate within the OptionSelector to Error | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 461 | // Step 4: Press Space to activate | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 467 | // Step 5: Assert | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 590 | // Step 2: Open the Test menu | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 594 | // Step 6: Click directly on the Error checkbox WITHOUT keyboard navigation first. | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 659 | // Step 2: Open the Test menu | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 663 | // Step 6: Click directly on the Error checkbox WITHOUT keyboard navigation first. | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 726 | // Step 2: Open the Test menu | COMMENT |
| LOW⚡ | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 730 | // Step 6: Click directly on the Error checkbox WITHOUT keyboard navigation first. | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 414 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 491 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 532 | // Step 5: Assert | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 556 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 615 | // Step 5: Assert | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 634 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 683 | // Step 5: Assert | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 701 | // Step 1: Build a simple MenuBar with an OptionSelector directly in the root Menu | COMMENT |
| LOW | Tests/IntegrationTests/FluentTests/MenuBarTests.cs | 752 | // Step 5: Assert | COMMENT |
| LOW⚡ | …arallelizable/Drawing/Region/ZeroAreaRectangleTests.cs | 177 | // Step 1: Build lineRegion matching the raw line canvas output | COMMENT |
| LOW⚡ | …arallelizable/Drawing/Region/ZeroAreaRectangleTests.cs | 183 | // Step 2: Intersect with adornment frame — this creates the zero-width rect | COMMENT |
| LOW⚡ | …arallelizable/Drawing/Region/ZeroAreaRectangleTests.cs | 186 | // Step 3: Build exclusion region | COMMENT |
| LOW⚡ | …arallelizable/Drawing/Region/ZeroAreaRectangleTests.cs | 191 | // Step 4: Union lineRegion into exclusion — this is where the bug manifests | COMMENT |
| LOW⚡ | …UnitTestsParallelizable/Drivers/Output/AddRuneTests.cs | 243 | // Step 1: Draw initial content - a wide glyph at column 1 with white-on-black | COMMENT |
| LOW⚡ | …UnitTestsParallelizable/Drivers/Output/AddRuneTests.cs | 253 | // Step 2: Now redraw the SAME wide glyph at column 1 but with a DIFFERENT attribute (red-on-yellow) | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 448 | // Step 1: Extract items | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 453 | // Step 2: RemoveAll from Root | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 458 | // Step 3: RemoveAll from PopoverMenu to detach cascading SubMenus, then dispose | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 465 | // Step 4: Create new inline Menu | COMMENT |
| LOW⚡ | …Parallelizable/Views/MenuBarItemWithoutPopoverTests.cs | 470 | // Step 5: BeginInit + EndInit on inline Menu | COMMENT |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 14 | /// Step 0: All 5 tabs fit in 26 columns. No scroll needed. Tab1 selected. | COMMENT |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 55 | /// Step 1: Width reduced to 18. Tab1 selected. Tab4 clipped, Tab5 off-screen. | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 280 | /// Step 2: Width 18, Tab2 selected. No scroll offset change, just focus change. | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 324 | /// Step 4: Select Tab4 to scroll right, then select Tab2. EnsureTabVisible scrolls | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 377 | /// Step 6: Select Tab4 with width 18. Tab1 partially clipped, Tab5 partially visible. | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 423 | /// Step 9: Select Tab1 after being scrolled. EnsureTabVisible scrolls back to offset 0. | STRING |
| LOW | …estsParallelizable/Views/TabView/TabsScrollingTests.cs | 472 | /// Step 11: Width back to 26. All tabs fit. No scroll indicators. Tab4 selected. | STRING |
| LOW | …al.Gui/Drawing/Quant/PopularityPaletteWithThreshold.cs | 33 | // Step 1: Build the histogram of colors (count occurrences) | COMMENT |
| LOW⚡ | …al.Gui/Drawing/Quant/PopularityPaletteWithThreshold.cs | 50 | // Step 2: Merge similar colors using the color distance threshold | COMMENT |
| LOW⚡ | …al.Gui/Drawing/Quant/PopularityPaletteWithThreshold.cs | 53 | // Step 3: Sort the histogram by frequency (most frequent colors first) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/Benchmarks/Text/TextFormatter/ReplaceCRLFWithSpace.cs | 0 | ĺόŕéḿ íṕśúḿ d́όĺόŕ śít́ áḿét́, ćόńśéćt́ét́úŕ ád́íṕíśćíńǵ éĺít́. ṕŕáéśéńt́ q́úíś ĺúćt́úś éĺít́. íńt́éǵéŕ út́ áŕćú éǵét́ d | STRING |
| HIGH | Tests/Benchmarks/Text/TextFormatter/StripCRLF.cs | 0 | ĺόŕéḿ íṕśúḿ d́όĺόŕ śít́ áḿét́, ćόńśéćt́ét́úŕ ád́íṕíśćíńǵ éĺít́. ṕŕáéśéńt́ q́úíś ĺúćt́úś éĺít́. íńt́éǵéŕ út́ áŕćú éǵét́ d | STRING |
| HIGH | …Benchmarks/Text/StringExtensions/ToStringEnumerable.cs | 0 | ĺόŕéḿ íṕśúḿ d́όĺόŕ śít́ áḿét́, ćόńśéćt́ét́úŕ ád́íṕíśćíńǵ éĺít́. ṕŕáéśéńt́ q́úíś ĺúćt́úś éĺít́. íńt́éǵéŕ út́ áŕćú éǵét́ d | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .claude/POST-GENERATION-VALIDATION.md | 306 | - Are the #1 complaint about AI-generated code | CODE |
| HIGH | Terminal.Gui/Resources/Strings.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Tests/UnitTestsParallelizable/Application/InitTests.cs | 7 | /// These tests ensure the fragile state management logic is robust and catches regressions. | COMMENT |
| MEDIUM | …s/UnitTestsParallelizable/Application/BeginEndTests.cs | 7 | /// These tests ensure the fragile state management logic is robust and catches regressions. | COMMENT |
| MEDIUM | Terminal.Gui/ViewBase/View.Drawing.cs | 684 | // Draw the SubViews in reverse Z-order to leverage clipping. | COMMENT |
| MEDIUM | Terminal.Gui/Drawing/LineCanvas/LineCanvas.cs | 21 | /// intersection-resolution pass, producing seamless junctions across view boundaries. This is how | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …exported_templates/modern/public/chunk-LXB37CFX.min.js | 1 | import{Ga as gt,a as xt,bb as dt}from"./chunk-YEACHCAA.min.js";import{c as ue}from"./chunk-XUHMPXWX.min.js";var ae={};fu | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …exported_templates/modern/public/chunk-YEACHCAA.min.js | 1 | import{b as za,d as qa}from"./chunk-XUHMPXWX.min.js";var Tc=za((Wa,Ua)=>{(function(t,e){typeof Wa=="object"&&typeof Ua<" | CODE |
| LOW | …/Benchmarks/Text/TextFormatter/ReplaceCRLFWithSpace.cs | 86 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed euismod metus. Phasellus lectus metus, u | CODE |
| LOW | …/Benchmarks/Text/TextFormatter/ReplaceCRLFWithSpace.cs | 86 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed euismod metus. Phasellus lectus metus, u | CODE |
| LOW | Tests/Benchmarks/Text/TextFormatter/StripCRLF.cs | 100 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed euismod metus. Phasellus lectus metus, u | CODE |
| LOW | Tests/Benchmarks/Text/TextFormatter/StripCRLF.cs | 100 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed euismod metus. Phasellus lectus metus, u | CODE |
| LOW | …Benchmarks/Text/TextFormatter/RemoveHotKeySpecifier.cs | 74 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed euismod metus. _Phasellus lectus metus, ultricies | CODE |
| LOW | …Benchmarks/Text/TextFormatter/RemoveHotKeySpecifier.cs | 74 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sed euismod metus. _Phasellus lectus metus, ultricies | CODE |
| LOW | Examples/UICatalog/Scenarios/ColorPicker.cs | 93 | Text = "Lorem Ipsum", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/finalize-release.yml | 107 | # Create a branch from main for the back-merge | COMMENT |
| MEDIUM | .github/workflows/finalize-release.yml | 111 | # Create the PR | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Terminal.Gui/ViewBase/WeakReferenceExtensions.cs | 42 | /// Example usage: | COMMENT |
| LOW | Terminal.Gui/App/IApplication.cs | 658 | /// Example usage: | COMMENT |
| LOW | Terminal.Gui/Input/CommandContextExtensions.cs | 28 | /// Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …Parallelizable/ViewBase/Layout/Dim.AutoTests.MinMax.cs | 192 | // TODO: Add tests | COMMENT |
| LOW | Tests/UnitTestsParallelizable/Views/ScrollBarTests.cs | 305 | // TODO: Add tests. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Terminal.Gui/App/Application.cs | 44 | /// Here's a simple example of how to create and run a Terminal.Gui application using the modern instance-based | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/perf-gate.yml | 146 | except Exception as e: | CODE |