Awesome
Cathode
<div align="center"> <img src="cathode.svg" width="128" alt="Cathode" /> </div> <p align="center"> <strong> A terminal-centric replacement for the .NET console APIs. </strong> </p> <div align="center"> </div>Cathode is a toolkit for writing terminal-based applications. It is effectively a complete replacement for the .NET console APIs.
With Windows Terminal having replaced the old Windows console host, it makes little sense for console interaction to still be centered around the old console host and the many limitations it had. Cathode provides an API centered around a VT100 terminal with some extensions from later models and modern terminal emulators. It works on all desktop platforms that .NET supports.
Please note that, since Cathode replaces a very fundamental component of the
framework, the use of certain framework APIs (e.g. System.Console
) becomes
problematic. An analyzer will automatically diagnose usage of such APIs and
suggest working replacements.
Usage
This project offers the following packages:
Package | Description | Downloads |
---|---|---|
Provides the core terminal API. | ||
Provides terminal hosting and logging for the .NET Generic Host. |
To install a package, run dotnet add package <name>
.
See the sample programs for examples of what the API can do. The
samples can be run with
dotnet example
.
For more information, please visit the project home page.
Building
You will need the .NET SDK installed. Simply run ./cake
(a Bash script) to build artifacts. You can
also use ./cake pack
if you do not want to build the documentation (which
requires Node.js).
These commands will use the Debug
configuration by default, which is suitable
for development and debugging. Pass -c Release
instead to get an optimized
build.
License
This project is licensed under the terms found in
LICENSE-0BSD
.