Tool config

The tool configurations contain information that plis uses to run the tool and to parse user input, the configurations are stored as a json and this are the possible configurations.

Config.json

{ "name": "hello", "aliases": [ "hi", "h" ], "description": "Description.....", "long_description": [ "Mulit line", "Description ...." ], "flags": [ { "name": "type", "short": "t", "description": "The type", "type": "string", "default": "default" } ], "args": [ { "name": "name", "description": "The name", "type": "string", "required": true } ], "script_type": "lua", "sub_commands": [ "new", "add" ] }
  • name - the tool name this property is used when running your tool plis {name}
  • aliases - this property is used to specify aliases for your tool so instead running plis hello you can run plis hi or plis h and the result will be the same.
  • description and long_description- are used to describe what your tool is used for.
  • flags - specify the flags that the user can use.
  • args - specify the arguments the user can provide.
  • script_type - is the script type used to write the tool.
  • sub_commands - the tools sub commands.

Flags config

The flags config holds a list of flags, this will tell plis what flags are available for your tool.

{ "name":"myFlag", "short":"m", "description":"The flag description", "type":"string", "default":"defaultValue" }
  • short is used if you want to make it possible to set the flag by running -m value instead of --myFlag value, it is just a way to make it simpler to set the flag value.
  • default is the default value of the flag, make sure that the default value has the same type as specified in the flag config.

Args config

The args config holds a list of arguments, this will tell plis what arguments the tool is accepting.

{ "name":"myArg", "description":"The tool name", "type":"string", "required":true }

πŸ“˜

Argument order

The arguments that are required are the first plis will map, this means that if you have 3 arguments for e.x myarg:required, myarg1:not required, myarg2:required plis will reorder the arguments to myarg:required, myarg2:required, myarg1:not required.