feat: Устранение привязки аргумента к местонахождению в команде

This commit is contained in:
Dmitry Ivanov
2024-11-16 00:45:05 +03:00
parent e5037e8793
commit e947e4c6c7
@@ -17,7 +17,6 @@
АргументыКоманд = Парсер.Распарсить(КоманднаяСтрока);
Приложение = Новый КонсольноеПриложение("curl", "", ЭтотОбъект);
Приложение.УстановитьСпек("[URL...] [OPTIONS] [URL...]");
Приложение.Аргумент("URL", "", "Адрес ресурса").ТМассивСтрок();
Приложение.Опция("url", "", "URL").ТМассивСтрок();
@@ -36,6 +35,7 @@
Приложение.Опция("cacert", "", "Файл сертификатов удостоверяющих центров").ТМассивСтрок();
Приложение.Опция("url-query", "", "Параметры строки запроса URL").ТМассивСтрок();
УстановитьСтрокуИспользованияКоманды(Приложение);
Приложение.УстановитьОсновноеДействие(ЭтотОбъект);
Если АргументыКоманд.Количество() = 0 Тогда
@@ -378,4 +378,24 @@
Возврат ЕстьОпции(Команда, "d,data,data-raw,data-binary,data-urlencode,data-ascii");
КонецФункции
Процедура УстановитьСтрокуИспользованияКоманды(Приложение)
Команда = Приложение.ПолучитьКоманду();
МассивОпцийИАргументов = Новый Массив;
МассивОписанийОпцийИАргументов = Новый Массив;
ОбщегоНазначения.ДополнитьМассив(МассивОписанийОпцийИАргументов, Команда.ПолучитьТаблицуОпций());
ОбщегоНазначения.ДополнитьМассив(МассивОписанийОпцийИАргументов, Команда.ПолучитьТаблицуАргументов());
Для Каждого Описание Из МассивОписанийОпцийИАргументов Цикл
ОбщегоНазначения.ДополнитьМассив(МассивОпцийИАргументов, Описание.НаименованияПараметров);
КонецЦикла;
СтрокаСпек = СтрШаблон("[%1]...", СтрСоединить(МассивОпцийИАргументов, " |"));
Приложение.УстановитьСпек(СтрокаСпек);
КонецПроцедуры
#КонецОбласти