gen.config.ex (803B)
1 defmodule Credo.CLI.Command.GenConfig do 2 @moduledoc false 3 4 @config_filename ".credo.exs" 5 @default_config_file File.read!(@config_filename) 6 7 use Credo.CLI.Command, 8 short_description: "Initialize a new .credo.exs exec file in the current directory" 9 10 alias Credo.CLI.Output.UI 11 12 @doc false 13 def call(exec, _opts) do 14 create_config_file(@config_filename) 15 16 exec 17 end 18 19 defp create_config_file(filename) do 20 if File.exists?(filename) do 21 UI.puts([:red, :bright, "File exists: #{filename}, aborted."]) 22 else 23 UI.puts([:green, "* creating ", :reset, "#{filename}"]) 24 write_config_file(filename) 25 end 26 end 27 28 defp write_config_file(filename) do 29 filename 30 |> Path.dirname() 31 |> File.mkdir_p!() 32 33 File.write!(filename, @default_config_file) 34 end 35 end