def complete_func(server, filepath, contents, row, col, callback):
    rst = server.SendCodeCompletionRequest(filepath=filepath,
                                           contents=contents,
                                           filetype='cpp',
                                           line_num=row,
                                           column_num=col)
    if rst == '':
        return

    completions = json.loads(rst)['completions']

    data = []
    for comp in completions:
        for detailed_info in comp.get('detailed_info', '').strip().split('\n'):
            insertion_text = comp.get('insertion_text', '')
            if comp.get('kind', '') == 'FUNCTION':
                index_of_lbracket = detailed_info.find('(')
                index_of_rbracket = detailed_info.find(')')
                if index_of_lbracket >= 0 and index_of_rbracket > index_of_lbracket:
                    insertion_text = insertion_text + create_abbrev(detailed_info[index_of_lbracket:index_of_rbracket + 1])
            data.append(
                (
                    '{}\t{}'.format(detailed_info,
                                    comp.get('kind', '').lower()
                                    ),
                    insertion_text
                )
            )
    callback(data)
Returns the content type of the product as lower string.
dataset/ETHPy150Open glymehrvrd/CppYCM/listeners/autocomplete.py/complete_func--crossover with--dataset/ETHPy150Open diefenbach/django-lfs/lfs/catalog/models.py/Product.content_type