class_docstr: Default prompt. This one shows the 'arg' and reverse search like
  Bash/readline normally do.
  
  There are two ways to instantiate a ``DefaultPrompt``. For a prompt
  with a static message, do for instance::
  
      prompt = DefaultPrompt.from_message('prompt> ')
  
  For a dynamic prompt, generated from a token list function::
  
      def get_tokens(cli):
          return [(Token.A, 'text'), (Token.B, 'text2')]
  
      prompt = DefaultPrompt(get_tokens)
code: def apply_transformation(
      self, cli, document, lineno, source_to_display, tokens
  ):
      # Get text before cursor.
      if cli.is_searching:
          before = _get_isearch_tokens(cli)
  
      elif cli.input_processor.arg is not None:
          before = _get_arg_tokens(cli)
  
      else:
          before = self.get_tokens(cli)
  
      # Insert before buffer text.
      shift_position = token_list_len(before)
  
      # Only show the prompt before the first line. For the following lines,
      # only indent using spaces.
      if lineno != 0:
          before = [(Token.Prompt, " " * shift_position)]
  
      return Transformation(
          tokens=before + tokens,
          source_to_display=lambda i: i + shift_position,
          display_to_source=lambda i: i - shift_position,
      )
  
file_path: catboost/contrib/python/prompt-toolkit/py2/prompt_toolkit/layout/prompt.py
imports: from __future__ import unicode_literals
  from six import text_type
  from prompt_toolkit.enums import IncrementalSearchDirection, SEARCH_BUFFER
  from prompt_toolkit.token import Token
  from .utils import token_list_len
  from .processors import Processor, Transformation
label_desc: Use image node_id 3 for calling the DefaultPrompt obj's underlying member method code with example usage: obj.apply_transformation(cli, document, lineno, source_to_display, tokens) and returns: Transformation