changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > org > docs / annotate core/lib/cli.org

changeset 35: 5eefd1d0e22f
child: 6303e1f79470
author: Richard Westhaver <ellis@rwest.io>
date: Sat, 22 Jun 2024 23:55:21 -0400
permissions: -rw-r--r--
description: core updates
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
1
 #+title: CLI
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
2
 #+author: Richard Westhaver
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
3
 #+description: Command-line Interface Library
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
4
 #+setupfile: clean.theme
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
5
 #+filetags: lisp cli
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
6
 #+property: header-args :dir ~/comp/core/ :exports both
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
7
 #+setupfile: ../../../clean.theme
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
8
 #+INFOJS_OPT: toc:nil
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
9
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
10
 * Overview
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
11
 The =cli= library is a fully-featured toolkit for building [[https://en.wikipedia.org/wiki/Command-line_interface][CLI]]
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
12
 programs.
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
13
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
14
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
15
 * stats
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
16
 ** dependencies
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
17
 #+begin_src lisp :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
18
   (ql:quickload :doc)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
19
   (let ((sys (asdf:find-system :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
20
     (asdf:system-depends-on sys))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
21
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
22
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
23
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
24
 - std
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
25
 - log
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
26
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
27
 ** dependents
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
28
 #+begin_src lisp :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
29
   (ql:quickload :doc)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
30
   (let ((sys (doc:system-documentation :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
31
     (mapcar (lambda (s) (asdf:component-name (doc:doc-system s))) (doc:doc-dependents sys)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
32
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
33
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
34
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
35
 - prelude
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
36
 - pod
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
37
 - packy
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
38
 - vc
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
39
 - skel
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
40
 - obj
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
41
 - cli/tests
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
42
 - user
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
43
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
44
 ** files
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
45
 #+begin_src lisp :output replace :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
46
   (mapcar (lambda (p)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
47
               (enough-namestring p (asdf:system-source-directory :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
48
             (doc:doc-files (doc:system-documentation :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
49
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
50
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
51
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
52
 - pkg.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
53
 - ansi.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
54
 - env.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
55
 - progress.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
56
 - spark.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
57
 - repl.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
58
 - shell.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
59
 - prompt.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
60
 - ed.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
61
 - tools/tmux.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
62
 - tools/pacman.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
63
 - clap/pkg.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
64
 - clap/ast.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
65
 - clap/vars.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
66
 - clap/util.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
67
 - clap/macs.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
68
 - clap/proto.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
69
 - clap/opt.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
70
 - clap/cmd.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
71
 - clap/cli.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
72
 - cli.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
73
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
74
 ** packages
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
75
 #+begin_src lisp :output replace :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
76
   (mapcar (lambda (p) (package-name (doc:doc-package p)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
77
           (doc:doc-packages (doc:system-documentation :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
78
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
79
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
80
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
81
 - CLI/CLAP/OBJ
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
82
 - CLI/CLAP/SIMPLE
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
83
 - CLI/SHELL
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
84
 - CLI/ANSI
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
85
 - CLI/CLAP/PROTO
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
86
 - CLI/CLAP/AST
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
87
 - CLI/ED
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
88
 - CLI
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
89
 - CLI/CLAP
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
90
 - CLI/CLAP/VARS
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
91
 - CLI/TESTS
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
92
 - CLI/REPL
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
93
 - CLI/CLAP/UTIL
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
94
 - CLI/ENV
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
95
 - CLI/PROGRESS
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
96
 - CLI/PROMPT
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
97
 - CLI-USER
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
98
 - CLI/SPARK
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
99
 - CLI/TMUX
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
100
 - CLI/CLAP/MACS
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
101
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
102
 ** tests
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
103
 #+begin_src lisp :output replace
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
104
   (ql:quickload :cli/tests)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
105
   (print rt:*test-suite* nil)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
106
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
107
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
108
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
109
 : #<RT:TEST-SUITE CLI [10:10:0:0] {103BAFED63}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
110
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
111
 #+begin_src lisp :output replace
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
112
   (rt:tests rt:*test-suite*)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
113
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
114
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
115
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
116
 #+begin_example
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
117
 (#<RT:TEST MAIN-OUTPUT :fn MAIN-OUTPUT-TEST2479 {103BB3F5C3}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
118
  #<RT:TEST CLAP-AST :fn CLAP-AST-TEST2478 {103BB3F4E3}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
119
  #<RT:TEST ENV :fn ENV-TEST2477 {103BB3F403}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
120
  #<RT:TEST REPL :fn REPL-TEST2476 {103BB3F323}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
121
  #<RT:TEST SPARK :fn SPARK-TEST2475 {103BB3F243}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
122
  #<RT:TEST PROGRESS :fn PROGRESS-TEST2474 {103BB3F163}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
123
  #<RT:TEST CLAP-OPTS :fn CLAP-OPTS-TEST2473 {103BB3F083}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
124
  #<RT:TEST CLAP-BASIC :fn CLAP-BASIC-TEST2472 {103BB3EF73}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
125
  #<RT:TEST CLI-PROMPT :fn CLI-PROMPT-TEST2471 {103BB10603}>
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
126
  #<RT:TEST ANSI :fn ANSI-TEST2470 {103BAFEF73}>)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
127
 #+end_example