This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2015年09月05日 21:29 by serhiy.storchaka, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| rlcomplete_filter_private.patch | serhiy.storchaka, 2015年09月05日 21:29 | review | ||
| rlcomplete_filter_private_2.patch | serhiy.storchaka, 2015年09月08日 03:07 | review | ||
| Messages (6) | |||
|---|---|---|---|
| msg249928 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2015年09月05日 21:29 | |
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). |
|||
| msg250025 - (view) | Author: Antoine Pitrou (pitrou) * (Python committer) | Date: 2015年09月06日 22:07 | |
I like the idea, though some people may object to breaking their worflow (tm). Nosy'ing David just in case ;-) |
|||
| msg250134 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2015年09月07日 22:27 | |
Sounds good to me, especially the __ part. I don't actually use completions, though :) |
|||
| msg250147 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2015年09月08日 03:07 | |
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. |
|||
| msg251064 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2015年09月19日 08:10 | |
If no one has objections, I'll commit the patch. |
|||
| msg251699 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2015年09月27日 10:44 | |
New changeset 4dbb315fe667 by Serhiy Storchaka in branch 'default': Issue #25011: rlcomplete now omits private and special attribute names unless https://hg.python.org/cpython/rev/4dbb315fe667 |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:20 | admin | set | github: 69199 |
| 2015年09月27日 16:04:05 | berker.peksag | set | stage: patch review -> resolved |
| 2015年09月27日 10:48:14 | serhiy.storchaka | set | status: open -> closed resolution: fixed |
| 2015年09月27日 10:44:55 | python-dev | set | nosy:
+ python-dev messages: + msg251699 |
| 2015年09月19日 08:10:00 | serhiy.storchaka | set | assignee: serhiy.storchaka messages: + msg251064 |
| 2015年09月08日 03:07:43 | serhiy.storchaka | set | files:
+ rlcomplete_filter_private_2.patch messages: + msg250147 |
| 2015年09月07日 22:27:55 | r.david.murray | set | messages: + msg250134 |
| 2015年09月06日 22:07:28 | pitrou | set | nosy:
+ r.david.murray messages: + msg250025 |
| 2015年09月05日 21:29:27 | serhiy.storchaka | create | |