1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
def color_text( self, event ) :
"""
Coloration syntaxique.
"""
zone_de_text = self.zone_de_text
zone_de_text.tag_remove( 'number', '0.0', 'end' )
zone_de_text.tag_remove( 'comment', '0.0', 'end' )
zone_de_text.tag_remove( 'string', '0.0', 'end' )
zone_de_text.tag_remove( 'keyword', '0.0', 'end' )
text = zone_de_text.get( '0.0', 'end' )
for tag, regex in self.virtualconsol.regexs.items() : # dico { tag => regex, ... }
lastPos = 0
while 1 :
match = regex.search( text, lastPos )
if match is None :
break
lastPos = match.end()
zone_de_text.tag_add( tag,
'%s + %d chars' % ( 0.0, match.start() ),
'%s + %d chars' % ( 0.0, lastPos ) ) |
Partager