Skip to content

Commit 01325ba

Browse files
committed
fix #38 Дополнена справка примером создания вложенных команд
1 parent 3c3c568 commit 01325ba

File tree

1 file changed

+52
-1
lines changed

1 file changed

+52
-1
lines changed

README.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
КонецПопытки;
5454
```
5555

56-
### Пример приложения с несколькими командами:
56+
### Пример приложения с несколькими командами
5757

5858
```bsl
5959
#Использовать cli
@@ -85,6 +85,57 @@
8585
КонецПопытки;
8686
```
8787

88+
### Пример приложения с вложенными командами
89+
90+
```bsl
91+
#Использовать cli
92+
93+
///////////////////////////////////////////////////////////////////////////////
94+
95+
Процедура ВыполнитьПриложение()
96+
97+
Приложение = Новый КонсольноеПриложение("cli", "Помощник генерации приложения на основании шаблона cli");
98+
Приложение.Версия("v version","1.0.0");
99+
100+
Приложение.ДобавитьКоманду("i init", "Инициализация структуры нового приложения", Новый КомандаInit);
101+
Приложение.ДобавитьКоманду("g generate", "Генерация элементов структуры приложения", Новый КомандаGenerate);
102+
103+
Приложение.Запустить(АргументыКоманднойСтроки);
104+
105+
КонецПроцедуры // ВыполнениеКоманды()
106+
107+
///////////////////////////////////////////////////////
108+
109+
Попытка
110+
111+
ВыполнитьПриложение();
112+
113+
Исключение
114+
115+
Сообщить(ОписаниеОшибки());
116+
117+
КонецПопытки;
118+
119+
```
120+
Класс `КомандаGenerate`
121+
Для добавления подкоманды в любую команду используется методы `ДобавитьПодкоманду` или `ДобавитьКоманду`
122+
123+
```bsl
124+
125+
Процедура ОписаниеКоманды(Команда) Экспорт
126+
127+
// Метод <ДобавитьПодкоманду>
128+
Команда.ДобавитьПодкоманду("c command", "Генерация дополнительной вложенной команды", Новый КомандаGenerateCommand);
129+
130+
// Метод <ДобавитьКоманду>
131+
Команда.ДобавитьКоманду("o option", "Генерация опции для команды", Новый КомандаGeneratOption);
132+
133+
Процедура ВыполнитьКоманду(Знач Команда) Экспорт
134+
135+
КонецПроцедуры
136+
137+
```
138+
88139
## Мотивация
89140

90141
Для PR в cmdline слишком большие изменения в API, т.е. обеспечить совместимость очень трудоемко.

0 commit comments

Comments
 (0)