diff options
author | Araq <rumpf_a@web.de> | 2012-05-09 23:56:42 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2012-05-09 23:56:42 +0200 |
commit | 2f17c264f43b93056a0d0d91de61cb85c58bff0b (patch) | |
tree | 888792e34962ee7deb139b9a17bf2d89d886c62f /packages | |
parent | 338b3cc683e0277cbe82112860ed106b59871188 (diff) | |
download | Nim-2f17c264f43b93056a0d0d91de61cb85c58bff0b.tar.gz |
markdown improvements
Diffstat (limited to 'packages')
-rwxr-xr-x | packages/docutils/rst.nim | 14 | ||||
-rw-r--r-- | packages/docutils/rstgen.nim | 3 |
2 files changed, 9 insertions, 8 deletions
diff --git a/packages/docutils/rst.nim b/packages/docutils/rst.nim index 351aa6d12..16572abb4 100755 --- a/packages/docutils/rst.nim +++ b/packages/docutils/rst.nim @@ -287,15 +287,15 @@ proc whichMsgClass*(k: TMsgKind): TMsgClass = of 'h', 'H': result = mcHint else: assert false, "msgkind does not fit naming scheme" -proc defaultMsgHandler(filename: string, line, col: int, msgkind: TMsgKind, - arg: string) = +proc defaultMsgHandler*(filename: string, line, col: int, msgkind: TMsgKind, + arg: string) {.procvar.} = let mc = msgKind.whichMsgClass let a = messages[msgKind] % arg let message = "$1($2, $3) $4: $5" % [filename, $line, $col, $mc, a] if mc == mcError: raise newException(EParseError, message) else: Writeln(stdout, message) -proc defaultFindFile(filename: string): string = +proc defaultFindFile*(filename: string): string {.procvar.} = if existsFile(filename): result = filename else: result = "" @@ -386,7 +386,7 @@ proc findSub(p: var TRstParser, n: PRstNode): int = for i in countup(0, high(p.s.subs)): if cmpIgnoreStyle(key, p.s.subs[i].key) == 0: return i - result = - 1 + result = -1 proc setSub(p: var TRstParser, key: string, value: PRstNode) = var length = len(p.s.subs) @@ -550,7 +550,7 @@ proc parsePostfix(p: var TRstParser, n: PRstNode): PRstNode = result = n if isInlineMarkupEnd(p, "_"): inc(p.idx) - if (p.tok[p.idx - 2].symbol == "`") and (p.tok[p.idx - 3].symbol == ">"): + if p.tok[p.idx-2].symbol == "`" and p.tok[p.idx-3].symbol == ">": var a = newRstNode(rnInner) var b = newRstNode(rnInner) fixupEmbeddedRef(n, a, b) @@ -711,7 +711,7 @@ proc parseMarkdownCodeblock(p: var TRstParser): PRstNode = rstMessage(p, meExpected, "```") break of tkPunct: - if isInlineMarkupEnd(p, "```"): + if p.tok[p.idx].symbol == "```": inc(p.idx) break else: @@ -745,7 +745,7 @@ proc parseInline(p: var TRstParser, father: PRstNode) = var n = newRstNode(rnEmphasis) parseUntil(p, n, "*", true) add(father, n) - elif roSupportMarkdown in p.s.options and isInlineMarkupStart(p, "```"): + elif roSupportMarkdown in p.s.options and p.tok[p.idx].symbol == "```": inc(p.idx) add(father, parseMarkdownCodeblock(p)) elif isInlineMarkupStart(p, "``"): diff --git a/packages/docutils/rstgen.nim b/packages/docutils/rstgen.nim index c2a267005..a9f9376f3 100644 --- a/packages/docutils/rstgen.nim +++ b/packages/docutils/rstgen.nim @@ -685,7 +685,8 @@ proc rstToHtml*(s: string, options: TRstParseOptions, const filen = "input" var d: TRstGenerator - initRstGenerator(d, outHtml, config, filen, options, myFindFile, nil) + initRstGenerator(d, outHtml, config, filen, options, myFindFile, + rst.defaultMsgHandler) var dummyHasToc = false var rst = rstParse(s, filen, 0, 1, dummyHasToc, options) result = "" |