code: def help_option(*param_decls, **attrs):
      """Adds a ``--help`` option which immediately ends the program
      printing out the help page.  This is usually unnecessary to add as
      this is added by default to all commands unless suppressed.
  
      Like :func:`version_option`, this is implemented as eager option that
      prints in the callback and exits.
  
      All arguments are forwarded to :func:`option`.
      """
  
      def decorator(f):
          def callback(ctx, param, value):
              if value and not ctx.resilient_parsing:
                  echo(ctx.get_help(), color=ctx.color)
                  ctx.exit()
  
          attrs.setdefault("is_flag", True)
          attrs.setdefault("expose_value", False)
          attrs.setdefault("help", "Show this message and exit.")
          attrs.setdefault("is_eager", True)
          attrs["callback"] = callback
          return option(*(param_decls or ("--help",)), **attrs)(f)
  
      return decorator
  
imports: import inspect
  import sys
  from functools import update_wrapper
  from ._compat import iteritems
  from ._unicodefun import _check_for_unicode_literals
  from .core import Argument
  from .core import Command
  from .core import Group
  from .core import Option
  from .globals import get_current_context
  from .utils import echo
label_desc: Use image node_id 13 for calling a global function with example usage: help_option() and returns: decorator, option