Make Driver population code more concise (#3024)

* Make Driver population code more concise

This is effectively a NOP change, just makes it a little more terse

* Restore old behavior of null check after populating Driver

---------

Co-authored-by: Riley Carlson <riley.carlson@ksb.com>
This commit is contained in:
Riley Carlson
2023-11-30 14:12:16 -08:00
committed by GitHub
parent 42b9ad1d61
commit 52e7466ef9

View File

@@ -158,22 +158,14 @@ namespace Terminal.Gui {
ConfigurationManager.Load (true);
ConfigurationManager.Apply ();
if (Driver == null) {
var p = Environment.OSVersion.Platform;
if (_forceFakeConsole) {
// For Unit Testing only
Driver = new FakeDriver ();
} else if (UseSystemConsole) {
Driver = new NetDriver ();
} else if (p == PlatformID.Win32NT || p == PlatformID.Win32S || p == PlatformID.Win32Windows) {
Driver = new WindowsDriver ();
} else {
Driver = new CursesDriver ();
}
if (Driver == null) {
throw new InvalidOperationException ("Init could not determine the ConsoleDriver to use.");
}
}
Driver ??= Environment.OSVersion.Platform switch {
_ when _forceFakeConsole => new FakeDriver (), // for unit testing only
_ when UseSystemConsole => new NetDriver (),
PlatformID.Win32NT or PlatformID.Win32S or PlatformID.Win32Windows => new WindowsDriver (),
_ => new CursesDriver (),
};
if (Driver == null) throw new InvalidOperationException ("Init could not determine the ConsoleDriver to use.");
try {
MainLoop = Driver.Init ();