Serj Kalichev 1 年之前
父节点
当前提交
4d5c4ce0a9
共有 1 个文件被更改,包括 25 次插入1 次删除
  1. 25 1
      docs/klish3.ru.md

+ 25 - 1
docs/klish3.ru.md

@@ -91,4 +91,28 @@ Klish имеет два типа плугинов. Плугины для заг
 
 Установленные плугины dbs находятся в '/usr/lib/klish/dbs' (если конфигурировать
 сборку с --prefix=/usr). Их имена 'kdb-<имя>.so', например
-'/usr/lib/klish/dbs/kdb-libxml2.so'.
+'/usr/lib/klish/dbs/kdb-libxml2.so'.
+
+## Плугины исполняемых функций
+
+Каждая команда klish выполняет какое-либо действие или несколько действий сразу.
+Эти действия надо как-то описывать. Если смотреть внутрь реализации, то klish
+может запускать только исполняемый откомпилированный код из плугина. Плугины
+содержат так называемые символы (symbol, sym), которые, по-сути, представляют
+собой функции с единым зафиксированным API. На эти символы могут ссылаться
+команды klish. В свою очередь символ может выполнять сложный код, например
+запускать интерпретатор shell со скриптом, определяемым при описании команды
+klish в конфигурационном файле. Или же другой символ может исполнять Lua скрипт.
+
+Klish умеет получать символы только из плугинов. Стандартные символы реализованы
+в плугинах включенных в состав проекта klish. В состав klish входят следующие
+плугины:
+
+* klish - Базовый плугин. Навигация, типы данных (для параметров),
+вспомогательные функции.
+* lua - Исполнение скриптов Lua. Механизм встроен в плугин и не использует
+внешнюю программу для интерпретации.
+* script - Исполнение скриптов. Учитывает шебанг (shebang) для определения
+какой интерпретатор использовать. Таким образом могут выполняться не только
+shell скрипты, но и скрипты на других интерпретируемых языках. По умолчанию
+используется интерпретатор shell.