changelog shortlog graph tags branches changeset files file revisions raw help

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

changeset 38: 6303e1f79470
parent: 5eefd1d0e22f
child: b925807b50a6
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 11 Aug 2024 10:09:50 -0400
permissions: -rw-r--r--
description: refactor meta
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
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
26
 - dat
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
27
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
28
 ** dependents
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
29
 #+begin_src lisp :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
30
   (ql:quickload :doc)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
31
   (let ((sys (doc:system-documentation :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
32
     (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
33
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
34
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
35
 #+RESULTS:
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
36
 - user
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
37
 - packy
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
38
 - pod
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
39
 - vc
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
40
 - skel
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
41
 - prelude
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
42
 - cli/tests
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
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
61
 - tools/pkg.lisp
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
62
 - tools/term.lisp
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
63
 - tools/tmux.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
64
 - tools/pacman.lisp
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
65
 - tools/cc.lisp
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
66
 - tools/systemd.lisp
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
67
 - tools/cargo.lisp
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
68
 - tools/sbcl.lisp
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
69
 - clap/pkg.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
70
 - clap/ast.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
71
 - clap/vars.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
72
 - clap/util.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
73
 - clap/macs.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
74
 - clap/proto.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
75
 - clap/opt.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
76
 - clap/cmd.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
77
 - clap/cli.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
78
 - cli.lisp
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
79
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
80
 ** packages
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
81
 #+begin_src lisp :output replace :results list
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
82
   (mapcar (lambda (p) (package-name (doc:doc-package p)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
83
           (doc:doc-packages (doc:system-documentation :cli)))
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
84
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
85
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
86
 #+RESULTS:
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
87
 - CLI/TOOLS/SBCL
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
88
 - CLI/CLAP/OBJ
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
89
 - CLI/CLAP/SIMPLE
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
90
 - CLI/SHELL
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
91
 - CLI/TOOLS/TERM
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
92
 - CLI/ANSI
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
93
 - CLI/CLAP/PROTO
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
94
 - CLI/CLAP/AST
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
95
 - CLI/ED
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
96
 - CLI/TOOLS/PACMAN
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
97
 - CLI/TOOLS/CARGO
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
98
 - CLI/CLAP
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
99
 - CLI
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
100
 - CLI/TOOLS/CC
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
101
 - CLI/CLAP/VARS
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
102
 - CLI/TESTS
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
103
 - CLI/TOOLS/TMUX
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
104
 - CLI/REPL
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
105
 - CLI/CLAP/UTIL
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
106
 - CLI/ENV
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
107
 - CLI/PROGRESS
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
108
 - CLI/PROMPT
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
109
 - CLI-USER
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
110
 - CLI/SPARK
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
111
 - CLI/CLAP/MACS
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
112
 - CLI/TOOLS/SYSTEMD
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
113
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
114
 ** tests
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
115
 #+begin_src lisp :output replace
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
116
   (ql:quickload :cli/tests)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
117
   (print rt:*test-suite* nil)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
118
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
119
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
120
 #+RESULTS:
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
121
 : #<RT:TEST-SUITE CLI [11:11:0:0] {101709DC53}>
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
122
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
123
 #+begin_src lisp :output replace
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
124
   (rt:tests rt:*test-suite*)
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
125
 #+end_src
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
126
 
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
127
 #+RESULTS:
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
128
 #+begin_example
38
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
129
 (#<RT:TEST SBCL-TOOLS :fn SBCL-TOOLS-TEST749 {10170B9CF3}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
130
  #<RT:TEST MAIN-OUTPUT :fn MAIN-OUTPUT-TEST748 {10170B9C03}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
131
  #<RT:TEST CLAP-AST :fn CLAP-AST-TEST747 {10170B9B13}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
132
  #<RT:TEST ENV :fn ENV-TEST746 {10170B9A23}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
133
  #<RT:TEST REPL :fn REPL-TEST745 {10170B9933}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
134
  #<RT:TEST SPARK :fn SPARK-TEST744 {10170B9843}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
135
  #<RT:TEST PROGRESS :fn PROGRESS-TEST743 {10170B9753}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
136
  #<RT:TEST CLAP-OPTS :fn CLAP-OPTS-TEST742 {10170B9663}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
137
  #<RT:TEST CLAP-BASIC :fn CLAP-BASIC-TEST741 {10170B9543}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
138
  #<RT:TEST CLI-PROMPT :fn CLI-PROMPT-TEST740 {101709EFF3}>
6303e1f79470 refactor meta
Richard Westhaver <ellis@rwest.io>
parents: 35
diff changeset
139
  #<RT:TEST ANSI :fn ANSI-TEST739 {101709DE63}>)
35
5eefd1d0e22f core updates
Richard Westhaver <ellis@rwest.io>
parents:
diff changeset
140
 #+end_example