From f87b9866af0ddc435f9873bd89cd973009b27c6e Mon Sep 17 00:00:00 2001 From: n5m <72841454+n5m@users.noreply.github.com> Date: Tue, 2 Feb 2021 08:44:21 +0000 Subject: link compile-time options together in docs (#16879) * link similar compiler option proc together * fixup links * fix formatting and links * example formatting * drop declared * link to compilesettings * only link define pragmas once * drop another declared * backlink to compileOptions from compilesettings * remove newline --- lib/std/compilesettings.nim | 16 ++++++++++++++-- lib/system.nim | 23 +++++++++++++++++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/lib/std/compilesettings.nim b/lib/std/compilesettings.nim index b9b13175d..5f3da011e 100644 --- a/lib/std/compilesettings.nim +++ b/lib/std/compilesettings.nim @@ -43,14 +43,26 @@ type proc querySetting*(setting: SingleValueSetting): string {. compileTime, noSideEffect.} = discard - ## Can be used to get a string compile-time option. Example: + ## Can be used to get a string compile-time option. + ## + ## See also: + ## * `compileOption `_ for `on|off` options + ## * `compileOption `_ for enum options + ## + ## Example: ## ## .. code-block:: Nim ## const nimcache = querySetting(SingleValueSetting.nimcacheDir) proc querySettingSeq*(setting: MultipleValueSetting): seq[string] {. compileTime, noSideEffect.} = discard - ## Can be used to get a multi-string compile-time option. Example: + ## Can be used to get a multi-string compile-time option. + ## + ## See also: + ## * `compileOption `_ for `on|off` options + ## * `compileOption `_ for enum options + ## + ## Example: ## ## .. code-block:: Nim ## const nimblePaths = compileSettingSeq(MultipleValueSetting.nimblePaths) diff --git a/lib/system.nim b/lib/system.nim index 12fcb3cf2..599c69df6 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -57,7 +57,14 @@ include "system/basic_types" proc compileOption*(option: string): bool {. magic: "CompileOption", noSideEffect.} - ## Can be used to determine an `on|off` compile-time option. Example: + ## Can be used to determine an `on|off` compile-time option. + ## + ## See also: + ## * `compileOption <#compileOption,string,string>`_ for enum options + ## * `defined <#defined,untyped>`_ + ## * `std/compilesettings module `_ + ## + ## Example: ## ## .. code-block:: Nim ## when compileOption("floatchecks"): @@ -65,7 +72,14 @@ proc compileOption*(option: string): bool {. proc compileOption*(option, arg: string): bool {. magic: "CompileOptionArg", noSideEffect.} - ## Can be used to determine an enum compile-time option. Example: + ## Can be used to determine an enum compile-time option. + ## + ## See also: + ## * `compileOption <#compileOption,string>`_ for `on|off` options + ## * `defined <#defined,untyped>`_ + ## * `std/compilesettings module `_ + ## + ## Example: ## ## .. code-block:: Nim ## when compileOption("opt", "size") and compileOption("gc", "boehm"): @@ -95,6 +109,11 @@ proc defined*(x: untyped): bool {.magic: "Defined", noSideEffect, compileTime.} ## Special compile-time procedure that checks whether `x` is ## defined. ## + ## See also: + ## * `compileOption <#compileOption,string>`_ for `on|off` options + ## * `compileOption <#compileOption,string,string>`_ for enum options + ## * `define pragmas `_ + ## ## `x` is an external symbol introduced through the compiler's ## `-d:x switch `_ to enable ## build time conditionals: -- cgit 1.4.1-2-gfad0