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
This commit is contained in:
Timothee Cour 2021-02-22 02:10:34 -08:00 • committed by GitHub
commit ef5303114c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 42 deletions

View file

@ -1,29 +0,0 @@
Prelude
=======
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]
Examples
========
Get the basic most common imports ready to start coding using ``prelude``:
.. code-block:: nim
include std/prelude
echo now()
echo getCurrentDir()
echo "Hello $1".format("World")
See also:
- `Sugar <sugar.html>`_

View file

@ -7,18 +7,22 @@
# distribution, for details about the copyright. # distribution, for details about the copyright.
# #
## This is an include file that simply imports common modules for your when defined(nimdoc) and isMainModule:
## convenience: from std/compileSettings import nil
## when compileSettings.querySetting(compileSettings.SingleValueSetting.projectFull) == currentSourcePath:
## .. code-block:: nim ## This is an include file that simply imports common modules for your convenience.
## include std/prelude runnableExamples:
## include std/prelude
## Same as: # same as:
## # import std/[os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt]
## .. code-block:: nim let x = 1
## import std/[os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt] 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] import std/[os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt]

View file

@ -143,7 +143,6 @@ lib/posix/termios.nim
# some of these are include files so shouldn't be docgen'd # some of these are include files so shouldn't be docgen'd
ignoredModules = """ ignoredModules = """
lib/pure/prelude.nim
lib/pure/future.nim lib/pure/future.nim
lib/pure/collections/hashcommon.nim lib/pure/collections/hashcommon.nim
lib/pure/collections/tableimpl.nim lib/pure/collections/tableimpl.nim