Skip to content

Proposal for @std/cli/tty package #6858

@thesmart

Description

@thesmart

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 smooths over A LOT. That's a huge package for simple terminal apps.
  • Python has Textual, much to the same effect.
  • 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions