class_docstr: Represents a completion value and metadata about the value. The
  default metadata is ``type`` to indicate special shell handling,
  and ``help`` if a shell supports showing a help string next to the
  value.
  
  Arbitrary parameters can be passed when creating the object, and
  accessed using ``item.attr``. If an attribute wasn't passed,
  accessing it returns ``None``.
  
  :param value: The completion suggestion.
  :param type: Tells the shell script to provide special completion
      support for the type. Click uses ``"dir"`` and ``"file"``.
  :param help: String shown next to the value if supported.
  :param kwargs: Arbitrary metadata. The built-in implementations
      don't use this, but custom type completions paired with custom
      shell support could use it.
class_docstr_tok: ["Represents","a","completion","value","and","metadata","about","the","value",".","The","default","metadata","is","``","type","``","to","indicate","special","shell","handling",",","and","``","help","``","if","a","shell","supports","showing","a","help","string","next","to","the","value",".","Arbitrary","parameters","can","be","passed","when","creating","the","object",",","and","accessed","using","``","item.attr","``",".","If","an","attribute","was","n't","passed",",","accessing","it","returns","``","None","``",".",":","param","value",":","The","completion","suggestion",".",":","param","type",":","Tells","the","shell","script","to","provide","special","completion","support","for","the","type",".","Click","uses","``","``","dir","''","``","and","``","``","file","''","``",".",":","param","help",":","String","shown","next","to","the","value","if","supported",".",":","param","kwargs",":","Arbitrary","metadata",".","The","built-in","implementations","do","n't","use","this",",","but","custom","type","completions","paired","with","custom","shell","support","could","use","it","."]
code: def __init__(
      self,
      value: t.Any,
      type: str = "plain",
      help: t.Optional[str] = None,
      **kwargs: t.Any,
  ) -> None:
      self.value: t.Any = value
      self.type: str = type
      self.help: t.Optional[str] = help
      self._info = kwargs
  
imports: import os
  import re
  import typing
  from gettext import gettext
  from .core import Argument
  from .core import BaseCommand
  from .core import Context
  from .core import MultiCommand
  from .core import Option
  from .core import Parameter
  from .core import ParameterSource
  from .parser import split_arg_string
  from .utils import echo
label_desc: Use image node_id 1 to create a new CompletionItem object  with example: obj = CompletionItem(value, type, help)