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() {
proc someType(): SomeType {...}{.raises: [], tags: [].}
proc someType(): SomeType {...}{.raises: [], tags: [].}
template aEnum(): untyped
template aEnum(): untyped
template bEnum(): untyped
template bEnum(): untyped
func someFunc() {...}{.raises: [], tags: [].}
func someFunc() {...}{.raises: [], tags: [].}
macro bar(): untyped
macro bar(): untyped