%% % @format
{erl_opts, [
    debug_info,
    warnings_as_errors,
    warn_export_vars,
    warn_unused_import,
    warn_missing_spec_all
]}.

{deps, [
    {erlfmt, "1.5.0"},
    {diffy, "1.1.2"}
]}.

{minimum_otp_vsn, "26"}.

{erlfmt, [
    write,
    {files, ["{src,include,test}/*.{hrl,erl,app.src}", "rebar.config"]},
    {exclude_files, []},
    {print_width, 120}
]}.

{project_plugins, [
    erlfmt
]}.

{profiles, [
    {test, [
        {erl_opts, [
            nowarn_export_all,
            nowarn_missing_spec_all
        ]}
    ]}
]}.

{dialyzer, [
    {warnings, [unknown]},
    {plt_apps, all_deps},
    {plt_extra_apps, []}
]}.

{xref_checks, [
    undefined_function_calls,
    undefined_functions,
    locals_not_used,
    deprecated_function_calls,
    deprecated_functions
]}.

% We select `ex_doc` as the documentation provider. This renders documentation in Elixir style, as opposed to the old Erlang EDoc style.
{hex, [{doc, ex_doc}]}.
