class_docstr: Custom parser class for dvc CLI.
code: def parse_args(self, args=None, namespace=None):
      # NOTE: overriding to provide a more granular help message.
      # E.g. `dvc plots diff --bad-flag` would result in a `dvc plots diff`
      # help message instead of generic `dvc` usage.
      args, argv = self.parse_known_args(args, namespace)
      if argv:
          msg = "unrecognized arguments: %s"
          self.error(msg % " ".join(argv), getattr(args, "func", None))
      return args
  
file_path: dvc/dvc/cli/parser.py
imports: import argparse
  import os
  from functools import lru_cache
  from dvc import __version__
  from dvc.commands import add, artifacts, cache, check_ignore, checkout, commit, completion, config, daemon, dag, data, data_sync, destroy, diff, du, experiments, freeze, gc, get, get_url, git_hook, imp, imp_db, imp_url, init, install, ls, ls_url, metrics, move, params, plots, queue, remote, remove, repro, root, stage, studio, unprotect, update, version
  from dvc.log import logger
  from .None import DvcParserError, formatter
label_desc: Use image node_id 2 for calling the DvcParser obj's underlying member method code with example usage: obj.parse_args(args, namespace) and returns: args