.\" 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 \-*\-|# #| 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.