%ZHSLIB.PackageManager.Developer.CLI

class %ZHSLIB.PackageManager.Developer.CLI

Method Inventory (Including Private)

Parameters

parameter CommandsAccessorIncludeFilename;
Name of include file that will contain accessor macros for modifiers and parameters referenced in the "Commands" XData block.
If provided, an include file will be generated and included in the sub-class during compilation.
@API.Parameter @API.Overrideable

Methods

classmethod %GetCommandStructure(Output pCommandStructure) [ Language = objectscript ]
final classmethod %Help(ByRef pCommandInfo) [ Language = objectscript ]
Displays help for a given command
classmethod %HelpForCommand(pCommandName As %String, ByRef pCommandStruct, pDetailed As %Boolean = 0, pMarkdownFormat As %Boolean = 0) [ Language = objectscript ]
final classmethod %ParseCommandInput(pCommandString As %String, Output pCommandInfo) as %Status [ Language = objectscript ]
Parses a command, validating it based on the Commands XData block and structuring output as follows: pCommandInfo = "" pCommandInfo("modifiers","") = "" pCommandInfo("parameters","") = "" pCommandInfo("data","") = ""
classmethod DrawBorder(pLineList As %Library.List, pTextFormat As %Integer = $$$Default) [ Language = objectscript ]
Draw a border around a list of strings. Optionally provide a text format for the strings.
@Argument pLineList List of strings to write.
@Argument pTextFormat Text format (e.g. $$$Red, $$$Bold, etc.).
classmethod FormatName(pName As %String) as %String [ Language = objectscript ]
Format the given name such that all punctuation characters are remove and the name is in camelCase, with the first letter capitalized.
@Argument pName String to format.
classmethod ParseJsonToCommand(pJson As %Library.DynamicObject) [ Language = objectscript ]
Read JSON and construct a command matching the schema in the Commands XData blocks that can be parsed using %ParseCommandInput().
JSON format:
{ "command": "command name", "parameters": { ... }, "modifiers": { ... }, "custom_modifiers": { ... } } where each nested object contains key-value pairs.
private classmethod SetData(pTargetArray, pDataName, pDataValue) [ Language = objectscript ]
Utility method for setting multiple subscripts based on .-delimited pDataName
Feedback