From 3de255541a978f2f51ffdc4e49e0876d61cec128 Mon Sep 17 00:00:00 2001 From: Araq Date: Fri, 25 Jan 2019 09:21:35 +0100 Subject: [PATCH] docgen: do not produce trailing commas for links --- compiler/docgen.nim | 17 ++++++++++------- .../expected/subdir/subdir_b/utils.html | 18 +++++++++--------- nimdoc/testproject/expected/testproject.html | 12 ++++++------ nimdoc/testproject/expected/theindex.html | 10 +++++----- 4 files changed, 30 insertions(+), 27 deletions(-) diff --git a/compiler/docgen.nim b/compiler/docgen.nim index f34a831454..207d7e30b9 100644 --- a/compiler/docgen.nim +++ b/compiler/docgen.nim @@ -559,15 +559,18 @@ proc complexName(k: TSymKind, n: PNode, baseName: string): string = ## section of ``doc/docgen.txt``. result = baseName case k: - of skProc, skFunc: result.add(defaultParamSeparator) - of skMacro: result.add(".m" & defaultParamSeparator) - of skMethod: result.add(".e" & defaultParamSeparator) - of skIterator: result.add(".i" & defaultParamSeparator) - of skTemplate: result.add(".t" & defaultParamSeparator) - of skConverter: result.add(".c" & defaultParamSeparator) + of skProc, skFunc: discard + of skMacro: result.add(".m") + of skMethod: result.add(".e") + of skIterator: result.add(".i") + of skTemplate: result.add(".t") + of skConverter: result.add(".c") else: discard if len(n) > paramsPos and n[paramsPos].kind == nkFormalParams: - result.add(renderParamTypes(n[paramsPos])) + let params = renderParamTypes(n[paramsPos]) + if params.len > 0: + result.add(defaultParamSeparator) + result.add(params) proc isCallable(n: PNode): bool = ## Returns true if `n` contains a callable node. diff --git a/nimdoc/testproject/expected/subdir/subdir_b/utils.html b/nimdoc/testproject/expected/subdir/subdir_b/utils.html index 5d6dbbc5b4..f057df7e36 100644 --- a/nimdoc/testproject/expected/subdir/subdir_b/utils.html +++ b/nimdoc/testproject/expected/subdir/subdir_b/utils.html @@ -1255,7 +1255,7 @@ function main() {
  • Procs @@ -1263,9 +1263,9 @@ function main() {
  • Templates @@ -1304,8 +1304,8 @@ function main() {

    Procs

    - -
    proc someType(): SomeType {...}{.raises: [], tags: [].}
    + +
    proc someType(): SomeType {...}{.raises: [], tags: [].}
    constructor. @@ -1315,14 +1315,14 @@ constructor.

    Templates

    - -
    template aEnum(): untyped
    + +
    template aEnum(): untyped
    - -
    template bEnum(): untyped
    + +
    template bEnum(): untyped
    diff --git a/nimdoc/testproject/expected/testproject.html b/nimdoc/testproject/expected/testproject.html index 9c13eb6e69..21a7a0cf83 100644 --- a/nimdoc/testproject/expected/testproject.html +++ b/nimdoc/testproject/expected/testproject.html @@ -1277,7 +1277,7 @@ function main() {
  • Funcs @@ -1285,7 +1285,7 @@ function main() {
  • Macros @@ -1366,8 +1366,8 @@ The enum B.

    Funcs

    - -
    func someFunc() {...}{.raises: [], tags: [].}
    + +
    func someFunc() {...}{.raises: [], tags: [].}
    My someFunc. Stuff in quotes here. Some link @@ -1377,8 +1377,8 @@ My someFunc. Stuff in quotes

    Macros

    - -
    macro bar(): untyped
    + +
    macro bar(): untyped
    diff --git a/nimdoc/testproject/expected/theindex.html b/nimdoc/testproject/expected/theindex.html index 95c667acca..5a6e575bf5 100644 --- a/nimdoc/testproject/expected/theindex.html +++ b/nimdoc/testproject/expected/theindex.html @@ -1227,7 +1227,7 @@ function main() {
    aEnum:
    • utils: aEnum(): untyped
    • + data-doc-search-tag="utils: aEnum(): untyped" href="subdir/subdir_b/utils.html#aEnum.t">utils: aEnum(): untyped
    aVariable:
    bEnum:
    • utils: bEnum(): untyped
    • + data-doc-search-tag="utils: bEnum(): untyped" href="subdir/subdir_b/utils.html#bEnum.t">utils: bEnum(): untyped
    enumValueA:
    someFunc:
    • testproject: someFunc()
    • + data-doc-search-tag="testproject: someFunc()" href="testproject.html#someFunc">testproject: someFunc()
    SomeType:
    someType:
    • utils: someType(): SomeType
    • + data-doc-search-tag="utils: someType(): SomeType" href="subdir/subdir_b/utils.html#someType_2">utils: someType(): SomeType