Comments (8)
That's a good question. Basically you should consider the following code:
if foo:
def b():
""" docstr a """
return 1
else:
def b():
""" docstr b """
return 2.0
b # <-- goto here
Which function is the right one? Basically there is no valid answer here. a
and b
should be returned.
In jedi-vim I display a window to let the user choose between the multiple definitions (if there are multiple, if there are not, goto can be performed normally).
from jedi.
That example looks strange. Shouldn't both functions in that example be called def b()
? Otherwise there's no ambiguity.
from jedi.
I guess you want to put something like this in your code:
if foo:
def a():
""" docstr a """
return 1
b = a # <-- this is needed for your argument, right?
But I get your point. I will implement the interface sometime later.
Is it used for inheritance too? For example, something like this:
class A(object):
def f(self): # can I go here?
return 0
class B(A):
def f(self):
return super(B, self).f()
b = B()
b.f() # I want to goto the definition of f
from jedi.
@gwrtheyrn Yeah sure, I edited it. It didn't make sense at all.
@tkf It isn't used for inheritance. Just for multiple declarations of variables. Btw: super
isn't working yet. I really want to do it, but I don't have time at the moment.
from jedi.
Can I close?
from jedi.
I thought you'd close this by adding the docstring at some point. But yes, I am closing this. Probably I will send PR later to add some docstrings.
from jedi.
Where do you want me to add some docstrings? I don't know what you mean.
from jedi.
I mean the docstring of Script.goto and Script.get_definition. You can explain the case when it returns multiple definitions (as illustrated above). Also, I noticed that Script.goto can return the line of from MODULE import FUNCTION
instead of def FUNCTION
in MODULE.py
. You can also explain why is that so.
from jedi.
Related Issues (20)
- Completion fails when variable name is identical to type name HOT 4
- 'TreeInstance' object has no attribute 'with_generics' when using typing.Literal["str"] return annotation on property HOT 4
- How to discover the import statement for a particular Name? HOT 4
- Does Jedi support type inference for type annotations that include generics? HOT 2
- _get_executable_path() can't get the correct path on Windows Anaconda
- Issues with pytest 8 HOT 1
- [Feature request] Support for syntax coloring (based on symbol type) HOT 1
- Script.infer() unexpectedly returns empty list HOT 10
- Jedi outputs: Syntax Error Invalid Syntax HOT 2
- [Feature Request]: infer the return type of functions HOT 1
- Any type inference error HOT 6
- `test_completion_param_annotations` fails in Python 3.13 HOT 4
- jedi automatic completion missing HOT 9
- Vendored `typeshed` is totally obsolete HOT 1
- Rhs in the form of "x" in "xxx" cannot infer the type HOT 6
- Question: making jedi understand dynamically managed imports HOT 1
- Python 3.13.0b3+ `functools.partial` being a descriptor messes with signatures HOT 1
- Some simple Not expressions cannot infer types HOT 3
- Sort completions so that the one most resembling the typing code comes first HOT 3
- name conflict with builtin modules HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jedi.