[IPython-User] configuring prompts for custom substitutions
Thomas Kluyver
takowl@gmail....
Thu Aug 23 16:58:08 CDT 2012
Hi Skipper,
On 23 August 2012 19:13, Skipper Seabold <jsseabold@gmail.com> wrote:
> I'm having some trouble working through the code. Is there anyway to inject
> user-defined (callable) substitutions into the prompts. E.g., something like
I don't have time to test at the moment, but I think you need to add
it using the IPython.core.prompts.LazyEvaluate wrapper, something like
this:
@LazyEvaluate
def am_at_home():
import os
if os.path.expanduser('~') == os.path.abspath(os.path.curdir):
return "(home)"
return ""
get_ipython().prompt_manager.lazy_evaluate_fields['amathome'] = am_at_home
get_ipython().prompt_manager.in_template = '[\#]: {amathome}'
Note the new-style formatting syntax, rather than \amathome.
This example is written for a startup script -
PromptManager.lazy_evaluate_fields is not currently configurable (and
adding values to lists or dicts in configuration is awkward anyway.
Hope that helps,
Thomas
More information about the IPython-User
mailing list