in service/azservice/__main__.py [0:0]
def get_group_index(command_table):
index = { '': [], '-': [] }
for command in command_table.values():
parts = command.name.split()
len_parts = len(parts)
for i in range(1, len_parts):
group = ' '.join(parts[0:i])
if group not in index:
index[group] = []
parent = ' '.join(parts[0:i - 1])
completion = {
'name': parts[i - 1],
'kind': 'group',
'detail': group
}
help = get_help(group)
if help:
description = help.get('short-summary')
if description:
completion['documentation'] = description
index[parent].append(completion)
if NO_AZ_PREFIX_COMPLETION_ENABLED and i == 1:
add = completion.copy()
add['snippet'] = 'az ' + add['name']
index['-'].append(add)
if TWO_SEGMENTS_COMPLETION_ENABLED and i > 1:
add = completion.copy()
add['name'] = ' '.join(parts[i - 2:i])
index[' '.join(parts[0:i - 2])].append(add)
if NO_AZ_PREFIX_COMPLETION_ENABLED and i == 2:
add = add.copy()
add['snippet'] = 'az ' + add['name']
index['-'].append(add)
parent = ' '.join(parts[0:-1])
completion = {
'name': parts[-1],
'kind': 'command',
'detail': command.name
}
add_command_documentation(completion, command)
index[parent].append(completion)
if TWO_SEGMENTS_COMPLETION_ENABLED and len_parts > 1:
add = completion.copy()
add['name'] = ' '.join(parts[len_parts - 2:len_parts])
index[' '.join(parts[0:len_parts - 2])].append(add)
if NO_AZ_PREFIX_COMPLETION_ENABLED and len_parts == 2:
add = add.copy()
add['snippet'] = 'az ' + add['name']
index['-'].append(add)
return index