Example #1
0
def autoimport():
    if all.is_syntax_string(vim.current.window.cursor):
        return

    info = ""
    try:
        info = vim.eval('go#complete#GetInfo()')
    except Exception:
        pass

    if info != "" and re.match("^var \w+", info):
        return

    identifier_data = util.get_identifier_under_cursor(
        vim.current.buffer,
        vim.current.window.cursor,
    )

    if not identifier_data:
        return

    identifier, _ = identifier_data

    if identifier.count('.') > 1:
        return

    possible_package = identifier.split('.')[0]
    import_path = get_import_path_for_identifier(possible_package)
    if not import_path:
        return

    vim.command('GoImport {}'.format(import_path))