Tig 7af54f369d Robustness improvements in prep for implementing Virtual Terminal Sequences (#3094)
* Fixes #2616. Support combining sequences that don't normalize

* Decouples Application from ConsoleDriver in TestHelpers

* Updates driver tests to match new arch

* Start on making all driver tests test all drivers

* Improves handling if combining marks.

* Fix unit tests fails.

* Fix unit tests fails.

* Handling combining mask.

* Tying to fix this unit test that sometimes fail.

* Add support for combining mask on NetDriver.

* Enable CombiningMarks as List<Rune>.

* Prevents combining marks on invalid runes default and space.

* Formatting for CI tests.

* Fix non-normalized combining mark to add 1 to Col.

* Reformatting for retest the CI.

* Forces non-normalized CMs to be ignored.

* Initial experiment

* Created ANSiDriver. Updated UI Catalog command line handling

* Fixed ForceDriver logic

* Fixed ForceDriver logic

* Updating P/Invoke

* Force16 colors WIP

* Fixed 16 colo mode

* Updated unit tests

* UI catalog tweak

* Added chinese scenario from bdisp

* Disabled AnsiDriver unit tests for now.

* Code cleanup

* Initial commit (fork from v2_fixes_2610_WT_VTS)

* Code cleanup

* Removed nativemethods.txt

* Removed not needed native stuff

* Code cleanup

* Ensures command line handler doesn't eat exceptions

---------

Co-authored-by: BDisp <bd.bdisp@gmail.com>
2024-01-04 22:35:18 -07:00
2023-12-17 21:52:59 -07:00
2023-12-02 19:09:37 -07:00
2023-09-03 09:00:27 -06:00
Add
2018-01-05 22:11:08 -05:00
2023-09-03 09:04:39 -06:00
2023-12-03 12:16:46 -07:00
2023-06-07 10:31:35 -06:00
2023-12-02 10:07:58 -07:00
2023-10-13 23:58:49 -06:00

Terminal.Gui .NET Core Code scanning - action Version Code Coverage Downloads License Bugs

The current, stable, release of Terminal.Gui is v1.x. It is stable, rich, and broadly used. The team is now focused on designing and building a significant upgrade we're referring to as v2. Therefore:

  • v1 is now in maintenance mode, meaning we will accept PRs for v1.x (the develop branch) only for issues impacting existing functionality.
  • All new development happens on the v2_develop branch. See the V2 discussion here.
  • Developers are encouraged to continue building on v1.x until we announce v2 is stable.

Terminal.Gui: A toolkit for building rich console apps for .NET, .NET Core, and Mono that works on Windows, the Mac, and Linux/Unix.

Sample app

Quick Start

Paste these commands into your favorite terminal on Windows, Mac, or Linux. This will install the Terminal.Gui.Templates, create a new "Hello World" TUI app, and run it.

(Press CTRL-Q to exit the app)

dotnet new --install Terminal.Gui.templates
dotnet new tui -n myproj
cd myproj
dotnet run

Documentation

Showcase & Examples

  • UI Catalog - The UI Catalog project provides an easy to use and extend sample illustrating the capabilities of Terminal.Gui. Run dotnet run --project UICatalog to run the UI Catalog.
  • C# Example - Run dotnet run in the Example directory to run the C# Example.
  • F# Example - An example showing how to build a Terminal.Gui app using F#.
  • Reactive Example - A sample app that shows how to use System.Reactive and ReactiveUI with Terminal.Gui. The app uses the MVVM architecture that may seem familiar to folks coming from WPF, Xamarin Forms, UWP, Avalonia, or Windows Forms. In this app, we implement the data bindings using ReactiveUI WhenAnyValue syntax and Pharmacist — a tool that converts all events in a NuGet package into observable wrappers.
  • PowerShell's Out-ConsoleGridView - OCGV sends the output from a command to an interactive table.
  • F7History - Graphical Command History for PowerShell (built on PowerShell's Out-ConsoleGridView).
  • PoshRedisViewer - A compact Redis viewer module for PowerShell written in F#.
  • PoshDotnetDumpAnalyzeViewer - dotnet-dump UI module for PowerShell.
  • TerminalGuiDesigner - Cross platform view designer for building Terminal.Gui applications.

Contributing

See CONTRIBUTING.md.

Debates on architecture and design can be found in Issues tagged with design.

History

See gui-cs for how this project came to be.

Languages
C# 99.4%
PowerShell 0.6%