atom-community / atom-community/ide-python
Unable to goto definitions in __init__.py
- Vorherrschende Sprache
- JavaScript
- Sterne
- 238
- Forks
- 40
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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)
Beitragsleitfaden
Rechercherichtung
Reproduziere das Problem mit foo/__init__.py, foo/bar.py und foo/baz.py und vergleiche anschließend das Go-to-Definition-Verhalten von Atom mit den gezeigten Aufrufen von jedi.Script.goto. Beginne beim Integrations-Einstiegspunkt, der Definitionen für Python-Imports verarbeitet. Als erledigt gilt die Aufgabe, wenn das Auswählen von test in foo/bar.py foo/__init__.py öffnet, während test2 weiterhin foo/baz.py öffnet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, python
- Bereich
- developer-experience, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100