From c5474ceb76679a1aecf08bba3f6a634c646595e8 Mon Sep 17 00:00:00 2001 From: "Paulo F. Oliveira" <142223309+kivra-pauoli@users.noreply.github.com> Date: Wed, 28 Feb 2024 20:53:10 +0000 Subject: [PATCH] `no_macros` now allows for `logger` default macros (`?LOG`, `?LOG_...` and friends) (#338) * Update list of epp predefined macros * Allow for logger macros (?LOG_... and friends) by default --- src/elvis_style.erl | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/elvis_style.erl b/src/elvis_style.erl index d474cde..1987c88 100644 --- a/src/elvis_style.erl +++ b/src/elvis_style.erl @@ -396,7 +396,7 @@ check_no_macro_calls(Calls) -> [elvis_result:item()]. no_macros(ElvisConfig, RuleTarget, RuleConfig) -> TreeRootNode = get_root(ElvisConfig, RuleTarget, RuleConfig), - AllowedMacros = maps:get(allow, RuleConfig, []) ++ eep_predef_macros(), + AllowedMacros = maps:get(allow, RuleConfig, []) ++ eep_predef_macros() ++ logger_macros(), MacroNodes = elvis_code:find(fun is_macro_node/1, TreeRootNode, #{traverse => all, mode => node}), @@ -478,10 +478,12 @@ is_begin_node(Node) -> ktn_code:type(Node) =:= 'begin'. eep_predef_macros() -> - % From unexported eep:predef_macros/1 + % From unexported epp:predef_macros/1 ['BASE_MODULE', 'BASE_MODULE_STRING', 'BEAM', + 'FEATURE_AVAILABLE', + 'FEATURE_ENABLED', 'FILE', 'FUNCTION_ARITY', 'FUNCTION_NAME', @@ -491,6 +493,18 @@ eep_predef_macros() -> 'MODULE_STRING', 'OTP_RELEASE']. +logger_macros() -> + % From logger.hrl + ['LOG', + 'LOG_ALERT', + 'LOG_CRITICAL', + 'LOG_DEBUG', + 'LOG_EMERGENCY', + 'LOG_ERROR', + 'LOG_INFO', + 'LOG_NOTICE', + 'LOG_WARNING']. + -type no_space_after_pound_config() :: #{ignore => [ignorable()]}. -spec no_space_after_pound(elvis_config:config(),