Serj Kalichev 1 year ago
parent
commit
5653d5d2d2
1 changed files with 100 additions and 0 deletions
  1. 100 0
      docs/klish3.ru.md

+ 100 - 0
docs/klish3.ru.md

@@ -1700,6 +1700,8 @@ SEQ сам может быть элементом контейнера SWITCH.
 * [`help`](#атрибут-help) - описание элемента.
 * [`ref`](#атрибут-ref) - ссылка на другой `PROMPT`.
 
+Обычно `PROMPT` используется без атрибутов.
+
 
 #### Примеры
 
@@ -1722,12 +1724,110 @@ SEQ сам может быть элементом контейнера SWITCH.
 
 ### HELP
 
+Элемент `HELP` имеет специальное назначение и является вложенным для элементов
+`COMMAND`, `PARAM`, `PTYPE`. Назначение элемента - формировать текст
+"помощи", т.е. подсказку для родительского элемента. Внутри элемента `HELP`
+указываются действия [`ACTION`](#action), которые формируют текст подсказки.
+
+Элементу `HELP` принудительно присвоено значение атрибута `purpose="help"`.
+Также `HELP` является контейнером.
+
+Клиент klish показывает подсказки по нажатию клавиши `?`.
+
+
+#### Атрибуты элемента `HELP`
+
+* [`name`](#атрибут-name) - идентификатор элемента.
+* [`help`](#атрибут-help) - описание элемента.
+* [`ref`](#атрибут-ref) - ссылка на другой `HELP`.
+
+Обычно `HELP` используется без атрибутов.
+
+
+#### Примеры
+
+```
+<PARAM name="param1" ptype="/ptype1">
+	<HELP>
+		<ACTION sym="sym1"/>
+	</HELP>
+</PARAM>
+```
+
 
 ### COMPL
 
+Элемент `COMPL` имеет специальное назначение и является вложенным для элементов
+`PARAM`, `PTYPE`. Назначение элемента - формировать варианты автодополнения,
+т.е. возможные варианты значений для родительского элемента. Внутри элемента
+`COMPL` указываются действия [`ACTION`](#action), которые формируют вывод.
+Отдельные варианты в выводе отделяются друг от друга переводом строки.
+
+Элементу `COMPL` принудительно присвоено значение атрибута
+`purpose="completion"`. Также `COMPL` является контейнером.
+
+Клиент klish показывает варианты автодополнения по нажатию клавиши `Tab`.
+
+
+#### Атрибуты элемента `COMPL`
+
+* [`name`](#атрибут-name) - идентификатор элемента.
+* [`help`](#атрибут-help) - описание элемента.
+* [`ref`](#атрибут-ref) - ссылка на другой `COMPL`.
+
+
+#### Примеры
+
+```
+<PARAM name="proto" ptype="/STRING" help="Protocol">
+	<COMPL>
+		<ACTION sym="printl">tcp</ACTION>
+		<ACTION sym="printl">udp</ACTION>
+		<ACTION sym="printl">icmp</ACTION>
+	</COMPL>
+</PARAM>
+```
+
+Параметр, задающий протокол имеет тип `/STRING` т.е. произвольная строка.
+Оператор может ввести произвольный текст, но для удобства параметр имеет
+варианты автодополнения.
+
 
 ### COND
 
+> Функциональность элемента `COND` пока не реализована.
+
+Элемент `COND` имеет специальное назначение и является вложенным для элементов
+`VIEW`, `COMMAND`, `PARAM`. Назначение элемента - скрыть элемент от оператора в
+случае, если указанное в `COND` условие не выполнено. Внутри элемента
+`COND` указываются действия [`ACTION`](#action), которые проверяют условие.
+
+Элементу `COND` принудительно присвоено значение атрибута
+`purpose="cond"`. Также `COND` является контейнером.
+
+
+#### Атрибуты элемента `COND`
+
+* [`name`](#атрибут-name) - идентификатор элемента.
+* [`help`](#атрибут-help) - описание элемента.
+* [`ref`](#атрибут-ref) - ссылка на другой `COND`.
+
+
+#### Примеры
+
+```
+<COMMAND name="cmd1" help="Command 1">
+	<COND>
+		<ACTION sym="script">
+		test -e /tmp/cond_file
+		</ACTION>
+	</COND>
+</COMMAND>
+```
+
+Если файл `/tmp/cond_file` существует, то команда "cmd1" доступна для оператора,
+если не существует, то команда скрыта.
+
 
 ## Плугин "klish"