initial commit
[rust-101.git] / pycco-rs
1 #!/usr/bin/python
2 # A little wrapper around pycco, to add Rust support.
3 import pycco
4 from pygments import lexers, formatters
5 import re
6 pycco.main.languages[".rs"] = { "name": "rust", "symbol": "//"}
7
8 # need to re-build this stuff...
9 for ext, l in pycco.main.languages.items():
10     # Does the line begin with a comment?
11     l["comment_matcher"] = re.compile(r"^\s*" + l["symbol"] + "\s?")
12     # The dividing token we feed into Pygments, to delimit the boundaries between
13     # sections.
14     l["divider_text"] = "\n" + l["symbol"] + "DIVIDER\n"
15     # The mirror of `divider_text` that we expect Pygments to return. We can split
16     # on this to recover the original sections.
17     l["divider_html"] = re.compile(r'\n*<span class="c[1]?">' + l["symbol"] + 'DIVIDER</span>\n*')
18     # Get the Pygments Lexer for this language.
19     l["lexer"] = lexers.get_lexer_by_name(l["name"])
20
21 pycco.main.main()