Skip to content
Snippets Groups Projects
Commit 22e63a8e authored by Jonas Haag's avatar Jonas Haag
Browse files

pygmentize(): Don't crash if no lexer could be guessed from the filename.

Rather, guess by content in that case.
parent 3a526705
No related branches found
No related tags found
No related merge requests found
...@@ -8,7 +8,8 @@ from dulwich.objects import Commit ...@@ -8,7 +8,8 @@ from dulwich.objects import Commit
from jinja2 import Environment, FileSystemLoader from jinja2 import Environment, FileSystemLoader
from pygments import highlight from pygments import highlight
from pygments.lexers import get_lexer_for_filename, get_lexer_by_name from pygments.lexers import get_lexer_for_filename, get_lexer_by_name, \
guess_lexer, ClassNotFound
from pygments.formatters import HtmlFormatter from pygments.formatters import HtmlFormatter
from nano import NanoApplication, HttpError from nano import NanoApplication, HttpError
...@@ -44,7 +45,10 @@ def pygmentize(code, filename=None, language=None): ...@@ -44,7 +45,10 @@ def pygmentize(code, filename=None, language=None):
if language: if language:
lexer = get_lexer_by_name(language) lexer = get_lexer_by_name(language)
else: else:
lexer = get_lexer_for_filename(filename) try:
lexer = get_lexer_for_filename(filename)
except ClassNotFound:
lexer = guess_lexer(code)
return highlight(code, lexer, pygments_formatter) return highlight(code, lexer, pygments_formatter)
pygments_formatter = HtmlFormatter(linenos=True) pygments_formatter = HtmlFormatter(linenos=True)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment