docs: def _get_parser(self, env):
          """ Creates base argument parser.
  
              `env`
                  Runtime ``Environment`` instance.
  
              * Raises ``HelpBanner`` exception when certain conditions apply.
  
              Returns ``FocusArgumentParser`` object.
              """
  
          version_str = 'focus version ' + __version__
          usage_str = 'focus [-h] [-v] [--no-color] <command> [<args>]'
  
          # setup parser
          parser = FocusArgParser(description=("Command-line productivity tool "
                                               "for improved task workflows."),
                                  epilog=("See 'focus help <command>' for more "
                                          "information on a specific command."),
                                  usage=usage_str)
  
          parser.add_argument('-v', '--version', action='version',
                              version=version_str)
          parser.add_argument('--no-color', action='store_true',
                              help='disables colors')
  
          # fetch command plugins
          commands = []
          active = env.task.active
          command_hooks = registration.get_registered(command_hooks=True,
                                                      task_active=active)
  
          # extract command name and docstrings as help text
          for plugin in command_hooks:
              help_text = (plugin.__doc__ or '').strip().rstrip('.').lower()
              commands.append((plugin.command, help_text))
          commands.sort(key=lambda x: x[0])  # command ordered
  
          # install subparsers
          subparsers = parser.add_subparsers(title='available commands')
  
          # install 'help' subparser
          help_parser = subparsers.add_parser('help', add_help=False)
          help_parser.set_defaults(func=self._handle_help)
  
          # install 'version' subparser
          version_parser = subparsers.add_parser('version', add_help=False)
  
          def _print_version(env, args):
              env.io.write(version_str)
              return True
          version_parser.set_defaults(func=_print_version)
  
          # install command subparsers based on registered command plugins.
          # this allows for focus commands (e.g. focus on [...])
  
          for command, help_ in commands:
              cmd_parser = subparsers.add_parser(command, help=help_,
                                                 add_help=False)
  
              # use wrapper to bind command value and passthru to _handle_command
              # when executed later
              def _run(command):
                  def _wrapper(env, args):
                      return self._handle_command(command, env, args)
                  return _wrapper
              cmd_parser.set_defaults(func=_run(command))
  
          return parser