1
0
mirror of https://github.com/bia-technologies/diff3cf.git synced 2024-11-30 08:16:58 +02:00

Поддержка директивы ИзменениеИКонтроль

This commit is contained in:
Artem Sharipov 2023-10-30 11:18:06 +05:00 committed by Maximov Valery
parent 48be2163c6
commit f5d8590971

View File

@ -79,6 +79,7 @@
ИмяМетодаБезПрефикса = ИмяМетода;
ДлинаПередПосле = 5; // длина слов 'Перед' и 'После'
ДлинаВместо = 6; // длина слова 'Вместо'
ДлинаИзменениеИКонтроль = 18; // длина слова 'ИзменениеИКонтроль'
Если ДирективаМетода <> Неопределено Тогда
ИмяМетодаБезПрефикса = ДирективаМетода.ИмяМетода;
@ -92,6 +93,9 @@
ИначеЕсли СтрЗаканчиваетсяНа(ВРег(ИмяМетодаБезПрефикса), ВРег("Вместо")) Тогда
Директива = Прав(ИмяМетодаБезПрефикса, ДлинаВместо);
ИмяМетодаБезПрефикса = Лев(ИмяМетодаБезПрефикса, СтрДлина(ИмяМетодаБезПрефикса) - ДлинаВместо);
ИначеЕсли СтрЗаканчиваетсяНа(ВРег(ИмяМетодаБезПрефикса), ВРег("ИзменениеИКонтроль")) Тогда
Директива = Прав(ИмяМетодаБезПрефикса, ДлинаИзменениеИКонтроль);
ИмяМетодаБезПрефикса = Лев(ИмяМетодаБезПрефикса, СтрДлина(ИмяМетодаБезПрефикса) - ДлинаИзменениеИКонтроль);
КонецЕсли;
КонецЕсли;
@ -126,7 +130,7 @@
ФайлОписания.Прочитать(ФайлМодуля.ПолноеИмя, КодировкаТекста.UTF8NoBOM);
ТекстОписания = ФайлОписания.ПолучитьТекст();
ПаттернМетода = "^[\s]*?\&(Перед|Вместо|После)[\s]*\(\""([\w\W]*?)\""\)*\s(?:Процедура|Функция)[\s]*([\w\W]*?)[\(]";
ПаттернМетода = "^[\s]*?\&(Перед|Вместо|После|ИзменениеИКонтроль)[\s]*\(\""([\w\W]*?)\""\)*\s(?:Процедура|Функция)[\s]*([\w\W]*?)[\(]";
Регексп = Новый РегулярноеВыражение(ПаттернМетода);
Регексп.Многострочный = Истина;