Current section
Files
Jump to
Current section
Files
src/r3lfe.hrl
-ifndef(R3LFE_HRL).
-define(R3LFE_HRL, true).
%%% Plugin namespace
-define(NAMESPACE, lfe).
%%% File patterns
-define(LFE_SRC_EXTENSION, ".lfe").
-define(BEAM_EXTENSION, ".beam").
-define(LFE_FILE_REGEX, ".*\\.lfe$").
%%% Default directories
-define(DEFAULT_SRC_DIR, "src").
-define(DEFAULT_INCLUDE_DIR, "include").
-define(DEFAULT_OUT_DIR, "ebin").
-define(DEFAULT_TEST_DIR, "test").
%%% Compiler options
-define(DEFAULT_LFE_OPTS, [
debug_info,
return,
report_errors,
report_warnings
]).
%%% Error macros
-define(PRV_ERROR(Reason), {error, {?MODULE, Reason}}).
%%% Logging helpers (use rebar_api, not io:format)
-define(DEBUG(Fmt, Args), rebar_api:debug(Fmt, Args)).
-define(INFO(Fmt, Args), rebar_api:info(Fmt, Args)).
-define(WARN(Fmt, Args), rebar_api:warn(Fmt, Args)).
-define(ERROR(Fmt, Args), rebar_api:error(Fmt, Args)).
%%% Type specifications for better dialyzer checks
-type compile_result() :: ok | {ok, [warning()]} | {error, [error()], [warning()]}.
-type error() :: {file:filename(), [{integer(), module(), term()}]}.
-type warning() :: {file:filename(), [{integer(), module(), term()}]}.
-endif.