docs: def help(self, context):
          """
          Prints this help (use --verbosity 2 for more details)
          """
          context.info('%s\n%s [global options] [task] [task options]...\n' % (self.name, sys.argv[0]))
  
          def print_parameter(prn, p):
              if p.description:
                  suffix = '    - {0.description}'.format(p)
              else:
                  suffix = ''
              if p.constraint is bool:
                  prn('    {0.arg_name}'.format(p) + suffix)
              else:
                  prn('    {0.arg_name} [{0.value}]'.format(p) + suffix)
  
          context.info('Global options:')
          for parameter in self.context_parameters.values():
              print_parameter(context.info, parameter)
          context.info()
  
          context.info('Commands:')
          name_template = '  {0.name:<%d}' % min(max(map(len, self.available_tasks)), 20)
          for task in self.available_tasks.values():
              printer = context.debug if task.hidden else context.info
              if task.description:
                  printer((name_template + ' - {0.description}').format(task))
              else:
                  printer(name_template.format(task))
              for parameter in task.parameters.values():
                  print_parameter(printer, parameter)