=====================
Development version
=====================
This document describes in-flight development work.
.. warning::
Please do not edit this file by hand (doing so will likely cause merge
conflicts for other Pull Requests). Instead, create a new file in the
`docs/source/whatsnew/pr` folder
Released .... ...., 2019
Need to be updated:
.. toctree::
:maxdepth: 2
:glob:
pr/*
Autosuggestion is a very useful feature available in `fish `__, `zsh `__, and `prompt-toolkit `__.
`Ptpython `__ allows users to enable this feature in
`ptpython/config.py `__.
This feature allows users to accept autosuggestions with ctrl e, ctrl f,
or right arrow as described below.
1. Start ipython
.. image:: ../_images/auto_suggest_prompt_no_text.png
2. Run ``print("hello")``
.. image:: ../_images/auto_suggest_print_hello_suggest.png
3. Press p to see the autosuggestion
.. image:: ../_images/auto_suggest_print_hello_suggest.png
4. Press ctrl f, or ctrl e, or right arrow to accept the suggestion
.. image:: ../_images/auto_suggest_print_hello.png
You can also complete word by word:
1. Run ``def say_hello(): print("hello")``
.. image:: ../_images/auto_suggest_second_prompt.png
2. Press d to see the autosuggestion
.. image:: ../_images/audo_suggest_d_phantom.png
3. Press alt f to accept the first word of the suggestion
.. image:: ../_images/auto_suggest_def_phantom.png
Importantly, this feature does not interfere with tab completion:
1. After running ``def say_hello(): print("hello")``, press d
.. image:: ../_images/audo_suggest_d_phantom.png
2. Press Tab to start tab completion
.. image:: ../_images/auto_suggest_d_completions.png
3A. Press Tab again to select the first option
.. image:: ../_images/auto_suggest_def_completions.png
3B. Press alt f to accept to accept the first word of the suggestion
.. image:: ../_images/auto_suggest_def_phantom.png
3C. Press ctrl f or ctrl e to accept the entire suggestion
.. image:: ../_images/auto_suggest_match_parens.png
To install a version of ipython with autosuggestions enabled, run:
``pip install git+https://github.com/mskar/ipython@auto_suggest``
Currently, autosuggestions are only shown in the emacs or vi insert editing modes:
- The ctrl e, ctrl f, and alt f shortcuts work by default in emacs mode.
- To use these shortcuts in vi insert mode, you will have to create `custom keybindings in your config.py `__.
.. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
As a reminder, IPython master has diverged from the 7.x branch, thus master may
have more feature and API changes.
Backwards incompatible changes
------------------------------
.. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT.