eric6/ThirdParty/Pygments/pygments/lexer.py

changeset 7983
54c5cfbb1e29
parent 7701
25f42e208e08
equal deleted inserted replaced
7982:48d210e41c65 7983:54c5cfbb1e29
3 pygments.lexer 3 pygments.lexer
4 ~~~~~~~~~~~~~~ 4 ~~~~~~~~~~~~~~
5 5
6 Base lexer classes. 6 Base lexer classes.
7 7
8 :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS. 8 :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9 :license: BSD, see LICENSE for details. 9 :license: BSD, see LICENSE for details.
10 """ 10 """
11 11
12 import re 12 import re
13 import sys 13 import sys
792 if realpos is None: 792 if realpos is None:
793 realpos = i 793 realpos = i
794 oldi = 0 794 oldi = 0
795 while insleft and i + len(v) >= index: 795 while insleft and i + len(v) >= index:
796 tmpval = v[oldi:index - i] 796 tmpval = v[oldi:index - i]
797 yield realpos, t, tmpval 797 if tmpval:
798 realpos += len(tmpval) 798 yield realpos, t, tmpval
799 realpos += len(tmpval)
799 for it_index, it_token, it_value in itokens: 800 for it_index, it_token, it_value in itokens:
800 yield realpos, it_token, it_value 801 yield realpos, it_token, it_value
801 realpos += len(it_value) 802 realpos += len(it_value)
802 oldi = index - i 803 oldi = index - i
803 try: 804 try:
804 index, itokens = next(insertions) 805 index, itokens = next(insertions)
805 except StopIteration: 806 except StopIteration:
806 insleft = False 807 insleft = False
807 break # not strictly necessary 808 break # not strictly necessary
808 yield realpos, t, v[oldi:] 809 if oldi < len(v):
809 realpos += len(v) - oldi 810 yield realpos, t, v[oldi:]
811 realpos += len(v) - oldi
810 812
811 # leftover tokens 813 # leftover tokens
812 while insleft: 814 while insleft:
813 # no normal tokens, set realpos to zero 815 # no normal tokens, set realpos to zero
814 realpos = realpos or 0 816 realpos = realpos or 0

eric ide

mercurial