diff options
Diffstat (limited to 'compiler')
-rwxr-xr-x | compiler/main.nim | 1 | ||||
-rwxr-xr-x | compiler/msgs.nim | 4 | ||||
-rwxr-xr-x | compiler/options.nim | 1 | ||||
-rw-r--r-- | compiler/service.nim | 1 |
4 files changed, 4 insertions, 3 deletions
diff --git a/compiler/main.nim b/compiler/main.nim index ce08eaa30..053783d9b 100755 --- a/compiler/main.nim +++ b/compiler/main.nim @@ -559,6 +559,7 @@ proc MainCommand = wantMainModule() CommandSuggest() of "serve": + isServing = true gGlobalOptions.incl(optCaasEnabled) msgs.gErrorMax = high(int) # do not stop after first error serve(MainCommand) diff --git a/compiler/msgs.nim b/compiler/msgs.nim index 0f2affc36..bec30388c 100755 --- a/compiler/msgs.nim +++ b/compiler/msgs.nim @@ -523,8 +523,8 @@ proc SuggestWriteln*(s: string) = stdoutSocket.send(s & "\c\L") proc SuggestQuit*() = - if isNil(stdoutSocket): quit(0) - else: + if not isServing: quit(0) + elif not isNil(stdoutSocket): stdoutSocket.send("\c\L") raise newException(ESuggestDone, "suggest done") diff --git a/compiler/options.nim b/compiler/options.nim index e809c4e96..ad7c834dc 100755 --- a/compiler/options.nim +++ b/compiler/options.nim @@ -105,6 +105,7 @@ var gEvalExpr* = "" # expression for idetools --eval gLastCmdTime*: float # when caas is enabled, we measure each command gListFullPaths*: bool + isServing*: bool = false proc importantComments*(): bool {.inline.} = gCmd in {cmdDoc, cmdIdeTools} proc usesNativeGC*(): bool {.inline.} = gSelectedGC >= gcRefc diff --git a/compiler/service.nim b/compiler/service.nim index defdbceb7..eaf3693ce 100644 --- a/compiler/service.nim +++ b/compiler/service.nim @@ -90,4 +90,3 @@ proc serve*(action: proc (){.nimcall.}) = else: echo "Invalid server.type:", typ quit 1 - |