cli
The cli
library is a fully-featured toolkit for working with and
building CLI programs.
- packages
CLI/TERMINFO |
CLI/REPL |
CLI/TUI |
CLI/CLAP/UTIL |
CLI/TOOLS/BUILD |
CLI/TOOLS/GO |
CLI/TOOLS/NET |
CLI/CLAP/PROTO |
CLI/TOOLS/MAIL |
CLI/TOOLS/PACMAN |
CLI/CLAP/OBJ |
CLI/ENV |
CLI/CLAP/MACS |
CLI/TOOLS/MEDIA |
CLI/TOOLS/SBCL |
CLI/LINEDIT |
CLI/TOOLS |
CLI/TOOLS/RUST |
CLI/TOOLS/FS |
CLI-USER |
CLI/PROGRESS |
CLI/CLAP |
CLI/TOOLS/PROTO |
CLI/TOOLS/TMUX |
CLI/TESTS |
CLI/ANSI |
CLI/SPARK |
CLI/MULTI |
CLI/TOOLS/TERM |
CLI/CLAP/AST |
CLI/TOOLS/PLOT |
CLI/CLAP/VARS |
CLI/ED |
CLI/TOOLS/VIRT |
CLI/TOOLS/SYS |
CLI/INT |
CLI/TOOLS/CC |
CLI |
CLI/SHELL |
- dependencies
std |
log |
dat |
obj |
- dependents
gui |
packy |
syn |
box |
pod |
vc |
skel |
rdb |
net |
cli/tests |
core |
bin/skel |
bin/vc |
bin/rdb |
bin/pod |
bin/mpk |
bin/homer |
bin/organ |
- files
pkg.lisp |
ansi.lisp |
env.lisp |
progress.lisp |
spark.lisp |
terminfo.lisp |
linedit.lisp |
repl.lisp |
shell.lisp |
ed.lisp |
tools/pkg.lisp |
tools/term.lisp |
tools/tmux.lisp |
tools/pacman.lisp |
tools/cc.lisp |
tools/build.lisp |
tools/virt.lisp |
tools/sys.lisp |
tools/rust.lisp |
tools/sbcl.lisp |
tools/net.lisp |
tools/media.lisp |
tools/mail.lisp |
tools/fs.lisp |
tools/plot.lisp |
clap/pkg.lisp |
clap/ast.lisp |
clap/vars.lisp |
clap/util.lisp |
clap/macs.lisp |
clap/proto.lisp |
clap/opt.lisp |
clap/cmd.lisp |
clap/cli.lisp |
multi.lisp |
tui.lisp |
cli.lisp |
- tests
CLAP-OPTS |
CLAP-BASIC |
CLAP-MAIN |
CLI-AST |
MIXED-ARGS |
ANSI |
SHELL-READER |
SBCL-TOOLS |
ENV |
SPARK |
PROGRESS |
- symbols
HIDE-CURSOR |
ENSURE-SUDO |
TILDE-GLITCH |
KEY-F5 |
META-ON |
DISPLAY-CLOCK |
STATUS-LINE-ESC-OK |
USER5 |
EXIT-SHADOW-MODE |
BACKSPACES-WITH-BS |
.SGR |
KEY-F19 |
PAD-CHAR |
KEY-F49 |
CEOL-STANDOUT-GLITCH |
MOVE-STANDOUT-MODE |
KEY-COPY |
REMOVE-CLOCK |
EVAL-EMACS |
KEY-EIC |
ACS-LRCORNER |
ENTER-SUBSCRIPT-MODE |
KEY-CATAB |
VSPARK |
CURSOR-VISIBLE |
ACS-RTEE |
ENTER-DRAFT-QUALITY |
CLEAR |
KEY-F18 |
TPARM |
ACS-LLCORNER |
OTHER-NON-FUNCTION-KEYS |
KEY-SPRINT |
CLR-BOL |
KEY-PREVIOUS |
KEY-F29 |
RESET-3STRING |
EDIFF |
BUFFER-CAPACITY |
SET-TERMINAL |
SET-TOP-MARGIN-PARM |
.DECRST |
HAS-PRINT-WHEEL |
ENTER-DOUBLEWIDE-MODE |
USER6 |
ENTER-REVERSE-MODE |
CHANGE-RES-HORZ |
KEY-SEXIT |
ERASE-BELOW |
KEY-SLEFT |
EXIT-SUBSCRIPT-MODE |
RESET-2STRING |
ACS-URCORNER |
MAX-PAIRS |
KEY-END |
HAS-META-KEY |
CLR-EOL |
SCANCODE-ESCAPE |
SET-COLOR-BAND |
INIT-TABS |
ENTER-UNDERLINE-MODE |
PARM-DOWN-CURSOR |
KEY-EOL |
LINES-OF-MEMORY |
KEY-F54 |
EMACS-FIND-FILE |
END-BIT-IMAGE-REGION |
KEY-SIC |
KEY-CREATE |
ALT-SCANCODE-ESC |
GNU-HAS-META-KEY |
LOAD-ENV |
ENTER-DIM-MODE |
ERASE-LINE |
USE-ALTERNATE-SCREEN-BUFFER |
PARM-DCH |
EXIT-ITALICS-MODE |
EXIT-DOUBLEWIDE-MODE |
KEY-F57 |
ACS-BTEE |
DOT-VERT-SPACING |
EXIT-SCANCODE-MODE |
HUE-LIGHTNESS-SATURATION |
USER4 |
KEY-UNDO |
.CPL |
STOP-CHAR-SET-DEF |
PARM-ICH |
TERMCAP-RESET |
BACK-COLOR-ERASE |
NUMBER-OF-FUNCTION-KEYS |
%COLUMNS |
KEY-LL |
INSTALL-REPL |
SET-A-FOREGROUND |
RUN-EMACSCLIENT |
KEY-REFRESH |
DOWN-HALF-LINE |
CPI-CHANGES-RES |
KEY-F52 |
ENTER-MICRO-MODE |
.EL |
SET-BACKGROUND |
PROGRAM-LIST |
LD-LIBRARY-PATH-LIST |
DECODE-PADDING |
PRINT-RATE |
KEY-F44 |
ENTER-LOW-HL-MODE |
USER8 |
ERASE-LEFT |
MICRO-COLUMN-ADDRESS |
KEY-F15 |
PKEY-LOCAL |
META-OFF |
SET2-DES-SEQ |
.CUP |
REPEAT-CHAR |
SET-BOTTOM-MARGIN-PARM |
*PROGRESS-BAR* |
INIT-1STRING |
KEY-F55 |
SCROLL-FORWARD |
KEY-MARK |
AUTO-RIGHT-MARGIN |
FIND-EXE |
KEY-OPTIONS |
CHAR-PADDING |
KEY-F22 |
SAVE-CURSOR |
KEY-A3 |
ENTER-DELETE-MODE |
OUTPUT-RES-HORZ-INCH |
%LINES |
MICRO-UP |
REQ-MOUSE-POS |
.SCOSC |
RESTORE-CURSOR |
COMPLETING-READ |
EXIT-DELETE-MODE |
BACKSPACE-IF-NOT-BS |
SUPERSCRIPT-CHARACTERS |
PKEY-XMIT |
KEY-STAB |
KEYPAD-XMIT |
KEY-F34 |
KEY-HOME |
NEEDS-XON-XOFF |
PARM-UP-CURSOR |
SET-FOREGROUND |
MEMORY-LOCK |
DEFINE-BIT-IMAGE-REGION |
KEY-RESUME |
INSERT-LINE |
KEY-F6 |
SELECT-CHAR-SET |
ENA-ACS |
PKEY-KEY |
COLUMN-ADDRESS |
KEY-MOVE |
KEY-F53 |
*HIGHLIGHT-COLOR* |
KEY-SFIND |
NON-DEST-SCROLL-REGION |
CLEAR-MARGINS |
ENTER-AM-MODE |
ENTER-ALT-CHARSET-MODE |
SET-LR-MARGIN |
DEFAULT-TOPLEVEL-INIT |
MEMORY-BELOW |
MAGIC-COOKIE-GLITCH |
MEMORY-ABOVE |
SET-WINDOW |
KEY-F60 |
.CUD |
EMACS-CONFIG |
PRTR-NON |
KEY-F24 |
ACS-TTEE |
CURSOR-TO-LL |
IELM |
ENTER-BLINK-MODE |
KEY-PRINT |
ERASE-CHARS |
KEY-F46 |
UNCERTAIN-SIZE-PROGRESS-BAR |
DIS-STATUS-LINE |
DEFINE-CHAR |
*SUDO-OUTPUT* |
KEY-F35 |
NO-ESC-CTLC |
SET-CLOCK |
CURSOR-INVISIBLE |
KEY-DL |
.RIS |
HAS-STATUS-LINE |
CURSOR-UP |
KEY-F43 |
MEMORY-UNLOCK |
WITH-SUDO |
COLOR-NAMES |
DOT-HORZ-SPACING |
KEY-BACKSPACE |
ENTER-RIGHT-HL-MODE |
CAPABILITY |
OUTPUT-RES-CHAR |
ACS-HLINE |
PARM-LEFT-CURSOR |
ORDER-OF-PINS |
KEY-SELECT |
EXIT-MICRO-MODE |
CURSOR-HOME |
MAX-COLORS |
KEY-PPAGE |
SCROLL-REVERSE |
FIXED-PAUSE |
KEY-SOPTIONS |
AUTO-LEFT-MARGIN |
KEY-REFERENCE |
EXEC-PATH-LIST |
CURSOR-RIGHT |
INIT-PROG |
EXIT-UPWARD-MODE |
TAB |
ENTER-HORIZONTAL-HL-MODE |
CALL-WITH-SUDO |
YES-OR-NO |
KEY-F37 |
HORIZONTAL-TAB-DELAY |
INIT-3STRING |
KEY-REDO |
KEY-UP |
GENERIC-TYPE |
CHAR-SET-NAMES |
ERASE-ABOVE |
KEY-SR |
RESET-FILE |
FINISH-PROGRESS-DISPLAY |
COL-ADDR-GLITCH |
SET-LEFT-MARGIN-PARM |
RESET-1STRING |
ACS-CHARS |
KEY-F8 |
ENTER-STANDOUT-MODE |
WITH-EMACS |
LABEL-FORMAT |
LABEL-HEIGHT |
KEY-SRIGHT |
CURSOR-NORMAL |
LAB-F7 |
KEY-F3 |
MICRO-COL-SIZE |
HANGUP |
LAB-F1 |
KEY-F20 |
SET-RIGHT-MARGIN-PARM |
... |
1. Packages
1.1. clap
ARGC |
ARG0 |
CLI-PACKAGE-TABLE |
PARSE-FILE-OP |
CLAP-INVALID-ARGUMENT |
CLI-OPT-NAME |
ACTIVE-CMDS |
PUSH-CMD |
OPTS |
PARSE-CLI-LAMBDA-LIST |
CLI-CD |
DEFOPT |
CLAP-WARNING |
CLI-OPT-VAL |
ARGS |
GETOPT |
PARSE-ARGS |
DEBUG-OPTS |
SETOPT |
CMDS |
OPTS |
PRINT-VERSION |
ARG |
SET-PACKAGE-CLI |
PROC-ARGS |
CLI-NAME |
MAKE-CLI-NODE |
KEEP-AST-OPT |
PACKAGE-CLI |
PRINT-USAGE |
SHORT-OPT-P |
DEFAULT-CMD-THUNK |
DEFAULT-OPT-THUNK |
ACTIVATE-OPT |
CLI-OPT-KINDS |
NO-EXIT |
MAKE-CLI-AST |
FIND-SHORT-OPTS |
DO-CMDS |
DEFMAIN |
ADD-PACKAGE-OPT |
CLI-LOCK-P |
DO-OPTS |
GROUP-OPT-P |
CLAP-SIMPLE-WARNING |
PARSE-LIST-OP |
VERSION-OPT |
PARSE-FORM-OPT |
PRINT-HELP |
PARSE-KEY-OP |
CALL-OPT |
OPTC |
FIND-CMD |
CLAP-ERROR |
DEFCMD |
DEFAULT-CLI-CLASS |
CLAP-UNKNOWN-ARGUMENT |
MAKE-CMDS |
WITH-CLI-HANDLERS |
CLI-OPT |
PARSE-STRING-OPT |
CLI-GROUP-SEPARATOR |
ADD-PACKAGE-OPTS |
HELP-OPT |
LONG-OPT-P |
ADD-PACKAGE-CMDS |
FIND-OPTS |
CLI-ARGS |
OPT-STRING-PREFIX-EQ |
MAKE-OPT-PARSER |
PUSH-OPT |
CLAP-MISSING-ARGUMENT |
LOAD-PACKAGE-CLI |
LONG-OPT-HAS-EQ-P |
NO-DEBUG |
CLI-OPT-LOCK |
ACTIVE-OPTS |
SHORT-OPT-HAS-EQ-P |
CLI-NODE-KIND |
FIND-OPT |
CLAP-SIMPLE-ERROR |
ADD-PACKAGE-CMD |
CLI-NODE-FORM |
DO-CMD |
CLI-OPT-KIND-P |
DEFINE-CLI |
WITH-CLI-ARGS |
%COMPOSE-KEYWORD-OPT |
MAKE-CLI |
CLI |
MAKE-OPTS |
PASRE-NUM-OP |
PARSE-DIR-OP |
DO-OPT |
CLI-CMD-ARGS |
ARGS |
CLI-AST |
MAKE-SHORTY |
ACTIVATE-CMD |
PACKAGE-CMDS |
PARSE-BOOL-OPT |
CLI-NODE |
WITH-CLI |
OPT-KEYWORD-P |
PARSE-SYM-OP |
DEFAULT-CLI-DEF |
PACKAGE-OPTS |
LEVEL-OPT |
CLI |
CLI-CMD |
ARGP |
clap
is a name borrowed from the clap.rs Command Line Argument
Parserfor Rust. What can I say, it's a good acronym.
Besides the system tests, you can find this package used in our lisp
binaries (bin
).
clap
provides an object protocol and classes which parse input into
a simple AST and execute the appropriate option and command handlers.
Several macros form the public API used to build a CLI including
defcommand
, defopt
, define-cli
, and defmain
.
1.2. shell
SHELL-INPUT |
SHELL |