CDK - Curses Development Kit
This package provides the GDK equivalent for CTK. This is not intended to be a parity of GDK in any way, rather this package simply fulfills the terminal drawing and basic event systems required by CTK.
Unless you're using CTK, you should really be using TCell instead.
Notice
This project should not be used for any purpose other than intellectual curiosity. This project, in its current iteration, is strictly a Proof-of-Concept and nothing more. The lessons learned so far are being incorporated into a clean rewrite of the entire thing.
This status is reflected in the tagged versioning of this trunk
branch, v0.0.x, ie: entirely experimental and unfinished in any sense of the word "done".
Installing
go get -u github.com/kckrinke/go-cdk
Building
A makefile has been included to assist in the development workflow.
> make help
usage: make {help|test|clean|demos}
test: perform all available tests
clean: cleans package and built files
demos: builds the boxes, mouse and unicode demos
Example Usage
While CDK is not intended for direct usage, there are some simple demonstration applications provided.
CDK Demo
A formal CDK application demonstrating the typical boilerplate setup.
Running the tests
CDK provides tests for color, event, runes and styles using the simulation screen. To run the tests, use the make-file for convenience:
> go test -v
testing cdk
... (per-test output, trimmed for brevity) ...
ok github.com/kckrinke/go-cdk 0.171s
Versioning
The current API is unstable and subject to change dramatically. The following is a brief summary of the planned iterations.
- v0.0.x - Proof of concept, experimental
- v0.1.x - Rewrite of CDK package, without any (Screen) terminal interface
- v0.2.x - Write a new Screen interface, following GDK semantics
- v1.0.0 - First official release, directly related to v1.0.0 of CTK
License
This project is licensed under the Apache 2.0 license - see the LICENSE.md file for details.
Authors and Contributors
Acknowledgments
- Thanks to TCell for providing a solid and robust platform to build upon.
TCell Authors and Contributors
- Garrett D'Amore - Original author - gdamore
- Zachary Yedidia - Contributor - zyedidia
- Junegunn Choi - Contributor - junegunn
- Staysail Systems, Inc. - Support Provider - website