bombshell-dev / clack

Effortlessly build beautiful command-line apps
https://clack.cc
5.23k stars 88 forks source link

[Request] use clack text to develop a cli supporting command history #186

Open bsorrentino opened 5 months ago

bsorrentino commented 5 months ago

Develop a Cli application managing a command history

In order to use Text input to develop a CLI like application we need to call a text() inside a loop where the workflow is:

  1. submit command
  2. exec command
  3. wait for another command
  4. repeat until user cancel input

Problem 1 : Manage Up / Down

Using the standard text function I can't set cursor event handler to manage Up/Down key. It would be great to have another function (eg const textPrompt = (opts: TextOptions): TextPrompt) that return the underlyend customised TextPrompt

Problem 2: Rewrite prompt buffer

Currently the rl:ReadLiner property Prompt is private and I can't rewrite prompt value with command history. I would be great have a method allowing such rewrite