Fixes #3692++ - Rearchitects drivers#3837
Merged
tig merged 226 commits intogui-cs:v2_developfrom Feb 28, 2025
Merged
Conversation
Closed
10 tasks
Collaborator
|
Hope you're ok with me updating the title & first post... |
Collaborator
Author
Closed
added 2 commits
February 27, 2025 01:32
… for collection navigator
tig
requested changes
Feb 27, 2025
Collaborator
tig
left a comment
There was a problem hiding this comment.
Looking great! Just a few asks...
Collaborator
Author
|
Merge conflict fixed |
tig
approved these changes
Feb 28, 2025
Collaborator
|
I want to merge this, but we keep getting unit test failures (see #3930). likely not due to this PR, but I'm not going to merge until this passes at least once. I just restarted the action.... |
10 tasks
15 tasks
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.

Creates new drivers that are simpler versions of existing WindowsDriver and NetDriver. Also introduces a shared architecture such that only subcomponents vary between driver implementations, as discussed in #3821 .
After a period of shared execution with both sets of drivers available we will fix any bugs and then retire the old drivers.
Curses driver is not tackled, I am hopeful it can be retired completely now that net input is so strong and well implemented in core dotnet framework.
Fixes
ConsoleDriverto minimize duplicated code in all drivers #2319EscSeqUtils#2803ConsoleDrivers to support ANSI sequences natively (e.g. Virtual Terminal Sequences on Windows) #2610Button1Clickedevents onNetdriverorCursesDriver#3374Metrics
You can now see metrics on ant Terminal.Gui program by using its exe name and a metrics tool e.g.
Implementation uses System.Diagnostics.Metrics making it integrate easily with tools such as OpenTelemetry
Logging
You can enable logging of internals of Terminal.Gui by setting
Logging.Loggerto anyMicrosoft.Extensions.Loggingcompatible logging framework (nlog, serilog etc).Naturally you must not use a console logger
For example with Serilog to a file:
Class Diagram
Progress
MouseInterpreter)Proposed Changes/Todos
Splits drivers up into logical components, simplifies and centralizes shared code patterns.
Pull Request checklist:
CTRL-K-Dto automatically reformat your files before committing.dotnet testbefore commit///style comments)