roswell.roswell/documents/man/ros-init.1
2022-02-20 06:14:59 +00:00

70 lines
1.9 KiB
Groff

.\" Automatically generated by Pandoc 2.5
.\"
.TH "ros-init" "1" "" "" ""
.hy
.PP
ros\-init \- Create a roswell script (optionally based on a template)
.SH Synopsis
.PP
\f[B]ros init [TEMPLATE] NAME [ARGS\&...]]\f[R]
.TP
.B TEMPLATE
Specifies the name of a template, defaulted to \f[I]default\f[R]
template.
However, if \f[I]TEMPLATE\f[R] is not specified and \f[I]FILENAME\f[R]
matches one of the templates being stored, then it automatically uses
the template.
To suppress this behavior, you should explicitly specify
\f[I]TEMPLATE\f[R] as \f[I]default\f[R].
.RS
.PP
Thus you are warned when you use this command from a shell script.
In order to achieve a consistent and desired behavior, it is adviced
that they should always explicitly specify the template name.
.RE
.TP
.B NAME
Specify the output filename, or \[lq]\-\[rq] to indicate
\f[I]stdout\f[R].
When \f[I]TEMPLATE\f[R] is \f[I]default\f[R], it automatically appends a
file type \[lq].ros\[rq].
.SH Description
.PP
Initialises a roswell file based on a template.
User\-specified templates can be added by \f[I]ros\-template\f[R](1).
.PP
The default template is something like:
.IP
.nf
\f[C]
#!/bin/sh
#|\-*\- mode:lisp \-*\-|#
#| <Put a one\-line description here>
exec ros \-Q \-\- $0 \[dq]$\[at]\[dq]
|#
(progn ;;init forms
(ros:ensure\-asdf)
;;#+quicklisp (ql:quickload \[aq]() :silent t)
)
(defpackage :ros.script.test.3703600390
(:use :cl))
(in\-package :ros.script.test.3703600390)
(defun main (&rest argv)
(declare (ignorable argv)))
;;; vim: set ft=lisp lisp:
\f[R]
.fi
.PP
This is basically a shell script which immediately invokes Roswell by
exec (see \f[I]sh(1)\f[R]).
Roswell loads the same script as an input, skips multi\-line comments,
reads the rest of the file as a Common Lisp program, and finally invokes
a function main with command\-line arguments.
.SH SEE ALSO
.PP
\f[I]sbcl\f[R](1) \f[I]ros\f[R](1) \f[I]ros\-template\f[R](1)
.SH AUTHORS
Roswell Project Team.