! Copyright (C) 2011 Joe Groff. ! See http://factorcode.org/license.txt for BSD license. USING: command-line eval io io.pathnames kernel namespaces sequences system vocabs.loader ; IN: command-line.startup : cli-usage ( -- ) "Usage: " write vm-path file-name write " [Factor arguments] [script] [script arguments] Common arguments: -help print this message and exit -i= load Factor image file (default " write vm-path file-stem write ".image) -run= run the MAIN: entry point of -run=listener run terminal listener -run=ui.tools run Factor development UI -e= evaluate -no-user-init suppress loading of .factor-rc -datastack= datastack size in KiB -retainstack= retainstack size in KiB -callstack= callstack size in KiB -callbacks= callback heap size in KiB -young= young gc generation 0 size in MiB -aging= aging gc generation 1 size in MiB -tenured= tenured gc generation 2 size in MiB -codeheap= codeheap size in MiB -pic= max pic size -fep enter fep mode immediately -nosignals turn off OS signal handling -console open console if possible -roots= a list of \"" write os windows? ";" ":" ? write "\"-delimited extra vocab roots Enter \"command-line\" help from within Factor for more information. " write ; : help? ( -- ? ) "help" get "-help" get or "h" get or os windows? [ script get "/?" = ] [ f ] if or ; : command-line-startup ( -- ) (command-line) parse-command-line help? [ cli-usage ] [ load-vocab-roots run-user-init "e" get script get or [ "e" get [ eval( -- ) ] when* script get [ run-script ] when* ] [ "run" get run ] if ] if output-stream get [ stream-flush ] when* 0 exit ;