 
   defp format_expansion([uniq], hint) do
     case to_hint(uniq, hint) do
-      ""   -> yes("", to_uniq_entries(uniq))
+      "" -> yes("", to_uniq_entries(uniq))
       hint -> yes(hint, [])
     end
   end
 
   defp format_expansion([first | _] = entries, hint) do
-    binary = Enum.map(entries, &(&1.name))
+    binary = Enum.map(entries, & &1.name)
     length = byte_size(hint)
     prefix = :binary.longest_common_prefix(binary)
+
     if prefix in [0, length] do
       yes("", Enum.flat_map(entries, &to_entries/1))
     else

  end

  defp expand_require(mod, hint) do
    format_expansion match_module_funs(get_module_funs(mod), hint), hint
  end

  defp expand_variable_or_import(hint, server) do
    variables = expand_variable(hint, server)
    funs = match_module_funs(imports_from_env(server) ++ get_module_funs(Kernel.SpecialForms), hint)
    format_expansion(variables ++ funs, hint)
  end


  end

  defp identifier?(h) do
    h in ?a..?z or h in ?A..?Z or h in ?0..?9 or h in [?_, ??, ?!]
  end

  defp expand_dot(expr, server) do
    case Code.string_to_quoted(expr) do
      {:ok, atom} when is_atom(atom) ->
        expand_call(atom, "", server)

      {:ok, {:__aliases__, _, list}} ->
        expand_elixir_modules(list, "", server)

      {:ok, {_, _, _} = ast_node} ->
        expand_call(ast_node, "", server)

      _ ->
        no()
    end
  end

  defp expand_expr(expr, server) do
    case Code.string_to_quoted(expr) do
      {:ok, atom} when is_atom(atom) ->
        expand_erlang_modules(Atom.to_string(atom))

      {:ok, {atom, _, nil}} when is_atom(atom) ->
        expand_variable_or_import(Atom.to_string(atom), server)

      {:ok, {:__aliases__, _, [root]}} ->
        expand_elixir_modules([], Atom.to_string(root), server)

      {:ok, {:__aliases__, _, [h | _] = list}} when is_atom(h) ->
        hint = Atom.to_string(List.last(list))
        list = Enum.take(list, length(list) - 1)
        expand_elixir_modules(list, hint, server)

      {:ok, {{:., _, [ast_node, fun]}, _, []}} when is_atom(fun) ->
        expand_call(ast_node, Atom.to_string(fun), server)

      _ ->
        no()
    end
