class documentation

class ZshArgumentsGenerator: (source)

View In Hierarchy

Generate a call to the zsh _arguments completion function based on data in a usage.Options instance

The first three instance variables are populated based on constructor arguments. The remaining non-constructor variables are populated by this class with data gathered from the Options instance passed in, and its base classes.

Method __init__ Undocumented
Method add​Additional​Options Add additional options to the optFlags and optParams lists. These will be defined by 'opt_foo' methods of the Options subclass @return: None
Method exclude​Str Generate an "exclusion string" for the given option
Method get​Action Return a zsh "action" string for the given argument @return: str
Method get​Description Return the description to be used for this argument @return: str
Method get​Short​Option Return the short option letter or None @return: str or None
Method make​Excludes​Dict
Method verify​Zsh​Names Ensure that none of the option names given in the metadata are typoed @return: None @raise ValueError: If unknown option names have been found.
Method write Write the zsh completion code to the file given to __init__ @return: None
Method write​Extras No summary
Method write​Footer Write the last bit of code that finishes the call to _arguments @return: None
Method write​Header This is the start of the code that calls _arguments @return: None
Method write​Opt Write out the zsh code for the given argument. This is just part of the one big call to _arguments
Method write​Options Write out zsh code for each option in this command @return: None
Instance Variable all​Options​Name​To​Definition Undocumented
Instance Variable cmd​Name The name of the command we're generating completions for.
Instance Variable descriptions A dict mapping long option names to alternate descriptions. When this variable is defined, the descriptions contained here will override those descriptions provided in the optFlags and optParameters variables.
Instance Variable excludes Undocumented
Instance Variable extra​Actions Extra arguments are those arguments typically appearing at the end of the command-line, which are not associated with any particular named option. That is, the arguments that are given to the parseArgs() method of your usage.Options subclass.
Instance Variable file The file to write the completion function to. The file must have bytes I/O semantics.
Instance Variable flag​Name​To​Definition Undocumented
Instance Variable multi​Use An iterable containing those long option names which may appear on the command line more than once. By default, options will only be completed one time.
Instance Variable mutually​Exclusive A sequence of sequences, with each sub-sequence containing those long option names that are mutually exclusive. That is, those options that cannot appear on the command line together.
Instance Variable opt​Actions A dict mapping long option names to shell "actions". These actions define what may be completed as the argument to the given option, and should be given as instances of twisted.python.usage.Completer.
Instance Variable opt​Flags Undocumented
Instance Variable options The twisted.python.usage.Options instance to generate for
Instance Variable opt​Params Undocumented
Instance Variable param​Name​To​Definition Undocumented
def __init__(self, options, cmdName, file): (source)

Undocumented

def addAdditionalOptions(self): (source)
Add additional options to the optFlags and optParams lists. These will be defined by 'opt_foo' methods of the Options subclass
Returns
None
def excludeStr(self, longname, buildShort=False): (source)
Generate an "exclusion string" for the given option
Parameters
longname:strThe long option name (e.g. "verbose" instead of "v")
build​Short:boolMay be True to indicate we're building an excludes string for the short option that corresponds to the given long opt.
Returns
The generated str
def getAction(self, longname): (source)
Return a zsh "action" string for the given argument
Returns
str
def getDescription(self, longname): (source)
Return the description to be used for this argument
Returns
str
def getShortOption(self, longname): (source)
Return the short option letter or None
Returns
str or None
def makeExcludesDict(self): (source)
Returns
Dict[str, Set[str]]A dict that maps each option name appearing in self.mutuallyExclusive to a set of those option names that is it mutually exclusive with (can't appear on the cmd line with).
def verifyZshNames(self): (source)
Ensure that none of the option names given in the metadata are typoed
Returns
None
Raises
ValueErrorIf unknown option names have been found.
def write(self): (source)
Write the zsh completion code to the file given to __init__
Returns
None
def writeExtras(self): (source)
Write out completion information for extra arguments appearing on the command-line. These are extra positional arguments not associated with a named option. That is, the stuff that gets passed to Options.parseArgs().
Returns
None
Raises
ValueErrorIf Completer with repeat=True is found and is not the last item in the extraActions list.
def writeFooter(self): (source)
Write the last bit of code that finishes the call to _arguments
Returns
None
def writeHeader(self): (source)
This is the start of the code that calls _arguments
Returns
None
def writeOpt(self, longname): (source)
Write out the zsh code for the given argument. This is just part of the one big call to _arguments
Parameters
longname:strThe long option name (e.g. "verbose" instead of "v")
Returns
None
def writeOptions(self): (source)
Write out zsh code for each option in this command
Returns
None
allOptionsNameToDefinition = (source)

Undocumented

cmdName: str = (source)
The name of the command we're generating completions for.
descriptions: dict = (source)
A dict mapping long option names to alternate descriptions. When this variable is defined, the descriptions contained here will override those descriptions provided in the optFlags and optParameters variables.
excludes = (source)

Undocumented

extraActions: list of twisted.python.usage.Completer = (source)
Extra arguments are those arguments typically appearing at the end of the command-line, which are not associated with any particular named option. That is, the arguments that are given to the parseArgs() method of your usage.Options subclass.
file: file = (source)
The file to write the completion function to. The file must have bytes I/O semantics.
flagNameToDefinition = (source)

Undocumented

multiUse: list = (source)
An iterable containing those long option names which may appear on the command line more than once. By default, options will only be completed one time.
mutuallyExclusive: list of tuple = (source)
A sequence of sequences, with each sub-sequence containing those long option names that are mutually exclusive. That is, those options that cannot appear on the command line together.
optActions: dict = (source)

A dict mapping long option names to shell "actions". These actions define what may be completed as the argument to the given option, and should be given as instances of twisted.python.usage.Completer.

Callables may instead be given for the values in this dict. The callable should accept no arguments, and return a Completer instance used as the action.

optFlags = (source)

Undocumented

optParams = (source)

Undocumented

paramNameToDefinition = (source)

Undocumented