-{"$defs":{"Argument":{"description":"Argument represents a positional required argument in command line arguments.\n","properties":{"description":{"description":"Description of the argument.\nThe default value is an empty string.\n","type":"string"},"name":{"description":"Name of the argument, which must match the regular expression `^[a-z][a-z0-9]*$` and be unique in arguments of the command which the argument belongs to.\nThis property is required.\n","pattern":"^[a-z][a-z0-9]*(_[a-z0-9]+)*$","type":"string"},"type":{"$ref":"#/$defs/Type","description":"Type of the value that is assignable to the argument.\nThe default value is \"string\".\n"},"variadic":{"description":"Whether the argument is variadic (i.e. can have zero or more values).\nIt can be true only if this argument is the last argument in the arguments of the belonging command.\nThe default value is false.\n","type":"boolean"}},"required":["name"],"type":"object"},"Command":{"description":"Command represents a root command or a subcommand of the program.\nIt may have options, arguments, and subcommands recursively.\n","properties":{"arguments":{"description":"A list of arguments.\nThe default value is an empty array.\n","items":{"$ref":"#/$defs/Argument"},"type":"array"},"description":{"description":"Description of the command.\nThe default value is an empty string.\n","type":"string"},"options":{"additionalProperties":{"$ref":"#/$defs/Option"},"description":"A collection of options, which is a mapping from option names to options. \nThe default value is an empty object.\nA property name is a name of an option, which must match the regular expression `^(-[a-z][a-z0-9]*)+$` and be unique in options of the command.\n","propertyNames":{"pattern":"^(-[a-z][a-z0-9]*)+$"},"type":"object"},"subcommands":{"additionalProperties":{"$ref":"#/$defs/Command"},"description":"A collection of subcommands, which is a mapping from subcommand names to child commands.\nThe default value is an empty object.\nA property name is a name of a subcommand, which must match the regular expression `^[a-z][a-z0-9]*$` and be unique in subcommands of the command.\n","propertyNames":{"pattern":"^[a-z][a-z0-9]*$"},"type":"object"}},"type":"object"},"Option":{"description":"Option represents an optional argument in command line arguments.\n","properties":{"default":{"description":"String value representing the default value of the non-repeated option.\nIt must be a string that can be parsed as a value of the option type.\nIf not specified, the following values corresponding to the option type.\n- boolean (not repeated): \"false\"\n- string (not repeated): \"\"\n- integer (not repeated): \"0\"\n","type":"string"},"description":{"description":"Description of the option.\nThe default value is an empty string.\n","type":"string"},"negation":{"description":"Whether the option of typed boolean has a negated version.\nIf true then the option can be specified with a negation prefix `-no` in the command line arguments.\nThe default value is false.\n","type":"boolean"},"propagates":{"description":"Whether the option propagates to subcommands.\nIf true then the option is available in all subcommands of the command which the option belongs to.\nThe default value is false.\n","type":"boolean"},"repeated":{"description":"Whether the option can be specified multiple times.\nIf true then the option can be specified multiple times in the command line arguments.\nThe default value is false.\n","type":"boolean"},"short":{"description":"Short name of the option, which must match the regular expression `^-[a-z]$` and be unique in options of the command which the option belongs to.\nIf short is not specified then short name for this option is not available.\n","pattern":"(^$)|(^-[a-z]$)","type":"string"},"type":{"$ref":"#/$defs/Type","description":"Type of the value that is assignable to this option.\nThe default value is \"string\".\n"}},"type":"object"},"Program":{"allOf":[{"properties":{"name":{"description":"Name of the program.\nThe default value is an empty string.\n","type":"string"},"version":{"description":"Version of the program.\nThe default value is an empty string.\n","type":"string"}},"type":"object"},{"$ref":"#/$defs/Command"}],"description":"Program is a root command that may have a name and a version.\nIt consists of commands recursively.\n"},"Type":{"description":"Type represents a type of a value that can be assigned to an option or an argument.\nOne of \"string\", \"integer\", or \"boolean\" is available.\n","enum":["","string","integer","boolean"],"type":"string"}},"$id":"https://github.com/Jumpaku/cyamli/raw/v2.0.0-beta.2/docs/cyamli-cli.schema.json","$ref":"#/$defs/Program","$schema":"https://json-schema.org/draft/2020-12/schema","description":"CLI schema for cyamli.","title":"cyamli CLI schema"}
0 commit comments