]> gitweb.factorcode.org Git - factor.git/blob - basis/command-line/startup/startup.factor
2a77de3692ec7e9b2eb3f62dedfbab4336e24dbd
[factor.git] / basis / command-line / startup / startup.factor
1 ! Copyright (C) 2011 Joe Groff.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: command-line eval io io.pathnames kernel namespaces
4 sequences system vocabs.loader ;
5 IN: command-line.startup
6
7 : cli-usage ( -- )
8 """
9 Usage: """ write vm file-name write """ [Factor arguments] [script] [script arguments]
10
11 Common arguments:
12     -help            print this message and exit
13     -i=<image>       load Factor image file <image> (default """ write vm file-stem write """.image)
14     -run=<vocab>     run the MAIN: entry point of <vocab>
15         -run=listener    run terminal listener
16         -run=ui.tools    run Factor development UI
17     -e=<code>        evaluate <code>
18     -no-user-init    suppress loading of .factor-rc
19
20 Enter
21     "command-line" help
22 from within Factor for more information.
23
24 """ write ;
25
26 : help? ( -- ? )
27     "help" get "-help" get or "h" get or
28     os windows? [ script get "/?" = ] [ f ] if or ;
29
30 : command-line-startup ( -- )
31     (command-line) parse-command-line
32     help? [ cli-usage ] [
33         load-vocab-roots
34         run-user-init
35         "e" get script get or [
36             "e" get [ eval( -- ) ] when*
37             script get [ run-script ] when*
38         ] [
39             "run" get run
40         ] if
41     ] if
42
43     output-stream get [ stream-flush ] when*
44     0 exit ;
45