changelog shortlog graph tags branches changeset files revisions annotate raw help

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

changeset 44: b925807b50a6
parent: 6303e1f79470
child: 517e7b6fb42d
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 18 Aug 2024 22:16:12 -0400
permissions: -rw-r--r--
description: weekend warrior
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 The =cli= library is a fully-featured toolkit for building [[https://en.wikipedia.org/wiki/Command-line_interface][CLI]]
12 programs.
13 
14 
15 * stats
16 ** dependencies
17 #+begin_src lisp :results list
18  (ql:quickload :doc)
19  (let ((sys (asdf:find-system :cli)))
20  (asdf:system-depends-on sys))
21 #+end_src
22 
23 #+RESULTS:
24 - std
25 - log
26 - dat
27 
28 ** dependents
29 #+begin_src lisp :results list
30  (ql:quickload :doc)
31  (let ((sys (doc:system-documentation :cli)))
32  (mapcar (lambda (s) (asdf:component-name (doc:doc-system s))) (doc:doc-dependents sys)))
33 #+end_src
34 
35 #+RESULTS:
36 - user
37 - packy
38 - pod
39 - vc
40 - skel
41 - prelude
42 - cli/tests
43 
44 ** files
45 #+begin_src lisp :output replace :results list
46  (mapcar (lambda (p)
47  (enough-namestring p (asdf:system-source-directory :cli)))
48  (doc:doc-files (doc:system-documentation :cli)))
49 #+end_src
50 
51 #+RESULTS:
52 - pkg.lisp
53 - ansi.lisp
54 - env.lisp
55 - progress.lisp
56 - spark.lisp
57 - repl.lisp
58 - shell.lisp
59 - prompt.lisp
60 - ed.lisp
61 - tools/pkg.lisp
62 - tools/term.lisp
63 - tools/tmux.lisp
64 - tools/pacman.lisp
65 - tools/cc.lisp
66 - tools/systemd.lisp
67 - tools/cargo.lisp
68 - tools/sbcl.lisp
69 - clap/pkg.lisp
70 - clap/ast.lisp
71 - clap/vars.lisp
72 - clap/util.lisp
73 - clap/macs.lisp
74 - clap/proto.lisp
75 - clap/opt.lisp
76 - clap/cmd.lisp
77 - clap/cli.lisp
78 - cli.lisp
79 
80 ** packages
81 #+begin_src lisp :output replace :results list
82  (mapcar (lambda (p) (package-name (doc:doc-package p)))
83  (doc:doc-packages (doc:system-documentation :cli)))
84 #+end_src
85 
86 #+RESULTS:
87 - CLI/TOOLS/SBCL
88 - CLI/CLAP/OBJ
89 - CLI/CLAP/SIMPLE
90 - CLI/SHELL
91 - CLI/TOOLS/TERM
92 - CLI/ANSI
93 - CLI/CLAP/PROTO
94 - CLI/CLAP/AST
95 - CLI/ED
96 - CLI/TOOLS/PACMAN
97 - CLI/TOOLS/CARGO
98 - CLI/CLAP
99 - CLI
100 - CLI/TOOLS/CC
101 - CLI/CLAP/VARS
102 - CLI/TESTS
103 - CLI/TOOLS/TMUX
104 - CLI/REPL
105 - CLI/CLAP/UTIL
106 - CLI/ENV
107 - CLI/PROGRESS
108 - CLI/PROMPT
109 - CLI-USER
110 - CLI/SPARK
111 - CLI/CLAP/MACS
112 - CLI/TOOLS/SYSTEMD
113 
114 ** tests
115 #+begin_src lisp :output replace
116  (ql:quickload :cli/tests)
117  (print rt:*test-suite* nil)
118 #+end_src
119 
120 #+RESULTS:
121 : #<RT:TEST-SUITE CLI [11:11:0:0] {101709DC53}>
122 
123 #+begin_src lisp :output replace
124  (rt:tests rt:*test-suite*)
125 #+end_src
126 
127 #+RESULTS:
128 #+begin_example
129 (#<RT:TEST SBCL-TOOLS :fn SBCL-TOOLS-TEST749 {10170B9CF3}>
130  #<RT:TEST MAIN-OUTPUT :fn MAIN-OUTPUT-TEST748 {10170B9C03}>
131  #<RT:TEST CLAP-AST :fn CLAP-AST-TEST747 {10170B9B13}>
132  #<RT:TEST ENV :fn ENV-TEST746 {10170B9A23}>
133  #<RT:TEST REPL :fn REPL-TEST745 {10170B9933}>
134  #<RT:TEST SPARK :fn SPARK-TEST744 {10170B9843}>
135  #<RT:TEST PROGRESS :fn PROGRESS-TEST743 {10170B9753}>
136  #<RT:TEST CLAP-OPTS :fn CLAP-OPTS-TEST742 {10170B9663}>
137  #<RT:TEST CLAP-BASIC :fn CLAP-BASIC-TEST741 {10170B9543}>
138  #<RT:TEST CLI-PROMPT :fn CLI-PROMPT-TEST740 {101709EFF3}>
139  #<RT:TEST ANSI :fn ANSI-TEST739 {101709DE63}>)
140 #+end_example