Skip to content

Latest commit

 

History

History
37 lines (27 loc) · 1.34 KB

README.adoc

File metadata and controls

37 lines (27 loc) · 1.34 KB

Termcon

Cross-platform terminal manipulation library written in Zig.

Note
This project is very incomplete and has no usable API at the moment. It is published in its current form solely for reference purposes.

Design

Termcon aims to be cross-platform and reusable. As such, the project has certain goals and non-goals.

Goals
  • Easily color and style text

  • Control cursor position and cursor type

  • Support raw mode and alternate screens

  • Detect features at runtime and adapt as needed

  • Optimize sequential operations at comptime

  • Make event handling painless

Non-goals
  • Track buffer state except as strictly required

  • Make the API higher level at the cost of composability

  • Implement features that require heap allocation

If any part of the design of Termcon introduces overhead, or otherwise inhibits inclusion in a larger work, please feel free to file an issue describing the problem(s) and/or any proposed solutions.

License

With the exception of files specifically marked under a different license, Termcon is licensed under the BSD 0-Clause License. Contributions to this project are welcome, but must be licensed under the BSD 0-Clause License unless explicitly stated otherwise.