def complete_set(self, text, line, begidx, endidx):
""" Provide completion for the "set" option
Autocomplete the option name and append a "="
Autocomplete accessible random value generators
available for the concerned parameter.
"""
# complete with available options - suppose only one =, no spaces
if "=" in line:
option_name, arg_typed = line[line.find(' ')+1:].split("=")
l = self._module_inst.get_possible_values(option_name, arg_typed)
last_completer_delim_index = -1
for delim in readline.get_completer_delims():
last_completer_delim_index = max(last_completer_delim_index, arg_typed.rfind(delim))
return [
val
for val in l
if self._module_inst.is_a_valid_value_for_this_option(
option_name, arg_typed[:last_completer_delim_index+1] + val
)
]
else:
return [
'{}='.format(i)
for i in type(self._module_inst).get_option_list()
if i.startswith(text)
]
评论列表
文章目录