File tree Expand file tree Collapse file tree 1 file changed +10
-10
lines changed
pyqt_code_editor/syntax_highlighters Expand file tree Collapse file tree 1 file changed +10
-10
lines changed Original file line number Diff line number Diff line change 4
4
logging .basicConfig (level = logging .INFO , force = True )
5
5
logger = logging .getLogger (__name__ )
6
6
module_cache = {}
7
- # Some lexers have names that are not recognized by get_lexer_by_name(), which
8
- # seems like an issue with pygments. To catch this, here we explicitly rename.
9
- LANGUAGE_MAP = {
10
- 'javascript+genshi text' : 'javascript+genshi'
11
- }
12
7
8
+ # Some lexers have weird names that are not recognized by get_lexer_by_name().
9
+ # Often this seems to be a matter of discarding a suffix after a space or /
10
+ # This may not be a foolproof solution.
11
+ LANGUAGE_SEPARATORS = ' ' , '/'
13
12
14
- def create_syntax_highlighter (language , * args , ** kwargs ):
15
- if language in LANGUAGE_MAP :
16
- logger .info (f'mapping { language } to { LANGUAGE_MAP [language ]} ' )
17
- language = LANGUAGE_MAP [language ]
13
+ def create_syntax_highlighter (language , * args , ** kwargs ):
14
+ for ch in LANGUAGE_SEPARATORS :
15
+ if ch in language :
16
+ logger .info (f'mapping { language } to { language [:language .find (ch )]} ' )
17
+ language = language [:language .find (ch )]
18
18
try :
19
19
lexer = get_lexer_by_name (language )
20
- except :
20
+ except Exception :
21
21
lexer = get_lexer_by_name ('markdown' )
22
22
if language not in module_cache :
23
23
try :
You can’t perform that action at this time.
0 commit comments