move prelude so that include std/prelude also works (#17110)

* move prelude so that `include std/prelude` also works

* add test
This commit is contained in:
Timothee Cour
2021-02-20 09:08:13 -08:00
committed by GitHub
parent bd199a8d31
commit e94a3e5fcd
7 changed files with 28 additions and 11 deletions

View File

@@ -17,6 +17,8 @@
`typetraits.nim` module.
- `prelude` now works with the JavaScript target.
Added `sequtils` import to `prelude`.
`prelude` can now be used via `include std/prelude`, but `include prelude` still works.
- Added `almostEqual` in `math` for comparing two float values using a machine epsilon.
@@ -94,8 +96,6 @@
shallow copying; `lists.add` concatenates two lists - an O(1) variation that consumes
its argument, `addMoved`, is also supplied.
- Added `sequtils` import to `prelude`.
- Added `euclDiv` and `euclMod` to `math`.
- Added `httpcore.is1xx` and missing HTTP codes.
- Added `jsconsole.jsAssert` for JavaScript target.

View File

@@ -4,12 +4,12 @@ Prelude
This is an include file that simply imports common modules for your convenience:
.. code-block:: nim
include prelude
include std/prelude
Same as:
.. code-block:: nim
import os, strutils, times, parseutils, parseopt, hashes, tables, sets
import std/[os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt]
Examples
@@ -18,7 +18,7 @@ Examples
Get the basic most common imports ready to start coding using ``prelude``:
.. code-block:: nim
include prelude
include std/prelude
echo now()
echo getCurrentDir()

View File

@@ -11,11 +11,14 @@
## convenience:
##
## .. code-block:: nim
## include prelude
## include std/prelude
##
## Same as:
##
## .. code-block:: nim
## import os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt
## import std/[os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt]
# xxx deduplicate with prelude.rst
import std/[os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt]
import os, strutils, times, parseutils, hashes, tables, sets, sequtils, parseopt

14
tests/stdlib/tprelude.nim Normal file
View File

@@ -0,0 +1,14 @@
discard """
targets: "c js"
matrix: "; -d:nimTestTpreludeCase1"
"""
when defined nimTestTpreludeCase1:
include std/prelude
else:
include prelude
template main() =
doAssert toSeq(1..3) == @[1,2,3]
static: main()
main()

View File

@@ -1,5 +1,5 @@
include prelude
include std/prelude
proc main(input, output: string) =
type NodeKind = enum

View File

@@ -1,5 +1,5 @@
include prelude
include std/prelude
import intsets
type

View File

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