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:
parent
e6853bb12f
commit
b0e15c1823
78
src/СценарииОбработки/УдалениеЛишнихПустыхСтрок.os
Normal file
78
src/СценарииОбработки/УдалениеЛишнихПустыхСтрок.os
Normal file
@ -0,0 +1,78 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Служебный модуль с реализацией сценариев обработки файлов <УдалениеЛишнихПустыхСтрок>
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ИмяСценария
|
||||
// Возвращает имя сценария обработки файлов
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Имя текущего сценария обработки файлов
|
||||
//
|
||||
Функция ИмяСценария() Экспорт
|
||||
|
||||
Возврат "УдалениеЛишнихПустыхСтрок";
|
||||
|
||||
КонецФункции // ИмяСценария()
|
||||
|
||||
// ОбработатьФайл
|
||||
// Выполняет обработку файла
|
||||
//
|
||||
// Параметры:
|
||||
// АнализируемыйФайл - Файл - Файл из журнала git для анализа
|
||||
// КаталогИсходныхФайлов - Строка - Каталог расположения исходных файлов относительно каталог репозитория
|
||||
// ДополнительныеПараметры - Структура - Набор дополнительных параметров, которые можно использовать
|
||||
// * Лог - Объект - Текущий лог
|
||||
// * ИзмененныеКаталоги - Массив - Каталоги, которые необходимо добавить в индекс
|
||||
// * КаталогРепозитория - Строка - Адрес каталога репозитория
|
||||
// * ФайлыДляПостОбработки - Массив - Файлы, изменившиеся / образоавшиеся в результате работы сценария
|
||||
// и которые необходимо дообработать
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Признак выполненной обработки файла
|
||||
//
|
||||
Функция ОбработатьФайл(АнализируемыйФайл, КаталогИсходныхФайлов, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Лог = ДополнительныеПараметры.Лог;
|
||||
Если АнализируемыйФайл.Существует() И ТипыФайлов.ЭтоФайлИсходников(АнализируемыйФайл) Тогда
|
||||
|
||||
Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария());
|
||||
|
||||
Если УдалитьЛишниеПустыеСтроки(АнализируемыйФайл.ПолноеИмя) Тогда
|
||||
|
||||
ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(АнализируемыйФайл.ПолноеИмя);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЛОЖЬ;
|
||||
|
||||
КонецФункции // ОбработатьФайл()
|
||||
|
||||
Функция УдалитьЛишниеПустыеСтроки(Знач ИмяФайла)
|
||||
|
||||
Текст = Новый ЧтениеТекста();
|
||||
Текст.Открыть(ИмяФайла, "utf-8");
|
||||
СодержимоеФайла = Текст.Прочитать();
|
||||
Текст.Закрыть();
|
||||
|
||||
РегекспОчистка = Новый РегулярноеВыражение("(?m:((?:^[ \t]*\n){2,}))");
|
||||
РегекспОчистка.Многострочный = Истина;
|
||||
РегекспОчистка.ИгнорироватьРегистр = Истина;
|
||||
НовоеСодержимоеФайла = РегекспОчистка.Заменить(СодержимоеФайла, Символы.ПС);
|
||||
Если СтрСравнить(СодержимоеФайла, НовоеСодержимоеФайла) <> 0 Тогда
|
||||
|
||||
ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла,,,, Символы.ПС);
|
||||
ЗаписьТекста.Записать(НовоеСодержимоеФайла);
|
||||
ЗаписьТекста.Закрыть();
|
||||
Возврат Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЛОЖЬ;
|
||||
|
||||
КонецФункции
|
@ -11,7 +11,8 @@
|
||||
"СинхронизацияОбъектовМетаданныхИФайлов.os",
|
||||
"СортировкаДереваМетаданных.os",
|
||||
"УдалениеДублейМетаданных.os",
|
||||
"УдалениеЛишнихКонцевыхПробелов.os"
|
||||
"УдалениеЛишнихКонцевыхПробелов.os",
|
||||
"УдалениеЛишнихПустыхСтрок.os"
|
||||
]
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user