From 9502e39b634eea8e04f07ddc110b466387f42322 Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Mon, 11 May 2020 03:01:18 -0700 Subject: `nim doc --backend:js`, `nim doc --doccmd:-d:foo`, `nim r --backend:js`, `--doccmd:skip` + other improvements (#14278) * `nim doc --backend:js|cpp...` `nim doc --doccmd:'-d:foo --threads:on'` `nim r --backend:cpp...` (implies --run --usenimcache) * --usenimcache works with all targets * --docCmd:skip now skips compiling snippets; 50X speedup for doc/manual.rst --- compiler/nim.nim | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'compiler/nim.nim') diff --git a/compiler/nim.nim b/compiler/nim.nim index dba5b8bc3..b48fce0b8 100644 --- a/compiler/nim.nim +++ b/compiler/nim.nim @@ -88,17 +88,19 @@ proc handleCmdLine(cache: IdentCache; conf: ConfigRef) = tccgen.run(conf, conf.arguments) if optRun in conf.globalOptions: let output = conf.absOutFile - let ex = quoteShell output case conf.cmd - of cmdCompileToJS: - execExternalProgram(conf, findNodeJs() & " " & ex & ' ' & conf.arguments) + of cmdCompileToBackend: + var cmdPrefix = "" + case conf.backend + of backendC, backendCpp, backendObjc: discard + of backendJs: cmdPrefix = findNodeJs() & " " + else: doAssert false, $conf.backend + execExternalProgram(conf, cmdPrefix & output.quoteShell & ' ' & conf.arguments) of cmdDoc, cmdRst2html: if conf.arguments.len > 0: # reserved for future use rawMessage(conf, errGenerated, "'$1 cannot handle arguments" % [$conf.cmd]) openDefaultBrowser($output) - of cmdCompileToC, cmdCompileToCpp, cmdCompileToOC: - execExternalProgram(conf, ex & ' ' & conf.arguments) else: # support as needed rawMessage(conf, errGenerated, "'$1 cannot handle --run" % [$conf.cmd]) -- cgit 1.4.1-2-gfad0