changelog shortlog graph tags branches changeset files file revisions raw help

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

changeset 51: 8e71b315fca2
parent: 9f2e9e647333
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 22 Sep 2024 21:29:45 -0400
permissions: -rw-r--r--
description: id updates
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
1
 #+title: cli
35
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
44
b925807b50a6 weekend warrior
Richard Westhaver <ellis@rwest.io>
parents: 38
diff changeset
4
 #+setupfile: ../../../clean.theme
35
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
 * Overview
45
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
9
 :PROPERTIES:
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
10
 :ID:       fb7c1b49-e293-41b7-863c-f38eaa361080
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
11
 :END:
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
12
 The =cli= library is a fully-featured toolkit for working with and
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
13
 building [[https://en.wikipedia.org/wiki/Command-line_interface][CLI]] programs.
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
14
 ** dependencies
45
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
15
 :PROPERTIES:
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
16
 :ID:       5d0f369d-5de0-41b1-8288-2633a84c3a42
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
17
 :END:
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
18
 #+begin_src lisp :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
19
   (ql:quickload :doc)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
20
   (let ((sys (asdf:find-system :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
21
     (asdf:system-depends-on sys))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
22
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
23
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
24
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
25
 - std
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
26
 - log
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
27
 - dat
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
28
 - obj
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
29
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
30
 ** dependents
45
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
31
 :PROPERTIES:
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
32
 :ID:       6c86510a-2c59-48a6-91c3-8533ceb0dcda
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
33
 :END:
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
34
 #+begin_src lisp :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
35
   (ql:quickload :doc)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
36
   (let ((sys (doc:system-documentation :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
37
     (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
38
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
39
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
40
 #+RESULTS:
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
41
 - user
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
42
 - prelude
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
43
 - packy
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
44
 - box
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
45
 - pod
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
46
 - net
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
47
 - vc
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
48
 - skel
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
49
 - cli/tests
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
50
 - core/lib
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
51
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
52
 ** files
45
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
53
 :PROPERTIES:
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
54
 :ID:       dc23dd4f-6025-40cb-90c7-982def7ef530
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
55
 :END:
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
56
 #+begin_src lisp :output replace :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
57
   (mapcar (lambda (p)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
58
               (enough-namestring p (asdf:system-source-directory :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
59
             (doc:doc-files (doc:system-documentation :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
60
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
61
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
62
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
63
 - pkg.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
64
 - ansi.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
65
 - env.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
66
 - progress.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
67
 - spark.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
68
 - repl.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
69
 - shell.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
70
 - prompt.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
71
 - ed.lisp
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
72
 - tools/pkg.lisp
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
73
 - tools/term.lisp
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
74
 - tools/tmux.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
75
 - tools/pacman.lisp
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
76
 - tools/cc.lisp
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
77
 - tools/systemd.lisp
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
78
 - tools/wg.lisp
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
79
 - tools/cargo.lisp
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
80
 - tools/sbcl.lisp
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
81
 - clap/pkg.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
82
 - clap/ast.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
83
 - clap/vars.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
84
 - clap/util.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
85
 - clap/macs.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
86
 - clap/proto.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
87
 - clap/opt.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
88
 - clap/cmd.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
89
 - clap/cli.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
90
 - cli.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
91
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
92
 ** packages
45
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
93
 :PROPERTIES:
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
94
 :ID:       c62cb04c-1c86-4bbe-bd1e-b962c887b008
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
95
 :END:
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
96
 #+begin_src lisp :output replace :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
97
   (mapcar (lambda (p) (package-name (doc:doc-package p)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
98
           (doc:doc-packages (doc:system-documentation :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
99
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
100
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
101
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
102
 - CLI/REPL
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
103
 - CLI/CLAP/UTIL
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
104
 - CLI/CLAP/PROTO
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
105
 - CLI/TOOLS/PACMAN
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
106
 - CLI/CLAP/OBJ
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
107
 - CLI/ENV
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
108
 - CLI/CLAP/MACS
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
109
 - CLI/TOOLS/SBCL
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
110
 - CLI/TOOLS/WG
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
111
 - CLI/TOOLS/SYSTEMD
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
112
 - CLI/PROMPT
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
113
 - CLI-USER
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
114
 - CLI/PROGRESS
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
115
 - CLI/CLAP
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
116
 - CLI/TOOLS/TMUX
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
117
 - CLI/TESTS
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
118
 - CLI/ANSI
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
119
 - CLI/SPARK
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
120
 - CLI/TOOLS/TERM
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
121
 - CLI/CLAP/AST
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
122
 - CLI/CLAP/VARS
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
123
 - CLI/ED
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
124
 - CLI/TOOLS/CARGO
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
125
 - CLI/CLAP/SIMPLE
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
126
 - CLI/TOOLS/CC
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
127
 - CLI
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
128
 - CLI/SHELL
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
129
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
130
 ** tests
45
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
131
 :PROPERTIES:
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
132
 :ID:       7fa7ae69-b3a0-4bdf-907c-dacb25cb3662
517e7b6fb42d meta and task work
Richard Westhaver <ellis@rwest.io>
parents: 44
diff changeset
133
 :END:
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
134
 #+begin_src lisp :output replace
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
135
   (ql:quickload :cli/tests)
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
136
   (rt:in-suite :cli)
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
137
   (print rt:*test-suite* nil)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
138
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
139
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
140
 #+RESULTS:
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
141
 : #<RT:TEST-SUITE CLI [11:11:0:0] {1003038B23}>
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
142
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
143
 #+begin_src lisp :output replace
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
144
   (rt:tests rt:*test-suite*)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
145
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
146
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
147
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
148
 #+begin_example
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
149
 (#<RT:TEST SBCL-TOOLS :fn SBCL-TOOLS-TEST787 {100303C973}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
150
  #<RT:TEST CLAP-MAIN :fn CLAP-MAIN-TEST786 {100303C8E3}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
151
  #<RT:TEST CLI-AST :fn CLI-AST-TEST785 {100303C823}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
152
  #<RT:TEST ENV :fn ENV-TEST784 {100303C793}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
153
  #<RT:TEST REPL :fn REPL-TEST783 {100303C703}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
154
  #<RT:TEST SPARK :fn SPARK-TEST782 {100303C673}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
155
  #<RT:TEST PROGRESS :fn PROGRESS-TEST781 {100303C5E3}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
156
  #<RT:TEST CLAP-OPTS :fn CLAP-OPTS-TEST780 {100303C553}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
157
  #<RT:TEST CLAP-BASIC :fn CLAP-BASIC-TEST779 {100303C493}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
158
  #<RT:TEST CLI-PROMPT :fn CLI-PROMPT-TEST778 {1003038F83}>
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
159
  #<RT:TEST ANSI :fn ANSI-TEST777 {1003038D33}>)
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
160
 #+end_example
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
161
 * Packages
51
8e71b315fca2 id updates
Richard Westhaver <ellis@rwest.io>
parents: 48
diff changeset
162
 :PROPERTIES:
8e71b315fca2 id updates
Richard Westhaver <ellis@rwest.io>
parents: 48
diff changeset
163
 :ID:       94d0e207-02b0-4289-84e1-19e5b74e819b
8e71b315fca2 id updates
Richard Westhaver <ellis@rwest.io>
parents: 48
diff changeset
164
 :END:
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
165
 ** cli/clap
51
8e71b315fca2 id updates
Richard Westhaver <ellis@rwest.io>
parents: 48
diff changeset
166
 :PROPERTIES:
8e71b315fca2 id updates
Richard Westhaver <ellis@rwest.io>
parents: 48
diff changeset
167
 :ID:       c703a68c-2eb1-4251-8671-d587d550b66a
8e71b315fca2 id updates
Richard Westhaver <ellis@rwest.io>
parents: 48
diff changeset
168
 :END:
48
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
169
 - nicknames :: clap
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
170
 
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
171
 =clap= is a name borrowed from the [[https://github.com/clap-rs/clap][clap.rs]] Command Line Argument
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
172
 Parser. What can I say, it's a good acronym.
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
173
 
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
174
 Besides the system tests, you can find this package used in our lisp
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
175
 applications (=lisp/bin=).
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
176
 
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
177
 =clap= provides an object protocol and classes which parse input into
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
178
 a simple AST and execute the appropriate option and command handlers.
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
179
 
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
180
 Several macros form the public API used to build a CLI including
9f2e9e647333 core documentation and stats
Richard Westhaver <ellis@rwest.io>
parents: 45
diff changeset
181
 =defcommand=, =defopt=, =define-cli=, and =defmain=.