diff options
author | Colin Okay <okay@toyful.space> | 2022-03-11 08:35:55 -0600 |
---|---|---|
committer | Colin Okay <okay@toyful.space> | 2022-03-11 08:35:55 -0600 |
commit | 08ba2769abb7a36817a725d30d64cfd36f5bcf32 (patch) | |
tree | 3068a5d9e1a4afd06a5f8b236658d4094e30dfef /src/prompt.lisp | |
parent | 62afeb3f21d3d8e8db045a001271e686e944a049 (diff) |
separated app and lib modules, -osicat dep, +packages.lisp
Diffstat (limited to 'src/prompt.lisp')
-rw-r--r-- | src/prompt.lisp | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/src/prompt.lisp b/src/prompt.lisp deleted file mode 100644 index afe8604..0000000 --- a/src/prompt.lisp +++ /dev/null @@ -1,33 +0,0 @@ -;;;; prompt.lisp -- a function using readlline to collect text from the user - -(defpackage #:oneliners.cli.prompt - (:use #:cl) - (:local-nicknames (#:rl #:cl-readline)) - (:export #:prompt)) - -(in-package :oneliners.cli.prompt) - -(defun prompt (prompt - &key - (expect (constantly t)) - retry-text - (prefill "")) - ;; register a prefill hook - (rl:register-hook - :pre-input - (lambda () - (rl:insert-text prefill) - (rl:redisplay))) - (unwind-protect - (loop - with prompt-text = prompt - with should-retry-p = t - while should-retry-p - for line = (rl:readline :prompt prompt-text) - when (funcall expect line) - do (setf should-retry-p nil) - when retry-text - do (setf prompt-text retry-text) - finally (return line)) - ;; unregisters the hook. - (rl:register-hook :pre-input nil))) |