command-line: make script and -run= param behave similarly.
parent
c07c1ba9b1
commit
b12ca5e412
|
@ -0,0 +1,32 @@
|
||||||
|
USING: namespaces splitting tools.test ;
|
||||||
|
IN: command-line
|
||||||
|
|
||||||
|
{ f { "a" "b" "c" } } [
|
||||||
|
{ "-run=test-voc" "a" "b" "c" } parse-command-line
|
||||||
|
script get command-line get
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
{ f { "-a" "b" "c" } } [
|
||||||
|
{ "-run=test-voc" "-a" "b" "c" } parse-command-line
|
||||||
|
script get command-line get
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
{ f { "a" "-b" "c" } } [
|
||||||
|
{ "-run=test-voc" "a" "-b" "c" } parse-command-line
|
||||||
|
script get command-line get
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
{ f { "a" "b" "-c" } } [
|
||||||
|
{ "-run=test-voc" "a" "b" "-c" } parse-command-line
|
||||||
|
script get command-line get
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
{ "a" { "b" "c" } } [
|
||||||
|
{ "a" "b" "c" } parse-command-line
|
||||||
|
script get command-line get
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
{ "a" { "b" "c" } } [
|
||||||
|
{ "-foo" "a" "b" "c" } parse-command-line
|
||||||
|
script get command-line get
|
||||||
|
] unit-test
|
|
@ -62,18 +62,21 @@ SYMBOL: command-line
|
||||||
[ source-file main>> [ execute( -- ) ] when* ] bi
|
[ source-file main>> [ execute( -- ) ] when* ] bi
|
||||||
] with-variable ;
|
] with-variable ;
|
||||||
|
|
||||||
: (parse-command-line) ( run? args -- )
|
: (parse-command-line) ( args -- )
|
||||||
[ command-line off script off drop ] [
|
[
|
||||||
unclip "-" ?head
|
unclip "-" ?head [
|
||||||
[ param (parse-command-line) ]
|
[ param ] [ "run=" head? ] bi
|
||||||
[
|
[ command-line set ]
|
||||||
rot [ prefix f ] when
|
[ (parse-command-line) ] if
|
||||||
|
] [
|
||||||
script set command-line set
|
script set command-line set
|
||||||
] if
|
] if
|
||||||
] if-empty ;
|
] unless-empty ;
|
||||||
|
|
||||||
: parse-command-line ( args -- )
|
: parse-command-line ( args -- )
|
||||||
[ [ "-run=" head? ] any? ] keep (parse-command-line) ;
|
command-line off
|
||||||
|
script off
|
||||||
|
(parse-command-line) ;
|
||||||
|
|
||||||
SYMBOL: main-vocab-hook
|
SYMBOL: main-vocab-hook
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue