Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@


Описание.Имя("autumn-cli")
.Версия("1.3.0")
.Версия("1.4.0")
.Автор("nikita ivanchenko")
Comment thread
nixel2007 marked this conversation as resolved.
.АдресАвтора("https://github.com/Nivanchenko")
.Описание("Библиотека для разработки cli приложений на осеннем фреймворке")
.ВерсияСреды("1.9.2")
.ВключитьФайл("src")
.ЗависитОт("autumn", "4.3.7")
.ЗависитОт("decorator", "2.0.2")
.ЗависитОт("cli", "0.10.2")
.ЗависитОт("cli", "0.12.0")
.РазработкаЗависитОт("1bdd")
.РазработкаЗависитОт("1testrunner")
;
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// Аннотация привязывает к полю &Опция/&Аргумент метод-поставщик значений
// для команды `completions`. Метод возвращает Массив<Строка> — список
// вариантов, которые будут запечены в итоговый скрипт автодополнения.
//
// Параметры:
// Значение - Строка - имя экспортного метода на том же бине команды.
//
// Пример:
//
// &Аргумент(Имя = "ALIAS", Описание = "Алиас версии")
// &ПоставщикДополнения("ПолучитьУстановленныеВерсии")
// Перем Алиас;
//
// Функция ПолучитьУстановленныеВерсии() Экспорт
// ...
// Возврат МассивСтрок;
// КонецФункции
//
&Аннотация("ПоставщикДополнения")
Процедура ПриСозданииОбъекта(Значение)
КонецПроцедуры
14 changes: 14 additions & 0 deletions src/Классы/ИКС_ДекораторКоманд.os
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,20 @@
);

ДополнитьОписаниеОпции(ТелоМетода, Свойство);
РазвернутьПоставщикаДополнения(ТелоМетода, Свойство);
КонецПроцедуры

Процедура РазвернутьПоставщикаДополнения(ТелоМетода, Свойство)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Выглядит так, что было бы круто для команд и подкоманд делать это по умолчанию.

у них известно автодополнение-же
У команд - подкоманды или опции и параметры, а у подкоманд - опции и параметры и им нет смысла даже аннотацию навешивать. просто из коробки давать разыменование.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Segate-ekb мне кажется, это уже и так работает. можешь проверить на vrunner 3.0?


Аннотация = РаботаСАннотациями.ПолучитьАннотацию(Свойство, "ПоставщикДополнения");
Если Аннотация = Неопределено Тогда
Возврат;
КонецЕсли;

ИмяМетодаПоставщика = ЗначениеЕдинственногоПараметраАннотации(Аннотация);

ТелоМетода.Добавить(СтрШаблон("ТекКоманда.ПоставщикДополнения(ЭтотОбъект, %1);", ИмяМетодаПоставщика));

КонецПроцедуры

Процедура РазвернутьЗначениеАннотацийПолей(ТелоМетода, Свойство, ИмяАннотации, Шаблон)
Expand Down
Loading