117117 Возврат Описание;
118118КонецФункции
119119
120+ // Функция возвращает строку использования (спек) команды
121+ //
122+ // Возвращаемое значение:
123+ // Cтрока - строка использования (спек) текущей команды
124+ //
125+ Функция ПолучитьСтрокуИспользования () Экспорт
126+
127+ Возврат ? (Не ПустаяСтрока (Спек), Спек, СформироватьСтандартнуюСтрокуИспользования());
128+
129+ КонецФункции
130+
120131// Функция возвращает значение опции по переданному имени/синониму опции
121132//
122133// Параметры:
493504
494505 Лог.Отладка("Входящий спек: %1" , Спек);
495506
496- СтрокаИспользования = Спек;
497-
498- Если ПустаяСтрока (СтрокаИспользования) Тогда
499-
500- СтрокаИспользования = СформироватьСтандартнуюСтрокуИспользования();
501-
502- КонецЕсли ;
507+ СтрокаИспользования = ПолучитьСтрокуИспользования();
503508
504509 Лог.Отладка("Разбираю строку использования с помощью лексера" );
505510
935940
936941 Если Не ПустаяСтрока (СтрокаТаблицы.ПодробноеОписание) Тогда
937942
938- СтрокаНаименования = СтрШаблон (" %2%1% " , Символы.Таб, СтрокаТаблицы.Наименование);
943+ СтрокаНаименования = СтрШаблон (" %2%1" , Символы.Таб, СтрокаТаблицы.Наименование);
939944
940945 ДлинаДополнения = СтрДлина (СтрокаНаименования) + ДобавочнаяДлинаДополнения;
941946 МассивСтрок = СтрРазделить (СтрокаТаблицы.ПодробноеОписание, Символы.ПС, Ложь );
10431048 ПроцессорКоллекций = Новый ПроцессорКоллекций;
10441049 ПроцессорКоллекций.УстановитьКоллекцию(НаименованияПараметров);
10451050 СортированныеНаименования = ПроцессорКоллекций
1046- .Сортировать("Результат = СтрДлина(Элемент1) > СтрДлина(Элемент2)" )
1051+ .Сортировать("(Первый, Второй) ->
1052+ | Возврат ПроцессорыКоллекций.СтандартнаяФункцияСравненияПрямойПорядок()
1053+ | .Выполнить(СтрДлина(Первый), СтрДлина(Второй))" )
10471054 .Получить(Тип ("Массив" ));
10481055
10491056 НаименованиеПараметра = СтрСоединить (СортированныеНаименования, ", " );
11011108 СтандартнаяСтрокаИспользования = "" ;
11021109
11031110 Лог.Отладка("Количество опций строки: %1" , Опции.Количество());
1104- Если Опции.Количество() > 0 Тогда
1111+ ЕстьОбязательнаяОпция = Ложь ;
1112+ Для каждого Опция Из Опции Цикл
1113+
1114+ ИмяОпции = Опция.Ключ.НаименованияПараметров[0 ];
1115+ КлассОпции = Опция.Ключ;
1116+
1117+ Если КлассОпции.ПолучитьОбязательностьВвода() Тогда
1118+ ЕстьОбязательнаяОпция = Истина ;
1119+ КонецЕсли ;
1120+
1121+ ДополнитьИмяАргументаМассива(ИмяОпции, КлассОпции);
1122+ ДополнитьИмяАргументаНеобязательного(ИмяОпции, КлассОпции);
1123+
1124+ СтандартнаяСтрокаИспользования = СтандартнаяСтрокаИспользования + ИмяОпции + " " ;
1125+
1126+ КонецЦикла ;
1127+
1128+ Если Не ЕстьОбязательнаяОпция И Опции.Количество() > 0 Тогда
11051129 СтандартнаяСтрокаИспользования = "[ОПЦИИ] " ;
11061130 КонецЕсли ;
11071131
11181142 ДополнитьИмяАргументаМассива(ИмяАргумента, КлассАргумента);
11191143 ДополнитьИмяАргументаНеобязательного(ИмяАргумента, КлассАргумента);
11201144
1121- Лог.Отладка("Добавляю аргумет <%1> в спек <%2>" , ИмяАргумента, СтандартнаяСтрокаИспользования);
1145+ Лог.Отладка("Добавляю аргумент <%1> в спек <%2>" , ИмяАргумента, СтандартнаяСтрокаИспользования);
11221146 СтандартнаяСтрокаИспользования = СтандартнаяСтрокаИспользования + ИмяАргумента + " " ;
11231147
11241148 КонецЦикла ;
12901314
12911315КонецПроцедуры
12921316
1293- Лог = Логирование.ПолучитьЛог("oscript.lib.cli_command" );
1317+ Лог = Логирование.ПолучитьЛог("oscript.lib.cli_command" );
0 commit comments