ipython / ipython/ipykernel

Tab completion not working in same cell

Ouverte
#457 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
734
Forks
412
Merge moyen
1 j 5 h
PR mergées (30 j)
8

Description

I create two cells, run both

![2019-11-15-100127](https://user-images.githubusercontent.com/223908/68953026-08592880-078f-11ea-8f0a-f05faa38d485.png)

Then I try tab completion

![2019-11-15-100114](https://user-images.githubusercontent.com/223908/68953167-5837ef80-078f-11ea-90d3-cc0eb461707b.png)

If I press tab at the end of the second cell, nothing happens. If I press tab at the end of the third cells, it works.

Python repro:
```python
from ipykernel.tests.utils import new_kernel, wait_for_idle, execute, TIMEOUT

cells = [
'import datetime',
't = datetime.date.today()',
't = datetime.date.today()\nt.',
't.'
]

with new_kernel() as kc:
execute(cells[0], kc=kc)
wait_for_idle(kc)
execute(cells[1], kc=kc)
wait_for_idle(kc)
kc.complete(cells[2])
matches_1 = kc.get_shell_msg(block=True, timeout=TIMEOUT)['content']['matches']
kc.complete(cells[3])
matches_2 = kc.get_shell_msg(block=True, timeout=TIMEOUT)['content']['matches']
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by running the Python repro with ipykernel.tests.utils, focusing on kc.complete and the two returned matches values. Trace the kernel completion handling for cells containing a newline and compare it with the single-line case. Done means completion works at the end of the second cell and the regression is covered by a test.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
jupyter, python
Domaine
backend, developer-experience
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.