Mercurial > core / lisp/lib/cli/pkg.lisp
changeset 381: |
386d51cf61ca |
parent: |
49357f8b5e65
|
child: |
66059a1117bd |
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Tue, 28 May 2024 23:12:31 -0400 |
permissions: |
-rw-r--r-- |
description: |
add ffi/readline, net updates |
1 ;;; cli.lisp --- cli programming api and utils 3 ;; This package contains a simple api and macros for building lisp CLI 8 ;; - inspired by: clingon, uiop 10 ;; Basic assumptions at runtime: 11 ;; - running in a POSIX-compliant shell 12 ;; - output stream supports UTF-8 14 ;; TODO 2023-10-14: install-ast, install-thunk, proc-args, etc should 15 ;; return IR types - CLI-IR THUNK and CLI-IR respectively. 17 ;; TODO 2023-10-14: rename cli-ast to cli-ir, install-ast to 21 (defpackage :cli/shell 24 (:export :*shell* :*shell-directory* :*shell-input*)) 31 :.ris :reset-to-initial-state 37 :.cub :cursor-backward 38 :.cnl :cursor-next-line 39 :.cpl :cursor-preceding-line 40 :.cha :cursor-horizontal-absolute 41 :.cup :cursor-position 42 :.vpa :vertical-position-absolute 43 :.vpr :vertical-position-relative 44 :.vpb :vertical-position-backward 45 :.scosc :save-cursor-position 46 :.scorc :restore-cursor-position 47 :.ed :erase-in-display :erase-below :erase-above :erase :erase-saved-lines 48 :.el :erase-in-line :erase-right :erase-left :erase-line 49 :.sgr :select-graphic-rendition 50 :.dsr :device-status-report 51 ;; DEC private mode set and reset 52 :.decset :dec-private-mode-set 53 :.decrst :dec-private-mode-reset 54 :show-cursor :hide-cursor 55 :use-alternate-screen-buffer :use-normal-screen-buffer 62 (defpackage :cli/prompt 68 (defpackage :cli/progress 74 :*progress-bar-enabled* 75 :start-progress-display 76 :finish-progress-display 78 :uncertain-size-progress-bar 81 (defpackage :cli/spark 88 (:use :cl :std :cli/progress :cli/spark) 89 (:export :load-acl-repl :start-rl-repl)) 93 (:export :run-emacs :run-emacsclient 98 (:use :cl :std :log :sb-ext) 99 (:import-from :cli/ansi :.ris) 100 (:import-from :uiop :println) 101 (:import-from :sb-ext :parse-native-namestring) 102 (:shadowing-import-from :sb-ext :exit) 110 :*cli-group-separator* 114 :*std-local-env-var-names* 115 :*std-global-env-var-names* 119 :ld-library-path-list 160 :handle-unknown-argument 161 :handle-missing-argument 162 :handle-invalid-argument 192 (defpackage :cli/tmux 196 (in-package :std-user) 200 (:use-reexport :cli/shell :cli/ansi :cli/prompt 201 :cli/progress :cli/spark :cli/prompt :cli/ed 202 :cli/repl :cli/clap)) 204 (defpkg :cli-user (:use :cl :std :cli))