from pygments.formatters import HtmlFormatter
from pygments.lexers import guess_lexer, guess_lexer_for_filename
-from sys import stdin
+from sys import stdin, stderr
filename = stdin.readline().strip()
contents = stdin.read()
lexer = TextLexer
FORMAT = HtmlFormatter(
- lineos='table',
+ style='murphy',
+ cssclass='highlight',
+ linenos='table',
lineanchors='loc',
anchorlinenos=True)
print(highlight(contents, lexer, FORMAT))
+print('<style>')
+print(FORMAT.get_style_defs('.highlight'))
+print('</style>')
+print("Lexer: {}.".format(lexer), file=stderr)
int
syntax_highlight(const char *filename, FILE *fp, const char *s, size_t len)
{
+ // Flush HTML-file
+ fflush(fp);
// Copy STDOUT
int stdout_copy = dup(1);
// Redirect STDOUT
dup2(fileno(fp), 1);
- // Ruby script for syntax highlighting.
+ // Python Pygments script for syntax highlighting.
FILE *child = popen("./highlight", "w");
if (child == NULL) {
printf("child is null: %s", strerror(errno));
}
pclose(child);
+ fflush(stdout);
// Give back STDOUT.
dup2(stdout_copy, 1);
return lc;