atom-community / atom-community/ide-python

Unable to goto definitions in __init__.py

Ouverte
#487 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
238
Forks
40
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Here is my reproduction project:

```shell
fjompo@grande repro$ find .
.
./foo
./foo/__init__.py
./foo/bar.py
./foo/baz.py

fjompo@grande repro$ cat foo/__init__.py
test = 5

fjompo@grande repro$ cat foo/bar.py
from . import test
from .baz import test2
print(test)
print(test2)

fjompo@grande repro$ cat foo/baz.py
test2 = 42

fjompo@grande repro$ python -m foo.bar
5
42
```

If i go to `foo/bar.py` and highlight `test2`, then go-to-definition works, but for `test` it does not. It simply yields _"Sorry, no definitions found."_

This is likely not an issue with jedi, as shown here:

```python
>>> import jedi
>>> jedi.Script(None, path="foo/bar.py").goto(line=3, column=7, follow_imports=True)[0].module_path
PosixPath('/home/fjompo/tmp/repro/foo/__init__.py')
>>> jedi.Script(None, path="foo/bar.py").goto(line=4, column=7, follow_imports=True)[0].module_path
PosixPath('/home/fjompo/tmp/repro/foo/baz.py')
```
Here are the project files: [repro.zip](https://github.com/atom-community/ide-python/files/8044900/repro.zip)

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Reproduisez le problème avec foo/__init__.py, foo/bar.py et foo/baz.py, puis comparez le comportement d’accès à la définition d’Atom avec les appels à jedi.Script.goto indiqués. Commencez par le point d’entrée d’intégration qui gère les définitions pour les imports Python. Le travail est terminé lorsque la sélection de test dans foo/bar.py ouvre foo/__init__.py, tandis que test2 continue d’ouvrir foo/baz.py.

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

Évaluation

Stack technique
javascript, python
Domaine
developer-experience, tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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