Allow arguments for "nimrod run"

This commit is contained in:
def 2014-07-28 17:41:00 +02:00
commit d9b5ae13be
3 changed files with 5 additions and 7 deletions

View file

@ -58,7 +58,7 @@ proc handleCmdLine() =
if msgs.gErrorCounter == 0: if msgs.gErrorCounter == 0:
when hasTinyCBackend: when hasTinyCBackend:
if gCmd == cmdRun: if gCmd == cmdRun:
tccgen.run() tccgen.run(service.arguments)
if optRun in gGlobalOptions: if optRun in gGlobalOptions:
if gCmd == cmdCompileToJS: if gCmd == cmdCompileToJS:
var ex: string var ex: string

View file

@ -59,7 +59,7 @@ proc processCmdLine*(pass: TCmdLinePass, cmd: string) =
inc argsCount inc argsCount
if pass == passCmd2: if pass == passCmd2:
if optRun notin gGlobalOptions and arguments != "": if optRun notin gGlobalOptions and arguments != "" and options.command != "run":
rawMessage(errArgsNeedRunOption, []) rawMessage(errArgsNeedRunOption, [])
proc serve*(action: proc (){.nimcall.}) = proc serve*(action: proc (){.nimcall.}) =

View file

@ -68,11 +68,9 @@ proc compileCCode*(ccode: string) =
setupEnvironment() setupEnvironment()
discard compileString(gTinyC, ccode) discard compileString(gTinyC, ccode)
proc run*() = proc run*(args: string) =
var a: array[0..1, cstring] var s = @[cstring(gProjectName)] & map(split(args), proc(x: string): cstring = cstring(x))
a[0] = "" var err = tinyc.run(gTinyC, cint(len(s)), cast[cstringArray](addr(s[0]))) != 0'i32
a[1] = ""
var err = tinyc.run(gTinyC, 0'i32, cast[cstringArray](addr(a))) != 0'i32
closeCCState(gTinyC) closeCCState(gTinyC)
if err: rawMessage(errExecutionOfProgramFailed, "") if err: rawMessage(errExecutionOfProgramFailed, "")