CodeBlock: (block) -> { label } = block.classes fname, errfname = os.tmpname!, os.tmpname! cmd = "pygmentize -f html -O style=dracula,wrapcode,classprefix=py- -l %s %s 2>%s" with io.open fname, "w" \write block.text \close! lexer = switch label when "moon", "moonscript" cmd = cmd .. " -x" "moonscript.py" else label or "text" f = io.popen cmd\format lexer, fname, errfname out = with f\read"*a" f\close! if out == "" e = io.open errfname, "r" err = with e\read"*a" e\close! assert err\match("Error: no lexer for alias '#{label}' found"), "Failed to parse pygmentize result, is pygments installed?" block else pandoc.RawBlock "html", out