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.
docstr: Width to report to the `Window`. 
docstr_tok: ["Width","to","report","to","the","`","Window","`","."]
code: def get_width(self, cli, ui_content):
      "Width to report to the `Window`."
      # Take the width from the first line.
      text = token_list_to_text(self.get_prompt_tokens(cli))
      return get_cwidth(text)
  
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 2 for calling the PromptMargin obj's underlying member method code with example usage: obj.get_width(cli, ui_content) and returns: get_cwidth