class_docstr: Base interface for a margin.
docstr: Creates a margin.
  This should return a list of (Token, text) tuples.
  
  :param cli: :class:`.CommandLineInterface` instance.
  :param window_render_info:
      :class:`~prompt_toolkit.layout.containers.WindowRenderInfo`
      instance, generated after rendering and copying the visible part of
      the :class:`~prompt_toolkit.layout.controls.UIControl` into the
      :class:`~prompt_toolkit.layout.containers.Window`.
  :param width: The width that's available for this margin. (As reported
      by :meth:`.get_width`.)
  :param height: The height that's available for this margin. (The height
      of the :class:`~prompt_toolkit.layout.containers.Window`.)
docstr_tok: ["Creates","a","margin",".","This","should","return","a","list","of","(","Token",",","text",")","tuples",".",":","param","cli",":",":","class",":","`",".CommandLineInterface","`","instance",".",":","param","window_render_info",":",":","class",":","`","~prompt_toolkit.layout.containers.WindowRenderInfo","`","instance",",","generated","after","rendering","and","copying","the","visible","part","of","the",":","class",":","`","~prompt_toolkit.layout.controls.UIControl","`","into","the",":","class",":","`","~prompt_toolkit.layout.containers.Window","`",".",":","param","width",":","The","width","that","'s","available","for","this","margin",".","(","As","reported","by",":","meth",":","`",".get_width","`",".",")",":","param","height",":","The","height","that","'s","available","for","this","margin",".","(","The","height","of","the",":","class",":","`","~prompt_toolkit.layout.containers.Window","`",".",")"]
code: def create_margin(self, cli, window_render_info, width, height):
      """
      Creates a margin.
      This should return a list of (Token, text) tuples.
  
      :param cli: :class:`.CommandLineInterface` instance.
      :param window_render_info:
          :class:`~prompt_toolkit.layout.containers.WindowRenderInfo`
          instance, generated after rendering and copying the visible part of
          the :class:`~prompt_toolkit.layout.controls.UIControl` into the
          :class:`~prompt_toolkit.layout.containers.Window`.
      :param width: The width that's available for this margin. (As reported
          by :meth:`.get_width`.)
      :param height: The height that's available for this margin. (The height
          of the :class:`~prompt_toolkit.layout.containers.Window`.)
      """
      return []
  
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 Margin obj's underlying member method code with example usage: obj.create_margin(cli, window_render_info, width, height) and returns: list