   @moduledoc false
   use GenServer
 
-  import ExUnit.Formatter, only: [format_time: 2, format_filters: 2, format_test_failure: 5,
-                                  format_test_all_failure: 5]
+  import ExUnit.Formatter,
+    only: [format_time: 2, format_filters: 2, format_test_failure: 5, format_test_all_failure: 5]
 
   ## Callbacks
 
   def init(opts) do
     print_filters(Keyword.take(opts, [:include, :exclude]))
+
     config = %{
       seed: opts[:seed],
       trace: opts[:trace],
-      colors: Keyword.put_new(opts[:colors], :enabled, IO.ANSI.enabled?),
+      colors: Keyword.put_new(opts[:colors], :enabled, IO.ANSI.enabled?()),
       width: get_terminal_width(),
       slowest: opts[:slowest],
       test_counter: %{},

  end

  defp format_slow_test(%ExUnit.Test{name: name, time: time, module: module}) do
    "  * #{name} (#{format_us(time)}ms) (#{inspect module})\n"
  end

  defp extract_slowest_tests(%{slowest: slowest, test_timings: timings} = _config) do

    {:noreply, config}
  end

  def handle_cast(
        {:module_finished, %ExUnit.TestModule{state: {:failed, failures}} = test_module},
        config
      ) do
    tests_length = length(test_module.tests)

    formatted =
      format_test_all_failure(
        test_module,
        failures,
        config.failure_counter + tests_length,
        config.width,
        &formatter(&1, &2, config)
      )

    print_failure(formatted, config)

    test_counter =
      Enum.reduce(test_module.tests, config.test_counter, &update_test_counter(&2, &1))

    failure_counter = config.failure_counter + tests_length
    config = %{config | test_counter: test_counter, failure_counter: failure_counter}

    {:noreply, config}
  end

  def handle_cast(_, config) do
