From ef5303114c2cfebab83232988ae11f33301b4e00 Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Mon, 22 Feb 2021 02:10:34 -0800 Subject: fix prelude regression refs #16238: `include prelude` doesn't interfere with `nim doc` (#17111) * fix bug1 from #16238 nim doc now works with include prelude * fix for windows * fixup --- lib/pure/prelude.nim | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'lib/pure') diff --git a/lib/pure/prelude.nim b/lib/pure/prelude.nim index 5da608961..f1728b5f7 100644 --- a/lib/pure/prelude.nim +++ b/lib/pure/prelude.nim @@ -7,18 +7,22 @@ # distribution, for details about the copyright. # -## This is an include file that simply imports common modules for your -## convenience: -## -## .. code-block:: nim -## include std/prelude -## -## Same as: -## -## .. code-block:: nim -## import std/[os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt] +when defined(nimdoc) and isMainModule: + from std/compileSettings import nil + when compileSettings.querySetting(compileSettings.SingleValueSetting.projectFull) == currentSourcePath: + ## This is an include file that simply imports common modules for your convenience. + runnableExamples: + include std/prelude + # same as: + # import std/[os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt] + let x = 1 + assert "foo $# $#" % [$x, "bar"] == "foo 1 bar" + assert toSeq(1..3) == @[1, 2, 3] + when not defined(js) or defined(nodejs): + assert getCurrentDir().len > 0 + assert ($now()).startsWith "20" -# xxx deduplicate with prelude.rst + # xxx `nim doc -b:js -d:nodejs --doccmd:-d:nodejs lib/pure/prelude.nim` fails for some reason + # specific to `nim doc`, but the code otherwise works with nodejs. import std/[os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt] - -- cgit 1.4.1-2-gfad0