fix(syntax coloring): load all lexers, even those without aliases
Some Pygments’ lexers are registered without any alias, just with their long name. This ensure that they are loaded, along with the others.
This commit is contained in:
parent
438838dd4e
commit
a41eea11d2
1 changed files with 14 additions and 4 deletions
|
|
@ -306,11 +306,21 @@ def load_lexers():
|
|||
from pygments.lexers import get_all_lexers
|
||||
try:
|
||||
for lexer in get_all_lexers():
|
||||
try:
|
||||
lexers.append(lexer[1][0])
|
||||
except IndexError:
|
||||
l = None
|
||||
# If the tuple has one-word aliases
|
||||
# (which are usually a better option than the long names
|
||||
# for a command line argument).
|
||||
if lexer[1]:
|
||||
l = lexer[1][0] # Take the first one.
|
||||
else:
|
||||
assert(lexer[0])
|
||||
l = lexer[0] # Take the long name, which should alway exists.
|
||||
if not l:
|
||||
logging.warning("cannot load lexer: %s" % lexer[1][0])
|
||||
pass
|
||||
pass # Forget about this lexer.
|
||||
else:
|
||||
assert(" " not in l) # Should be very rare, but probably a source of bugs.
|
||||
lexers.append(l)
|
||||
except:
|
||||
logging.warning("error while executing the pygment module, syntax coloring is not available")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue