eval and execute: Automatically skips over empty commands (those that parse command interprets as empty lists)
This commit is contained in:
parent
69a96bda1b
commit
fb7b46fca6
|
@ -248,6 +248,8 @@ proc execute(cmd: string): int =
|
||||||
let strm=cmd.newStringStream
|
let strm=cmd.newStringStream
|
||||||
while not strm.atEnd:
|
while not strm.atEnd:
|
||||||
let parsed = strm.readCommand.parseCommand
|
let parsed = strm.readCommand.parseCommand
|
||||||
|
if parsed == @[]:
|
||||||
|
continue
|
||||||
let progname = parsed[0]
|
let progname = parsed[0]
|
||||||
let args = parsed[1..parsed.high]
|
let args = parsed[1..parsed.high]
|
||||||
if progname in builtins:
|
if progname in builtins:
|
||||||
|
@ -264,6 +266,8 @@ proc eval(cmd: string): string =
|
||||||
let strm=cmd.newStringStream
|
let strm=cmd.newStringStream
|
||||||
while not strm.atEnd():
|
while not strm.atEnd():
|
||||||
let parsed = strm.readCommand.parseCommand
|
let parsed = strm.readCommand.parseCommand
|
||||||
|
if parsed == @[]:
|
||||||
|
continue
|
||||||
let progname=parsed[0]
|
let progname=parsed[0]
|
||||||
let args = parsed[1..parsed.high]
|
let args = parsed[1..parsed.high]
|
||||||
if progname in builtins:
|
if progname in builtins:
|
||||||
|
|
Loading…
Reference in New Issue