cli
The cli
library is a fully-featured toolkit for working with and
building CLI programs.
- files
pkg.lisp |
ansi.lisp |
env.lisp |
progress.lisp |
spark.lisp |
repl.lisp |
shell.lisp |
prompt.lisp |
ed.lisp |
tools/pkg.lisp |
tools/term.lisp |
tools/tmux.lisp |
tools/pacman.lisp |
tools/cc.lisp |
tools/sys.lisp |
tools/rust.lisp |
tools/sbcl.lisp |
tools/net.lisp |
tools/mail.lisp |
tools/fs.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 |
- packages
CLI/REPL |
CLI/TUI |
CLI/CLAP/UTIL |
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/SBCL |
CLI/TOOLS |
CLI/TOOLS/RUST |
CLI/PROMPT |
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/CLAP/VARS |
CLI/ED |
CLI/TOOLS/SYS |
CLI/CLAP/SIMPLE |
CLI/TOOLS/CC |
CLI |
CLI/SHELL |
- symbols
*SUDO* |
*NO-EXIT* |
CLAP-MISSING-ARGUMENT |
DO-OPTS |
RUN-EMACS |
LONG-OPT-HAS-EQ-P |
MAKE-ENV-VAR |
MAKE-CMDS |
CURSOR-HORIZONTAL-ABSOLUTE |
FIND-SHORT-OPTS |
CLI-NODE-KIND |
PUSH-CMD |
IF-SUDO |
DEFOPT |
MAKE-CLI |
FIND-EXE |
PRINT-HELP |
CLAP-ERROR |
SET-PACKAGE-CLI |
ACTIVE-OPTS |
SPARK |
CURSOR-FORWARD |
.DSR |
*DEFAULT-LOCAL-ENV-VAR-NAMES* |
.CNL |
.SGR |
CLAP-INVALID-ARGUMENT |
CURSOR-DOWN |
PACKAGE-CLI |
WITH-SUDO |
CLI-CMD |
DEFAULT-OPT-THUNK |
UNCERTAIN-SIZE-PROGRESS-BAR |
EXEC-PATH-LIST |
LOAD-ENV |
OPT-KEYWORD-P |
USE-NORMAL-SCREEN-BUFFER |
CMDS |
PROGRAM-LIST |
CLAP-SIMPLE-ERROR |
CLI-OPT-KIND-P |
*TICKS* |
PASRE-NUM-OP |
WITH-PROGRESS-MAYBE |
PRINT-USAGE |
.CHA |
WITH-CLI-ARGS |
DEC-PRIVATE-MODE-RESET |
KEEP-AST-OPT |
.CPL |
.DECSET |
PARSE-FILE-OP |
*CLI* |
DEFAULT-TOPLEVEL-INIT |
CLI-LOCK-P |
CLAP-UNKNOWN-ARGUMENT |
WITH-CLI |
*DEFAULT-GLOBAL-ENV-VAR-NAMES* |
CURSOR-PRECEDING-LINE |
*ARGS* |
.SCORC |
CLI-CD |
WHEN-SUDO |
.ED |
ERASE-IN-DISPLAY |
PARSE-ARGS |
PARSE-SYM-OP |
SHORT-OPT-HAS-EQ-P |
LOAD-ACL-REPL |
MAKE-SYMLINKS |
COMPLETING-READ |
*CLI-GROUP-SEPARATOR* |
ADD-PACKAGE-CMDS |
CALL-OPT |
.VPA |
CLEAR |
PARSE-CLI-LAMBDA-LIST |
SLIME |
MAKE-CLI-NODE |
.VPR |
SUDO? |
CLI-ARGS |
ADD-PACKAGE-OPT |
%COMPOSE-KEYWORD-OPT |
START-RL-REPL |
SHOW-CURSOR |
DO-CMDS |
.CUF |
HOME |
.SCOSC |
PARSE-STRING-OPT |
ERASE |
DEFPROMPT |
ARG0 |
*ARG* |
LONG-OPT-P |
PARSE-DIR-OP |
SELECT-GRAPHIC-RENDITION |
LEVEL-OPT |
ACTIVATE-CMD |
PARSE-BOOL-OPT |
SUDO-PROMPT |
VERSION-OPT |
PACKAGE-CMDS |
CURSOR-NEXT-LINE |
PACKAGE-OPTS |
CLI-NODE-FORM |
*SHELL-DIRECTORY* |
ERASE-IN-LINE |
OPT-STRING-PREFIX-EQ |
*SHELL-INPUT* |
EMACS-CONFIG |
MAKE-OPT-PARSER |
MAKE-CLI-AST |
CURSOR-UP |
RESET-TO-INITIAL-STATE |
RUN-EMACSCLIENT |
DEBUG-OPTS |
ERASE-LINE |
CLI-AST |
ERASE-ABOVE |
CLI-OPT-NAME |
CLI-NODE |
ACTIVE-CMDS |
FINISH-PROGRESS-DISPLAY |
LD-LIBRARY-PATH-LIST |
GROUP-OPT-P |
IELM |
CLI-CMD-ARGS |
*PROGRESS-BAR-ENABLED* |
VSPARK |
PARSE-KEY-OP |
MAKE-SHORTY |
CURSOR-POSITION |
*OPTC* |
CLI-NAME |
PARSE-FORM-OPT |
PROGRESS-MUTEX |
PROC-ARGS |
FIND-OPTS |
*CLI-OPT-KINDS* |
PARSE-LIST-OP |
OPTS |
START-PROGRESS-DISPLAY |
USE-ALTERNATE-SCREEN-BUFFER |
CLI-EQUAL |
CLI |
.CUU |
WITH-EMACS |
.RIS |
VERTICAL-POSITION-ABSOLUTE |
SAVE-CURSOR-POSITION |
CLI-OPT |
EDITOR-CONFIG |
DEC-PRIVATE-MODE-SET |
*ARGC* |
WITH-CLI-HANDLERS |
.CUD |
EVAL-EMACS |
UPDATE-PROGRESS |
DEFAULT-CMD-THUNK |
PROGRESS-BAR |
*OPTS* |
DO-OPT |
.EL |
*DEFAULT-CLI-CLASS* |
DEFINE-CLI |
RESTORE-CURSOR-POSITION |
CLI-OPT-LOCK |
ADD-PACKAGE-CMD |
ADD-PACKAGE-OPTS |
ERASE-SAVED-LINES |
PUSH-OPT |
ORG-STORE-LINK |
CONCAT-ENV-TABLE |
DEFMAIN |
*VTICKS* |
.DECRST |
SHORT-OPT-P |
HIDE-CURSOR |
.CUP |
*SHELL* |
MAKE-OPTS |
ERASE-LEFT |
ERASE-RIGHT |
.CUB |
.VPB |
VERTICAL-POSITION-BACKWARD |
CURSOR-BACKWARD |
SETOPT |
LOAD-PACKAGE-CLI |
DEFCMD |
ERASE-BELOW |
ARGP |
DO-CMD |
ACTIVATE-OPT |
ARGS |
FIND-OPT |
PRINT-VERSION |
VERTICAL-POSITION-RELATIVE |
*PROGRESS-BAR* |
DEVICE-STATUS-REPORT |
DEFINE-MULTI-MAIN |
*DEFAULT-CLI-DEF* |
*ENV-TABLE* |
HELP-OPT |
FIND-CMD |
*CLI-PACKAGE-TABLE* |
GETOPT |
CLI-OPT-VAL |
CLAP-WARNING |
SET-TTY-MODE |
CLAP-SIMPLE-WARNING |
WITH-PROGRESS-BAR |
- tests
SBCL |
CLAP-OPTS |
CLAP-MAIN |
CLI-AST |
MIXED-ARGS |
ANSI |
SHELL-READER |
SBCL-TOOLS |
ENV |
REPL |
SPARK |
PROGRESS |
1. cli/clap
- nicknames
- clap
clap
is a name borrowed from the clap.rs Command Line Argument
Parser. What can I say, it's a good acronym.
Besides the system tests, you can find this package used in our lisp
applications (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
.