def Init(pool, builtins, mem, funcs, comp_lookup, status_out, ev):
aliases_action = WordsAction(['TODO:alias'])
commands_action = ExternalCommandAction(mem)
builtins_action = WordsAction(builtins.GetNamesToComplete())
keywords_action = WordsAction(['TODO:keywords'])
funcs_action = LiveDictAction(funcs)
first_chain = ChainedCompleter([
aliases_action, commands_action, builtins_action, keywords_action,
funcs_action
])
# NOTE: These two are the same by default
comp_lookup.RegisterEmpty(first_chain)
comp_lookup.RegisterFirst(first_chain)
# NOTE: Need set_completer_delims to be space here? Otherwise you complete
# as --a and --n. Why?
comp_lookup.RegisterName('__default__', WordsAction(['-a', '-n']))
A1 = WordsAction(['foo.py', 'foo', 'bar.py'])
A2 = WordsAction(['m%d' % i for i in range(5)], delay=0.1)
C1 = ChainedCompleter([A1, A2])
comp_lookup.RegisterName('grep', C1)
var_comp = VarAction(os.environ, mem)
root_comp = RootCompleter(pool, ev, comp_lookup, var_comp)
complete_cb = ReadlineCompleter(root_comp, status_out)
InitReadline(complete_cb)
评论列表
文章目录