changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/lib/cli/clap/pkg.lisp

changeset 655: 65102f74d1ae
parent: 119532882cb1
child: 39170f311b8c
author: Richard Westhaver <ellis@rwest.io>
date: Mon, 16 Sep 2024 21:28:33 -0400
permissions: -rw-r--r--
description: some optimizations, may have muddied the waters with cli-opt a bit though.. tbd
1 ;;; cli/clap/pkg.lisp --- Clap Package Definitions
2 
3 ;;
4 
5 ;;; Code:
6 (defpackage :cli/clap/vars
7  (:use :cl)
8  (:export :*cli-group-separator* :*no-exit* :*default-cli-def*
9  :*default-cli-class* :*cli-opt-kinds* :*cli* :*opts*
10  :*args* :*argc* :*arg* :*optc*))
11 
12 (defpackage :cli/clap/util
13  (:use :cl :std :log :sb-ext :cli/clap/vars)
14  (:export :args :arg0 :long-opt-p
15  :short-opt-p :opt-group-p :opt-string-prefix-eq :cli-opt-kind-p
16  :default-thunk
17  :long-opt-has-eq-p
18  :opt-keyword-p))
19 
20 (defpackage :cli/clap/macs
21  (:use :cl :std :log :sb-ext :cli/clap/util :cli/clap/vars)
22  (:export :defopt :defcmd
23  :make-opt-parser :with-cli-handlers :make-shorty
24  :with-opt-restart-case))
25 
26 (defpackage :cli/clap/proto
27  (:use :cl :std :log :sb-ext)
28  (:export :proc-args :clap-error :find-short-opts
29  :find-cmd :find-opts :parse-args :print-help
30  :print-usage :print-version :do-cmds :do-cmd
31  :active-cmds :active-opts :call-opt :do-opt
32  :push-cmd :push-opt :cli-equal
33  :do-opts
34  :clap-simple-error
35  :clap-simple-warning
36  :clap-warning
37  :clap-unknown-argument
38  :handle-unknown-opt
39  :handle-missing-opt
40  :handle-invalid-opt
41  :handle-unknown-arg
42  :handle-missing-arg
43  :handle-invalid-arg
44  :clap-missing-argument
45  :clap-invalid-argument
46  :activate-cmd
47  :activate-opt
48  :find-opt))
49 
50 (defpackage :cli/clap/ast
51  (:use :cl :std :log :dat/sxp)
52  (:export :cli-node :make-cli-node :cli-ast
53  :make-cli-ast :cli-node-kind :cli-node-form))
54 
55 (defpackage :cli/clap/obj
56  (:use :cl :std :log
57  :sb-ext :cli/clap/proto :cli/clap/macs :cli/clap/util
58  :cli/clap/vars :cli/clap/ast :cli/clap/util)
59  (:import-from :dat/sxp :ast)
60  (:export :make-cli :define-cli :defmain
61  :make-opts :make-cmds :parse-bool-opt :parse-string-opt
62  :parse-form-opt :parse-list-op :parse-sym-op :parse-key-op
63  :pasre-num-op :parse-file-op :parse-dir-op :cli
64  :cli-cd :with-cli :opts :cmds :debug-opts
65  :cli-opt :cli-cmd :cli-opt-val :cli-opt-lock :cli-opt-name
66  :active-cmds
67  :%compose-keyword-opt))
68 
69 (defpackage :cli/clap/simple
70  (:use :cl :std :log :sb-ext)
71  (:import-from :cli/ansi :.ris)
72  (:import-from :uiop :println)
73  (:import-from :sb-ext :parse-native-namestring)
74  (:shadowing-import-from :sb-ext :exit)
75  (:export))
76 
77 (pkg:defpkg :cli/clap
78  (:nicknames :clap)
79  (:use-reexport :cli/clap/obj :cli/clap/vars :cli/clap/proto
80  :cli/clap/simple :cli/clap/util :cli/clap/macs :cli/clap/ast
81  :cli/clap/vars))