Get the current application’s command-line.
This command-line is not supposed to contain any Lisp implementation specific
option; only user-level ones. When a standalone executable is dumped, this is
always the case. When used interactively, this depends on the underlying Lisp
implementation. See appendix A.5 of the user manual for more information.
util.lisp
(file)
Return T if CONTEXT has any unprocessed options left.
context.lisp
(file)
Return T if CONTEXT has anything on its command-line.
context.lisp
(file)
Return KEY’s value in the current Clon configuration.
configuration.lisp
(file)
Set KEY to VALUE in the current Clon configuration.
configuration.lisp
(file)
Return T if the current Lisp image is a standalone executable.
This function detects executables dumped by ASDF’s program-op operation,
those dumped by Clon’s ‘dump’ function (which see), and those in which
‘*executablep*’ (which see) has been set to T manually.
util.lisp
(file)
Quit the current application with STATUS.
This function is considered deprecated. Please use UIOP:QUIT instead.
util.lisp
(file)
Get an option’s value in CONTEXT.
The option can be specified either by SHORT-NAME, LONG-NAME, or directly via
an OPTION object.
Return two values:
- the retrieved value,
- the value’s source.
context.lisp
(file)
Get the next command-line option in CONTEXT.
When there is no next command-line option, return nil.
Otherwise, return four values:
- the option object,
- the option’s name used on the command-line,
- the retrieved value,
- the value source.
context.lisp
(file)
Print CONTEXT’s help.
context.lisp
(file)
Make a new context.
- SYNOPSIS is the program synopsis to use in that context.
It defaults to *SYNOPSIS*.
- CMDLINE is the argument list (strings) to process.
It defaults to a POSIX conformant argv.
- PROGNAME is an alternate value for argv[0].
It defaults to NIL, in which case the actual argv[0] is used.
Otherwise, it can be a non-empty string, standing for itself,
or :environment meaning to retrieve the value of the __CL_ARGV0 environment
variable (ignored if it’s empty).
value.
- If MAKE-CURRENT, make the new context current. This is the default.
context.lisp
(file)
Make a new enum option.
- SHORT-NAME is the option’s short name (without the dash).
It defaults to nil.
- LONG-NAME is the option’s long name (without the double-dash).
It defaults to nil.
- DESCRIPTION is the option’s description appearing in help strings.
It defaults to nil.
- ARGUMENT-NAME is the option’s argument name appearing in help strings.
- ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and
:mandatory are synonyms).
It defaults to :optional.
- ENUM is the set of possible values.
- ENV-VAR is the option’s associated environment variable.
It defaults to nil.
- FALLBACK-VALUE is the option’s fallback value (for missing optional
arguments), if any.
- DEFAULT-VALUE is the option’s default value, if any.
- When HIDDEN, the option doesn’t appear in help strings.
enum.lisp
(file)
Make a new flag.
- SHORT-NAME is the option’s short name (without the dash).
It defaults to nil.
- LONG-NAME is the option’s long name (without the double-dash).
It defaults to nil.
- DESCRIPTION is the option’s description appearing in help strings.
It defaults to nil.
- ENV-VAR is the flag’s associated environment variable.
It defaults to nil.
- When HIDDEN, the option doesn’t appear in help strings.
flag.lisp
(file)
Make a new group.
group.lisp
(file)
Make a new lispobj option.
- SHORT-NAME is the option’s short name (without the dash).
It defaults to nil.
- LONG-NAME is the option’s long name (without the double-dash).
It defaults to nil.
- DESCRIPTION is the option’s description appearing in help strings.
It defaults to nil.
- ARGUMENT-NAME is the option’s argument name appearing in help strings.
- ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and
:mandatory are synonyms).
It defaults to :optional.
- ENV-VAR is the option’s associated environment variable.
It defaults to nil.
- TYPESPEC is a type specifier the option’s value should satisfy.
- FALLBACK-VALUE is the option’s fallback value (for missing optional
arguments), if any.
- DEFAULT-VALUE is the option’s default value, if any.
- When HIDDEN, the option doesn’t appear in help strings.
lispobj.lisp
(file)
Make a new path option.
- SHORT-NAME is the option’s short name (without the dash).
It defaults to nil.
- LONG-NAME is the option’s long name (without the double-dash).
It defaults to nil.
- DESCRIPTION is the option’s description appearing in help strings.
It defaults to nil.
- ARGUMENT-NAME is the option’s argument name appearing in help strings.
- ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and
:mandatory are synonyms).
It defaults to :optional.
- ENV-VAR is the option’s associated environment variable.
It defaults to nil.
- FALLBACK-VALUE is the option’s fallback value (for missing optional
arguments), if any.
- DEFAULT-VALUE is the option’s default value, if any.
- TYPE is the pathname type. It can be one of :file, :directory, :file-list,
:directory-list or nil meaning that everything is allowed.
- When HIDDEN, the option doesn’t appear in help strings.
path.lisp
(file)
Make a new string option.
- SHORT-NAME is the option’s short name (without the dash).
It defaults to nil.
- LONG-NAME is the option’s long name (without the double-dash).
It defaults to nil.
- DESCRIPTION is the option’s description appearing in help strings.
It defaults to nil.
- ARGUMENT-NAME is the option’s argument name appearing in help strings.
- ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and
:mandatory are synonyms).
It defaults to :optional.
- ENV-VAR is the option’s associated environment variable.
It defaults to nil.
- FALLBACK-VALUE is the option’s fallback value (for missing optional
arguments), if any.
- DEFAULT-VALUE is the option’s default value, if any.
- When HIDDEN, the option doesn’t appear in help strings.
stropt.lisp
(file)
Make a new switch.
- SHORT-NAME is the switch’s short name (without the dash).
It defaults to nil.
- LONG-NAME is the switch’s long name (without the double-dash).
It defaults to nil.
- DESCRIPTION is the switch’s description appearing in help strings.
It defaults to nil.
- ARGUMENT-STYLE is the switch’s argument display style. It can be one of
:yes/no, :on/off, :true/false, :yup/nope or :yeah/nah.
It defaults to :yes/no.
- ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and
:mandatory are synonyms).
It defaults to :optional.
- ENV-VAR is the switch’s associated environment variable.
It defaults to nil.
- DEFAULT-VALUE is the switch’s default value, if any.
- When HIDDEN, the option doesn’t appear in help strings.
switch.lisp
(file)
Make a new SYNOPSIS.
- POSTFIX is a string to append to the program synopsis, in case it accepts a
remainder.
- If MAKE-DEFAULT, make the new synopsis the default one.
synopsis.lisp
(file)
Make a new text.
- CONTENTS is the actual text to display.
- When HIDDEN, the text doesn’t appear in help strings.
text.lisp
(file)
Make a new xswitch.
- SHORT-NAME is the xswitch’s short name (without the dash).
It defaults to nil.
- LONG-NAME is the xswitch’s long name (without the double-dash).
It defaults to nil.
- DESCRIPTION is the xswitch’s description appearing in help strings.
It defaults to nil.
- ARGUMENT-NAME is the option’s argument name appearing in help strings.
- ARGUMENT-TYPE is one of :required, :mandatory or :optional (:required and
:mandatory are synonyms).
It defaults to :optional.
- ENUM is the set of possible non-boolean values.
- ENV-VAR is the xswitch’s associated environment variable.
It defaults to nil.
- DEFAULT-VALUE is the xswitch’s default value, if any.
- When HIDDEN, the option doesn’t appear in help strings.
xswitch.lisp
(file)
Add NICKNAME (:CLON by default) to the :NET.DIDIERVERNA.CLON package.
package.lisp
(file)
Return CONTEXT’s program name.
context.lisp
(file)
Return CONTEXT’s remainder.
context.lisp
(file)
Autodetect termio support.
Update Clon configuration and *FEATURES* accordingly.
termio.lisp
(file)
Return the current version of Clon.
TYPE can be one of :number, :short or :long.
A version number is computed as major*10000 + minor*100 + patchlevel, leaving
two digits for each level. Alpha, beta and rc status are ignored in version
numbers.
A short version is something like 1.3{a,b,rc}4, or 1.3.4 for patchlevel.
Alpha, beta or rc levels start at 1. Patchlevels start at 0 but are ignored
in the output, so that 1.3.0 appears as just 1.3.
A long version is something like
1.3 {alpha,beta,release candidate,patchlevel} 4 "Michael Brecker". As for
the short version, a patchlevel of 0 is ignored in the output.
version.lisp
(file)