changelog shortlog graph tags branches changeset files revisions annotate raw help

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

changeset 45: 517e7b6fb42d
parent: b925807b50a6
child: 9f2e9e647333
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 25 Aug 2024 00:15:40 -0400
permissions: -rw-r--r--
description: meta and task work
1 #+title: CLI
2 #+author: Richard Westhaver
3 #+description: Command-line Interface Library
4 #+setupfile: ../../../clean.theme
5 #+filetags: lisp cli
6 #+property: header-args :dir ~/comp/core/ :exports both
7 #+setupfile: ../../../clean.theme
8 #+INFOJS_OPT: toc:nil
9 
10 * Overview
11 :PROPERTIES:
12 :ID: fb7c1b49-e293-41b7-863c-f38eaa361080
13 :END:
14 The =cli= library is a fully-featured toolkit for building [[https://en.wikipedia.org/wiki/Command-line_interface][CLI]]
15 programs.
16 
17 
18 * stats
19 :PROPERTIES:
20 :ID: 36ae93c8-83f4-4a03-a348-8eee8554c59a
21 :END:
22 ** dependencies
23 :PROPERTIES:
24 :ID: 5d0f369d-5de0-41b1-8288-2633a84c3a42
25 :END:
26 #+begin_src lisp :results list
27  (ql:quickload :doc)
28  (let ((sys (asdf:find-system :cli)))
29  (asdf:system-depends-on sys))
30 #+end_src
31 
32 #+RESULTS:
33 - std
34 - log
35 - dat
36 
37 ** dependents
38 :PROPERTIES:
39 :ID: 6c86510a-2c59-48a6-91c3-8533ceb0dcda
40 :END:
41 #+begin_src lisp :results list
42  (ql:quickload :doc)
43  (let ((sys (doc:system-documentation :cli)))
44  (mapcar (lambda (s) (asdf:component-name (doc:doc-system s))) (doc:doc-dependents sys)))
45 #+end_src
46 
47 #+RESULTS:
48 - user
49 - packy
50 - pod
51 - vc
52 - skel
53 - prelude
54 - cli/tests
55 
56 ** files
57 :PROPERTIES:
58 :ID: dc23dd4f-6025-40cb-90c7-982def7ef530
59 :END:
60 #+begin_src lisp :output replace :results list
61  (mapcar (lambda (p)
62  (enough-namestring p (asdf:system-source-directory :cli)))
63  (doc:doc-files (doc:system-documentation :cli)))
64 #+end_src
65 
66 #+RESULTS:
67 - pkg.lisp
68 - ansi.lisp
69 - env.lisp
70 - progress.lisp
71 - spark.lisp
72 - repl.lisp
73 - shell.lisp
74 - prompt.lisp
75 - ed.lisp
76 - tools/pkg.lisp
77 - tools/term.lisp
78 - tools/tmux.lisp
79 - tools/pacman.lisp
80 - tools/cc.lisp
81 - tools/systemd.lisp
82 - tools/cargo.lisp
83 - tools/sbcl.lisp
84 - clap/pkg.lisp
85 - clap/ast.lisp
86 - clap/vars.lisp
87 - clap/util.lisp
88 - clap/macs.lisp
89 - clap/proto.lisp
90 - clap/opt.lisp
91 - clap/cmd.lisp
92 - clap/cli.lisp
93 - cli.lisp
94 
95 ** packages
96 :PROPERTIES:
97 :ID: c62cb04c-1c86-4bbe-bd1e-b962c887b008
98 :END:
99 #+begin_src lisp :output replace :results list
100  (mapcar (lambda (p) (package-name (doc:doc-package p)))
101  (doc:doc-packages (doc:system-documentation :cli)))
102 #+end_src
103 
104 #+RESULTS:
105 - CLI/TOOLS/SBCL
106 - CLI/CLAP/OBJ
107 - CLI/CLAP/SIMPLE
108 - CLI/SHELL
109 - CLI/TOOLS/TERM
110 - CLI/ANSI
111 - CLI/CLAP/PROTO
112 - CLI/CLAP/AST
113 - CLI/ED
114 - CLI/TOOLS/PACMAN
115 - CLI/TOOLS/CARGO
116 - CLI/CLAP
117 - CLI
118 - CLI/TOOLS/CC
119 - CLI/CLAP/VARS
120 - CLI/TESTS
121 - CLI/TOOLS/TMUX
122 - CLI/REPL
123 - CLI/CLAP/UTIL
124 - CLI/ENV
125 - CLI/PROGRESS
126 - CLI/PROMPT
127 - CLI-USER
128 - CLI/SPARK
129 - CLI/CLAP/MACS
130 - CLI/TOOLS/SYSTEMD
131 
132 ** tests
133 :PROPERTIES:
134 :ID: 7fa7ae69-b3a0-4bdf-907c-dacb25cb3662
135 :END:
136 #+begin_src lisp :output replace
137  (ql:quickload :cli/tests)
138  (print rt:*test-suite* nil)
139 #+end_src
140 
141 #+RESULTS:
142 : #<RT:TEST-SUITE CLI [11:11:0:0] {101709DC53}>
143 
144 #+begin_src lisp :output replace
145  (rt:tests rt:*test-suite*)
146 #+end_src
147 
148 #+RESULTS:
149 #+begin_example
150 (#<RT:TEST SBCL-TOOLS :fn SBCL-TOOLS-TEST749 {10170B9CF3}>
151  #<RT:TEST MAIN-OUTPUT :fn MAIN-OUTPUT-TEST748 {10170B9C03}>
152  #<RT:TEST CLAP-AST :fn CLAP-AST-TEST747 {10170B9B13}>
153  #<RT:TEST ENV :fn ENV-TEST746 {10170B9A23}>
154  #<RT:TEST REPL :fn REPL-TEST745 {10170B9933}>
155  #<RT:TEST SPARK :fn SPARK-TEST744 {10170B9843}>
156  #<RT:TEST PROGRESS :fn PROGRESS-TEST743 {10170B9753}>
157  #<RT:TEST CLAP-OPTS :fn CLAP-OPTS-TEST742 {10170B9663}>
158  #<RT:TEST CLAP-BASIC :fn CLAP-BASIC-TEST741 {10170B9543}>
159  #<RT:TEST CLI-PROMPT :fn CLI-PROMPT-TEST740 {101709EFF3}>
160  #<RT:TEST ANSI :fn ANSI-TEST739 {101709DE63}>)
161 #+end_example