From 26b51b53ceab4b7df04c209b52290a87bca8d0fd Mon Sep 17 00:00:00 2001 From: DokoGen Date: Mon, 3 Aug 2026 16:08:59 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BD=D0=B5=D0=B7=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=91=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20=D1=81=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=BE=D0=B4=D1=81=D0=B2=D0=B5=D1=87=D0=B8=D0=B2?= =?UTF-8?q?=D0=B0=D1=8E=D1=82=D1=81=D1=8F=20=D0=BA=D1=80=D0=B0=D1=81=D0=BD?= =?UTF-8?q?=D1=8B=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - при пересборке параграфа незаменённая переменная оставалась в тексте (раньше выбрасывалась) → красный маркер снова работает --- dokogen/generator.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dokogen/generator.py b/dokogen/generator.py index 427b32d..02dc167 100644 --- a/dokogen/generator.py +++ b/dokogen/generator.py @@ -561,11 +561,17 @@ def _replace_text_in_para(para, replacements: Dict[str, str]) -> bool: for m in matches: var = m.group(0) val = replacements.get(var) - if val is None: - continue # текст до переменной if m.start() > pos: _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) run = para.add_run(val_str)