Any "complete" auto-complete adds an extra trailing space. This may be a desired feature on the general shell, but not on a python shell where typically, an operation needs to be performed on it, followed by a "."
While I haven't gone through the code in detail, the greedy_cd_completer seems to affect only the cd auto completion.
There trailing space problems needs to address, I believe the following problems:
In the under, **I represent space, by +, for conveying**
1) from<tab> : No space, it is expected.
In [1]: fro
from frozenset
In [1]: from
2) Module name auto complete adds a space, while not expected
In [1]: from IPython+
3) Extra trailing space after import
In [1]: from IPython.Shell import++
WRT the Original report that wonders why the space is not added after ls, clearly it is because, %ls is an alias to %lsmagic and ls prompts both these as the options.
If my observation is right, I plan to write a test for this; and try to fix it.
The problem is not limited to cd alone,
Any "complete" auto-complete adds an extra trailing space. This may be a desired feature on the general shell, but not on a python shell where typically, an operation needs to be performed on it, followed by a "."
While I haven't gone through the code in detail, the greedy_cd_completer seems to affect only the cd auto completion.
There trailing space problems needs to address, I believe the following problems:
In the under, **I represent space, by +, for conveying**
1) from<tab> : No space, it is expected.
In [1]: fro
from frozenset
In [1]: from
2) Module name auto complete adds a space, while not expected
In [1]: from IPython+
3) Extra trailing space after import
In [1]: from IPython.Shell import++
WRT the Original report that wonders why the space is not added after ls, clearly it is because, %ls is an alias to %lsmagic and ls prompts both these as the options.
If my observation is right, I plan to write a test for this; and try to fix it.