diff --git a/packagedef b/packagedef index 667f684..c517d9a 100644 --- a/packagedef +++ b/packagedef @@ -5,7 +5,7 @@ Описание.Имя("autumn-cli") - .Версия("1.3.0") + .Версия("1.4.0") .Автор("nikita ivanchenko") .АдресАвтора("https://github.com/Nivanchenko") .Описание("Библиотека для разработки cli приложений на осеннем фреймворке") @@ -13,7 +13,7 @@ .ВключитьФайл("src") .ЗависитОт("autumn", "4.3.7") .ЗависитОт("decorator", "2.0.2") - .ЗависитОт("cli", "0.10.2") + .ЗависитОт("cli", "0.12.0") .РазработкаЗависитОт("1bdd") .РазработкаЗависитОт("1testrunner") ; diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\232\320\241_\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\224\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\232\320\241_\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\224\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.os" new file mode 100644 index 0000000..1d50168 --- /dev/null +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\232\320\241_\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\224\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.os" @@ -0,0 +1,21 @@ +// Аннотация привязывает к полю &Опция/&Аргумент метод-поставщик значений +// для команды `completions`. Метод возвращает Массив<Строка> — список +// вариантов, которые будут запечены в итоговый скрипт автодополнения. +// +// Параметры: +// Значение - Строка - имя экспортного метода на том же бине команды. +// +// Пример: +// +// &Аргумент(Имя = "ALIAS", Описание = "Алиас версии") +// &ПоставщикДополнения("ПолучитьУстановленныеВерсии") +// Перем Алиас; +// +// Функция ПолучитьУстановленныеВерсии() Экспорт +// ... +// Возврат МассивСтрок; +// КонецФункции +// +&Аннотация("ПоставщикДополнения") +Процедура ПриСозданииОбъекта(Значение) +КонецПроцедуры diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\232\320\241_\320\224\320\265\320\272\320\276\321\200\320\260\321\202\320\276\321\200\320\232\320\276\320\274\320\260\320\275\320\264.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\232\320\241_\320\224\320\265\320\272\320\276\321\200\320\260\321\202\320\276\321\200\320\232\320\276\320\274\320\260\320\275\320\264.os" index 247fd13..f8b5fd5 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\232\320\241_\320\224\320\265\320\272\320\276\321\200\320\260\321\202\320\276\321\200\320\232\320\276\320\274\320\260\320\275\320\264.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\232\320\241_\320\224\320\265\320\272\320\276\321\200\320\260\321\202\320\276\321\200\320\232\320\276\320\274\320\260\320\275\320\264.os" @@ -199,6 +199,20 @@ ); ДополнитьОписаниеОпции(ТелоМетода, Свойство); + РазвернутьПоставщикаДополнения(ТелоМетода, Свойство); +КонецПроцедуры + +Процедура РазвернутьПоставщикаДополнения(ТелоМетода, Свойство) + + Аннотация = РаботаСАннотациями.ПолучитьАннотацию(Свойство, "ПоставщикДополнения"); + Если Аннотация = Неопределено Тогда + Возврат; + КонецЕсли; + + ИмяМетодаПоставщика = ЗначениеЕдинственногоПараметраАннотации(Аннотация); + + ТелоМетода.Добавить(СтрШаблон("ТекКоманда.ПоставщикДополнения(ЭтотОбъект, %1);", ИмяМетодаПоставщика)); + КонецПроцедуры Процедура РазвернутьЗначениеАннотацийПолей(ТелоМетода, Свойство, ИмяАннотации, Шаблон)