Defining prompts via hooks

The following example shows how to define input and output prompts via hooks:

   1 import os
   2 from IPython import ipapi, Prompts
   3 
   4 def myinputprompt(self, cont):
   5     ip = self.api
   6     count = str(len(ip.user_ns["_ih"]))
   7     colors = Prompts.PromptColors[""].colors
   8     pwd = os.getcwd()
   9     if cont:
  10         return "%s%s%s: " % ( \
            colors.in_prompt2,
  11             "."*(4+len(pwd)+1+len(count)+1),
  12             colors.normal)
  13     else:
  14         return "%sIn [%s|%s%s%s]: %s" % ( \
            colors.in_prompt,
  15             pwd,
  16             colors.out_number,
  17             count,
  18             colors.in_prompt,
  19             colors.normal)
  20 
  21 def myoutputprompt(self):
  22     ip = self.api
  23     count = str(len(ip.user_ns["_ih"]))
  24     colors = Prompts.PromptColors[""].colors
  25     pwd = os.getcwd()
  26     prompt = "%sOut[%s|%s%s%s]: %s" % ( \
        colors.out_prompt,
  27         pwd,
  28         colors.out_number,
  29         count,
  30         colors.out_prompt,
  31         colors.normal)
  32     return prompt
  33 
  34 ipapi.get().set_hook("generate_prompt", myinputprompt)
  35 ipapi.get().set_hook("generate_output_prompt", myoutputprompt)

PromptsViaHooks (last edited 2006-11-30 21:03:50 by dslb-088-065-215-040)