# Functions
ArgToOption takes two candidate strings and returns a tuple consisting of what type of option the strings define, the value of the option, how many of the strings it took to extract the option value, and a nillable error.
DisplayHelp takes a filename and prints the help information for the program.
DisplayVersion prints the version information for the program.
ParseArgs take a string slice comprised of sources, includes, flags, switches and their values and returns a map of these types to a string slice of the values of each type of option.
ParseOsArgs takes a string slice representing the full arguments passed to the program, including the filename and returns a CLI containing the filename and map of option types to their values.
# Constants
Arg indicates that the option is an argument to be passed to the executing code.
BuildArg indicates that the option is an argument to be passed to the compiler if one is used for the target language.
CleanFlag indicates that the option specifies the clean flag.
Extension specifies the override file extenision to use.
HelpFlag indicates that the option specifies the help flag.
Image indicates that the option value should be used to override the image worked out based on the file extension.
Include indicates that the option is a file or folder to be mounted in the Docker container without passing it to the compiler or executing code.
None indicates that no option type is available.
Source indicates that the option is a source file.
TargetDir indicates that the option specifies a custom location (i.e.
UpdateFlag indicates that the option specifies that Docker images should be manually updated before being used.
VersionFlag indicates that the option specifies the version flag.
# Structs
CLI defines a data structure that represents the application's name and a map of the various options to be used when starting the container.
# Type aliases
OptionType allows for the enumeration of different CLI option types.