class_docstr: Create margin that displays a prompt.
  This can display one prompt at the first line, and a continuation prompt
  (e.g, just dots) on all the following lines.
  
  :param get_prompt_tokens: Callable that takes a CommandLineInterface as
      input and returns a list of (Token, type) tuples to be shown as the
      prompt at the first line.
  :param get_continuation_tokens: Callable that takes a CommandLineInterface
      and a width as input and returns a list of (Token, type) tuples for the
      next lines of the input.
  :param show_numbers: (bool or :class:`~prompt_toolkit.filters.CLIFilter`)
      Display line numbers instead of the continuation prompt.
code: def __init__(
      self,
      get_prompt_tokens,
      get_continuation_tokens=None,
      show_numbers=False,
  ):
      assert callable(get_prompt_tokens)
      assert get_continuation_tokens is None or callable(
          get_continuation_tokens
      )
      show_numbers = to_cli_filter(show_numbers)
  
      self.get_prompt_tokens = get_prompt_tokens
      self.get_continuation_tokens = get_continuation_tokens
      self.show_numbers = show_numbers
  
imports: from __future__ import unicode_literals
  from abc import ABCMeta, abstractmethod
  from six import with_metaclass
  from six.moves import range
  from prompt_toolkit.filters import to_cli_filter
  from prompt_toolkit.token import Token
  from prompt_toolkit.utils import get_cwidth
  from .utils import token_list_to_text
label_desc: Use image node_id 1 to create a new PromptMargin object from inherited base classes: Margin with example: obj = PromptMargin(get_prompt_tokens, get_continuation_tokens, show_numbers)