Beispiel #1
0
def returnSymbolCompletions(view, symbol_type):
    projects_cache = cache.projects_cache
    if not symbol_type in commands.symbol_dict:
        return []
    file_key, project_key = cache.get_keys(
        view,
        return_both=True
    )
    completion_list = []

    for file in project.get_external_files():
        if file in projects_cache:
            completion_list = completion_list + projects_cache[file][symbol_type][file]
    if file_key in projects_cache:
        if symbol_type in projects_cache[file_key]:
            completion_list = completion_list + projects_cache[file_key][symbol_type][file_key]
    if project_key in projects_cache:
        if symbol_type in projects_cache[project_key]:
            for file in projects_cache[project_key][symbol_type]:
                completion_list = completion_list + projects_cache[project_key][symbol_type][file]
    if completion_list:
        return [
            tuple(completions)
            for completions in completion_list
        ]
    else:
        # we have no cache so just return whats in the current view
        return get_view_completions(
            view, commands.symbol_dict[symbol_type]
        )
Beispiel #2
0
def returnSymbolCompletions(view, symbol_type):
    projects_cache = cache.projects_cache
    if not symbol_type in commands.symbol_dict:
        return []
    file_key, project_key = cache.get_keys(view, return_both=True)
    completion_list = []

    for file in project.get_external_files():
        if file in projects_cache:
            completion_list = completion_list + projects_cache[file][
                symbol_type][file]
    if file_key in projects_cache:
        if symbol_type in projects_cache[file_key]:
            completion_list = completion_list + projects_cache[file_key][
                symbol_type][file_key]
    if project_key in projects_cache:
        if symbol_type in projects_cache[project_key]:
            for file in projects_cache[project_key][symbol_type]:
                completion_list = completion_list + projects_cache[
                    project_key][symbol_type][file]
    if completion_list:
        return [tuple(completions) for completions in completion_list]
    else:
        # we have no cache so just return whats in the current view
        return get_view_completions(view, commands.symbol_dict[symbol_type])
def init_file_loading():
    if not sublime.active_window():
        sublime.set_timeout(lambda: init_file_loading(), 500)
    else:
        load_files(project.get_external_files())