From bad8c52ef2712ac89ec9626c4788727553aa3096 Mon Sep 17 00:00:00 2001 From: Alberto Bertogli Date: Sun, 18 Nov 2012 10:39:45 +0000 Subject: Fall back to guess the lexer by content If we can't guess the lexer by the file name, try to guess based on the content. This allows pygments to colorize extension-less files, usually scripts. Signed-off-by: Alberto Bertogli --- utils.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'utils.py') diff --git a/utils.py b/utils.py index cee4bb7..039d02b 100644 --- a/utils.py +++ b/utils.py @@ -50,9 +50,13 @@ def colorize_diff(s): def colorize_blob(fname, s): try: - lexer = lexers.guess_lexer_for_filename(fname, s) + lexer = lexers.guess_lexer_for_filename(fname, s, encoding = 'utf-8') except lexers.ClassNotFound: - lexer = lexers.TextLexer(encoding = 'utf-8') + try: + lexer = lexers.guess_lexer(s[:200], encoding = 'utf-8') + except lexers.ClassNotFound: + lexer = lexers.TextLexer(encoding = 'utf-8') + formatter = HtmlFormatter(encoding = 'utf-8', cssclass = 'source_code', linenos = 'table') -- cgit v1.2.3