##// END OF EJS Templates
Simplify completer handling by isolating readline-specific logic more....
Simplify completer handling by isolating readline-specific logic more. Also, I removed a hack we were using of storing the completer globally inside sys. This was used for the rare case of embedding ipython-inside-ipython, something which is more of a party trick. If we ever want to support that well, we can write a cleaner solution than polluting sys with 'ipcompleter'. But for now, I'm trying to simplify our completer machinery and remove buggy and/or error-prone hacks. Note that the normal use of embedded ipython inside of user's programs isn't affected by this.

File last commit:

r2205:8ce57664
r2952:bad8f4f8
Show More
autocall.py
45 lines | 1.2 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
# encoding: utf-8
"""
Autocall capabilities for IPython.core.
Authors:
* Brian Granger
* Fernando Perez
Notes
-----
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2009 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
class IPyAutocall(object):
""" Instances of this class are always autocalled
This happens regardless of 'autocall' variable state. Use this to
develop macro-like mechanisms.
"""
def set_ip(self,ip):
""" Will be used to set _ip point to current ipython instance b/f call
Override this method if you don't want this to happen.
"""
self._ip = ip