Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nim doc --project: @@ caused issues; use _._ instead #14454

Merged
merged 1 commit into from
May 26, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions compiler/nimpaths.nim
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ const
nimdocOutCss* = "nimdoc.out.css"
# `out` to make it easier to use with gitignore in user's repos
htmldocsDirname* = "htmldocs"
dotdotMangle* = "_._" ## refs #13223
# if this changes, make sure it's consistent with `esc` and `escapeLink`
# lots of other obvious options won't work, see #14454; `_` could work too

proc interp*(path: string, nimr: string): string =
result = path % ["nimr", nimr]
Expand Down
4 changes: 2 additions & 2 deletions lib/packages/docutils/rstgen.nim
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
import strutils, os, hashes, strtabs, rstast, rst, highlite, tables, sequtils,
algorithm, parseutils

import "$lib/../compiler/nimpaths"

const
HtmlExt = "html"
IndexExt* = ".idx"
Expand Down Expand Up @@ -78,8 +80,6 @@ type
testCmd: string
status: int

const dotdotMangle* = "@@" ## refs #13223

proc prettyLink*(file: string): string =
changeFileExt(file, "").replace(dotdotMangle, "..")

Expand Down
9 changes: 9 additions & 0 deletions testament/lib/stdtest/specialpaths.nim
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
#[
todo: move findNimStdLibCompileTime, findNimStdLib here
xxx: consider moving this to $nim/compiler/relpaths.nim to get relocatable paths
## note: $lib vs $nim
note: these can resolve to 3 different paths if running via `nim c --lib:lib foo`,
eg if compiler was installed via nimble (or is in nim path), and nim is external
(ie not in `$lib/../bin/` dir)
import "$lib/../compiler/nimpaths" # <- most robust if you want to favor --lib:lib
import "$nim/compiler/nimpaths"
import compiler/nimpaths
]#

import os
Expand Down
38 changes: 19 additions & 19 deletions tests/misc/trunner.nim
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ from std/sequtils import toSeq,mapIt
from std/algorithm import sorted
import stdtest/[specialpaths, unittest_light]

import "$nim/compiler/nimpaths"
import "$lib/../compiler/nimpaths"

const
nim = getCurrentCompilerExe()
Expand Down Expand Up @@ -101,21 +101,21 @@ else: # don't run twice the same test
of 0,5:
let htmlFile = htmldocsDir/"mmain.html"
check htmlFile in outp # sanity check for `hintSuccessX`
assertEquals ret, """
@@/imp.html
@@/imp.idx
dochack.js
assertEquals ret, fmt"""
{dotdotMangle}/imp.html
{dotdotMangle}/imp.idx
{docHackJsFname}
imp.html
imp.idx
imp2.html
imp2.idx
mmain.html
mmain.idx
nimdoc.out.css
theindex.html""", context
of 1: assertEquals ret, """
dochack.js
nimdoc.out.css
{nimdocOutCss}
{theindexFname}""", context
of 1: assertEquals ret, fmt"""
{docHackJsFname}
{nimdocOutCss}
tests/nimdoc/imp.html
tests/nimdoc/imp.idx
tests/nimdoc/sub/imp.html
Expand All @@ -124,20 +124,20 @@ tests/nimdoc/sub/imp2.html
tests/nimdoc/sub/imp2.idx
tests/nimdoc/sub/mmain.html
tests/nimdoc/sub/mmain.idx
theindex.html"""
of 2, 3: assertEquals ret, """
dochack.js
{theindexFname}"""
of 2, 3: assertEquals ret, fmt"""
{docHackJsFname}
mmain.html
mmain.idx
nimdoc.out.css""", context
of 4: assertEquals ret, """
dochack.js
nimdoc.out.css
{nimdocOutCss}""", context
of 4: assertEquals ret, fmt"""
{docHackJsFname}
{nimdocOutCss}
sub/mmain.html
sub/mmain.idx""", context
of 6: assertEquals ret, """
of 6: assertEquals ret, fmt"""
mmain.html
nimdoc.out.css""", context
{nimdocOutCss}""", context
else: doAssert false

block: # mstatic_assert
Expand Down