Files
Nim/compiler/options.html
github-actions[bot] 0959c92f95 Deploy to GitHub pages
2025-12-28 23:31:00 +00:00

2173 lines
192 KiB
HTML

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- This file is generated by Nim. -->
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>options</title>
<!-- Google fonts -->
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
<!-- Favicon -->
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="nimdoc.out.css?v=2.3.1">
<!-- JS -->
<script type="text/javascript" src="dochack.js?v=2.3.1"></script>
</head>
<body>
<div class="document" id="documentId">
<div class="container">
<h1 class="title">options</h1>
<div class="row">
<div class="three columns">
<div class="theme-select-wrapper">
<label for="theme-select">Theme:&nbsp;</label>
<select id="theme-select" onchange="setTheme(this.value)">
<option value="auto">🌗 Match OS</option>
<option value="dark">🌑 Dark</option>
<option value="light">🌕 Light</option>
</select>
</div>
<div id="global-links">
<ul class="simple">
<li><a id="indexLink" href="theindex.html">Index</a></li>
</ul>
</div>
<div id="searchInputDiv">
Search: <input type="search" id="searchInput" oninput="search()"/>
</div>
<div>
Group by:
<select onchange="groupBy(this.value)">
<option value="section">Section</option>
<option value="type">Type</option>
</select>
</div>
<ul class="simple simple-toc" id="toc-list">
<li>
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
</li>
<li>
<details open>
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
<ul class="simple simple-toc-section">
<li><a class="reference" href="#Cfile" title="Cfile = object
nimname*: string
cname*, obj*: AbsoluteFile
flags*: set[CfileFlag]
customArgs*: string">Cfile</a></li>
<li><a class="reference" href="#CfileFlag" title="CfileFlag {.pure.} = enum
Cached, ## no need to recompile this time
External ## file was introduced via .compile pragma">CfileFlag</a></li>
<li><a class="reference" href="#CfileList" title="CfileList = seq[Cfile]">CfileList</a></li>
<li><a class="reference" href="#Command" title="Command = enum
cmdNone, cmdUnknown, cmdCompileToC, cmdCompileToCpp, cmdCompileToOC,
cmdCompileToJS, cmdCrun, cmdTcc, cmdCheck, cmdM, cmdParse, cmdRod,
cmdIdeTools, cmdNimscript, cmdDoc0, cmdDoc, cmdDoc2tex, cmdRst2html,
cmdRst2tex, cmdMd2html, cmdMd2tex, cmdJsondoc0, cmdJsondoc, cmdCtags,
cmdBuildindex, cmdGendepend, cmdDump, cmdInteractive, cmdNop, cmdJsonscript,
cmdCompileToNif, cmdNifC, cmdDeps">Command</a></li>
<li><a class="reference" href="#ConfigRef" title="ConfigRef {.acyclic.} = ref object
backend*: TBackend
target*: Target
linesCompiled*: int
options*: TOptions
globalOptions*: TGlobalOptions
macrosToExpand*: StringTableRef
arcToExpand*: StringTableRef
m*: MsgConfig
filenameOption*: FilenameOption
unitSep*: string
evalTemplateCounter*: int
evalMacroCounter*: int
exitcode*: int8
cmd*: Command
cmdInput*: string
projectIsCmd*: bool
implicitCmd*: bool
selectedGC*: TGCMode
exc*: ExceptionSystem
hintProcessingDots*: bool
verbosity*: int
numberOfProcessors*: int
lastCmdTime*: float
symbolFiles*: SymbolFilesOption
spellSuggestMax*: int
cppDefines*: HashSet[string]
headerFile*: string
nimbasePattern*: string
features*: set[Feature]
legacyFeatures*: set[LegacyFeature]
arguments*: string ## the arguments to be passed to the program that
## should be run
ideCmd*: IdeCmd
cCompiler*: TSystemCC
modifiedyNotes*: TNoteKinds
cmdlineNotes*: TNoteKinds
foreignPackageNotes*: TNoteKinds
notes*: TNoteKinds
warningAsErrors*: TNoteKinds
mainPackageNotes*: TNoteKinds
mainPackageId*: int
errorCounter*: int
hintCounter*: int
warnCounter*: int
errorMax*: int
maxLoopIterationsVM*: int ## VM: max iterations of all loops
maxCallDepthVM*: int ## VM: max call depth
isVmTrace*: bool
configVars*: StringTableRef
symbols*: StringTableRef ## We need to use a StringTableRef here as defined
## symbols are always guaranteed to be style
## insensitive. Otherwise hell would break lose.
packageCache*: StringTableRef
nimblePaths*: seq[AbsoluteDir]
searchPaths*: seq[AbsoluteDir]
lazyPaths*: seq[AbsoluteDir]
outFile*: RelativeFile
outDir*: AbsoluteDir
jsonBuildFile*: AbsoluteFile
prefixDir*, libpath*, nimcacheDir*: AbsoluteDir
dllOverrides*, moduleOverrides*, cfileSpecificOptions*: StringTableRef
projectName*: string
projectPath*: AbsoluteDir
projectFull*: AbsoluteFile
projectIsStdin*: bool
stdinFile*: AbsoluteFile
lastMsgWasDot*: set[StdOrrKind]
projectMainIdx*: FileIndex
projectMainIdx2*: FileIndex
command*: string
commandArgs*: seq[string]
commandLine*: string
extraCmds*: seq[string]
implicitImports*: seq[string]
implicitIncludes*: seq[string]
docSeeSrcUrl*: string
docRoot*: string ## see nim --fullhelp for --docRoot
docCmd*: string ## see nim --fullhelp for --docCmd
configFiles*: seq[AbsoluteFile]
cIncludes*: seq[AbsoluteDir]
cLibs*: seq[AbsoluteDir]
cLinkedLibs*: seq[string]
externalToLink*: seq[string]
linkOptionsCmd*: string
compileOptionsCmd*: seq[string]
linkOptions*: string
compileOptions*: string
cCompilerPath*: string
toCompile*: CfileList
suggestionResultHook*: proc (result: Suggest) {.closure.}
suggestVersion*: int
suggestMaxResults*: int
lastLineInfo*: TLineInfo
writelnHook*: proc (output: string) {.closure, gcsafe.}
structuredErrorHook*: proc (config: ConfigRef; info: TLineInfo; msg: string;
severity: Severity) {.closure, gcsafe.}
cppCustomNamespace*: string
nimMainPrefix*: string
vmProfileData*: ProfileData
expandProgress*: bool
expandLevels*: int
expandNodeResult*: string
expandPosition*: TLineInfo
currentConfigDir*: string
clientProcessId*: int">ConfigRef</a></li>
<li><a class="reference" href="#ExceptionSystem" title="ExceptionSystem = enum
excNone, excSetjmp, excCpp, excGoto, excQuirky">ExceptionSystem</a></li>
<li><a class="reference" href="#Feature" title="Feature = enum
dotOperators, callOperator, parallel, destructor, notnil, dynamicBindSym,
forLoopMacros, caseStmtMacros, codeReordering, compiletimeFFI, ## This requires building nim with `-d:nimHasLibFFI`
## which itself requires `koch installdeps libffi`, see #10150
## Note: this feature can't be localized with {.push.}
vmopsDanger, strictFuncs, views, strictNotNil, overloadableEnums,
strictEffects, unicodeOperators, flexibleOptionalParams, strictDefs,
strictCaseObjects, inferGenericTypes, openSym, genericsOpenSym, vtables,
typeBoundOps">Feature</a></li>
<li><a class="reference" href="#FilenameOption" title="FilenameOption = enum
foAbs, foRelProject, foCanonical, foLegacyRelProj, foName, foStacktrace">FilenameOption</a></li>
<li><a class="reference" href="#IdeCmd" title="IdeCmd = enum
ideNone, ideSug, ideCon, ideDef, ideUse, ideDus, ideChk, ideChkFile, ideMod,
ideHighlight, ideOutline, ideKnown, ideMsg, ideProject, ideGlobalSymbols,
ideRecompile, ideChanged, ideType, ideDeclaration, ideExpand, ideInlayHints">IdeCmd</a></li>
<li><a class="reference" href="#LegacyFeature" title="LegacyFeature = enum
allowSemcheckedAstModification, ## Allows to modify a NimNode where the type has already been
## flagged with nfSem. If you actually do this, it will cause
## bugs.
checkUnsignedConversions, ## Historically and especially in version 1.0.0 of the language
## conversions to unsigned numbers were checked. In 1.0.4 they
## are not anymore.
laxEffects, ## Lax effects system prior to Nim 2.0.
verboseTypeMismatch, emitGenerics, ## generics are emitted in the module that contains them.
## Useful for libraries that rely on local passC
jsNoLambdaLifting, ## Old transformation for closures in JS backend
noPanicOnExcept ## don't panic on bare except">LegacyFeature</a></li>
<li><a class="reference" href="#ProfileData" title="ProfileData = ref object
data*: TableRef[TLineInfo, ProfileInfo]">ProfileData</a></li>
<li><a class="reference" href="#ProfileInfo" title="ProfileInfo = object
time*: float
count*: int">ProfileInfo</a></li>
<li><a class="reference" href="#StdOrrKind" title="StdOrrKind = enum
stdOrrStdout, stdOrrStderr">StdOrrKind</a></li>
<li><a class="reference" href="#Suggest" title="Suggest = ref object
section*: IdeCmd
qualifiedPath*: seq[string]
name*: ptr string
filePath*: string
line*: int
column*: int
doc*: string
forth*: string
quality*: range[0 .. 100] = 0
isGlobal*: bool
contextFits*: bool
prefix*: PrefixMatch
symkind*: byte
scope*, localUsages*, globalUsages*: int
tokenLen*: int
version*: int
endLine*: uint16
endCol*: int
inlayHintInfo*: SuggestInlayHint">Suggest</a></li>
<li><a class="reference" href="#SuggestInlayHint" title="SuggestInlayHint = ref object
kind*: SuggestInlayHintKind
line*: int
column*: int
label*: string
paddingLeft*: bool
paddingRight*: bool
allowInsert*: bool
tooltip*: string">SuggestInlayHint</a></li>
<li><a class="reference" href="#SuggestInlayHintKind" title="SuggestInlayHintKind = enum
sihkType = &quot;Type&quot;, sihkParameter = &quot;Parameter&quot;, sihkException = &quot;Exception&quot;">SuggestInlayHintKind</a></li>
<li><a class="reference" href="#Suggestions" title="Suggestions = seq[Suggest]">Suggestions</a></li>
<li><a class="reference" href="#SymbolFilesOption" title="SymbolFilesOption = enum
disabledSf, writeOnlySf, readOnlySf, v2Sf, stressTest">SymbolFilesOption</a></li>
<li><a class="reference" href="#TBackend" title="TBackend = enum
backendInvalid = &quot;&quot;, backendC = &quot;c&quot;, backendCpp = &quot;cpp&quot;, backendJs = &quot;js&quot;,
backendObjc = &quot;objc&quot;, backendNif = &quot;nif&quot;">TBackend</a></li>
<li><a class="reference" href="#TGCMode" title="TGCMode = enum
gcUnselected = &quot;unselected&quot;, gcNone = &quot;none&quot;, gcBoehm = &quot;boehm&quot;,
gcRegions = &quot;regions&quot;, gcArc = &quot;arc&quot;, gcOrc = &quot;orc&quot;,
gcAtomicArc = &quot;atomicArc&quot;, gcMarkAndSweep = &quot;markAndSweep&quot;, gcHooks = &quot;hooks&quot;,
gcRefc = &quot;refc&quot;, gcGo = &quot;go&quot;">TGCMode</a></li>
<li><a class="reference" href="#TGlobalOption" title="TGlobalOption = enum
gloptNone, optForceFullMake, optWasNimscript, optListCmd, optCompileOnly,
optNoLinking, optCDebug, optGenDynLib, optGenStaticLib, optGenGuiApp,
optGenScript, optGenCDeps, optGenMapping, optRun, optUseNimcache,
optStyleHint, optStyleError, optStyleUsages, optSkipSystemConfigFile,
optSkipProjConfigFile, optSkipUserConfigFile, optSkipParentConfigFiles,
optNoMain, optUseColors, optThreads, optStdout, optThreadAnalysis,
optTlsEmulation, optGenIndex, optGenIndexOnly, optNoImportdoc,
optEmbedOrigSrc, optIdeDebug, optIdeTerse, optIdeExceptionInlayHints,
optExcessiveStackTrace, optShowAllMismatches, optWholeProject, optDocInternal,
optMixedMode, optDeclaredLocs, optNoNimblePath, optHotCodeReloading,
optDynlibOverrideAll, optSeqDestructors, optTinyRtti, optOwnedRefs,
optMultiMethods, optBenchmarkVM, optProduceAsm, optPanics, optSourcemap,
optProfileVM, optEnableDeepCopy, optShowNonExportedFields, optJsBigInt64,
optItaniumMangle, optCompress, optWithinConfigSystem">TGlobalOption</a></li>
<li><a class="reference" href="#TGlobalOptions" title="TGlobalOptions = set[TGlobalOption]">TGlobalOptions</a></li>
<li><a class="reference" href="#TOption" title="TOption = enum
optNone, optObjCheck, optFieldCheck, optRangeCheck, optBoundsCheck,
optOverflowCheck, optRefCheck, optNaNCheck, optInfCheck, optStaticBoundsCheck,
optStyleCheck, optAssert, optLineDir, optWarns, optHints, optOptimizeSpeed,
optOptimizeSize, optStackTrace, optStackTraceMsgs, optLineTrace, optByRef,
optProfiler, optImplicitStatic, optTrMacros, optMemTracker, optSinkInference,
optCursorInference, optImportHidden, optQuirky">TOption</a></li>
<li><a class="reference" href="#TOptions" title="TOptions = set[TOption]">TOptions</a></li>
<li><a class="reference" href="#TStringSeq" title="TStringSeq = seq[string]">TStringSeq</a></li>
<li><a class="reference" href="#TSystemCC" title="TSystemCC = enum
ccNone, ccGcc, ccNintendoSwitch, ccLLVM_Gcc, ccCLang, ccBcc, ccVcc, ccTcc,
ccEnv, ccIcl, ccIcc, ccClangCl, ccHipcc, ccNvcc">TSystemCC</a></li>
</ul>
</details>
</li>
<li>
<details open>
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
<ul class="simple simple-toc-section">
<li><a class="reference" href="#ChecksOptions" title="ChecksOptions = {optObjCheck, optFieldCheck, optRangeCheck, optOverflowCheck,
optBoundsCheck, optAssert, optNaNCheck, optInfCheck,
optStyleCheck}">ChecksOptions</a></li>
<li><a class="reference" href="#cmdBackends" title="cmdBackends = {cmdCompileToC, cmdCompileToCpp, cmdCompileToOC, cmdCompileToJS,
cmdCrun, cmdCompileToNif}">cmdBackends</a></li>
<li><a class="reference" href="#cmdDocLike" title="cmdDocLike = {cmdDoc0, cmdDoc, cmdDoc2tex, cmdJsondoc0, cmdJsondoc, cmdCtags,
cmdBuildindex}">cmdDocLike</a></li>
<li><a class="reference" href="#copyrightYear" title="copyrightYear = &quot;2025&quot;">copyrightYear</a></li>
<li><a class="reference" href="#DefaultConfig" title="DefaultConfig = r&quot;nim.cfg&quot;">DefaultConfig</a></li>
<li><a class="reference" href="#DefaultConfigNims" title="DefaultConfigNims = r&quot;config.nims&quot;">DefaultConfigNims</a></li>
<li><a class="reference" href="#DefaultGlobalOptions" title="DefaultGlobalOptions = {optThreadAnalysis, optExcessiveStackTrace,
optJsBigInt64, optItaniumMangle}">DefaultGlobalOptions</a></li>
<li><a class="reference" href="#DefaultOptions" title="DefaultOptions = {optObjCheck, optFieldCheck, optRangeCheck, optBoundsCheck,
optOverflowCheck, optAssert, optWarns, optRefCheck, optHints,
optStackTrace, optLineTrace, optTrMacros, optStyleCheck,
optCursorInference}">DefaultOptions</a></li>
<li><a class="reference" href="#DocConfig" title="DocConfig = r&quot;nimdoc.cfg&quot;">DocConfig</a></li>
<li><a class="reference" href="#docRootDefault" title="docRootDefault = &quot;@default&quot;">docRootDefault</a></li>
<li><a class="reference" href="#DocTexConfig" title="DocTexConfig = r&quot;nimdoc.tex.cfg&quot;">DocTexConfig</a></li>
<li><a class="reference" href="#foreignPackageNotesDefault" title="foreignPackageNotesDefault = {hintProcessing, warnUnknownMagic, hintQuitCalled,
hintExecuting, hintUser, warnUser}">foreignPackageNotesDefault</a></li>
<li><a class="reference" href="#genSubDir" title="genSubDir = r&quot;nimcache&quot;">genSubDir</a></li>
<li><a class="reference" href="#harmlessOptions" title="harmlessOptions = {optForceFullMake, optNoLinking, optRun, optUseColors,
optStdout}">harmlessOptions</a></li>
<li><a class="reference" href="#hasFFI" title="hasFFI = false">hasFFI</a></li>
<li><a class="reference" href="#hasTinyCBackend" title="hasTinyCBackend = false">hasTinyCBackend</a></li>
<li><a class="reference" href="#htmldocsDir" title="htmldocsDir = &quot;htmldocs&quot;">htmldocsDir</a></li>
<li><a class="reference" href="#HtmlExt" title="HtmlExt = &quot;html&quot;">HtmlExt</a></li>
<li><a class="reference" href="#IniExt" title="IniExt = &quot;ini&quot;">IniExt</a></li>
<li><a class="reference" href="#JsonExt" title="JsonExt = &quot;json&quot;">JsonExt</a></li>
<li><a class="reference" href="#nimEnableCovariance" title="nimEnableCovariance = false">nimEnableCovariance</a></li>
<li><a class="reference" href="#NimExt" title="NimExt = &quot;nim&quot;">NimExt</a></li>
<li><a class="reference" href="#oKeepVariableNames" title="oKeepVariableNames = true">oKeepVariableNames</a></li>
<li><a class="reference" href="#oldExperimentalFeatures" title="oldExperimentalFeatures = {dotOperators, callOperator, parallel}">oldExperimentalFeatures</a></li>
<li><a class="reference" href="#RodExt" title="RodExt = &quot;rod&quot;">RodExt</a></li>
<li><a class="reference" href="#spellSuggestSecretSauce" title="spellSuggestSecretSauce = -1">spellSuggestSecretSauce</a></li>
<li><a class="reference" href="#stdlibDirs" title="stdlibDirs = [&quot;pure&quot;, &quot;core&quot;, &quot;arch&quot;, &quot;pure/collections&quot;, &quot;pure/concurrency&quot;,
&quot;pure/unidecode&quot;, &quot;impure&quot;, &quot;wrappers&quot;, &quot;wrappers/linenoise&quot;,
&quot;windows&quot;, &quot;posix&quot;, &quot;js&quot;, &quot;deprecated/pure&quot;]">stdlibDirs</a></li>
<li><a class="reference" href="#stdPrefix" title="stdPrefix = &quot;std/&quot;">stdPrefix</a></li>
<li><a class="reference" href="#TagsExt" title="TagsExt = &quot;tags&quot;">TagsExt</a></li>
<li><a class="reference" href="#TexExt" title="TexExt = &quot;tex&quot;">TexExt</a></li>
<li><a class="reference" href="#useEffectSystem" title="useEffectSystem = true">useEffectSystem</a></li>
<li><a class="reference" href="#useWriteTracking" title="useWriteTracking = false">useWriteTracking</a></li>
</ul>
</details>
</li>
<li>
<details open>
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
<ul class="simple simple-toc-section">
<ul class="simple nested-toc-section">$
<li><a class="reference" href="#%24%2CIdeCmd" title="`$`(c: IdeCmd): string">`$`(c: IdeCmd): string</a></li>
</ul>
<ul class="simple nested-toc-section">absOutFile
<li><a class="reference" href="#absOutFile%2CConfigRef" title="absOutFile(conf: ConfigRef): AbsoluteFile">absOutFile(conf: ConfigRef): AbsoluteFile</a></li>
</ul>
<ul class="simple nested-toc-section">assignIfDefault
<li><a class="reference" href="#assignIfDefault%2CT%2CT%2Ctypeof%28default%28T%29%29" title="assignIfDefault[T](result: var T; val: T; def = default(T))">assignIfDefault[T](result: var T; val: T; def = default(T))</a></li>
</ul>
<ul class="simple nested-toc-section">canonicalImport
<li><a class="reference" href="#canonicalImport%2CConfigRef%2CAbsoluteFile" title="canonicalImport(conf: ConfigRef; file: AbsoluteFile): string">canonicalImport(conf: ConfigRef; file: AbsoluteFile): string</a></li>
</ul>
<ul class="simple nested-toc-section">canonicalImportAux
<li><a class="reference" href="#canonicalImportAux%2CConfigRef%2CAbsoluteFile" title="canonicalImportAux(conf: ConfigRef; file: AbsoluteFile): string">canonicalImportAux(conf: ConfigRef; file: AbsoluteFile): string</a></li>
</ul>
<ul class="simple nested-toc-section">canonicalizePath
<li><a class="reference" href="#canonicalizePath%2CConfigRef%2CAbsoluteFile" title="canonicalizePath(conf: ConfigRef; path: AbsoluteFile): AbsoluteFile">canonicalizePath(conf: ConfigRef; path: AbsoluteFile): AbsoluteFile</a></li>
</ul>
<ul class="simple nested-toc-section">clearNimblePath
<li><a class="reference" href="#clearNimblePath%2CConfigRef" title="clearNimblePath(conf: ConfigRef)">clearNimblePath(conf: ConfigRef)</a></li>
</ul>
<ul class="simple nested-toc-section">completeGeneratedFilePath
<li><a class="reference" href="#completeGeneratedFilePath%2CConfigRef%2CAbsoluteFile%2Cbool" title="completeGeneratedFilePath(conf: ConfigRef; f: AbsoluteFile;
createSubDir: bool = true): AbsoluteFile">completeGeneratedFilePath(conf: ConfigRef; f: AbsoluteFile;
createSubDir: bool = true): AbsoluteFile</a></li>
</ul>
<ul class="simple nested-toc-section">cppDefine
<li><a class="reference" href="#cppDefine%2CConfigRef%2Cstring" title="cppDefine(c: ConfigRef; define: string)">cppDefine(c: ConfigRef; define: string)</a></li>
</ul>
<ul class="simple nested-toc-section">disableNimblePath
<li><a class="reference" href="#disableNimblePath%2CConfigRef" title="disableNimblePath(conf: ConfigRef)">disableNimblePath(conf: ConfigRef)</a></li>
</ul>
<ul class="simple nested-toc-section">existsConfigVar
<li><a class="reference" href="#existsConfigVar%2CConfigRef%2Cstring" title="existsConfigVar(conf: ConfigRef; key: string): bool">existsConfigVar(conf: ConfigRef; key: string): bool</a></li>
</ul>
<ul class="simple nested-toc-section">expandDone
<li><a class="reference" href="#expandDone%2CConfigRef" title="expandDone(conf: ConfigRef): bool">expandDone(conf: ConfigRef): bool</a></li>
</ul>
<ul class="simple nested-toc-section">findFile
<li><a class="reference" href="#findFile%2CConfigRef%2Cstring" title="findFile(conf: ConfigRef; f: string; suppressStdlib = false): AbsoluteFile">findFile(conf: ConfigRef; f: string; suppressStdlib = false): AbsoluteFile</a></li>
</ul>
<ul class="simple nested-toc-section">findModule
<li><a class="reference" href="#findModule%2CConfigRef%2Cstring%2Cstring" title="findModule(conf: ConfigRef; modulename, currentModule: string): AbsoluteFile">findModule(conf: ConfigRef; modulename, currentModule: string): AbsoluteFile</a></li>
</ul>
<ul class="simple nested-toc-section">findProjectNimFile
<li><a class="reference" href="#findProjectNimFile%2CConfigRef%2Cstring" title="findProjectNimFile(conf: ConfigRef; pkg: string): string">findProjectNimFile(conf: ConfigRef; pkg: string): string</a></li>
</ul>
<ul class="simple nested-toc-section">floatInt64Align
<li><a class="reference" href="#floatInt64Align%2CConfigRef" title="floatInt64Align(conf: ConfigRef): int16">floatInt64Align(conf: ConfigRef): int16</a></li>
</ul>
<ul class="simple nested-toc-section">getClockStr
<li><a class="reference" href="#getClockStr" title="getClockStr(): string">getClockStr(): string</a></li>
</ul>
<ul class="simple nested-toc-section">getConfigVar
<li><a class="reference" href="#getConfigVar%2CConfigRef%2Cstring%2Cstring" title="getConfigVar(conf: ConfigRef; key: string; default = &quot;&quot;): string">getConfigVar(conf: ConfigRef; key: string; default = &quot;&quot;): string</a></li>
</ul>
<ul class="simple nested-toc-section">getDateStr
<li><a class="reference" href="#getDateStr" title="getDateStr(): string">getDateStr(): string</a></li>
</ul>
<ul class="simple nested-toc-section">getNimbleFile
<li><a class="reference" href="#getNimbleFile%2CConfigRef%2Cstring" title="getNimbleFile(conf: ConfigRef; path: string): string">getNimbleFile(conf: ConfigRef; path: string): string</a></li>
</ul>
<ul class="simple nested-toc-section">getNimcacheDir
<li><a class="reference" href="#getNimcacheDir%2CConfigRef" title="getNimcacheDir(conf: ConfigRef): AbsoluteDir">getNimcacheDir(conf: ConfigRef): AbsoluteDir</a></li>
</ul>
<ul class="simple nested-toc-section">getOutFile
<li><a class="reference" href="#getOutFile%2CConfigRef%2CRelativeFile%2Cstring" title="getOutFile(conf: ConfigRef; filename: RelativeFile; ext: string): AbsoluteFile">getOutFile(conf: ConfigRef; filename: RelativeFile; ext: string): AbsoluteFile</a></li>
</ul>
<ul class="simple nested-toc-section">getPackageName
<li><a class="reference" href="#getPackageName%2CConfigRef%2Cstring" title="getPackageName(conf: ConfigRef; path: string): string">getPackageName(conf: ConfigRef; path: string): string</a></li>
</ul>
<ul class="simple nested-toc-section">getPrefixDir
<li><a class="reference" href="#getPrefixDir%2CConfigRef" title="getPrefixDir(conf: ConfigRef): AbsoluteDir">getPrefixDir(conf: ConfigRef): AbsoluteDir</a></li>
</ul>
<ul class="simple nested-toc-section">getRelativePathFromConfigPath
<li><a class="reference" href="#getRelativePathFromConfigPath%2CConfigRef%2CAbsoluteFile" title="getRelativePathFromConfigPath(conf: ConfigRef; f: AbsoluteFile; isTitle = false): RelativeFile">getRelativePathFromConfigPath(conf: ConfigRef; f: AbsoluteFile; isTitle = false): RelativeFile</a></li>
</ul>
<ul class="simple nested-toc-section">hasHint
<li><a class="reference" href="#hasHint%2CConfigRef%2CTNoteKind" title="hasHint(conf: ConfigRef; note: TNoteKind): bool">hasHint(conf: ConfigRef; note: TNoteKind): bool</a></li>
</ul>
<ul class="simple nested-toc-section">hasWarn
<li><a class="reference" href="#hasWarn%2CConfigRef%2CTNoteKind" title="hasWarn(conf: ConfigRef; note: TNoteKind): bool">hasWarn(conf: ConfigRef; note: TNoteKind): bool</a></li>
</ul>
<ul class="simple nested-toc-section">hcrOn
<li><a class="reference" href="#hcrOn%2CConfigRef" title="hcrOn(conf: ConfigRef): bool">hcrOn(conf: ConfigRef): bool</a></li>
</ul>
<ul class="simple nested-toc-section">importantComments
<li><a class="reference" href="#importantComments%2CConfigRef" title="importantComments(conf: ConfigRef): bool">importantComments(conf: ConfigRef): bool</a></li>
</ul>
<ul class="simple nested-toc-section">inclDynlibOverride
<li><a class="reference" href="#inclDynlibOverride%2CConfigRef%2Cstring" title="inclDynlibOverride(conf: ConfigRef; lib: string)">inclDynlibOverride(conf: ConfigRef; lib: string)</a></li>
</ul>
<ul class="simple nested-toc-section">isDefined
<li><a class="reference" href="#isDefined%2CConfigRef%2Cstring" title="isDefined(conf: ConfigRef; symbol: string): bool">isDefined(conf: ConfigRef; symbol: string): bool</a></li>
</ul>
<ul class="simple nested-toc-section">isDynlibOverride
<li><a class="reference" href="#isDynlibOverride%2CConfigRef%2Cstring" title="isDynlibOverride(conf: ConfigRef; lib: string): bool">isDynlibOverride(conf: ConfigRef; lib: string): bool</a></li>
</ul>
<ul class="simple nested-toc-section">mainCommandArg
<li><a class="reference" href="#mainCommandArg%2CConfigRef" title="mainCommandArg(conf: ConfigRef): string">mainCommandArg(conf: ConfigRef): string</a></li>
</ul>
<ul class="simple nested-toc-section">newConfigRef
<li><a class="reference" href="#newConfigRef" title="newConfigRef(): ConfigRef">newConfigRef(): ConfigRef</a></li>
</ul>
<ul class="simple nested-toc-section">newPartialConfigRef
<li><a class="reference" href="#newPartialConfigRef" title="newPartialConfigRef(): ConfigRef">newPartialConfigRef(): ConfigRef</a></li>
</ul>
<ul class="simple nested-toc-section">parseIdeCmd
<li><a class="reference" href="#parseIdeCmd%2Cstring" title="parseIdeCmd(s: string): IdeCmd">parseIdeCmd(s: string): IdeCmd</a></li>
</ul>
<ul class="simple nested-toc-section">pathSubs
<li><a class="reference" href="#pathSubs%2CConfigRef%2Cstring%2Cstring" title="pathSubs(conf: ConfigRef; p, config: string): string">pathSubs(conf: ConfigRef; p, config: string): string</a></li>
</ul>
<ul class="simple nested-toc-section">prepareToWriteOutput
<li><a class="reference" href="#prepareToWriteOutput%2CConfigRef" title="prepareToWriteOutput(conf: ConfigRef): AbsoluteFile">prepareToWriteOutput(conf: ConfigRef): AbsoluteFile</a></li>
</ul>
<ul class="simple nested-toc-section">removeTrailingDirSep
<li><a class="reference" href="#removeTrailingDirSep%2Cstring" title="removeTrailingDirSep(path: string): string">removeTrailingDirSep(path: string): string</a></li>
</ul>
<ul class="simple nested-toc-section">setConfigVar
<li><a class="reference" href="#setConfigVar%2CConfigRef%2Cstring%2Cstring" title="setConfigVar(conf: ConfigRef; key, val: string)">setConfigVar(conf: ConfigRef; key, val: string)</a></li>
</ul>
<ul class="simple nested-toc-section">setDefaultLibpath
<li><a class="reference" href="#setDefaultLibpath%2CConfigRef" title="setDefaultLibpath(conf: ConfigRef)">setDefaultLibpath(conf: ConfigRef)</a></li>
</ul>
<ul class="simple nested-toc-section">setFromProjectName
<li><a class="reference" href="#setFromProjectName%2CConfigRef%2Cstring" title="setFromProjectName(conf: ConfigRef; projectName: string)">setFromProjectName(conf: ConfigRef; projectName: string)</a></li>
</ul>
<ul class="simple nested-toc-section">setNote
<li><a class="reference" href="#setNote%2CConfigRef%2CTNoteKind" title="setNote(conf: ConfigRef; note: TNoteKind; enabled = true)">setNote(conf: ConfigRef; note: TNoteKind; enabled = true)</a></li>
</ul>
<ul class="simple nested-toc-section">setNoteDefaults
<li><a class="reference" href="#setNoteDefaults%2CConfigRef%2CTNoteKind" title="setNoteDefaults(conf: ConfigRef; note: TNoteKind; enabled = true)">setNoteDefaults(conf: ConfigRef; note: TNoteKind; enabled = true)</a></li>
</ul>
<ul class="simple nested-toc-section">showNonExportedFields
<li><a class="reference" href="#showNonExportedFields%2CConfigRef" title="showNonExportedFields(conf: ConfigRef)">showNonExportedFields(conf: ConfigRef)</a></li>
</ul>
<ul class="simple nested-toc-section">toGeneratedFile
<li><a class="reference" href="#toGeneratedFile%2CConfigRef%2CAbsoluteFile%2Cstring" title="toGeneratedFile(conf: ConfigRef; path: AbsoluteFile; ext: string): AbsoluteFile">toGeneratedFile(conf: ConfigRef; path: AbsoluteFile; ext: string): AbsoluteFile</a></li>
</ul>
<ul class="simple nested-toc-section">usesWriteBarrier
<li><a class="reference" href="#usesWriteBarrier%2CConfigRef" title="usesWriteBarrier(conf: ConfigRef): bool">usesWriteBarrier(conf: ConfigRef): bool</a></li>
</ul>
</ul>
</details>
</li>
<li>
<details open>
<summary><a class="reference reference-toplevel" href="#15" id="65">Iterators</a></summary>
<ul class="simple simple-toc-section">
<ul class="simple nested-toc-section">nimbleSubs
<li><a class="reference" href="#nimbleSubs.i%2CConfigRef%2Cstring" title="nimbleSubs(conf: ConfigRef; p: string): string">nimbleSubs(conf: ConfigRef; p: string): string</a></li>
</ul>
</ul>
</details>
</li>
<li>
<details open>
<summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
<ul class="simple simple-toc-section">
<ul class="simple nested-toc-section">compilationCachePresent
<li><a class="reference" href="#compilationCachePresent.t%2CConfigRef" title="compilationCachePresent(conf: ConfigRef): untyped">compilationCachePresent(conf: ConfigRef): untyped</a></li>
</ul>
<ul class="simple nested-toc-section">newPackageCache
<li><a class="reference" href="#newPackageCache.t" title="newPackageCache(): untyped">newPackageCache(): untyped</a></li>
</ul>
<ul class="simple nested-toc-section">optPreserveOrigSource
<li><a class="reference" href="#optPreserveOrigSource.t%2CConfigRef" title="optPreserveOrigSource(conf: ConfigRef): untyped">optPreserveOrigSource(conf: ConfigRef): untyped</a></li>
</ul>
<ul class="simple nested-toc-section">quitOrRaise
<li><a class="reference" href="#quitOrRaise.t%2CConfigRef%2Cstring" title="quitOrRaise(conf: ConfigRef; msg = &quot;&quot;)">quitOrRaise(conf: ConfigRef; msg = &quot;&quot;)</a></li>
</ul>
<ul class="simple nested-toc-section">setErrorMaxHighMaybe
<li><a class="reference" href="#setErrorMaxHighMaybe.t%2CConfigRef" title="setErrorMaxHighMaybe(conf: ConfigRef)">setErrorMaxHighMaybe(conf: ConfigRef)</a></li>
</ul>
</ul>
</details>
</li>
</ul>
</div>
<div class="nine columns" id="content">
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
<div id="tocRoot"></div>
<p class="module-desc"></p>
<div class="section" id="6">
<h1><a class="toc-backref" href="#6">Imports</a></h1>
<dl class="item">
<a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="platform.html">platform</a>, <a class="reference external" href="prefixmatches.html">prefixmatches</a>, <a class="reference external" href="pathutils.html">pathutils</a>, <a class="reference external" href="nimpaths.html">nimpaths</a>
</dl>
</div>
<div class="section" id="7">
<h1><a class="toc-backref" href="#7">Types</a></h1>
<dl class="item">
<div id="Cfile">
<dt><pre><a href="options.html#Cfile"><span class="Identifier">Cfile</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">nimname</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">cname</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">obj</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a>
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="options.html#CfileFlag"><span class="Identifier">CfileFlag</span></a><span class="Other">]</span>
<span class="Identifier">customArgs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L279" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L279" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="CfileFlag">
<dt><pre><a href="options.html#CfileFlag"><span class="Identifier">CfileFlag</span></a> {.<span class="Identifier">pure</span>.} <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">Cached</span><span class="Other">,</span> <span class="Comment">## no need to recompile this time</span>
<span class="Identifier">External</span> <span class="Comment">## file was introduced via .compile pragma</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L275" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L275" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="CfileList">
<dt><pre><a href="options.html#CfileList"><span class="Identifier">CfileList</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="options.html#Cfile"><span class="Identifier">Cfile</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L284" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L284" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="Command">
<dt><pre><a href="options.html#Command"><span class="Identifier">Command</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">cmdNone</span><span class="Other">,</span> <span class="Identifier">cmdUnknown</span><span class="Other">,</span> <span class="Identifier">cmdCompileToC</span><span class="Other">,</span> <span class="Identifier">cmdCompileToCpp</span><span class="Other">,</span> <span class="Identifier">cmdCompileToOC</span><span class="Other">,</span>
<span class="Identifier">cmdCompileToJS</span><span class="Other">,</span> <span class="Identifier">cmdCrun</span><span class="Other">,</span> <span class="Identifier">cmdTcc</span><span class="Other">,</span> <span class="Identifier">cmdCheck</span><span class="Other">,</span> <span class="Identifier">cmdM</span><span class="Other">,</span> <span class="Identifier">cmdParse</span><span class="Other">,</span> <span class="Identifier">cmdRod</span><span class="Other">,</span>
<span class="Identifier">cmdIdeTools</span><span class="Other">,</span> <span class="Identifier">cmdNimscript</span><span class="Other">,</span> <span class="Identifier">cmdDoc0</span><span class="Other">,</span> <span class="Identifier">cmdDoc</span><span class="Other">,</span> <span class="Identifier">cmdDoc2tex</span><span class="Other">,</span> <span class="Identifier">cmdRst2html</span><span class="Other">,</span>
<span class="Identifier">cmdRst2tex</span><span class="Other">,</span> <span class="Identifier">cmdMd2html</span><span class="Other">,</span> <span class="Identifier">cmdMd2tex</span><span class="Other">,</span> <span class="Identifier">cmdJsondoc0</span><span class="Other">,</span> <span class="Identifier">cmdJsondoc</span><span class="Other">,</span> <span class="Identifier">cmdCtags</span><span class="Other">,</span>
<span class="Identifier">cmdBuildindex</span><span class="Other">,</span> <span class="Identifier">cmdGendepend</span><span class="Other">,</span> <span class="Identifier">cmdDump</span><span class="Other">,</span> <span class="Identifier">cmdInteractive</span><span class="Other">,</span> <span class="Identifier">cmdNop</span><span class="Other">,</span> <span class="Identifier">cmdJsonscript</span><span class="Other">,</span>
<span class="Identifier">cmdCompileToNif</span><span class="Other">,</span> <span class="Identifier">cmdNifC</span><span class="Other">,</span> <span class="Identifier">cmdDeps</span></pre></dt>
<dd>
Nim's commands
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L149" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L149" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ConfigRef">
<dt><pre><a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a> {.<span class="Identifier">acyclic</span>.} <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span>
<span class="Identifier">backend</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#TBackend"><span class="Identifier">TBackend</span></a>
<span class="Identifier">target</span><span class="Operator">*</span><span class="Other">:</span> <a href="platform.html#Target"><span class="Identifier">Target</span></a>
<span class="Identifier">linesCompiled</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">options</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#TOptions"><span class="Identifier">TOptions</span></a>
<span class="Identifier">globalOptions</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#TGlobalOptions"><span class="Identifier">TGlobalOptions</span></a>
<span class="Identifier">macrosToExpand</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span>
<span class="Identifier">arcToExpand</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span>
<span class="Identifier">m</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#MsgConfig"><span class="Identifier">MsgConfig</span></a>
<span class="Identifier">filenameOption</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#FilenameOption"><span class="Identifier">FilenameOption</span></a>
<span class="Identifier">unitSep</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">evalTemplateCounter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">evalMacroCounter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">exitcode</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int8</span>
<span class="Identifier">cmd</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#Command"><span class="Identifier">Command</span></a>
<span class="Identifier">cmdInput</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">projectIsCmd</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">implicitCmd</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">selectedGC</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#TGCMode"><span class="Identifier">TGCMode</span></a>
<span class="Identifier">exc</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#ExceptionSystem"><span class="Identifier">ExceptionSystem</span></a>
<span class="Identifier">hintProcessingDots</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">verbosity</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">numberOfProcessors</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">lastCmdTime</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">float</span>
<span class="Identifier">symbolFiles</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#SymbolFilesOption"><span class="Identifier">SymbolFilesOption</span></a>
<span class="Identifier">spellSuggestMax</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">cppDefines</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">HashSet</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span>
<span class="Identifier">headerFile</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">nimbasePattern</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">features</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="options.html#Feature"><span class="Identifier">Feature</span></a><span class="Other">]</span>
<span class="Identifier">legacyFeatures</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="options.html#LegacyFeature"><span class="Identifier">LegacyFeature</span></a><span class="Other">]</span>
<span class="Identifier">arguments</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span> <span class="Comment">## the arguments to be passed to the program that</span>
<span class="Comment">## should be run</span>
<span class="Identifier">ideCmd</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#IdeCmd"><span class="Identifier">IdeCmd</span></a>
<span class="Identifier">cCompiler</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#TSystemCC"><span class="Identifier">TSystemCC</span></a>
<span class="Identifier">modifiedyNotes</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKinds"><span class="Identifier">TNoteKinds</span></a>
<span class="Identifier">cmdlineNotes</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKinds"><span class="Identifier">TNoteKinds</span></a>
<span class="Identifier">foreignPackageNotes</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKinds"><span class="Identifier">TNoteKinds</span></a>
<span class="Identifier">notes</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKinds"><span class="Identifier">TNoteKinds</span></a>
<span class="Identifier">warningAsErrors</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKinds"><span class="Identifier">TNoteKinds</span></a>
<span class="Identifier">mainPackageNotes</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKinds"><span class="Identifier">TNoteKinds</span></a>
<span class="Identifier">mainPackageId</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">errorCounter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">hintCounter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">warnCounter</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">errorMax</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">maxLoopIterationsVM</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Comment">## VM: max iterations of all loops</span>
<span class="Identifier">maxCallDepthVM</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span> <span class="Comment">## VM: max call depth</span>
<span class="Identifier">isVmTrace</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">configVars</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span>
<span class="Identifier">symbols</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span> <span class="Comment">## We need to use a StringTableRef here as defined</span>
<span class="Comment">## symbols are always guaranteed to be style</span>
<span class="Comment">## insensitive. Otherwise hell would break lose.</span>
<span class="Identifier">packageCache</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span>
<span class="Identifier">nimblePaths</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a><span class="Other">]</span>
<span class="Identifier">searchPaths</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a><span class="Other">]</span>
<span class="Identifier">lazyPaths</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a><span class="Other">]</span>
<span class="Identifier">outFile</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#RelativeFile"><span class="Identifier">RelativeFile</span></a>
<span class="Identifier">outDir</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a>
<span class="Identifier">jsonBuildFile</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a>
<span class="Identifier">prefixDir</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">libpath</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">nimcacheDir</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a>
<span class="Identifier">dllOverrides</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">moduleOverrides</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">cfileSpecificOptions</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">StringTableRef</span>
<span class="Identifier">projectName</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">projectPath</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a>
<span class="Identifier">projectFull</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a>
<span class="Identifier">projectIsStdin</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">stdinFile</span><span class="Operator">*</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a>
<span class="Identifier">lastMsgWasDot</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">set</span><span class="Other">[</span><a href="options.html#StdOrrKind"><span class="Identifier">StdOrrKind</span></a><span class="Other">]</span>
<span class="Identifier">projectMainIdx</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a>
<span class="Identifier">projectMainIdx2</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#FileIndex"><span class="Identifier">FileIndex</span></a>
<span class="Identifier">command</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">commandArgs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span>
<span class="Identifier">commandLine</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">extraCmds</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span>
<span class="Identifier">implicitImports</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span>
<span class="Identifier">implicitIncludes</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span>
<span class="Identifier">docSeeSrcUrl</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">docRoot</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span> <span class="Comment">## see nim --fullhelp for --docRoot</span>
<span class="Identifier">docCmd</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span> <span class="Comment">## see nim --fullhelp for --docCmd</span>
<span class="Identifier">configFiles</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">]</span>
<span class="Identifier">cIncludes</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a><span class="Other">]</span>
<span class="Identifier">cLibs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a><span class="Other">]</span>
<span class="Identifier">cLinkedLibs</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span>
<span class="Identifier">externalToLink</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span>
<span class="Identifier">linkOptionsCmd</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">compileOptionsCmd</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span>
<span class="Identifier">linkOptions</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">compileOptions</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">cCompilerPath</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">toCompile</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#CfileList"><span class="Identifier">CfileList</span></a>
<span class="Identifier">suggestionResultHook</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <a href="options.html#Suggest"><span class="Identifier">Suggest</span></a><span class="Other">)</span> {.<span class="Identifier">closure</span>.}
<span class="Identifier">suggestVersion</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">suggestMaxResults</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">lastLineInfo</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a>
<span class="Identifier">writelnHook</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">output</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span class="Identifier">closure</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span></span>.}
<span class="Identifier">structuredErrorHook</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">config</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span> <span class="Identifier">msg</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span>
<span class="Identifier">severity</span><span class="Other">:</span> <a href="lineinfos.html#Severity"><span class="Identifier">Severity</span></a><span class="Other">)</span> {.<span class="Identifier">closure</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">gcsafe</span></span>.}
<span class="Identifier">cppCustomNamespace</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">nimMainPrefix</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">vmProfileData</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#ProfileData"><span class="Identifier">ProfileData</span></a>
<span class="Identifier">expandProgress</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">expandLevels</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">expandNodeResult</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">expandPosition</span><span class="Operator">*</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a>
<span class="Identifier">currentConfigDir</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">clientProcessId</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span></pre></dt>
<dd>
every global configuration fields marked with '*' are subject to the incremental compilation mechanisms (+) means &quot;part of the dependency&quot;
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L344" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L344" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ExceptionSystem">
<dt><pre><a href="options.html#ExceptionSystem"><span class="Identifier">ExceptionSystem</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">excNone</span><span class="Other">,</span> <span class="Identifier">excSetjmp</span><span class="Other">,</span> <span class="Identifier">excCpp</span><span class="Other">,</span> <span class="Identifier">excGoto</span><span class="Other">,</span> <span class="Identifier">excQuirky</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L268" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L268" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="Feature">
<dt><pre><a href="options.html#Feature"><span class="Identifier">Feature</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">dotOperators</span><span class="Other">,</span> <span class="Identifier">callOperator</span><span class="Other">,</span> <span class="Identifier">parallel</span><span class="Other">,</span> <span class="Identifier">destructor</span><span class="Other">,</span> <span class="Identifier">notnil</span><span class="Other">,</span> <span class="Identifier">dynamicBindSym</span><span class="Other">,</span>
<span class="Identifier">forLoopMacros</span><span class="Other">,</span> <span class="Identifier">caseStmtMacros</span><span class="Other">,</span> <span class="Identifier">codeReordering</span><span class="Other">,</span> <span class="Identifier">compiletimeFFI</span><span class="Other">,</span> <span class="Comment">## This requires building nim with `-d:nimHasLibFFI`</span>
<span class="Comment">## which itself requires `koch installdeps libffi`, see #10150</span>
<span class="Comment">## Note: this feature can't be localized with {.push.}</span>
<span class="Identifier">vmopsDanger</span><span class="Other">,</span> <span class="Identifier">strictFuncs</span><span class="Other">,</span> <span class="Identifier">views</span><span class="Other">,</span> <span class="Identifier">strictNotNil</span><span class="Other">,</span> <span class="Identifier">overloadableEnums</span><span class="Other">,</span>
<span class="Identifier">strictEffects</span><span class="Other">,</span> <span class="Identifier">unicodeOperators</span><span class="Other">,</span> <span class="Identifier">flexibleOptionalParams</span><span class="Other">,</span> <span class="Identifier">strictDefs</span><span class="Other">,</span>
<span class="Identifier">strictCaseObjects</span><span class="Other">,</span> <span class="Identifier">inferGenericTypes</span><span class="Other">,</span> <span class="Identifier">openSym</span><span class="Other">,</span> <span class="Identifier">genericsOpenSym</span><span class="Other">,</span> <span class="Identifier">vtables</span><span class="Other">,</span>
<span class="Identifier">typeBoundOps</span></pre></dt>
<dd>
experimental features; DO NOT RENAME THESE!
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L210" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L210" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="FilenameOption">
<dt><pre><a href="options.html#FilenameOption"><span class="Identifier">FilenameOption</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">foAbs</span><span class="Other">,</span> <span class="Identifier">foRelProject</span><span class="Other">,</span> <span class="Identifier">foCanonical</span><span class="Other">,</span> <span class="Identifier">foLegacyRelProj</span><span class="Other">,</span> <span class="Identifier">foName</span><span class="Other">,</span> <span class="Identifier">foStacktrace</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L336" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L336" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="IdeCmd">
<dt><pre><a href="options.html#IdeCmd"><span class="Identifier">IdeCmd</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">ideNone</span><span class="Other">,</span> <span class="Identifier">ideSug</span><span class="Other">,</span> <span class="Identifier">ideCon</span><span class="Other">,</span> <span class="Identifier">ideDef</span><span class="Other">,</span> <span class="Identifier">ideUse</span><span class="Other">,</span> <span class="Identifier">ideDus</span><span class="Other">,</span> <span class="Identifier">ideChk</span><span class="Other">,</span> <span class="Identifier">ideChkFile</span><span class="Other">,</span> <span class="Identifier">ideMod</span><span class="Other">,</span>
<span class="Identifier">ideHighlight</span><span class="Other">,</span> <span class="Identifier">ideOutline</span><span class="Other">,</span> <span class="Identifier">ideKnown</span><span class="Other">,</span> <span class="Identifier">ideMsg</span><span class="Other">,</span> <span class="Identifier">ideProject</span><span class="Other">,</span> <span class="Identifier">ideGlobalSymbols</span><span class="Other">,</span>
<span class="Identifier">ideRecompile</span><span class="Other">,</span> <span class="Identifier">ideChanged</span><span class="Other">,</span> <span class="Identifier">ideType</span><span class="Other">,</span> <span class="Identifier">ideDeclaration</span><span class="Other">,</span> <span class="Identifier">ideExpand</span><span class="Other">,</span> <span class="Identifier">ideInlayHints</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L205" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L205" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="LegacyFeature">
<dt><pre><a href="options.html#LegacyFeature"><span class="Identifier">LegacyFeature</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">allowSemcheckedAstModification</span><span class="Other">,</span> <span class="Comment">## Allows to modify a NimNode where the type has already been</span>
<span class="Comment">## flagged with nfSem. If you actually do this, it will cause</span>
<span class="Comment">## bugs.</span>
<span class="Identifier">checkUnsignedConversions</span><span class="Other">,</span> <span class="Comment">## Historically and especially in version 1.0.0 of the language</span>
<span class="Comment">## conversions to unsigned numbers were checked. In 1.0.4 they</span>
<span class="Comment">## are not anymore.</span>
<span class="Identifier">laxEffects</span><span class="Other">,</span> <span class="Comment">## Lax effects system prior to Nim 2.0.</span>
<span class="Identifier">verboseTypeMismatch</span><span class="Other">,</span> <span class="Identifier">emitGenerics</span><span class="Other">,</span> <span class="Comment">## generics are emitted in the module that contains them.</span>
<span class="Comment">## Useful for libraries that rely on local passC</span>
<span class="Identifier">jsNoLambdaLifting</span><span class="Other">,</span> <span class="Comment">## Old transformation for closures in JS backend</span>
<span class="Identifier">noPanicOnExcept</span> <span class="Comment">## don't panic on bare except</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L241" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L241" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ProfileData">
<dt><pre><a href="options.html#ProfileData"><span class="Identifier">ProfileData</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span>
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">TableRef</span><span class="Other">[</span><a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">,</span> <a href="options.html#ProfileInfo"><span class="Identifier">ProfileInfo</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L329" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L329" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="ProfileInfo">
<dt><pre><a href="options.html#ProfileInfo"><span class="Identifier">ProfileInfo</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">time</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">float</span>
<span class="Identifier">count</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L325" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L325" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="StdOrrKind">
<dt><pre><a href="options.html#StdOrrKind"><span class="Identifier">StdOrrKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">stdOrrStdout</span><span class="Other">,</span> <span class="Identifier">stdOrrStderr</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L332" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L332" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="Suggest">
<dt><pre><a href="options.html#Suggest"><span class="Identifier">Suggest</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span>
<span class="Identifier">section</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#IdeCmd"><span class="Identifier">IdeCmd</span></a>
<span class="Identifier">qualifiedPath</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span>
<span class="Identifier">name</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">string</span>
<span class="Identifier">filePath</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">line</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">column</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">doc</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">forth</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">quality</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">range</span><span class="Other">[</span><span class="DecNumber">0</span> <span class="Operator">..</span> <span class="DecNumber">100</span><span class="Other">]</span> <span class="Other">=</span> <span class="DecNumber">0</span>
<span class="Identifier">isGlobal</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">contextFits</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">prefix</span><span class="Operator">*</span><span class="Other">:</span> <a href="prefixmatches.html#PrefixMatch"><span class="Identifier">PrefixMatch</span></a>
<span class="Identifier">symkind</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">byte</span>
<span class="Identifier">scope</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">localUsages</span><span class="Operator">*</span><span class="Other">,</span> <span class="Identifier">globalUsages</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">tokenLen</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">version</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">endLine</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">uint16</span>
<span class="Identifier">endCol</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">inlayHintInfo</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#SuggestInlayHint"><span class="Identifier">SuggestInlayHint</span></a></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L286" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L286" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="SuggestInlayHint">
<dt><pre><a href="options.html#SuggestInlayHint"><span class="Identifier">SuggestInlayHint</span></a> <span class="Other">=</span> <span class="Keyword">ref</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="options.html#SuggestInlayHintKind"><span class="Identifier">SuggestInlayHintKind</span></a>
<span class="Identifier">line</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">column</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">label</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span>
<span class="Identifier">paddingLeft</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">paddingRight</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">allowInsert</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">bool</span>
<span class="Identifier">tooltip</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">string</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L315" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L315" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="SuggestInlayHintKind">
<dt><pre><a href="options.html#SuggestInlayHintKind"><span class="Identifier">SuggestInlayHintKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">sihkType</span> <span class="Other">=</span> <span class="StringLit">&quot;Type&quot;</span><span class="Other">,</span> <span class="Identifier">sihkParameter</span> <span class="Other">=</span> <span class="StringLit">&quot;Parameter&quot;</span><span class="Other">,</span> <span class="Identifier">sihkException</span> <span class="Other">=</span> <span class="StringLit">&quot;Exception&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L310" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L310" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="Suggestions">
<dt><pre><a href="options.html#Suggestions"><span class="Identifier">Suggestions</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="options.html#Suggest"><span class="Identifier">Suggest</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L308" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L308" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="SymbolFilesOption">
<dt><pre><a href="options.html#SymbolFilesOption"><span class="Identifier">SymbolFilesOption</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">disabledSf</span><span class="Other">,</span> <span class="Identifier">writeOnlySf</span><span class="Other">,</span> <span class="Identifier">readOnlySf</span><span class="Other">,</span> <span class="Identifier">v2Sf</span><span class="Other">,</span> <span class="Identifier">stressTest</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L261" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L261" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TBackend">
<dt><pre><a href="options.html#TBackend"><span class="Identifier">TBackend</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">backendInvalid</span> <span class="Other">=</span> <span class="StringLit">&quot;&quot;</span><span class="Other">,</span> <span class="Identifier">backendC</span> <span class="Other">=</span> <span class="StringLit">&quot;c&quot;</span><span class="Other">,</span> <span class="Identifier">backendCpp</span> <span class="Other">=</span> <span class="StringLit">&quot;cpp&quot;</span><span class="Other">,</span> <span class="Identifier">backendJs</span> <span class="Other">=</span> <span class="StringLit">&quot;js&quot;</span><span class="Other">,</span>
<span class="Identifier">backendObjc</span> <span class="Other">=</span> <span class="StringLit">&quot;objc&quot;</span><span class="Other">,</span> <span class="Identifier">backendNif</span> <span class="Other">=</span> <span class="StringLit">&quot;nif&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L139" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L139" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TGCMode">
<dt><pre><a href="options.html#TGCMode"><span class="Identifier">TGCMode</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">gcUnselected</span> <span class="Other">=</span> <span class="StringLit">&quot;unselected&quot;</span><span class="Other">,</span> <span class="Identifier">gcNone</span> <span class="Other">=</span> <span class="StringLit">&quot;none&quot;</span><span class="Other">,</span> <span class="Identifier">gcBoehm</span> <span class="Other">=</span> <span class="StringLit">&quot;boehm&quot;</span><span class="Other">,</span>
<span class="Identifier">gcRegions</span> <span class="Other">=</span> <span class="StringLit">&quot;regions&quot;</span><span class="Other">,</span> <span class="Identifier">gcArc</span> <span class="Other">=</span> <span class="StringLit">&quot;arc&quot;</span><span class="Other">,</span> <span class="Identifier">gcOrc</span> <span class="Other">=</span> <span class="StringLit">&quot;orc&quot;</span><span class="Other">,</span>
<span class="Identifier">gcAtomicArc</span> <span class="Other">=</span> <span class="StringLit">&quot;atomicArc&quot;</span><span class="Other">,</span> <span class="Identifier">gcMarkAndSweep</span> <span class="Other">=</span> <span class="StringLit">&quot;markAndSweep&quot;</span><span class="Other">,</span> <span class="Identifier">gcHooks</span> <span class="Other">=</span> <span class="StringLit">&quot;hooks&quot;</span><span class="Other">,</span>
<span class="Identifier">gcRefc</span> <span class="Other">=</span> <span class="StringLit">&quot;refc&quot;</span><span class="Other">,</span> <span class="Identifier">gcGo</span> <span class="Other">=</span> <span class="StringLit">&quot;go&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L190" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L190" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TGlobalOption">
<dt><pre><a href="options.html#TGlobalOption"><span class="Identifier">TGlobalOption</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">gloptNone</span><span class="Other">,</span> <span class="Identifier">optForceFullMake</span><span class="Other">,</span> <span class="Identifier">optWasNimscript</span><span class="Other">,</span> <span class="Identifier">optListCmd</span><span class="Other">,</span> <span class="Identifier">optCompileOnly</span><span class="Other">,</span>
<span class="Identifier">optNoLinking</span><span class="Other">,</span> <span class="Identifier">optCDebug</span><span class="Other">,</span> <span class="Identifier">optGenDynLib</span><span class="Other">,</span> <span class="Identifier">optGenStaticLib</span><span class="Other">,</span> <span class="Identifier">optGenGuiApp</span><span class="Other">,</span>
<span class="Identifier">optGenScript</span><span class="Other">,</span> <span class="Identifier">optGenCDeps</span><span class="Other">,</span> <span class="Identifier">optGenMapping</span><span class="Other">,</span> <span class="Identifier">optRun</span><span class="Other">,</span> <span class="Identifier">optUseNimcache</span><span class="Other">,</span>
<span class="Identifier">optStyleHint</span><span class="Other">,</span> <span class="Identifier">optStyleError</span><span class="Other">,</span> <span class="Identifier">optStyleUsages</span><span class="Other">,</span> <span class="Identifier">optSkipSystemConfigFile</span><span class="Other">,</span>
<span class="Identifier">optSkipProjConfigFile</span><span class="Other">,</span> <span class="Identifier">optSkipUserConfigFile</span><span class="Other">,</span> <span class="Identifier">optSkipParentConfigFiles</span><span class="Other">,</span>
<span class="Identifier">optNoMain</span><span class="Other">,</span> <span class="Identifier">optUseColors</span><span class="Other">,</span> <span class="Identifier">optThreads</span><span class="Other">,</span> <span class="Identifier">optStdout</span><span class="Other">,</span> <span class="Identifier">optThreadAnalysis</span><span class="Other">,</span>
<span class="Identifier">optTlsEmulation</span><span class="Other">,</span> <span class="Identifier">optGenIndex</span><span class="Other">,</span> <span class="Identifier">optGenIndexOnly</span><span class="Other">,</span> <span class="Identifier">optNoImportdoc</span><span class="Other">,</span>
<span class="Identifier">optEmbedOrigSrc</span><span class="Other">,</span> <span class="Identifier">optIdeDebug</span><span class="Other">,</span> <span class="Identifier">optIdeTerse</span><span class="Other">,</span> <span class="Identifier">optIdeExceptionInlayHints</span><span class="Other">,</span>
<span class="Identifier">optExcessiveStackTrace</span><span class="Other">,</span> <span class="Identifier">optShowAllMismatches</span><span class="Other">,</span> <span class="Identifier">optWholeProject</span><span class="Other">,</span> <span class="Identifier">optDocInternal</span><span class="Other">,</span>
<span class="Identifier">optMixedMode</span><span class="Other">,</span> <span class="Identifier">optDeclaredLocs</span><span class="Other">,</span> <span class="Identifier">optNoNimblePath</span><span class="Other">,</span> <span class="Identifier">optHotCodeReloading</span><span class="Other">,</span>
<span class="Identifier">optDynlibOverrideAll</span><span class="Other">,</span> <span class="Identifier">optSeqDestructors</span><span class="Other">,</span> <span class="Identifier">optTinyRtti</span><span class="Other">,</span> <span class="Identifier">optOwnedRefs</span><span class="Other">,</span>
<span class="Identifier">optMultiMethods</span><span class="Other">,</span> <span class="Identifier">optBenchmarkVM</span><span class="Other">,</span> <span class="Identifier">optProduceAsm</span><span class="Other">,</span> <span class="Identifier">optPanics</span><span class="Other">,</span> <span class="Identifier">optSourcemap</span><span class="Other">,</span>
<span class="Identifier">optProfileVM</span><span class="Other">,</span> <span class="Identifier">optEnableDeepCopy</span><span class="Other">,</span> <span class="Identifier">optShowNonExportedFields</span><span class="Other">,</span> <span class="Identifier">optJsBigInt64</span><span class="Other">,</span>
<span class="Identifier">optItaniumMangle</span><span class="Other">,</span> <span class="Identifier">optCompress</span><span class="Other">,</span> <span class="Identifier">optWithinConfigSystem</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L56" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L56" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TGlobalOptions">
<dt><pre><a href="options.html#TGlobalOptions"><span class="Identifier">TGlobalOptions</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="options.html#TGlobalOption"><span class="Identifier">TGlobalOption</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L117" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L117" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TOption">
<dt><pre><a href="options.html#TOption"><span class="Identifier">TOption</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">optNone</span><span class="Other">,</span> <span class="Identifier">optObjCheck</span><span class="Other">,</span> <span class="Identifier">optFieldCheck</span><span class="Other">,</span> <span class="Identifier">optRangeCheck</span><span class="Other">,</span> <span class="Identifier">optBoundsCheck</span><span class="Other">,</span>
<span class="Identifier">optOverflowCheck</span><span class="Other">,</span> <span class="Identifier">optRefCheck</span><span class="Other">,</span> <span class="Identifier">optNaNCheck</span><span class="Other">,</span> <span class="Identifier">optInfCheck</span><span class="Other">,</span> <span class="Identifier">optStaticBoundsCheck</span><span class="Other">,</span>
<span class="Identifier">optStyleCheck</span><span class="Other">,</span> <span class="Identifier">optAssert</span><span class="Other">,</span> <span class="Identifier">optLineDir</span><span class="Other">,</span> <span class="Identifier">optWarns</span><span class="Other">,</span> <span class="Identifier">optHints</span><span class="Other">,</span> <span class="Identifier">optOptimizeSpeed</span><span class="Other">,</span>
<span class="Identifier">optOptimizeSize</span><span class="Other">,</span> <span class="Identifier">optStackTrace</span><span class="Other">,</span> <span class="Identifier">optStackTraceMsgs</span><span class="Other">,</span> <span class="Identifier">optLineTrace</span><span class="Other">,</span> <span class="Identifier">optByRef</span><span class="Other">,</span>
<span class="Identifier">optProfiler</span><span class="Other">,</span> <span class="Identifier">optImplicitStatic</span><span class="Other">,</span> <span class="Identifier">optTrMacros</span><span class="Other">,</span> <span class="Identifier">optMemTracker</span><span class="Other">,</span> <span class="Identifier">optSinkInference</span><span class="Other">,</span>
<span class="Identifier">optCursorInference</span><span class="Other">,</span> <span class="Identifier">optImportHidden</span><span class="Other">,</span> <span class="Identifier">optQuirky</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L34" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L34" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TOptions">
<dt><pre><a href="options.html#TOptions"><span class="Identifier">TOptions</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="options.html#TOption"><span class="Identifier">TOption</span></a><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L55" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L55" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TStringSeq">
<dt><pre><a href="options.html#TStringSeq"><span class="Identifier">TStringSeq</span></a> <span class="Other">=</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">string</span><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L189" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L189" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TSystemCC">
<dt><pre><a href="options.html#TSystemCC"><span class="Identifier">TSystemCC</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">ccNone</span><span class="Other">,</span> <span class="Identifier">ccGcc</span><span class="Other">,</span> <span class="Identifier">ccNintendoSwitch</span><span class="Other">,</span> <span class="Identifier">ccLLVM_Gcc</span><span class="Other">,</span> <span class="Identifier">ccCLang</span><span class="Other">,</span> <span class="Identifier">ccBcc</span><span class="Other">,</span> <span class="Identifier">ccVcc</span><span class="Other">,</span> <span class="Identifier">ccTcc</span><span class="Other">,</span>
<span class="Identifier">ccEnv</span><span class="Other">,</span> <span class="Identifier">ccIcl</span><span class="Other">,</span> <span class="Identifier">ccIcc</span><span class="Other">,</span> <span class="Identifier">ccClangCl</span><span class="Other">,</span> <span class="Identifier">ccHipcc</span><span class="Other">,</span> <span class="Identifier">ccNvcc</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L264" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L264" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</dl>
</div>
<div class="section" id="10">
<h1><a class="toc-backref" href="#10">Consts</a></h1>
<dl class="item">
<div id="ChecksOptions">
<dt><pre><a href="options.html#ChecksOptions"><span class="Identifier">ChecksOptions</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">optObjCheck</span><span class="Other">,</span> <span class="DecNumber">optFieldCheck</span><span class="Other">,</span> <span class="DecNumber">optRangeCheck</span><span class="Other">,</span> <span class="DecNumber">optOverflowCheck</span><span class="Other">,</span>
<span class="DecNumber">optBoundsCheck</span><span class="Other">,</span> <span class="DecNumber">optAssert</span><span class="Other">,</span> <span class="DecNumber">optNaNCheck</span><span class="Other">,</span> <span class="DecNumber">optInfCheck</span><span class="Other">,</span>
<span class="DecNumber">optStyleCheck</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L507" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L507" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="cmdBackends">
<dt><pre><a href="options.html#cmdBackends"><span class="Identifier">cmdBackends</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">cmdCompileToC</span><span class="Other">,</span> <span class="DecNumber">cmdCompileToCpp</span><span class="Other">,</span> <span class="DecNumber">cmdCompileToOC</span><span class="Other">,</span> <span class="DecNumber">cmdCompileToJS</span><span class="Other">,</span>
<span class="DecNumber">cmdCrun</span><span class="Other">,</span> <span class="DecNumber">cmdCompileToNif</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L183" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L183" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="cmdDocLike">
<dt><pre><a href="options.html#cmdDocLike"><span class="Identifier">cmdDocLike</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">cmdDoc0</span><span class="Other">,</span> <span class="DecNumber">cmdDoc</span><span class="Other">,</span> <span class="DecNumber">cmdDoc2tex</span><span class="Other">,</span> <span class="DecNumber">cmdJsondoc0</span><span class="Other">,</span> <span class="DecNumber">cmdJsondoc</span><span class="Other">,</span> <span class="DecNumber">cmdCtags</span><span class="Other">,</span>
<span class="DecNumber">cmdBuildindex</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L185" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L185" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="copyrightYear">
<dt><pre><a href="options.html#copyrightYear"><span class="Identifier">copyrightYear</span></a> <span class="Other">=</span> <span class="StringLit">&quot;2025&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L28" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L28" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="DefaultConfig">
<dt><pre><a href="options.html#DefaultConfig"><span class="Identifier">DefaultConfig</span></a> <span class="Other">=</span> <span class="StringLit">r&quot;nim.cfg&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L129" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L129" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="DefaultConfigNims">
<dt><pre><a href="options.html#DefaultConfigNims"><span class="Identifier">DefaultConfigNims</span></a> <span class="Other">=</span> <span class="StringLit">r&quot;config.nims&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L130" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L130" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="DefaultGlobalOptions">
<dt><pre><a href="options.html#DefaultGlobalOptions"><span class="Identifier">DefaultGlobalOptions</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">optThreadAnalysis</span><span class="Other">,</span> <span class="DecNumber">optExcessiveStackTrace</span><span class="Other">,</span>
<span class="DecNumber">optJsBigInt64</span><span class="Other">,</span> <span class="DecNumber">optItaniumMangle</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L515" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L515" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="DefaultOptions">
<dt><pre><a href="options.html#DefaultOptions"><span class="Identifier">DefaultOptions</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">optObjCheck</span><span class="Other">,</span> <span class="DecNumber">optFieldCheck</span><span class="Other">,</span> <span class="DecNumber">optRangeCheck</span><span class="Other">,</span> <span class="DecNumber">optBoundsCheck</span><span class="Other">,</span>
<span class="DecNumber">optOverflowCheck</span><span class="Other">,</span> <span class="DecNumber">optAssert</span><span class="Other">,</span> <span class="DecNumber">optWarns</span><span class="Other">,</span> <span class="DecNumber">optRefCheck</span><span class="Other">,</span> <span class="DecNumber">optHints</span><span class="Other">,</span>
<span class="DecNumber">optStackTrace</span><span class="Other">,</span> <span class="DecNumber">optLineTrace</span><span class="Other">,</span> <span class="DecNumber">optTrMacros</span><span class="Other">,</span> <span class="DecNumber">optStyleCheck</span><span class="Other">,</span>
<span class="DecNumber">optCursorInference</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L511" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L511" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="DocConfig">
<dt><pre><a href="options.html#DocConfig"><span class="Identifier">DocConfig</span></a> <span class="Other">=</span> <span class="StringLit">r&quot;nimdoc.cfg&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L131" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L131" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="docRootDefault">
<dt><pre><a href="options.html#docRootDefault"><span class="Identifier">docRootDefault</span></a> <span class="Other">=</span> <span class="StringLit">&quot;@default&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L134" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L134" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="DocTexConfig">
<dt><pre><a href="options.html#DocTexConfig"><span class="Identifier">DocTexConfig</span></a> <span class="Other">=</span> <span class="StringLit">r&quot;nimdoc.tex.cfg&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L132" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L132" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="foreignPackageNotesDefault">
<dt><pre><a href="options.html#foreignPackageNotesDefault"><span class="Identifier">foreignPackageNotesDefault</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">hintProcessing</span><span class="Other">,</span> <span class="DecNumber">warnUnknownMagic</span><span class="Other">,</span> <span class="DecNumber">hintQuitCalled</span><span class="Other">,</span>
<span class="DecNumber">hintExecuting</span><span class="Other">,</span> <span class="DecNumber">hintUser</span><span class="Other">,</span> <span class="DecNumber">warnUser</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L545" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L545" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="genSubDir">
<dt><pre><a href="options.html#genSubDir"><span class="Identifier">genSubDir</span></a> <span class="Other">=</span> <span class="StringLit">r&quot;nimcache&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L121" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L121" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="harmlessOptions">
<dt><pre><a href="options.html#harmlessOptions"><span class="Identifier">harmlessOptions</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">optForceFullMake</span><span class="Other">,</span> <span class="DecNumber">optNoLinking</span><span class="Other">,</span> <span class="DecNumber">optRun</span><span class="Other">,</span> <span class="DecNumber">optUseColors</span><span class="Other">,</span>
<span class="DecNumber">optStdout</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L120" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L120" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="hasFFI">
<dt><pre><a href="options.html#hasFFI"><span class="Identifier">hasFFI</span></a> <span class="Other">=</span> <span class="DecNumber">false</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L27" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L27" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="hasTinyCBackend">
<dt><pre><a href="options.html#hasTinyCBackend"><span class="Identifier">hasTinyCBackend</span></a> <span class="Other">=</span> <span class="DecNumber">false</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L24" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L24" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="htmldocsDir">
<dt><pre><a href="options.html#htmldocsDir"><span class="Identifier">htmldocsDir</span></a> <span class="Other">=</span> <span class="StringLit">&quot;htmldocs&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L133" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L133" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="HtmlExt">
<dt><pre><a href="options.html#HtmlExt"><span class="Identifier">HtmlExt</span></a> <span class="Other">=</span> <span class="StringLit">&quot;html&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L124" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L124" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="IniExt">
<dt><pre><a href="options.html#IniExt"><span class="Identifier">IniExt</span></a> <span class="Other">=</span> <span class="StringLit">&quot;ini&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L128" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L128" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="JsonExt">
<dt><pre><a href="options.html#JsonExt"><span class="Identifier">JsonExt</span></a> <span class="Other">=</span> <span class="StringLit">&quot;json&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L125" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L125" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="nimEnableCovariance">
<dt><pre><a href="options.html#nimEnableCovariance"><span class="Identifier">nimEnableCovariance</span></a> <span class="Other">=</span> <span class="DecNumber">false</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L30" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L30" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="NimExt">
<dt><pre><a href="options.html#NimExt"><span class="Identifier">NimExt</span></a> <span class="Other">=</span> <span class="StringLit">&quot;nim&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L122" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L122" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="oKeepVariableNames">
<dt><pre><a href="options.html#oKeepVariableNames"><span class="Identifier">oKeepVariableNames</span></a> <span class="Other">=</span> <span class="DecNumber">true</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L135" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L135" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="oldExperimentalFeatures">
<dt><pre><a href="options.html#oldExperimentalFeatures"><span class="Identifier">oldExperimentalFeatures</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">dotOperators</span><span class="Other">,</span> <span class="DecNumber">callOperator</span><span class="Other">,</span> <span class="DecNumber">parallel</span><span class="Other">}</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L504" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L504" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="RodExt">
<dt><pre><a href="options.html#RodExt"><span class="Identifier">RodExt</span></a> <span class="Other">=</span> <span class="StringLit">&quot;rod&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L123" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L123" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="spellSuggestSecretSauce">
<dt><pre><a href="options.html#spellSuggestSecretSauce"><span class="Identifier">spellSuggestSecretSauce</span></a> <span class="Other">=</span> <span class="DecNumber">-1</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L136" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L136" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="stdlibDirs">
<dt><pre><a href="options.html#stdlibDirs"><span class="Identifier">stdlibDirs</span></a> <span class="Other">=</span> <span class="Other">[</span><span class="StringLit">&quot;pure&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;core&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;arch&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;pure/collections&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;pure/concurrency&quot;</span><span class="Other">,</span>
<span class="StringLit">&quot;pure/unidecode&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;impure&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;wrappers&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;wrappers/linenoise&quot;</span><span class="Other">,</span>
<span class="StringLit">&quot;windows&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;posix&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;js&quot;</span><span class="Other">,</span> <span class="StringLit">&quot;deprecated/pure&quot;</span><span class="Other">]</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L903" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L903" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="stdPrefix">
<dt><pre><a href="options.html#stdPrefix"><span class="Identifier">stdPrefix</span></a> <span class="Other">=</span> <span class="StringLit">&quot;std/&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L914" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L914" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TagsExt">
<dt><pre><a href="options.html#TagsExt"><span class="Identifier">TagsExt</span></a> <span class="Other">=</span> <span class="StringLit">&quot;tags&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L126" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L126" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="TexExt">
<dt><pre><a href="options.html#TexExt"><span class="Identifier">TexExt</span></a> <span class="Other">=</span> <span class="StringLit">&quot;tex&quot;</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L127" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L127" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="useEffectSystem">
<dt><pre><a href="options.html#useEffectSystem"><span class="Identifier">useEffectSystem</span></a> <span class="Other">=</span> <span class="DecNumber">true</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L25" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L25" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
<div id="useWriteTracking">
<dt><pre><a href="options.html#useWriteTracking"><span class="Identifier">useWriteTracking</span></a> <span class="Other">=</span> <span class="DecNumber">false</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L26" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L26" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</dl>
</div>
<div class="section" id="12">
<h1><a class="toc-backref" href="#12">Procs</a></h1>
<dl class="item">
<div id="$-procs-all">
<div id="$,IdeCmd">
<dt><pre><span class="Keyword">proc</span> <a href="#%24%2CIdeCmd"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="options.html#IdeCmd"><span class="Identifier">IdeCmd</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1072" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1072" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="absOutFile-procs-all">
<div id="absOutFile,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#absOutFile%2CConfigRef"><span class="Identifier">absOutFile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L731" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L731" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="assignIfDefault-procs-all">
<div id="assignIfDefault,T,T,typeof(default(T))">
<dt><pre><span class="Keyword">proc</span> <a href="#assignIfDefault%2CT%2CT%2Ctypeof%28default%28T%29%29"><span class="Identifier">assignIfDefault</span></a><span class="Other">[</span><span class="Identifier">T</span><span class="Other">]</span><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">T</span><span class="Other">;</span> <span class="Identifier">val</span><span class="Other">:</span> <span class="Identifier">T</span><span class="Other">;</span> <span class="Identifier">def</span> <span class="Other">=</span> <span class="Identifier">default</span><span class="Other">(</span><span class="Identifier">T</span><span class="Other">)</span><span class="Other">)</span></pre></dt>
<dd>
if <tt class="docutils literal"><span class="pre"><span class="Identifier">result</span></span></tt> was already assigned to a value (that wasn't <tt class="docutils literal"><span class="pre"><span class="Identifier">def</span></span></tt>), this is a noop.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L463" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L463" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="canonicalImport-procs-all">
<div id="canonicalImport,ConfigRef,AbsoluteFile">
<dt><pre><span class="Keyword">proc</span> <a href="#canonicalImport%2CConfigRef%2CAbsoluteFile"><span class="Identifier">canonicalImport</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">file</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1026" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1026" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="canonicalImportAux-procs-all">
<div id="canonicalImportAux,ConfigRef,AbsoluteFile">
<dt><pre><span class="Keyword">proc</span> <a href="#canonicalImportAux%2CConfigRef%2CAbsoluteFile"><span class="Identifier">canonicalImportAux</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">file</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
Shows the canonical module import, e.g.: system, std/tables, fusion/pointers, system/assertions, std/private/asciitables
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1011" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1011" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="canonicalizePath-procs-all">
<div id="canonicalizePath,ConfigRef,AbsoluteFile">
<dt><pre><span class="Keyword">proc</span> <a href="#canonicalizePath%2CConfigRef%2CAbsoluteFile"><span class="Identifier">canonicalizePath</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L780" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L780" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="clearNimblePath-procs-all">
<div id="clearNimblePath,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#clearNimblePath%2CConfigRef"><span class="Identifier">clearNimblePath</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L807" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L807" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="completeGeneratedFilePath-procs-all">
<div id="completeGeneratedFilePath,ConfigRef,AbsoluteFile,bool">
<dt><pre><span class="Keyword">proc</span> <a href="#completeGeneratedFilePath%2CConfigRef%2CAbsoluteFile%2Cbool"><span class="Identifier">completeGeneratedFilePath</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">;</span>
<span class="Identifier">createSubDir</span><span class="Other">:</span> <span class="Identifier">bool</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
Return an absolute path of a generated intermediary file. Optionally creates the cache directory if <tt class="docutils literal"><span class="pre"><span class="Identifier">createSubDir</span></span></tt> is <tt class="docutils literal"><span class="pre"><span class="Identifier">true</span></span></tt>.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L864" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L864" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="cppDefine-procs-all">
<div id="cppDefine,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#cppDefine%2CConfigRef%2Cstring"><span class="Identifier">cppDefine</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">define</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L634" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L634" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="disableNimblePath-procs-all">
<div id="disableNimblePath,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#disableNimblePath%2CConfigRef"><span class="Identifier">disableNimblePath</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L802" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L802" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="existsConfigVar-procs-all">
<div id="existsConfigVar,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#existsConfigVar%2CConfigRef%2Cstring"><span class="Identifier">existsConfigVar</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L715" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L715" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="expandDone-procs-all">
<div id="expandDone,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#expandDone%2CConfigRef"><span class="Identifier">expandDone</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1048" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1048" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="findFile-procs-all">
<div id="findFile,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#findFile%2CConfigRef%2Cstring"><span class="Identifier">findFile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">suppressStdlib</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L932" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L932" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="findModule-procs-all">
<div id="findModule,ConfigRef,string,string">
<dt><pre><span class="Keyword">proc</span> <a href="#findModule%2CConfigRef%2Cstring%2Cstring"><span class="Identifier">findModule</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">modulename</span><span class="Other">,</span> <span class="Identifier">currentModule</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L945" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L945" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="findProjectNimFile-procs-all">
<div id="findProjectNimFile,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#findProjectNimFile%2CConfigRef%2Cstring"><span class="Identifier">findProjectNimFile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">pkg</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L971" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L971" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="floatInt64Align-procs-all">
<div id="floatInt64Align,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#floatInt64Align%2CConfigRef"><span class="Identifier">floatInt64Align</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int16</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
Returns either 4 or 8 depending on reasons.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1096" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1096" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getClockStr-procs-all">
<div id="getClockStr">
<dt><pre><span class="Keyword">proc</span> <a href="#getClockStr"><span class="Identifier">getClockStr</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L533" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L533" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getConfigVar-procs-all">
<div id="getConfigVar,ConfigRef,string,string">
<dt><pre><span class="Keyword">proc</span> <a href="#getConfigVar%2CConfigRef%2Cstring%2Cstring"><span class="Identifier">getConfigVar</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">default</span> <span class="Other">=</span> <span class="StringLit">&quot;&quot;</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L718" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L718" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getDateStr-procs-all">
<div id="getDateStr">
<dt><pre><span class="Keyword">proc</span> <a href="#getDateStr"><span class="Identifier">getDateStr</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">TimeEffect</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L530" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L530" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getNimbleFile-procs-all">
<div id="getNimbleFile,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#getNimbleFile%2CConfigRef%2Cstring"><span class="Identifier">getNimbleFile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
returns absolute path to nimble file, e.g.: /pathto/cligen.nimble
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/packagehandling.nim#L18" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/packagehandling.nim#L18" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getNimcacheDir-procs-all">
<div id="getNimcacheDir,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#getNimcacheDir%2CConfigRef"><span class="Identifier">getNimcacheDir</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L819" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L819" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getOutFile-procs-all">
<div id="getOutFile,ConfigRef,RelativeFile,string">
<dt><pre><span class="Keyword">proc</span> <a href="#getOutFile%2CConfigRef%2CRelativeFile%2Cstring"><span class="Identifier">getOutFile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">filename</span><span class="Other">:</span> <a href="pathutils.html#RelativeFile"><span class="Identifier">RelativeFile</span></a><span class="Other">;</span> <span class="Identifier">ext</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L724" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L724" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getPackageName-procs-all">
<div id="getPackageName,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#getPackageName%2CConfigRef%2Cstring"><span class="Identifier">getPackageName</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
returns nimble package name, e.g.: <tt class="docutils literal"><span class="pre"><span class="Identifier">cligen</span></span></tt>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/packagehandling.nim#L38" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/packagehandling.nim#L38" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getPrefixDir-procs-all">
<div id="getPrefixDir,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#getPrefixDir%2CConfigRef"><span class="Identifier">getPrefixDir</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteDir"><span class="Identifier">AbsoluteDir</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<p>Gets the prefix dir, usually the parent directory where the binary resides.</p>
<p>This is overridden by some tools (namely nimsuggest) via the <tt class="docutils literal"><span class="pre">conf.prefixDir</span></tt> field. This should resolve to root of nim sources, whether running nim from a local clone or using installed nim, so that these exist: <tt class="docutils literal"><span class="pre"><span class="Identifier">result</span><span class="Operator">/</span><span class="Identifier">doc</span><span class="Operator">/</span><span class="Identifier">advopt</span><span class="Operator">.</span><span class="Identifier">txt</span></span></tt> and <tt class="docutils literal"><span class="pre"><span class="Identifier">result</span><span class="Operator">/</span><span class="Identifier">lib</span><span class="Operator">/</span><span class="Identifier">system</span><span class="Operator">.</span><span class="Identifier">nim</span></span></tt></p>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L743" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L743" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="getRelativePathFromConfigPath-procs-all">
<div id="getRelativePathFromConfigPath,ConfigRef,AbsoluteFile">
<dt><pre><span class="Keyword">proc</span> <a href="#getRelativePathFromConfigPath%2CConfigRef%2CAbsoluteFile"><span class="Identifier">getRelativePathFromConfigPath</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">;</span>
<span class="Identifier">isTitle</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#RelativeFile"><span class="Identifier">RelativeFile</span></a> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L916" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L916" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="hasHint-procs-all">
<div id="hasHint,ConfigRef,TNoteKind">
<dt><pre><span class="Keyword">proc</span> <a href="#hasHint%2CConfigRef%2CTNoteKind"><span class="Identifier">hasHint</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">note</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKind"><span class="Identifier">TNoteKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L483" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L483" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="hasWarn-procs-all">
<div id="hasWarn,ConfigRef,TNoteKind">
<dt><pre><span class="Keyword">proc</span> <a href="#hasWarn%2CConfigRef%2CTNoteKind"><span class="Identifier">hasWarn</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">note</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKind"><span class="Identifier">TNoteKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L492" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L492" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="hcrOn-procs-all">
<div id="hcrOn,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#hcrOn%2CConfigRef"><span class="Identifier">hcrOn</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L495" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L495" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="importantComments-procs-all">
<div id="importantComments,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#importantComments%2CConfigRef"><span class="Identifier">importantComments</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L696" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L696" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="inclDynlibOverride-procs-all">
<div id="inclDynlibOverride,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#inclDynlibOverride%2CConfigRef%2Cstring"><span class="Identifier">inclDynlibOverride</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">lib</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1038" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1038" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isDefined-procs-all">
<div id="isDefined,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#isDefined%2CConfigRef%2Cstring"><span class="Identifier">isDefined</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">symbol</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L548" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L548" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="isDynlibOverride-procs-all">
<div id="isDynlibOverride,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#isDynlibOverride%2CConfigRef%2Cstring"><span class="Identifier">isDynlibOverride</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">lib</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1041" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1041" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="mainCommandArg-procs-all">
<div id="mainCommandArg,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#mainCommandArg%2CConfigRef"><span class="Identifier">mainCommandArg</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
This is intended for commands like check or parse which will work on the main project file unless explicitly given a specific file argument
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L706" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L706" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newConfigRef-procs-all">
<div id="newConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#newConfigRef"><span class="Identifier">newConfigRef</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L567" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L567" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newPartialConfigRef-procs-all">
<div id="newPartialConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#newPartialConfigRef"><span class="Identifier">newPartialConfigRef</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
create a new ConfigRef that is only good enough for error reporting.
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L626" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L626" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="parseIdeCmd-procs-all">
<div id="parseIdeCmd,string">
<dt><pre><span class="Keyword">proc</span> <a href="#parseIdeCmd%2Cstring"><span class="Identifier">parseIdeCmd</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="options.html#IdeCmd"><span class="Identifier">IdeCmd</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1051" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1051" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="pathSubs-procs-all">
<div id="pathSubs,ConfigRef,string,string">
<dt><pre><span class="Keyword">proc</span> <a href="#pathSubs%2CConfigRef%2Cstring%2Cstring"><span class="Identifier">pathSubs</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">p</span><span class="Other">,</span> <span class="Identifier">config</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L838" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L838" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="prepareToWriteOutput-procs-all">
<div id="prepareToWriteOutput,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#prepareToWriteOutput%2CConfigRef"><span class="Identifier">prepareToWriteOutput</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteDirEffect</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
Create the output directory and returns a full path to the output file
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L738" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L738" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="removeTrailingDirSep-procs-all">
<div id="removeTrailingDirSep,string">
<dt><pre><span class="Keyword">proc</span> <a href="#removeTrailingDirSep%2Cstring"><span class="Identifier">removeTrailingDirSep</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L796" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L796" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="setConfigVar-procs-all">
<div id="setConfigVar,ConfigRef,string,string">
<dt><pre><span class="Keyword">proc</span> <a href="#setConfigVar%2CConfigRef%2Cstring%2Cstring"><span class="Identifier">setConfigVar</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">,</span> <span class="Identifier">val</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L721" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L721" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="setDefaultLibpath-procs-all">
<div id="setDefaultLibpath,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#setDefaultLibpath%2CConfigRef"><span class="Identifier">setDefaultLibpath</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L764" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L764" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="setFromProjectName-procs-all">
<div id="setFromProjectName,ConfigRef,string">
<dt><pre><span class="Keyword">proc</span> <a href="#setFromProjectName%2CConfigRef%2Cstring"><span class="Identifier">setFromProjectName</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">projectName</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L783" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L783" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="setNote-procs-all">
<div id="setNote,ConfigRef,TNoteKind">
<dt><pre><span class="Keyword">proc</span> <a href="#setNote%2CConfigRef%2CTNoteKind"><span class="Identifier">setNote</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">note</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKind"><span class="Identifier">TNoteKind</span></a><span class="Other">;</span> <span class="Identifier">enabled</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L478" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L478" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="setNoteDefaults-procs-all">
<div id="setNoteDefaults,ConfigRef,TNoteKind">
<dt><pre><span class="Keyword">proc</span> <a href="#setNoteDefaults%2CConfigRef%2CTNoteKind"><span class="Identifier">setNoteDefaults</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">note</span><span class="Other">:</span> <a href="lineinfos.html#TNoteKind"><span class="Identifier">TNoteKind</span></a><span class="Other">;</span> <span class="Identifier">enabled</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L471" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L471" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="showNonExportedFields-procs-all">
<div id="showNonExportedFields,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#showNonExportedFields%2CConfigRef"><span class="Identifier">showNonExportedFields</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L1045" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L1045" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="toGeneratedFile-procs-all">
<div id="toGeneratedFile,ConfigRef,AbsoluteFile,string">
<dt><pre><span class="Keyword">proc</span> <a href="#toGeneratedFile%2CConfigRef%2CAbsoluteFile%2Cstring"><span class="Identifier">toGeneratedFile</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a><span class="Other">;</span> <span class="Identifier">ext</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="pathutils.html#AbsoluteFile"><span class="Identifier">AbsoluteFile</span></a> {.
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">OSError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadEnvEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
converts &quot;/home/a/mymodule.nim&quot;, &quot;rod&quot; to &quot;/home/a/nimcache/mymodule.rod&quot;
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L859" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L859" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="usesWriteBarrier-procs-all">
<div id="usesWriteBarrier,ConfigRef">
<dt><pre><span class="Keyword">proc</span> <a href="#usesWriteBarrier%2CConfigRef"><span class="Identifier">usesWriteBarrier</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L697" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L697" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
</dl>
</div>
<div class="section" id="15">
<h1><a class="toc-backref" href="#15">Iterators</a></h1>
<dl class="item">
<div id="nimbleSubs-iterators-all">
<div id="nimbleSubs.i,ConfigRef,string">
<dt><pre><span class="Keyword">iterator</span> <a href="#nimbleSubs.i%2CConfigRef%2Cstring"><span class="Identifier">nimbleSubs</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">p</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L850" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L850" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
</dl>
</div>
<div class="section" id="18">
<h1><a class="toc-backref" href="#18">Templates</a></h1>
<dl class="item">
<div id="compilationCachePresent-templates-all">
<div id="compilationCachePresent.t,ConfigRef">
<dt><pre><span class="Keyword">template</span> <a href="#compilationCachePresent.t%2CConfigRef"><span class="Identifier">compilationCachePresent</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L699" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L699" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="newPackageCache-templates-all">
<div id="newPackageCache.t">
<dt><pre><span class="Keyword">template</span> <a href="#newPackageCache.t"><span class="Identifier">newPackageCache</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L536" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L536" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="optPreserveOrigSource-templates-all">
<div id="optPreserveOrigSource.t,ConfigRef">
<dt><pre><span class="Keyword">template</span> <a href="#optPreserveOrigSource.t%2CConfigRef"><span class="Identifier">optPreserveOrigSource</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L703" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L703" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="quitOrRaise-templates-all">
<div id="quitOrRaise.t,ConfigRef,string">
<dt><pre><span class="Keyword">template</span> <a href="#quitOrRaise.t%2CConfigRef%2Cstring"><span class="Identifier">quitOrRaise</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">msg</span> <span class="Other">=</span> <span class="StringLit">&quot;&quot;</span><span class="Other">)</span></pre></dt>
<dd>
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L689" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L689" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
<div id="setErrorMaxHighMaybe-templates-all">
<div id="setErrorMaxHighMaybe.t,ConfigRef">
<dt><pre><span class="Keyword">template</span> <a href="#setErrorMaxHighMaybe.t%2CConfigRef"><span class="Identifier">setErrorMaxHighMaybe</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span></pre></dt>
<dd>
do not stop after first error (but honor --errorMax if provided)
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/options.nim#L467" class="link-seesrc" target="_blank">Source</a>&nbsp;&nbsp;
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/options.nim#L467" class="link-seesrc" target="_blank" >Edit</a>&nbsp;&nbsp;
</dd>
</div>
</div>
</dl>
</div>
</div>
</div>
<div class="twelve-columns footer">
<span class="nim-sprite"></span>
<br>
<small style="color: var(--hint);">Made with Nim. Generated: 2025-12-28 23:30:50 UTC</small>
</div>
</div>
</div>
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
</body>
</html>