docs: def print_help(self, script_name: str):
          '''print a help message from the script'''
          textWidth = max(60, shutil.get_terminal_size((80, 20)).columns)
  
          if len(script_name) > 20:
              print(f'usage: sos run {script_name}')
              print(
                  '               [workflow_name | -t targets] [options] [workflow_options]'
              )
          else:
              print(
                  f'usage: sos run {script_name} [workflow_name | -t targets] [options] [workflow_options]'
              )
          print(
              '  workflow_name:        Single or combined workflows defined in this script'
          )
          print('  targets:              One or more targets to generate')
          print(
              '  options:              Single-hyphen sos parameters (see "sos run -h" for details)'
          )
          print(
              '  workflow_options:     Double-hyphen workflow-specific parameters'
          )
          description = [x.lstrip('# ').strip() for x in self.description]
          description = textwrap.dedent('\n'.join(description)).strip()
          if description:
              print('\n' + description)
          #
          print('\nWorkflows:')
          print('  ' + '\n  '.join(self.workflows))
          #
          global_parameters = {}
          for section in self.sections:
              global_parameters.update(section.global_parameters)
          if global_parameters:
              print('\nGlobal Workflow Options:')
              for name, (value, comment) in global_parameters.items():
                  par_str = f'  {format_par(name, value)}'
                  print(par_str)
                  if comment:
                      print('\n'.join(
                          textwrap.wrap(
                              comment,
                              width=textWidth,
                              initial_indent=' ' * 24,
                              subsequent_indent=' ' * 24)))
          #
          print('\nSections')
          for section in self.sections:
              section.show()