Serj Kalichev 1 년 전
부모
커밋
d6982d629d
1개의 변경된 파일61개의 추가작업 그리고 0개의 파일을 삭제
  1. 61 0
      docs/klish3.ru.md

+ 61 - 0
docs/klish3.ru.md

@@ -123,6 +123,9 @@ shell скрипты, но и скрипты на других интерпре
 (если конфигурировать сборку с --prefix=/usr). Их имена 'kplugin-<имя>.so',
 например '/usr/lib/klish/plugins/kplugin-script.so'.
 
+Символы бывают "синхронные" и "асинхронные". Синхронные символы исполняются
+в адресном пространстве klishd, для асинхронных порождается отдельный процесс.
+
 
 ## Структура XML конфигурации
 
@@ -221,3 +224,61 @@ VIEW. Можно определить VIEW со "стандартными" ко
 завершилось с ошибкой. Если последовательно выполняются несколько действий,
 имеющих флаг влияния на общий код возврата, то общим кодом возврата будет код
 возврата последнего такого действия.
+
+
+### Фильтры
+
+Фильтры представляют собой команды, которые обрабатывают вывод других команд.
+Фильтр может быть указан в командной строке после основной команды и знака '|'.
+Фильтр не может быть самостоятельной командой и использоваться без основной
+команды. Примером типичного фильтра может служить аналог UNIX утилиты 'grep'.
+Фильтры могут использоваться один за другим, с разделителем '|', как это
+делается в shell.
+
+Фильтр задается в файлах конфигурации с помощью тега 'FILTER'.
+
+
+### Контейнеры параметров
+
+Контейнеры SWITCH и SEQ используются для аггрегации вложенных в них параметров и
+определяют правила по которым происходит разбор командной строки относительно
+этих параметров.
+
+По умолчанию считается, что если внутри команды определено последовательно
+несколько параметров, то все эти параметры так же последовательно должны
+присутствовать в командной строке. Однако иногда возникает необходимость, чтобы
+оператор ввел лишь один параметр по выбору из набора возможных параметров.
+В таком случае может использоваться контейнер SWITCH. Если при разборе командной
+строки внутри команды встречается контейнер SWITCH, то для соответствия
+следующему введенному оператором слова должет быть выбран только один параметр
+из параметров, вложенных в SWITCH. Т.е. с помощью контейнера SWITCH происходит
+ветвление разбора.
+
+Контейнер SEQ определяет последовательность параметров. Все они должны быть
+последовательно сопоставлены с командной строкой. Хотя, как было отмечено ранее,
+вложенные в команду параметры и так разбираются последовательно, однако
+контейнер может быть полезен в более сложных конструкциях. Например контейнер
+SEQ сам может быть элементом контейнера SWITCH.
+
+
+### Плугин
+
+Процесс klishd загружает не все существующие плугины функций подряд, а только
+те, которые указаны в конфигурации с помощью тега 'PLUGIN'. Данные внутри тега
+могут интерпретироваться функцией инициализации плугина по своему усмотрению,
+в частности, как конфигурация для плугина.
+
+
+### Горячие клавиши
+
+Для удобства оператора в конфигурации команд klish могут быть заданы "горячие
+клавиши". Тег для задания горячих клавиш - 'HOTKEY'. Список горячих клавиш
+передается сервером klishd клиенту. Клиент на свое усмотрение использует эту
+информацию или не использует. Например для клиента автоматизированного управления
+информация о горячих клавишах не имеет смысла.
+
+При определении горячей клавиши указывается текстовая команда, которая должна
+быть выполнена при нажатии горячей клавиши оператором. Это может быть быстрый
+показ текущей конфигурации устройства, выход из текущего VIEW, либо любая другая
+команда. Клиент klish "ловит" нажатие горячих клавиш и передает на сервер
+команду, соответствующую нажатой горячей клавише.