Show More
|
1 | NO CONTENT: new file 100644, binary diff hidden |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
|
1 | NO CONTENT: new file 100644, binary diff hidden |
@@ -99,10 +99,10 b' def create_ipython_shortcuts(shell):' | |||
|
99 | 99 | def ebivim(): |
|
100 | 100 | return shell.emacs_bindings_in_vi_insert_mode |
|
101 | 101 | |
|
102 | focused_insert = has_focus(DEFAULT_BUFFER) & vi_insert_mode | |
|
102 | focused_insert_vi = has_focus(DEFAULT_BUFFER) & vi_insert_mode | |
|
103 | 103 | |
|
104 | 104 | # Needed for to accept autosuggestions in vi insert mode |
|
105 | @kb.add("c-e", filter=focused_insert & ebivim) | |
|
105 | @kb.add("c-e", filter=focused_insert_vi & ebivim) | |
|
106 | 106 | def _(event): |
|
107 | 107 | b = event.current_buffer |
|
108 | 108 | suggestion = b.suggestion |
@@ -111,7 +111,7 b' def create_ipython_shortcuts(shell):' | |||
|
111 | 111 | else: |
|
112 | 112 | nc.end_of_line(event) |
|
113 | 113 | |
|
114 |
@kb.add("c-f", filter=focused_insert |
|
|
114 | @kb.add("c-f", filter=focused_insert_vi) | |
|
115 | 115 | def _(event): |
|
116 | 116 | b = event.current_buffer |
|
117 | 117 | suggestion = b.suggestion |
@@ -120,7 +120,7 b' def create_ipython_shortcuts(shell):' | |||
|
120 | 120 | else: |
|
121 | 121 | nc.forward_char(event) |
|
122 | 122 | |
|
123 | @kb.add("escape", "f", filter=focused_insert & ebivim) | |
|
123 | @kb.add("escape", "f", filter=focused_insert_vi & ebivim) | |
|
124 | 124 | def _(event): |
|
125 | 125 | b = event.current_buffer |
|
126 | 126 | suggestion = b.suggestion |
@@ -141,7 +141,7 b' def create_ipython_shortcuts(shell):' | |||
|
141 | 141 | } |
|
142 | 142 | |
|
143 | 143 | for key, cmd in key_cmd_dict.items(): |
|
144 | kb.add(key, filter=focused_insert & ebivim)(cmd) | |
|
144 | kb.add(key, filter=focused_insert_vi & ebivim)(cmd) | |
|
145 | 145 | |
|
146 | 146 | # Alt and Combo Control keybindings |
|
147 | 147 | keys_cmd_dict = { |
@@ -160,7 +160,7 b' def create_ipython_shortcuts(shell):' | |||
|
160 | 160 | } |
|
161 | 161 | |
|
162 | 162 | for keys, cmd in keys_cmd_dict.items(): |
|
163 | kb.add(*keys, filter=focused_insert & ebivim)(cmd) | |
|
163 | kb.add(*keys, filter=focused_insert_vi & ebivim)(cmd) | |
|
164 | 164 | |
|
165 | 165 | def get_input_mode(self): |
|
166 | 166 | app = get_app() |
@@ -171,19 +171,19 b' or right arrow as described below.' | |||
|
171 | 171 | |
|
172 | 172 | 1. Start ipython |
|
173 | 173 | |
|
174 | .. image:: ../_images/8.0/auto_suggest_prompt_no_text.png | |
|
174 | .. image:: ../_images/8.0/auto_suggest_1_prompt_no_text.png | |
|
175 | 175 | |
|
176 | 176 | 2. Run ``print("hello")`` |
|
177 | 177 | |
|
178 | .. image:: ../_images/8.0/auto_suggest_print_hello_suggest.png | |
|
178 | .. image:: ../_images/8.0/auto_suggest_2_print_hello_suggest.png | |
|
179 | 179 | |
|
180 |
3. |
|
|
180 | 3. start typing ``print`` again to see the autosuggestion | |
|
181 | 181 | |
|
182 | .. image:: ../_images/8.0/auto_suggest_print_hello_suggest.png | |
|
182 | .. image:: ../_images/8.0/auto_suggest_3_print_hello_suggest.png | |
|
183 | 183 | |
|
184 |
4. Press |
|
|
184 | 4. Press ``ctrl-f``, or ``ctrl-e``, or ``right-arrow`` to accept the suggestion | |
|
185 | 185 | |
|
186 | .. image:: ../_images/8.0/auto_suggest_print_hello.png | |
|
186 | .. image:: ../_images/8.0/auto_suggest_4_print_hello.png | |
|
187 | 187 | |
|
188 | 188 | You can also complete word by word: |
|
189 | 189 | |
@@ -191,11 +191,11 b' You can also complete word by word:' | |||
|
191 | 191 | |
|
192 | 192 | .. image:: ../_images/8.0/auto_suggest_second_prompt.png |
|
193 | 193 | |
|
194 |
2. |
|
|
194 | 2. Start typing the first letter if ``def`` to see the autosuggestion | |
|
195 | 195 | |
|
196 | 196 | .. image:: ../_images/8.0/auto_suggest_d_phantom.png |
|
197 | 197 | |
|
198 | 3. Press alt f to accept the first word of the suggestion | |
|
198 | 3. Press ``alt-f`` (or ``escape`` followed by ``f``), to accept the first word of the suggestion | |
|
199 | 199 | |
|
200 | 200 | .. image:: ../_images/8.0/auto_suggest_def_phantom.png |
|
201 | 201 | |
@@ -213,17 +213,14 b' Importantly, this feature does not interfere with tab completion:' | |||
|
213 | 213 | |
|
214 | 214 | .. image:: ../_images/8.0/auto_suggest_def_completions.png |
|
215 | 215 | |
|
216 | 3B. Press alt f to accept to accept the first word of the suggestion | |
|
216 | 3B. Press ``alt f`` (``escape``, ``f``) to accept to accept the first word of the suggestion | |
|
217 | 217 | |
|
218 | 218 | .. image:: ../_images/8.0/auto_suggest_def_phantom.png |
|
219 | 219 | |
|
220 |
3C. Press |
|
|
220 | 3C. Press ``ctrl-f`` or ``ctrl-e`` to accept the entire suggestion | |
|
221 | 221 | |
|
222 | 222 | .. image:: ../_images/8.0/auto_suggest_match_parens.png |
|
223 | 223 | |
|
224 | To install a version of ipython with autosuggestions enabled, run: | |
|
225 | ||
|
226 | ``pip install git+https://github.com/mskar/ipython@auto_suggest`` | |
|
227 | 224 | |
|
228 | 225 | Currently, autosuggestions are only shown in the emacs or vi insert editing modes: |
|
229 | 226 | |
@@ -246,7 +243,7 b' and "??", in much the same way it can be done when using the IPython prompt::' | |||
|
246 | 243 | Type: type |
|
247 | 244 | Subclasses: |
|
248 | 245 | |
|
249 |
Previously, |
|
|
246 | Previously, ``pinfo`` or ``pinfo2`` command had to be used for this purpose. | |
|
250 | 247 | |
|
251 | 248 | |
|
252 | 249 | Autoreload 3 feature |
@@ -256,13 +253,12 b" Example: When an IPython session is ran with the 'autoreload' extension loaded," | |||
|
256 | 253 | you will now have the option '3' to select which means the following: |
|
257 | 254 | |
|
258 | 255 | 1. replicate all functionality from option 2 |
|
259 |
2. autoload all new funcs/classes/enums/globals from the module when they |
|
|
256 | 2. autoload all new funcs/classes/enums/globals from the module when they are added | |
|
260 | 257 | 3. autoload all newly imported funcs/classes/enums/globals from external modules |
|
261 | 258 | |
|
262 | 259 | Try ``%autoreload 3`` in an IPython session after running ``%load_ext autoreload`` |
|
263 | 260 | |
|
264 | For more information please see unit test - | |
|
265 | extensions/tests/test_autoreload.py : 'test_autoload_newly_added_objects' | |
|
261 | For more information please see the following unit test : ``extensions/tests/test_autoreload.py:test_autoload_newly_added_objects`` | |
|
266 | 262 | |
|
267 | 263 | |
|
268 | 264 | |
@@ -296,7 +292,7 b" Don't start a multi line cell with sunken parenthesis" | |||
|
296 | 292 | |
|
297 | 293 | From now on IPython will not ask for the next line of input when given a single |
|
298 | 294 | line with more closing than opening brackets. For example, this means that if |
|
299 |
you (mis)type |
|
|
295 | you (mis)type ``]]`` instead of ``[]``, a ``SyntaxError`` will show up, instead of | |
|
300 | 296 | the ``...:`` prompt continuation. |
|
301 | 297 | |
|
302 | 298 | IPython shell for ipdb interact |
@@ -331,8 +327,8 b' Previously, this was not the case for the Vi-mode prompts::' | |||
|
331 | 327 | This is now fixed, and Vi prompt prefixes - ``[ins]`` and ``[nav]`` - are |
|
332 | 328 | skipped just as the normal ``In`` would be. |
|
333 | 329 | |
|
334 | IPython shell can be started in the Vi mode using ``ipython | |
|
335 | --TerminalInteractiveShell.editing_mode=vi`` | |
|
330 | IPython shell can be started in the Vi mode using ``ipython --TerminalInteractiveShell.editing_mode=vi``, | |
|
331 | You should be able to change mode dynamically with ``%config TerminalInteractiveShell.editing_mode='vi'`` | |
|
336 | 332 | |
|
337 | 333 | Empty History Ranges |
|
338 | 334 | ~~~~~~~~~~~~~~~~~~~~ |
@@ -358,8 +354,6 b' Traceback improvements' | |||
|
358 | 354 | ~~~~~~~~~~~~~~~~~~~~~~ |
|
359 | 355 | |
|
360 | 356 | |
|
361 | UPDATE THIS IN INPUT. | |
|
362 | ||
|
363 | 357 | Previously, error tracebacks for errors happening in code cells were showing a hash, the one used for compiling the Python AST:: |
|
364 | 358 | |
|
365 | 359 | In [1]: def foo(): |
@@ -422,14 +416,12 b' test suite to pytest, and starting to remove nose. This also mean that the' | |||
|
422 | 416 | ``iptest`` command is now gone, and all testing is via pytest. |
|
423 | 417 | |
|
424 | 418 | This was in bog part thanks the NumFOCUS Small Developer grant, we were able to |
|
425 | allocate 4000 to hire `Nikita Kniazev @Kojoley <https://github.com/Kojoley>`__ | |
|
419 | allocate 4000 to hire `Nikita Kniazev (@Kojoley) <https://github.com/Kojoley>`__ | |
|
426 | 420 | who did a fantastic job at updating our code base, migrating to pytest, pushing |
|
427 | 421 | our coverage, and fixing a large number of bugs. I highly recommend contacting |
|
428 | 422 | them if you need help with C++ and Python projects |
|
429 | 423 | |
|
430 | You can find all relevant issues and PRs with the SDG 2021 tag: | |
|
431 | ||
|
432 | https://github.com/ipython/ipython/issues?q=label%3A%22Numfocus+SDG+2021%22+ | |
|
424 | You can find all relevant issues and PRs with the SDG 2021 tag `<https://github.com/ipython/ipython/issues?q=label%3A%22Numfocus+SDG+2021%22+>`__ | |
|
433 | 425 | |
|
434 | 426 | Removing support for Older Python |
|
435 | 427 | --------------------------------- |
@@ -439,22 +431,15 b' We are also removing support for Python up to 3.7 allowing internal code to use ' | |||
|
439 | 431 | efficient ``pathlib``, and make better use of type annotations. |
|
440 | 432 | |
|
441 | 433 | .. image:: ../_images/8.0/pathlib_pathlib_everywhere.jpg |
|
442 |
:alt: "Meme image of Toy |
|
|
434 | :alt: "Meme image of Toy Story with Woody and Buzz, with the text 'pathlib, pathlib everywhere'" | |
|
443 | 435 | |
|
444 | 436 | |
|
445 | IMAGE : Pathlib, pathlib everywhere. | |
|
446 | ||
|
447 | 437 | We have about 34 PRs only to update some logic tu update some function from managing strings to |
|
448 | 438 | using Pathlib. |
|
449 | 439 | |
|
450 | 440 | The completer has also seen significant updates and make use of newer Jedi API |
|
451 | 441 | offering faster and more reliable tab completion. |
|
452 | 442 | |
|
453 | For the terminal users this also enable the auto-suggestion feature, described | |
|
454 | below, which show "ghost text" ahead of your cursor you can accept without | |
|
455 | having to press the tab key or ask the completer to suggest completions. | |
|
456 | ||
|
457 | ||
|
458 | 443 | |
|
459 | 444 | .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT. |
|
460 | 445 |
|
1 | NO CONTENT: file was removed, binary diff hidden |
|
1 | NO CONTENT: file was removed, binary diff hidden |
|
1 | NO CONTENT: file was removed, binary diff hidden |
General Comments 0
You need to be logged in to leave comments.
Login now