1100 """ |
1100 """ |
1101 Private slot handling the aboutToShow signal of the languages context menu. |
1101 Private slot handling the aboutToShow signal of the languages context menu. |
1102 """ |
1102 """ |
1103 if self.apiLanguage.startswith("Pygments|"): |
1103 if self.apiLanguage.startswith("Pygments|"): |
1104 self.pygmentsSelAct.setText( |
1104 self.pygmentsSelAct.setText( |
1105 self.trUtf8("Alternatives ({0})").format(self.getLanguage())) |
1105 self.trUtf8("Alternatives ({0})").format( |
|
1106 self.getLanguage(normalized = False))) |
1106 else: |
1107 else: |
1107 self.pygmentsSelAct.setText(self.trUtf8("Alternatives")) |
1108 self.pygmentsSelAct.setText(self.trUtf8("Alternatives")) |
1108 self.showMenu.emit("Languages", self.languagesMenu, self) |
1109 self.showMenu.emit("Languages", self.languagesMenu, self) |
1109 |
1110 |
1110 def __selectPygmentsLexer(self): |
1111 def __selectPygmentsLexer(self): |
1114 @return name of the selected pygments lexer (string) |
1115 @return name of the selected pygments lexer (string) |
1115 """ |
1116 """ |
1116 from pygments.lexers import get_all_lexers |
1117 from pygments.lexers import get_all_lexers |
1117 lexerList = sorted([l[0] for l in get_all_lexers()]) |
1118 lexerList = sorted([l[0] for l in get_all_lexers()]) |
1118 try: |
1119 try: |
1119 lexerSel = lexerList.index(self.getLanguage()) |
1120 lexerSel = lexerList.index(self.getLanguage(normalized = False)) |
1120 except ValueError: |
1121 except ValueError: |
1121 lexerSel = 0 |
1122 lexerSel = 0 |
1122 lexerName, ok = QInputDialog.getItem( |
1123 lexerName, ok = QInputDialog.getItem( |
1123 self, |
1124 self, |
1124 self.trUtf8("Pygments Lexer"), |
1125 self.trUtf8("Pygments Lexer"), |
1422 |
1423 |
1423 @return the lexer object (Lexer) |
1424 @return the lexer object (Lexer) |
1424 """ |
1425 """ |
1425 return self.lexer_ |
1426 return self.lexer_ |
1426 |
1427 |
1427 def getLanguage(self): |
1428 def getLanguage(self, normalized = True): |
1428 """ |
1429 """ |
1429 Public method to retrieve the language of the editor. |
1430 Public method to retrieve the language of the editor. |
1430 |
1431 |
|
1432 @keyparam normalized flag indicating to normalize some Pygments |
|
1433 lexer names (boolean) |
1431 @return language of the editor (string) |
1434 @return language of the editor (string) |
1432 """ |
1435 """ |
1433 if self.apiLanguage == "Guessed" or self.apiLanguage.startswith("Pygments|"): |
1436 if self.apiLanguage == "Guessed" or self.apiLanguage.startswith("Pygments|"): |
1434 return self.lexer_.name() |
1437 lang = self.lexer_.name() |
|
1438 if normalized: |
|
1439 # adjust some Pygments lexer names |
|
1440 if lang == "Python": |
|
1441 lang = "Python2" |
|
1442 elif lang == "Python 3": |
|
1443 lang = "Python3" |
|
1444 return lang |
1435 else: |
1445 else: |
1436 return self.apiLanguage |
1446 return self.apiLanguage |
1437 |
1447 |
1438 def __bindCompleter(self, filename): |
1448 def __bindCompleter(self, filename): |
1439 """ |
1449 """ |