CLI banner + NuGet auto-update; TUI migration to Terminal.Gui 2.0.1#34
Merged
Conversation
added 8 commits
April 29, 2026 15:11
- Replace TabView/Tab with Tabs API per Terminal.Gui v2.0.1 (PR #3808) - Set Title on each child view; select via tabs.Value instead of andSelect - Replace SelectedTab?.View lookup with tabs.Value (already View?)
- Add DetailTabBarView: single-row click-to-switch tab strip with arrow/[] navigation hints. Mirrors the existing TopTabBarView pattern. - Replace v2.0.1 Tabs widget with manual mount/unmount of detail content in detailContent. Tabs widget had focus-migration, z-order, and click hit-test issues that didn't converge. - Replace TextView with ColoredOutputView for Extensions and Raw YAML. TextView.OnDrawingContent in v2.0.1 iterates all lines below Viewport.Y (no viewport-bottom break), and View.Viewport setter unconditionally invalidates layout — both visible as per-keystroke scroll lag on long YAML. - Add internal topRow scroll state to ColoredOutputView with a Scroll(delta) method that calls only SetNeedsDraw on this view, bypassing the framework Viewport setter and parent adornment re-invalidation cascade. - Add Editable/ReadOnly visual roles to dark theme so read-only views don't render as light-gray-on-dark.
Render a 24-bit ANSI Braille rasterisation of the ATC chevron logo plus ATC block letters and a per-character gradient `atc-dsc` label, with Tool/Version/Docs info rows. Banner prints only to interactive terminals (skipped when stdout is redirected). Switches all 6 command entry points from sync `WriteHeader()` to `await WriteHeaderAsync(ct)` and reads the informational version from the assembly so the banner stays in sync with the package version.
…eck flag Check api.nuget.org/v3-flatcontainer for newer atc-dsc releases on startup, with a 24h on-disk cache at %LOCALAPPDATA%\atc-dsc\update-check.json. When a newer stable version is found, attempt `dotnet tool update -g atc-dsc` (30s timeout) and print a cyan ℹ console notice; on failure fall back to a manual-update hint. Best-effort throughout: any HTTP, cache, or process error is swallowed and never crashes the app. Suppression: `--no-update-check` CLI flag (preprocessed in Program.cs and stripped before Spectre parses), `ATC_DSC_NO_UPDATE_CHECK=1` env var, or auto-skip in CI (CI/TF_BUILD/GITHUB_ACTIONS). The flag is advertised via a new WithExample on the list command.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
✨ Features
dotnet tool update -g atc-dscon newer stable--no-update-checkCLI flag and env-var suppression♻️ Refactoring
🎨 Styling
📦 Dependencies