callisto/man/man1/csto.1
Jeremy Baxter 03d321f4f1 csto(1): use semantic newlines
See the "Use semantic newlines" section of man-pages(7)
on a Linux system for reasoning behind this.
2024-04-02 20:20:22 +13:00

140 lines
3 KiB
Groff

.Dd $Mdocdate: April 1 2024 $
.Dt CSTO 1
.Os
.Sh NAME
.Nm csto
.Nd Lua interpreter with operating system interfaces
.Sh SYNOPSIS
.Nm csto
.Bk -words
.Op Fl EivW
.Op Fl e Ar stat
.Op Fl l Ar mod
.Op Fl l Ar g=mod
.Op Ar script Op Ar args
.Ek
.Sh DESCRIPTION
.Nm
is an interpreter for the Lua programming language,
using the Callisto libraries.
Callisto provides Lua libraries for operating systems
following the POSIX standard.
These allow Lua programs to
manipulate the file system,
send signals to processes,
parse command line arguments,
and use other OS functionality not available to a regular Lua interpreter.
.Pp
All of these libraries are conveniently bundled directly into
.Nm
and do not depend on any external libraries or files,
unless your copy of
.Nm
was built with support for
.Lb libreadline .
.Pp
For up-to-date information concerning Callisto, visit
.Lk https://sr.ht/\[ti]jeremy/callisto/
in a web browser.
.Pp
.Nm
executes Lua programs in source form or in bytecode form.
Lua programs in source form can be compiled to bytecode form
through the program
.Xr luac 1 ,
included with the standard Lua distribution.
.Pp
After handling command line options, the Lua program in file
.Ar script
is executed with arguments
.Ar args .
These arguments are available to
.Ar script
as strings in a global table named
.Sy arg .
When called without arguments,
.Nm
behaves as if
.Fl v
and
.Fl i
were given if standard input is a terminal, and as if
.Fl
was given otherwise.
.Pp
The options are as follows:
.Bl -tag -width -l_g=mod
.It Fl E
Ignore environment variables (see section
.Sx ENVIRONMENT
below).
.It Fl e Ar stat
Execute the Lua statement
.Ar stat .
.It Fl i
Enter interactive mode after executing
.Ar script .
.It Fl l Ar mod
Load library
.Ar mod
into global
.Ar mod .
.It Fl l Ar g=mod
Load library
.Ar mod
into global
.Ar g .
.It Fl v
Print version information.
.It Fl W
Enable warnings (see
.Sy warn()
in the Lua manual).
.El
.Sh ENVIRONMENT
.Bl -tag -width four
.It Ev LUA_INIT , Ev LUA_INIT_5_4
Before handling command line options and scripts,
.Nm
checks the values of
.Ev LUA_INIT_5_4
and
.Ev LUA_INIT
in that order. When
.Ev LUA_INIT_5_4
is set,
.Ev LUA_INIT
is ignored.
If the contents are of the form
.Dq @filename ,
then the contents of the file
.Em filename
is executed as Lua code.
Otherwise, the contents are assumed to be a Lua statement
and is executed as Lua code.
.It Ev LUA_PATH , Ev LUA_PATH_5_4
Initial value of
.Em package.path ,
the path used by
.Sy require()
to search for Lua modules.
.It Ev LUA_CPATH , Ev LUA_CPATH_5_4
Initial value of
.Em package.cpath ,
the path used by
.Sy require()
to search for C loaders.
.El
.Sh AUTHORS
.An Jeremy Baxter Aq Mt jtbx@disroot.org
authored and maintains the Callisto libraries.
.Pp
R. Ierusalimschy, L. H. de Figueiredo, and W. Celes
authored the Lua programming language and its standard libraries.
.Sh BUGS
Known bugs can be found at the bug tracker found at
.Lk https://todo.sr.ht/~jeremy/callisto .
.Pp
If you have discovered a bug in Callisto,
please report it to the bug tracker or send an email to
.Aq Mt ~jeremy/callisto@todo.sr.ht .