def writeOpt(self, longname):
        """
        Write out the zsh code for the given argument. This is just part of the
        one big call to _arguments

        @type longname: C{str}
        @param longname: The long option name (e.g. "verbose" instead of "v")

        @return: L{None}
        """
        if longname in self.flagNameToDefinition:
            # It's a flag option. Not one that takes a parameter.
            longField = "--%s" % longname
        else:
            longField = "--%s=" % longname

        short = self.getShortOption(longname)
        if short != None:
            shortField = "-" + short
        else:
            shortField = ''

        descr = self.getDescription(longname)
        descriptionField = descr.replace("[", "\[")
        descriptionField = descriptionField.replace("]", "\]")
        descriptionField = '[%s]' % descriptionField

        actionField = self.getAction(longname)
        if longname in self.multiUse:
            multiField = '*'
        else:
            multiField = ''

        longExclusionsField = self.excludeStr(longname)

        if short:
            #we have to write an extra line for the short option if we have one
            shortExclusionsField = self.excludeStr(longname, buildShort=True)
            self.file.write(escape('%s%s%s%s%s' % (shortExclusionsField,
                multiField, shortField, descriptionField, actionField)).encode('utf-8'))
            self.file.write(b' \\\n')

        self.file.write(escape('%s%s%s%s%s' % (longExclusionsField,
            multiField, longField, descriptionField, actionField)).encode('utf-8'))
        self.file.write(b' \\\n')

        Write out the zsh code for the given argument. This is just part of the
        one big call to _arguments

        @type longname: C{str}
        @param longname: The long option name (e.g. "verbose" instead of "v")

        @return: L{None}
        
stackoverflow/venv/lib/python3.6/site-packages/twisted/python/_shellcomp.py