-
-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Smarter rl complete: hide private and special names #69199
Comments
When press tabulation just after the dot, the output is too long. It contains all attributes, most of them are dunder names. >>> int.
int.__abs__( int.__doc__ int.__int__( int.__pos__( int.__round__( int.__truediv__(
int.__add__( int.__eq__( int.__invert__( int.__pow__( int.__rpow__( int.__trunc__(
int.__and__( int.__flags__ int.__itemsize__ int.__prepare__( int.__rrshift__( int.__weakrefoffset__
int.__base__( int.__float__( int.__le__( int.__qualname__ int.__rshift__( int.__xor__(
int.__bases__ int.__floor__( int.__lshift__( int.__radd__( int.__rsub__( int.bit_length(
int.__basicsize__ int.__floordiv__( int.__lt__( int.__rand__( int.__rtruediv__( int.conjugate(
int.__bool__( int.__format__( int.__mod__( int.__rdivmod__( int.__rxor__( int.denominator
int.__call__( int.__ge__( int.__module__ int.__reduce__( int.__setattr__( int.from_bytes(
int.__ceil__( int.__getattribute__( int.__mro__ int.__reduce_ex__( int.__sizeof__( int.imag
int.__class__( int.__getnewargs__( int.__mul__( int.__repr__( int.__str__( int.mro(
int.__delattr__( int.__gt__( int.__name__ int.__rfloordiv__( int.__sub__( int.numerator
int.__dict__ int.__hash__( int.__ne__( int.__rlshift__( int.__subclasscheck__( int.real
int.__dictoffset__ int.__index__( int.__neg__( int.__rmod__( int.__subclasses__( int.to_bytes(
int.__dir__( int.__init__( int.__new__( int.__rmul__( int.__subclasshook__(
int.__divmod__( int.__instancecheck__( int.__or__( int.__ror__( int.__text_signature__ Proposed patch hides underscored names and show dunder names only if a prefix starts with '__', and private members only if a prefix starts with '_'. >>> int.
int.bit_length( int.conjugate( int.denominator int.from_bytes( int.imag int.mro( int.numerator int.real int.to_bytes(
>>> int.__
int.__abs__( int.__divmod__( int.__init__( int.__neg__( int.__rlshift__( int.__sub__(
int.__add__( int.__doc__ int.__instancecheck__( int.__new__( int.__rmod__( int.__subclasscheck__(
int.__and__( int.__eq__( int.__int__( int.__or__( int.__rmul__( int.__subclasses__(
int.__base__( int.__flags__ int.__invert__( int.__pos__( int.__ror__( int.__subclasshook__(
int.__bases__ int.__float__( int.__itemsize__ int.__pow__( int.__round__( int.__text_signature__
int.__basicsize__ int.__floor__( int.__le__( int.__prepare__( int.__rpow__( int.__truediv__(
int.__bool__( int.__floordiv__( int.__lshift__( int.__qualname__ int.__rrshift__( int.__trunc__(
int.__call__( int.__format__( int.__lt__( int.__radd__( int.__rshift__( int.__weakrefoffset__
int.__ceil__( int.__ge__( int.__mod__( int.__rand__( int.__rsub__( int.__xor__(
int.__class__( int.__getattribute__( int.__module__ int.__rdivmod__( int.__rtruediv__(
int.__delattr__( int.__getnewargs__( int.__mro__ int.__reduce__( int.__rxor__(
int.__dict__ int.__gt__( int.__mul__( int.__reduce_ex__( int.__setattr__(
int.__dictoffset__ int.__hash__( int.__name__ int.__repr__( int.__sizeof__(
int.__dir__( int.__index__( int.__ne__( int.__rfloordiv__( int.__str__( (The completion of int._ returns nothing because int has no private members). |
I like the idea, though some people may object to breaking their worflow (tm). Nosy'ing David just in case ;-) |
Sounds good to me, especially the __ part. I don't actually use completions, though :) |
Here is improved patch. The completion of empty prefix now returns the list of private names if there are no public names. The completion of empty prefix or prefix '_' now returns the list of dunder names if there are no non-dunder names. For example try "None.". In addition attr_matches() no longer returns duplicated names. |
If no one has objections, I'll commit the patch. |
New changeset 4dbb315fe667 by Serhiy Storchaka in branch 'default': |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: