fix: незаменённые переменные снова подсвечиваются красным
- при пересборке параграфа незаменённая переменная оставалась в тексте (раньше выбрасывалась) → красный маркер снова работает
This commit is contained in:
@@ -561,11 +561,17 @@ def _replace_text_in_para(para, replacements: Dict[str, str]) -> bool:
|
|||||||
for m in matches:
|
for m in matches:
|
||||||
var = m.group(0)
|
var = m.group(0)
|
||||||
val = replacements.get(var)
|
val = replacements.get(var)
|
||||||
if val is None:
|
|
||||||
continue
|
|
||||||
# текст до переменной
|
# текст до переменной
|
||||||
if m.start() > pos:
|
if m.start() > pos:
|
||||||
_add_run_with_tabs(para, full[pos:m.start()], first)
|
_add_run_with_tabs(para, full[pos:m.start()], first)
|
||||||
|
if val is None:
|
||||||
|
# Переменная не заменена — оставляем как есть,
|
||||||
|
# красным её подсветит _highlight_unmatched на шаге 7
|
||||||
|
run = para.add_run(var)
|
||||||
|
if first is not None:
|
||||||
|
_copy_run_style(first, run)
|
||||||
|
pos = m.end()
|
||||||
|
continue
|
||||||
# значение переменной
|
# значение переменной
|
||||||
val_str = str(val)
|
val_str = str(val)
|
||||||
run = para.add_run(val_str)
|
run = para.add_run(val_str)
|
||||||
|
|||||||
Reference in New Issue
Block a user