use os.sep and strip what's already in input box from complete options
This commit is contained in:
parent
19799d74b4
commit
bb0746c3e8
|
@ -42,7 +42,7 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
import logging,os.path
|
import logging,os,os.path
|
||||||
|
|
||||||
from popup import Popup
|
from popup import Popup
|
||||||
|
|
||||||
|
@ -476,7 +476,8 @@ class TextInput(InputField):
|
||||||
self.cursor = len(prefix)
|
self.cursor = len(prefix)
|
||||||
|
|
||||||
if len(opts) > 1 and second_hit: # display multiple options on second tab hit
|
if len(opts) > 1 and second_hit: # display multiple options on second tab hit
|
||||||
self.opts = " ".join(opts)
|
sp = self.value.rfind(os.sep)+1
|
||||||
|
self.opts = " ".join([o[sp:] for o in opts])
|
||||||
|
|
||||||
# Cursor movement
|
# Cursor movement
|
||||||
elif c == curses.KEY_LEFT:
|
elif c == curses.KEY_LEFT:
|
||||||
|
@ -519,6 +520,7 @@ class TextInput(InputField):
|
||||||
self.value = self.value[:self.cursor] + uchar + self.value[self.cursor:]
|
self.value = self.value[:self.cursor] + uchar + self.value[self.cursor:]
|
||||||
# Move the cursor forward
|
# Move the cursor forward
|
||||||
self.cursor+=1
|
self.cursor+=1
|
||||||
|
|
||||||
|
|
||||||
def complete(self,line):
|
def complete(self,line):
|
||||||
line = os.path.abspath(os.path.expanduser(line))
|
line = os.path.abspath(os.path.expanduser(line))
|
||||||
|
@ -534,7 +536,7 @@ class TextInput(InputField):
|
||||||
continue
|
continue
|
||||||
f = os.path.join(line, f)
|
f = os.path.join(line, f)
|
||||||
if os.path.isdir(f):
|
if os.path.isdir(f):
|
||||||
f += "/"
|
f += os.sep
|
||||||
ret.append(f)
|
ret.append(f)
|
||||||
else:
|
else:
|
||||||
# This is a file, but we could be looking for another file that
|
# This is a file, but we could be looking for another file that
|
||||||
|
@ -552,9 +554,8 @@ class TextInput(InputField):
|
||||||
p = os.path.join(os.path.dirname(line), f)
|
p = os.path.join(os.path.dirname(line), f)
|
||||||
|
|
||||||
if os.path.isdir(p):
|
if os.path.isdir(p):
|
||||||
p += "/"
|
p += os.sep
|
||||||
ret.append(p)
|
ret.append(p)
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue