Changeset 09421d6ee2f0…
Parent f1dccd5aae78…
by
Changes to 4 files · Browse files at 09421d6ee2f0 Showing diff from parent f1dccd5aae78 Diff from another changeset...
@@ -82,7 +82,7 @@ data = f.read(head)
else:
data = '' # too big
- lexer = get_lexer(self.filename, data)
+ lexer = get_lexer(self.filename, data, self.repo.ui)
if lexer:
lexer.setDefaultFont(self._font)
lexer.setFont(self._font)
|
@@ -262,7 +262,7 @@ if flag == '':
return
- lexer = get_lexer(filename, data, flag)
+ lexer = get_lexer(filename, data, flag, self._ctx._repo.ui) # yuck
if flag == "+":
nlines = data.count('\n')
self.sci.setMarginWidth(1, str(nlines)+'0')
|
@@ -1,30 +1,21 @@ import re
-from PyQt4 import QtCore, QtGui, Qsci, uic
+from PyQt4 import QtCore, QtGui, Qsci
from PyQt4.QtCore import Qt
+from tortoisehg.hgqt import qtlib
class _LexerSelector(object):
_lexer = None
def match(self, filename, filedata):
return False
- def lexer(self, cfg=None):
+ def lexer(self, ui):
"""
Return a configured instance of the lexer
"""
- return self.cfg_lexer(self._lexer(), cfg)
+ return self.cfg_lexer(self._lexer(), ui)
- def cfg_lexer(self, lexer, cfg=None):
- # TODO: get font from qtlib.getfont()
- if cfg:
- font = QtGui.QFont()
- fontstr = cfg.getFont()
- font.fromString(fontstr)
- size = cfg.getFontSize()
- else:
- font = QtGui.QFont('Monospace')
- size = 9
-
- font.setPointSize(size)
+ def cfg_lexer(self, lexer, ui):
+ font = qtlib.getfont(ui, 'fontlog').font()
lexer.setFont(font, -1)
return lexer
@@ -116,39 +107,31 @@ extensions = ()
_lexer = Qsci.QsciLexerDiff
regex = re.compile(r'^@@ [-]\d+,\d+ [+]\d+,\d+ @@$')
- def cfg_lexer(self, lexer, cfg=None):
- """
- Return a configured instance of the lexer
- """
- if cfg:
- lexer.setDefaultPaper(QtGui.QColor(cfg.getDiffBGColor()))
- lexer.setColor(QtGui.QColor(cfg.getDiffFGColor()), -1)
- lexer.setColor(QtGui.QColor(cfg.getDiffPlusColor()), 6)
- lexer.setColor(QtGui.QColor(cfg.getDiffMinusColor()), 5)
- lexer.setColor(QtGui.QColor(cfg.getDiffSectionColor()), 4)
- font = QtGui.QFont()
- fontstr = cfg.getFont()
- font.fromString(fontstr)
- size = cfg.getFontSize()
- else:
- font = QtGui.QFont('Monospace')
- size = 9
-
- font.setPointSize(size)
+ def cfg_lexer(self, lexer, ui):
+ qtlib.configstyles(ui)
+ #lexer.setDefaultPaper(QtGui.QColor(cfg.getDiffBGColor()))
+ #lexer.setColor(QtGui.QColor(cfg.getDiffFGColor()), -1)
+ for label, i in (('diff.inserted', 6),
+ ('diff.deleted', 5),
+ ('diff.hunk', 4)):
+ effect = qtlib.geteffect(label)
+ for e in effect.split(';'):
+ if e.startswith('color:'):
+ lexer.setColor(QtGui.QColor(e[7:]), i)
+ font = qtlib.getfont(ui, 'fontdiff').font()
lexer.setFont(font, -1)
-
return lexer
lexers = [cls() for clsname, cls in globals().items() if not clsname.startswith('_') and isinstance(cls, type) and \
issubclass(cls, (_LexerSelector, _FilenameLexerSelector, _ScriptLexerSelector))]
-def get_lexer(filename, filedata, fileflag=None):
+def get_lexer(filename, filedata, fileflag=None, ui=None):
if fileflag == "=":
- return DiffLexerSelector().lexer(None)
+ return DiffLexerSelector().lexer(ui)
for lselector in lexers:
if lselector.match(filename, filedata):
- return lselector.lexer(None)
+ return lselector.lexer(ui)
return None
|
@@ -103,7 +103,7 @@ data = "binary file"
else:
data = tounicode(data)
- lexer = get_lexer(path, data)
+ lexer = get_lexer(path, data, self.repo.ui)
if lexer:
lexer.setFont(self._font)
self.textView.setLexer(lexer)
|
Loading...