##// END OF EJS Templates
First step in reintegrating Jedi...
First step in reintegrating Jedi If Jedi is installed expose a private API use it with prompt toolkit. Jedi does not _yet_ provide all the completion IPython has, so this is still a bit awkward. In order to debug this (and see what is Jedi provided we for now inject a fake Jedi/IPython delimiter in the menu. Jedi completion and this behavior are enabled by default, but could likely be opt-in. Add also a number of debug flags to be able to track why jedi is not working, and/or what completions are found by IPython and not Jedi. That should give us a bit of heads up and feedback to know whether we can remove part of the IPython completer, and more especially if we can drop `python_matches`. Once `python_matches` is dropped and some other of the current matchers are either dropped or converted to the new API, that should simplify the internal quite a bit. That would just be too much for an already BIG pull-request.

File last commit:

r23118:ae916c1e
r23284:3ff1be2e
Show More
ulinecache.py
25 lines | 765 B | text/x-python | PythonLexer
Srinivas Reddy Thatiparthy
remove python2 code
r23109 """
Srinivas Reddy Thatiparthy
Add deprecation warnings and message to getlines function
r23118 This module has been deprecated since IPython 6.0.
Srinivas Reddy Thatiparthy
remove python2 code
r23109 Wrapper around linecache which decodes files to unicode according to PEP 263.
Thomas Kluyver
Fix getting unicode lines in IPython.core.debugger.
r8324 """
import functools
import linecache
Jörgen Stenarson
Convert filename to bytes in getlines....
r8335 import sys
Srinivas Reddy Thatiparthy
Add deprecation warnings and message to getlines function
r23118 from warnings import warn
Thomas Kluyver
Fix getting unicode lines in IPython.core.debugger.
r8324
from IPython.utils import py3compat
from IPython.utils import openpy
Srinivas Reddy Thatiparthy
remove python2 code
r23109 getline = linecache.getline
Thomas Kluyver
Fix getting unicode lines in IPython.core.debugger.
r8324
Srinivas Reddy Thatiparthy
remove python2 code
r23109 # getlines has to be looked up at runtime, because doctests monkeypatch it.
@functools.wraps(linecache.getlines)
def getlines(filename, module_globals=None):
Srinivas Reddy Thatiparthy
Add deprecation warnings and message to getlines function
r23118 """
Deprecated since IPython 6.0
"""
warn(("`IPython.utils.ulinecache.getlines` is deprecated since"
" IPython 6.0 and will be removed in future versions."),
DeprecationWarning, stacklevel=2)
Srinivas Reddy Thatiparthy
remove python2 code
r23109 return linecache.getlines(filename, module_globals=module_globals)