#!/usr/bin/python
import readline
primary = ["bob", "bill", "foo", "bar"]
secondary = ["--bar", "--foo"]
def complete(text, state):
incmd = False
line = readline.get_line_buffer()
for cmd in primary:
if line.startswith(cmd +" "):
incmd = True
if (incmd):
values = [s for s in secondary if s.startswith(text)]
else:
values = [s for s in primary if s.startswith(text)]
values.sort()
return values[state]
readline.set_completer_delims(' \t\n`~!@#$%^&*()=+[{]}\\|;:\'",<>/?')
readline.set_completer(complete)
readline.parse_and_bind("tab: complete")
while (True):
inp = raw_input("input# ")