fix nim check nimscript [backport: 1.6] (#19444)

fix #19440; fix #3858

(cherry picked from commit 7c3c61f2f1)
This commit is contained in:
flywind
2022-03-24 04:09:44 +08:00
committed by narimiran
parent 9df55a8979
commit b741f3cbd3
3 changed files with 18 additions and 1 deletions

View File

@@ -1090,6 +1090,8 @@ proc processArgument*(pass: TCmdLinePass; p: OptParser;
else:
if pass == passCmd1: config.commandArgs.add p.key
if argsCount == 1:
if p.key.endsWith(".nims"):
incl(config.globalOptions, optWasNimscript)
# support UNIX style filenames everywhere for portable build scripts:
if config.projectName.len == 0:
config.projectName = unixToNativePath(p.key)

View File

@@ -58,6 +58,9 @@ proc commandCheck(graph: ModuleGraph) =
let conf = graph.config
conf.setErrorMaxHighMaybe
defineSymbol(conf.symbols, "nimcheck")
if optWasNimscript in conf.globalOptions:
defineSymbol(conf.symbols, "nimscript")
defineSymbol(conf.symbols, "nimconfig")
semanticPasses(graph) # use an empty backend for semantic checking only
compileProject(graph)
@@ -363,7 +366,8 @@ proc mainCommand*(graph: ModuleGraph) =
msgWriteln(conf, "-- end of list --", {msgStdout, msgSkipHook})
for it in conf.searchPaths: msgWriteln(conf, it.string)
of cmdCheck: commandCheck(graph)
of cmdCheck:
commandCheck(graph)
of cmdParse:
wantMainModule(conf)
discard parseFile(conf.projectMainIdx, cache, conf)

View File

@@ -0,0 +1,11 @@
discard """
cmd: "nim check $file"
"""
mode = ScriptMode.Verbose
proc build() =
echo "building nim... "
exec "sleep 10"
echo getCurrentDir()
echo "hello"