eric6/QScintilla/Lexers/LexerPygments.py

changeset 8240
93b8a353c4bf
parent 8218
7c09585bd960
child 8273
698ae46f40a4
equal deleted inserted replaced
8239:59a9a658618c 8240:93b8a353c4bf
4 # 4 #
5 5
6 """ 6 """
7 Module implementing a custom lexer using pygments. 7 Module implementing a custom lexer using pygments.
8 """ 8 """
9
10 import contextlib
9 11
10 from pygments.token import Token 12 from pygments.token import Token
11 from pygments.lexers import ( 13 from pygments.lexers import (
12 guess_lexer_for_filename, guess_lexer, find_lexer_class 14 guess_lexer_for_filename, guess_lexer, find_lexer_class
13 ) 15 )
451 elif text: 453 elif text:
452 # step 1: guess based on filename and text 454 # step 1: guess based on filename and text
453 if self.editor is not None: 455 if self.editor is not None:
454 fn = self.editor.getFileName() 456 fn = self.editor.getFileName()
455 if fn: 457 if fn:
456 try: 458 with contextlib.suppress(ClassNotFound):
457 lexer = guess_lexer_for_filename(fn, text) 459 lexer = guess_lexer_for_filename(fn, text)
458 except ClassNotFound:
459 pass
460 460
461 # step 2: guess on text only 461 # step 2: guess on text only
462 if lexer is None: 462 if lexer is None:
463 try: 463 with contextlib.suppress(ClassNotFound):
464 lexer = guess_lexer(text) 464 lexer = guess_lexer(text)
465 except ClassNotFound:
466 pass
467 465
468 return lexer 466 return lexer
469 467
470 def canStyle(self): 468 def canStyle(self):
471 """ 469 """

eric ide

mercurial