M
MackS
Dear all,
I'm trying to use Python's readline module but I'm having some trouble.
In particular, autocompletion seems to "get stuck" on white spaces.
Please take a look at this code snippet:
import readline
def completer(text, state):
text = text
list = ['a dog', 'artsy']
if len(text) == 0: expressions = list
else: expressions = [expression for expression in list if
expression.startswith(text)
try:
return expressions[state]
except IndexError:
return None
return
# main code:
readline.parse_and_bind("tab: complete")
readline.set_completer(completer)
string = raw_input("type something: ")
print "typed: " + string
If I type "a" at the prompt and then press tab, both options are
displayed. However, if I then type "[space]d" and then once again ask
for auto-completion (I would expect getting "a dog" filled in for me)
nothing happens.
What am I doing wrong? Can I expect auto-completion to correctly handle
this case?
Thanks in advance for any help,
Mack
I'm trying to use Python's readline module but I'm having some trouble.
In particular, autocompletion seems to "get stuck" on white spaces.
Please take a look at this code snippet:
import readline
def completer(text, state):
text = text
list = ['a dog', 'artsy']
if len(text) == 0: expressions = list
else: expressions = [expression for expression in list if
expression.startswith(text)
try:
return expressions[state]
except IndexError:
return None
return
# main code:
readline.parse_and_bind("tab: complete")
readline.set_completer(completer)
string = raw_input("type something: ")
print "typed: " + string
If I type "a" at the prompt and then press tab, both options are
displayed. However, if I then type "[space]d" and then once again ask
for auto-completion (I would expect getting "a dog" filled in for me)
nothing happens.
What am I doing wrong? Can I expect auto-completion to correctly handle
this case?
Thanks in advance for any help,
Mack