1
0
mirror of https://github.com/bia-technologies/precommit4onec.git synced 2025-02-15 13:53:32 +02:00

#ARCH-2086

- ДОбавлено правило для удаления лишних пустых строк
This commit is contained in:
Maxmov Valery 2018-07-12 10:17:20 +03:00
parent e6853bb12f
commit b0e15c1823
2 changed files with 80 additions and 1 deletions

View File

@ -0,0 +1,78 @@
///////////////////////////////////////////////////////////////////////////////
//
// Служебный модуль с реализацией сценариев обработки файлов <УдалениеЛишнихПустыхСтрок>
//
///////////////////////////////////////////////////////////////////////////////
// ИмяСценария
// Возвращает имя сценария обработки файлов
//
// Возвращаемое значение:
// Строка - Имя текущего сценария обработки файлов
//
Функция ИмяСценария() Экспорт
Возврат "УдалениеЛишнихПустыхСтрок";
КонецФункции // ИмяСценария()
// ОбработатьФайл
// Выполняет обработку файла
//
// Параметры:
// АнализируемыйФайл - Файл - Файл из журнала git для анализа
// КаталогИсходныхФайлов - Строка - Каталог расположения исходных файлов относительно каталог репозитория
// ДополнительныеПараметры - Структура - Набор дополнительных параметров, которые можно использовать
// * Лог - Объект - Текущий лог
// * ИзмененныеКаталоги - Массив - Каталоги, которые необходимо добавить в индекс
// * КаталогРепозитория - Строка - Адрес каталога репозитория
// * ФайлыДляПостОбработки - Массив - Файлы, изменившиеся / образоавшиеся в результате работы сценария
// и которые необходимо дообработать
//
// Возвращаемое значение:
// Булево - Признак выполненной обработки файла
//
Функция ОбработатьФайл(АнализируемыйФайл, КаталогИсходныхФайлов, ДополнительныеПараметры) Экспорт
Лог = ДополнительныеПараметры.Лог;
Если АнализируемыйФайл.Существует() И ТипыФайлов.ЭтоФайлИсходников(АнализируемыйФайл) Тогда
Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария());
Если УдалитьЛишниеПустыеСтроки(АнализируемыйФайл.ПолноеИмя) Тогда
ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(АнализируемыйФайл.ПолноеИмя);
КонецЕсли;
Возврат Истина;
КонецЕсли;
Возврат ЛОЖЬ;
КонецФункции // ОбработатьФайл()
Функция УдалитьЛишниеПустыеСтроки(Знач ИмяФайла)
Текст = Новый ЧтениеТекста();
Текст.Открыть(ИмяФайла, "utf-8");
СодержимоеФайла = Текст.Прочитать();
Текст.Закрыть();
РегекспОчистка = Новый РегулярноеВыражение("(?m:((?:^[ \t]*\n){2,}))");
РегекспОчистка.Многострочный = Истина;
РегекспОчистка.ИгнорироватьРегистр = Истина;
НовоеСодержимоеФайла = РегекспОчистка.Заменить(СодержимоеФайла, Символы.ПС);
Если СтрСравнить(СодержимоеФайла, НовоеСодержимоеФайла) <> 0 Тогда
ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла,,,, Символы.ПС);
ЗаписьТекста.Записать(НовоеСодержимоеФайла);
ЗаписьТекста.Закрыть();
Возврат Истина;
КонецЕсли;
Возврат ЛОЖЬ;
КонецФункции

View File

@ -11,7 +11,8 @@
"СинхронизацияОбъектовМетаданныхИФайлов.os",
"СортировкаДереваМетаданных.os",
"УдалениеДублейМетаданных.os",
"УдалениеЛишнихКонцевыхПробелов.os"
"УдалениеЛишнихКонцевыхПробелов.os",
"УдалениеЛишнихПустыхСтрок.os"
]
}
}