2061 self.__textEdit.setLexer() |
2061 self.__textEdit.setLexer() |
2062 self.apiLanguage = "" |
2062 self.apiLanguage = "" |
2063 return |
2063 return |
2064 |
2064 |
2065 if pyname: |
2065 if pyname: |
2066 self.apiLanguage = "Pygments|%s" % pyname |
2066 self.apiLanguage = "Pygments|{0}".format(pyname) |
2067 else: |
2067 else: |
2068 self.apiLanguage = self.lexer_.language() |
2068 self.apiLanguage = self.lexer_.language() |
2069 self.__textEdit.setLexer(self.lexer_) |
2069 self.__textEdit.setLexer(self.lexer_) |
2070 if self.lexer_.lexer() == "container" or self.lexer_.lexer() is None: |
2070 if self.lexer_.lexer() == "container" or self.lexer_.lexer() is None: |
2071 self.__textEdit.setStyleBits(self.lexer_.styleBitsNeeded()) |
2071 self.__textEdit.setStyleBits(self.lexer_.styleBitsNeeded()) |
2072 self.connect(self.__textEdit, SIGNAL("SCN_STYLENEEDED(int)"), |
2072 self.connect(self.__textEdit, SIGNAL("SCN_STYLENEEDED(int)"), |
2073 self.__styleNeeded) |
2073 self.__styleNeeded) |
2074 |
2074 |
2075 # get the font for style 0 and set it as the default font |
2075 # get the font for style 0 and set it as the default font |
2076 key = 'Scintilla/%s/style0/font' % self.lexer_.language() |
2076 key = 'Scintilla/{0}/style0/font'.format(self.lexer_.language()) |
2077 fdesc = Preferences.Prefs.settings.value(key) |
2077 fdesc = Preferences.Prefs.settings.value(key) |
2078 if fdesc is not None: |
2078 if fdesc is not None: |
2079 font = QFont(fdesc[0], int(fdesc[1])) |
2079 font = QFont(fdesc[0], int(fdesc[1])) |
2080 self.lexer_.setDefaultFont(font) |
2080 self.lexer_.setDefaultFont(font) |
2081 self.lexer_.readSettings(Preferences.Prefs.settings, "Scintilla") |
2081 self.lexer_.readSettings(Preferences.Prefs.settings, "Scintilla") |
2185 cs = Qt.CaseInsensitive |
2185 cs = Qt.CaseInsensitive |
2186 wc = self.__textEdit.wordCharacters() |
2186 wc = self.__textEdit.wordCharacters() |
2187 if wc is None: |
2187 if wc is None: |
2188 regExp = QRegExp('[^\w_]', cs) |
2188 regExp = QRegExp('[^\w_]', cs) |
2189 else: |
2189 else: |
2190 regExp = QRegExp('[^%s]' % re.escape(wc), cs) |
2190 regExp = QRegExp('[^{0}]'.format(re.escape(wc)), cs) |
2191 start = regExp.lastIndexIn(text, index) + 1 |
2191 start = regExp.lastIndexIn(text, index) + 1 |
2192 end = regExp.indexIn(text, index) |
2192 end = regExp.indexIn(text, index) |
2193 if start == end + 1 and index > 0: |
2193 if start == end + 1 and index > 0: |
2194 # we are on a word boundary, try again |
2194 # we are on a word boundary, try again |
2195 start = regExp.lastIndexIn(text, index - 1) + 1 |
2195 start = regExp.lastIndexIn(text, index - 1) + 1 |