mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Add warning facility on unknown Pygments lexer names.
This commit is contained in:
parent
454c9d3b9e
commit
1996a9e5e9
@ -34,6 +34,7 @@ try:
|
||||
from pygments.styles import get_style_by_name
|
||||
from pygments.styles.friendly import FriendlyStyle
|
||||
from pygments.token import Generic, Comment, Number
|
||||
from pygments.util import ClassNotFound
|
||||
except ImportError:
|
||||
pygments = None
|
||||
lexers = None
|
||||
@ -170,7 +171,7 @@ class PygmentsBridge(object):
|
||||
else:
|
||||
return True
|
||||
|
||||
def highlight_block(self, source, lang, linenos=False):
|
||||
def highlight_block(self, source, lang, linenos=False, warn=None):
|
||||
if isinstance(source, str):
|
||||
source = source.decode()
|
||||
if not pygments:
|
||||
@ -197,7 +198,15 @@ class PygmentsBridge(object):
|
||||
if lang in lexers:
|
||||
lexer = lexers[lang]
|
||||
else:
|
||||
try:
|
||||
lexer = lexers[lang] = get_lexer_by_name(lang)
|
||||
except ClassNotFound:
|
||||
if warn:
|
||||
warn('Pygments lexer name %s is not known' % lang)
|
||||
return self.unhighlighted(source)
|
||||
else:
|
||||
raise
|
||||
else:
|
||||
lexer.add_filter('raiseonerror')
|
||||
try:
|
||||
if self.dest == 'html':
|
||||
|
Loading…
Reference in New Issue
Block a user