diff options
Diffstat (limited to 'compiler/options.nim')
-rwxr-xr-x | compiler/options.nim | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/compiler/options.nim b/compiler/options.nim index 0d783cee2..54ebc5486 100755 --- a/compiler/options.nim +++ b/compiler/options.nim @@ -31,6 +31,7 @@ type # please make sure we have under 32 options optImplicitStatic, # optimization: implicit at compile time # evaluation optPatterns # en/disable pattern matching + TOptions* = set[TOption] TGlobalOption* = enum # **keep binary compatible** gloptNone, optForceFullMake, optBoehmGC, optRefcGC, optDeadCodeElim, @@ -44,6 +45,7 @@ type # please make sure we have under 32 options optGenMapping, # generate a mapping file optRun, # run the compiled project optSymbolFiles, # use symbol files for speeding up compilation + optCaasEnabled # compiler-as-a-service is running optSkipConfigFile, # skip the general config file optSkipProjConfigFile, # skip the project's config file optSkipUserConfigFile, # skip the users's config file @@ -59,8 +61,9 @@ type # please make sure we have under 32 options optTaintMode, # taint mode turned on optTlsEmulation, # thread var emulation turned on optGenIndex # generate index file for documentation; + optEmbedOrigSrc # embed the original source in the generated code # also: generate header file - + TGlobalOptions* = set[TGlobalOption] TCommands* = enum # Nimrod's commands # **keep binary compatible** @@ -95,8 +98,9 @@ var gCmd*: TCommands = cmdNone # the command gVerbosity*: int # how verbose the compiler is gNumberOfProcessors*: int # number of processors - gWholeProject*: bool # for 'doc2': output any dependency + gEvalExpr* = "" # expression for idetools --eval + gLastCmdTime*: float # when caas is enabled, we measure each command gListFullPaths*: bool proc importantComments*(): bool {.inline.} = gCmd in {cmdDoc, cmdIdeTools} @@ -119,6 +123,8 @@ var gProjectName* = "" # holds a name like 'nimrod' gProjectPath* = "" # holds a path like /home/alice/projects/nimrod/compiler/ gProjectFull* = "" # projectPath/projectName + gProjectMainIdx*: int32 # the canonical path id of the main module + optMainModule* = "" # the main module that should be used for idetools commands nimcacheDir* = "" command* = "" # the main command (e.g. cc, check, scan, etc) commandArgs*: seq[string] = @[] # any arguments after the main command @@ -260,7 +266,8 @@ proc binaryStrSearch*(x: openarray[string], y: string): int = result = - 1 # Can we keep this? I'm using it all the time -template nimdbg*: expr = c.filename.endsWith"hallo.nim" -template cnimdbg*: expr = p.module.filename.endsWith"hallo.nim" -template enimdbg*: expr = c.module.name.s == "hallo" -template pnimdbg*: expr = p.lex.fileIdx.ToFilename.endsWith"hallo.nim" +template nimdbg*: expr = c.module.fileIdx == gProjectMainIdx +template cnimdbg*: expr = p.module.module.fileIdx == gProjectMainIdx +template pnimdbg*: expr = p.lex.fileIdx == gProjectMainIdx +template lnimdbg*: expr = L.fileIdx == gProjectMainIdx + |