diff --git a/basis/bootstrap/finish-bootstrap.factor b/basis/bootstrap/finish-bootstrap.factor index b64de97622..8d6e23c485 100644 --- a/basis/bootstrap/finish-bootstrap.factor +++ b/basis/bootstrap/finish-bootstrap.factor @@ -1,5 +1,4 @@ -USING: init command-line debugger system continuations -namespaces eval kernel vocabs.loader io ; +USING: init command-line.startup debugger system continuations ; [ boot diff --git a/basis/command-line/command-line.factor b/basis/command-line/command-line.factor index 0b55798b2d..e902bbc396 100644 --- a/basis/command-line/command-line.factor +++ b/basis/command-line/command-line.factor @@ -3,7 +3,7 @@ USING: init continuations hashtables io io.encodings.utf8 io.files io.pathnames kernel kernel.private namespaces parser sequences source-files strings system splitting vocabs.loader -alien.strings accessors eval ; +alien.strings accessors ; IN: command-line SYMBOL: script @@ -71,41 +71,3 @@ SYMBOL: main-vocab-hook ] bind ; [ default-cli-args ] "command-line" add-startup-hook - -: cli-usage ( -- ) -""" -Usage: """ write vm file-name write """ [Factor arguments] [script] [script arguments] - -Common arguments: - -help print this message and exit - -i= load Factor image file (default """ write vm file-name write """.image) - -run= run the MAIN: entry point of - -e= evaluate - -quiet suppress "Loading vocab.factor" messages - -no-user-init suppress loading of .factor-rc - -Enter - "command-line" help -from within Factor for more information. - -""" write ; - -: command-line-startup ( -- ) - (command-line) parse-command-line - "help" get "-help" get or "h" get or [ cli-usage ] [ - "e" get script get or "quiet" [ - load-vocab-roots - run-user-init - - "e" get script get or [ - "e" get [ eval( -- ) ] when* - script get [ run-script ] when* - ] [ - "run" get run - ] if - ] with-variable - ] if - - output-stream get [ stream-flush ] when* - 0 exit ; - diff --git a/basis/command-line/startup/authors.txt b/basis/command-line/startup/authors.txt new file mode 100644 index 0000000000..1901f27a24 --- /dev/null +++ b/basis/command-line/startup/authors.txt @@ -0,0 +1 @@ +Slava Pestov diff --git a/basis/command-line/startup/startup.factor b/basis/command-line/startup/startup.factor new file mode 100644 index 0000000000..1edf169677 --- /dev/null +++ b/basis/command-line/startup/startup.factor @@ -0,0 +1,43 @@ +! Copyright (C) 2011 Joe Groff. +! See http://factorcode.org/license.txt for BSD license. +USING: command-line eval io io.pathnames kernel namespaces +system vocabs.loader ; +IN: command-line.startup + +: cli-usage ( -- ) +""" +Usage: """ write vm file-name write """ [Factor arguments] [script] [script arguments] + +Common arguments: + -help print this message and exit + -i= load Factor image file (default """ write vm file-name write """.image) + -run= run the MAIN: entry point of + -e= evaluate + -quiet suppress "Loading vocab.factor" messages + -no-user-init suppress loading of .factor-rc + +Enter + "command-line" help +from within Factor for more information. + +""" write ; + +: command-line-startup ( -- ) + (command-line) parse-command-line + "help" get "-help" get or "h" get or [ cli-usage ] [ + "e" get script get or "quiet" [ + load-vocab-roots + run-user-init + + "e" get script get or [ + "e" get [ eval( -- ) ] when* + script get [ run-script ] when* + ] [ + "run" get run + ] if + ] with-variable + ] if + + output-stream get [ stream-flush ] when* + 0 exit ; +