Proposal for `@std/cli/tty` package
- Dominant language
- TypeScript
- Stars
- 3.6k
- Forks
- 681
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
It is difficult to write robust, cross-platform terminal applications on any platforms. There is too much arcana in dealing with various terminals. The portability of compiled Deno apps is amazing.
Lately I have been diving into the deep-end of VT100/VT220/XTerm/ANSI/ECMA-84/kitty. I stopped active development of my own project once I discovered ticket #6755. After briefly reviewing the PRs, I wanted to share a few ideas/suggestions/proposals for a new `@std/cli/tty` package.
**Describe the solution you'd like**
A package focused on providing a stable terminal driver w/ compatibility for common Linux, MacOS, and Windows terminals. This solution should make it easy to patch bugs that fix issues across the ecosystem in support of semver.
**Describe alternatives you've considered**
* [Ink](https://github.com/vadimdemedes/ink) smooths over A LOT. That's a huge package for simple terminal apps.
* Python has [Textual](https://github.com/Textualize/textual/tree/main/src/textual), much to the same effect.
* [ncurses](en.wikipedia.org/wiki/ncurses) at [terminfo])(https://en.wikipedia.org/wiki/Terminfo) are insane, but it exists for a reason
* I started writing a thin layer for style text, positioning, and handling raw input processing. It quickly turned into a bigger project that I had thought possible.
Contributor guide
Assessment
This issue has not been assessed yet.