diff options
author | Araq <rumpf_a@web.de> | 2015-10-13 14:10:33 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-10-13 14:10:33 +0200 |
commit | 8be9e4640320ddc4c11cf433fb6e232a743a9700 (patch) | |
tree | 84b223decfbfe5ed5104682dd4fd62a4f274398a /lib/packages/docutils/rstgen.nim | |
parent | 2fda95a4d630aa8b293f16e4f21471f7ee8e743a (diff) | |
download | Nim-8be9e4640320ddc4c11cf433fb6e232a743a9700.tar.gz |
udpated the compiler and tester to use getOrDefault
Diffstat (limited to 'lib/packages/docutils/rstgen.nim')
-rw-r--r-- | lib/packages/docutils/rstgen.nim | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/lib/packages/docutils/rstgen.nim b/lib/packages/docutils/rstgen.nim index 83e1b8b9f..4a0304a7c 100644 --- a/lib/packages/docutils/rstgen.nim +++ b/lib/packages/docutils/rstgen.nim @@ -139,7 +139,7 @@ proc initRstGenerator*(g: var RstGenerator, target: OutputTarget, g.seenIndexTerms = initTable[string, int]() g.msgHandler = msgHandler - let s = config["split.item.toc"] + let s = config.getOrDefault"split.item.toc" if s != "": g.splitAfter = parseInt(s) for i in low(g.meta)..high(g.meta): g.meta[i] = "" @@ -341,10 +341,10 @@ proc renderIndexTerm*(d: PDoc, n: PRstNode, result: var string) = ## previously appeared to give a different identifier value for each. let refname = n.rstnodeToRefname if d.seenIndexTerms.hasKey(refname): - d.seenIndexTerms[refname] = d.seenIndexTerms[refname] + 1 + d.seenIndexTerms[refname] = d.seenIndexTerms.getOrDefault(refname) + 1 else: d.seenIndexTerms[refname] = 1 - let id = refname & '_' & $d.seenIndexTerms[refname] + let id = refname & '_' & $d.seenIndexTerms.getOrDefault(refname) var term = "" renderAux(d, n, term) @@ -518,7 +518,7 @@ proc generateDocumentationIndex(docs: IndexedDocs): string = sort(titles, cmp) for title in titles: - let tocList = generateDocumentationTOC(docs[title]) + let tocList = generateDocumentationTOC(docs.getOrDefault(title)) result.add("<ul><li><a href=\"" & title.link & "\">" & title.keyword & "</a>\n" & tocList & "</ul>\n") @@ -786,7 +786,8 @@ proc renderSmiley(d: PDoc, n: PRstNode, result: var string) = dispA(d.target, result, """<img src="$1" width="15" height="17" hspace="2" vspace="2" class="smiley" />""", - "\\includegraphics{$1}", [d.config["doc.smiley_format"] % n.text]) + "\\includegraphics{$1}", + [d.config.getOrDefault"doc.smiley_format" % n.text]) proc parseCodeBlockField(d: PDoc, n: PRstNode, params: var CodeBlockParams) = ## Parses useful fields which can appear before a code block. @@ -844,8 +845,8 @@ proc buildLinesHTMLTable(d: PDoc; params: CodeBlockParams, code: string): inc d.listingCounter let id = $d.listingCounter if not params.numberLines: - result = (d.config["doc.listing_start"] % id, - d.config["doc.listing_end"] % id) + result = (d.config.getOrDefault"doc.listing_start" % id, + d.config.getOrDefault"doc.listing_end" % id) return var codeLines = 1 + code.strip.countLines @@ -856,9 +857,11 @@ proc buildLinesHTMLTable(d: PDoc; params: CodeBlockParams, code: string): result.beginTable.add($line & "\n") line.inc codeLines.dec - result.beginTable.add("</pre></td><td>" & (d.config["doc.listing_start"] % id)) - result.endTable = (d.config["doc.listing_end"] % id) & - "</td></tr></tbody></table>" & (d.config["doc.listing_button"] % id) + result.beginTable.add("</pre></td><td>" & ( + d.config.getOrDefault"doc.listing_start" % id)) + result.endTable = (d.config.getOrDefault"doc.listing_end" % id) & + "</td></tr></tbody></table>" & ( + d.config.getOrDefault"doc.listing_button" % id) proc renderCodeBlock(d: PDoc, n: PRstNode, result: var string) = ## Renders a code block, appending it to `result`. |