CommandSpec
CommandSpec описывает спецификацию родительской или листовой команды. Каждая команда имеет следующие атрибуты:
- имя: простой строковый токен, идентифицирующий команду.
- описание: используется в сообщении синтаксиса.
- отображение опций: допустимые опции для данной команды.
- необязательная опция help + имя команды для парсинга help
- один из:
- отображение дочерних команд.
- массив аргументов.
class ref CommandSpec
Конструкторы
parent
Создаёт спецификацию команды, которая может принимать опции и дочерние команды, но не аргументы.
new ref parent( name': String val, descr': String val = "", options': Array[OptionSpec val] box = call, commands': Array[CommandSpec ref] box = call) : CommandSpec ref^ ?
Параметры
- name': Строка val
- descr': Строка val = ""
- options': Массив[OptionSpec val] box = call
- commands': Массив[CommandSpec ref] box = call
Возвращает
- CommandSpec ref^ ?
leaf
Создаёт спецификацию команды, которая может принимать опции и аргументы, но не дочерние команды.
new ref leaf( name': String val, descr': String val = "", options': Array[OptionSpec val] box = call, args': Array[ArgSpec val] box = call) : CommandSpec ref^ ?
Параметры
- name': Строка val
- descr': Строка val = ""
- options': Массив[OptionSpec val] box = call
- args': Массив[ArgSpec val] box = call
Возвращает
- CommandSpec ref^ ?
Общедоступные функции
add_command
Добавляет дополнительную дочернюю команду к этой родительской команде.
fun ref add_command( cmd: CommandSpec box) : None val ?
Параметры
- cmd: CommandSpec box
Возвращает
- None val ?
add_help
Добавляет стандартную опцию help и, необязательно, команду к корневой команде.
fun ref add_help( hname: String val = "help", descr': String val = "") : None val ?
Параметры
Возвращает
- None val ?
name
Возвращает имя этой команды.
fun box name() : String val
Возвращает
- Строка val
descr
Возвращает описание для этой команды.
fun box descr() : String val
Возвращает
- Строка val
options
Возвращает отображение по имени именованных опций данной команды.
fun box options() : HashMap[String val, OptionSpec val, HashEq[String val] val] box
Возвращает
- HashMap[Строка val, OptionSpec val, HashEq[Строка val] val] box
commands
Возвращает отображение по имени дочерних команд данной команды.
fun box commands() : HashMap[String val, CommandSpec box, HashEq[String val] val] box
Возвращает
- HashMap[Строка val, CommandSpec box, HashEq[Строка val] val] box
args
Возвращает массив позиционных аргументов данной команды.
fun box args() : Array[ArgSpec val] box
Возвращает
is_leaf
fun box is_leaf() : Bool val
Возвращает
- Булево val
is_parent
fun box is_parent() : Bool val
Возвращает
- Булево val
help_name
Возвращает имя команды help, которое по умолчанию равно "help".
fun box help_name() : String val
Возвращает
- Строка val
help_string
Возвращает отформатированную строку справки для данной команды и всех её аргументов.
fun box help_string() : String val
Возвращает
- Строка val
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/cli-CommandSpec