diff --git a/xonsh/completer.py b/xonsh/completer.py index a59f0c601..960ae055d 100644 --- a/xonsh/completer.py +++ b/xonsh/completer.py @@ -35,6 +35,13 @@ for ((i=0;i<${{#COMPREPLY[*]}};i++)) do echo ${{COMPREPLY[i]}}; done """ +def _normpath(p): + # Prevent normpath() from removing initial ‘./’ + if p.startswith('./'): + return './' + os.path.normpath(p[2:]) + return os.path.normpath(p) + + class Completer(object): """This provides a list of optional completions for the xonsh shell.""" @@ -173,7 +180,7 @@ class Completer(object): self._add_dots(paths, prefix) if cdpath: self._add_cdpaths(paths, prefix) - return {os.path.normpath(s) for s in paths} + return {_normpath(s) for s in paths} def bash_complete(self, prefix, line, begidx, endidx): """Attempts BASH completion."""