diff --git a/docs/lang/preprocessor.md b/docs/lang/preprocessor.md index 1bacdd62..35c211f8 100644 --- a/docs/lang/preprocessor.md +++ b/docs/lang/preprocessor.md @@ -114,6 +114,11 @@ Emits a diagnostic message. `#warn` emits a warning. It may be treated as an error depending on compilation options. `#info` emits a benign diagnostic message. +### `#infoeval` + + #infoeval + +Evaluates an expression and emits the result as a diagnostic message. ### `#use` diff --git a/src/main/scala/millfork/parser/Preprocessor.scala b/src/main/scala/millfork/parser/Preprocessor.scala index 7b7900de..4d9d16db 100644 --- a/src/main/scala/millfork/parser/Preprocessor.scala +++ b/src/main/scala/millfork/parser/Preprocessor.scala @@ -68,6 +68,11 @@ object Preprocessor { case "error" => if (enabled) log.error(param, pos) case "warn" => if (enabled) log.warn(param, pos) case "info" => if (enabled) log.info(param, pos) + case "infoeval" => + if (enabled) { + val value = evalParam(param, pos) + log.info(s"$param = $value", pos) + } case "if" => if (enabled) { val value = evalParam(param, pos)