##// END OF EJS Templates
Fix #4777 and #7887...
Fix #4777 and #7887 The function in charge of actually converting cursor offset to CodeMirror line number and character number was actually crashing when the cursor was at the last character (loop until undefined, then access length of variable, which is undefined). This was hiding a bug in which when you would completer to a single completion pressing tab after as-you-type filtering, the completion would be completed twice. The logic that was supposed to detect whether or not all completions had a common prefix was actually faulty as the common prefix used to be a string but was then changed to an object. Hence the logic to check whether or not there was actually a common prefix was always true, even for empty string, leading to the deletion of the line (replace by '') in some cases.

File last commit:

r13864:f536475f
r20538:ae7f6d6a
Show More
ipython_console_highlighting.py
27 lines | 892 B | text/x-python | PythonLexer
/ IPython / sphinxext / ipython_console_highlighting.py
Fernando Perez
Update docs for automatic API building.
r1850 """
chebee7i
Update code for making sphinx aware of IPython console lexer.
r13631 reST directive for syntax-highlighting ipython interactive sessions.
Fernando Perez
Update docs for automatic API building.
r1850
chebee7i
Update code for making sphinx aware of IPython console lexer.
r13631 """
Fernando Perez
Update docs for automatic API building.
r1850
Fernando Perez
Add the matplotlib sphinx extensions, authored by the MPL team.
r1694 from sphinx import highlighting
chebee7i
Update code for making sphinx aware of IPython console lexer.
r13631 from ..nbconvert.utils.lexers import IPyLexer
Brian Granger
Cleanup of docs....
r2275
def setup(app):
"""Setup as a sphinx extension."""
# This is only a lexer, so adding it below to pygments appears sufficient.
chebee7i
Update code for making sphinx aware of IPython console lexer.
r13631 # But if somebody knows what the right API usage should be to do that via
Brian Granger
Cleanup of docs....
r2275 # sphinx, by all means fix it here. At least having this setup.py
# suppresses the sphinx warning we'd get without it.
pass
chebee7i
lexerself -> lexer.
r13652 # Register the extension as a valid pygments lexer.
chebee7i
Update code for making sphinx aware of IPython console lexer.
r13631 # Alternatively, we could register the lexer with pygments instead. This would
# require using setuptools entrypoints: http://pygments.org/docs/plugins
chebee7i
Clean up aliases for lexers.
r13864 ipy2 = IPyLexer(python3=False)
chebee7i
Update code for making sphinx aware of IPython console lexer.
r13631 ipy3 = IPyLexer(python3=True)
chebee7i
Clean up aliases for lexers.
r13864 highlighting.lexers['ipython'] = ipy2
highlighting.lexers['ipython2'] = ipy2
chebee7i
Make IPyLexer available in Pygments as 'ipython' and 'ipython3'.
r13633 highlighting.lexers['ipython3'] = ipy3