In Python `range()` is __not a function__, it is a class, see [here](https://docs.python.org/3/library/stdtypes.html#ranges), and the function looking like `range()` is actually a constructor for the `range` class objects, not a function.
In the `std.py.tags` tags file, some of the class constructors have signatures, and some do not. Classes with signature can show calltips, but classes without signatures have nothing to provide a calltip. One of the classes that have no signature is `range` so it has no calltip. Without spending detailed analysis it appears to me that classes that are implemented by Python have a signature and those which are implemented by C code do not have a signature since the parameters for the class constructor are analysed by C code and there is no Python definition. In particular [`rangeobject.c`](https://github.com/python/cpython/blob/main/Objects/rangeobject.c) in Python source is the source of the definition for the `class range` and so no constructor signature exists in Python. The `std.py.tags` is automatically generated from Python, so there are no calltips for any classes that have no signature and they will have no calltip. If a user really wants some or __all__ class constructors they may be able to hand craft a tags file for those they want by reading the C code of python and/or the details in the Python documentation. But theer is not automatic means of creating such a tags file. -- Reply to this email directly or view it on GitHub: https://github.com/geany/geany/issues/4011#issuecomment-2435239287 You are receiving this because you are subscribed to this thread. Message ID: <geany/geany/issues/4011/2435239...@github.com>