summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorn5m <72841454+n5m@users.noreply.github.com>2021-02-02 08:44:21 +0000
committerGitHub <noreply@github.com>2021-02-02 09:44:21 +0100
commitf87b9866af0ddc435f9873bd89cd973009b27c6e (patch)
tree7bc731fe20beb6c530ad4af20b3ca07c99eb3a8b
parent4b2054a7bf2443f01db80aaac9d5de6f42e555cd (diff)
downloadNim-f87b9866af0ddc435f9873bd89cd973009b27c6e.tar.gz
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
-rw-r--r--lib/std/compilesettings.nim16
-rw-r--r--lib/system.nim23
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 <system.html#compileOption,string>`_ for `on|off` options
+  ## * `compileOption <system.html#compileOption,string,string>`_ 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 <system.html#compileOption,string>`_ for `on|off` options
+  ## * `compileOption <system.html#compileOption,string,string>`_ 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 <compilesettings.html>`_
+  ##
+  ## 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 <compilesettings.html>`_
+  ##
+  ## 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 <manual.html#implementation-specific-pragmas-compileminustime-define-pragmas>`_
+  ##
   ## `x` is an external symbol introduced through the compiler's
   ## `-d:x switch <nimc.html#compiler-usage-compileminustime-symbols>`_ to enable
   ## build time conditionals: