diff --git a/doc/function/error.txt b/doc/function/error.txt new file mode 100644 index 00000000..1d634835 --- /dev/null +++ b/doc/function/error.txt @@ -0,0 +1,21 @@ +Function: error + +DOC_MSE_VERSION: since 2.0.1 + +--Usage-- +> error(some_string) + +Output an error message. + +--Parameters-- +! Parameter Type Description +| @input@ [[type:string]] Message +| @condition@ [[type:boolean]] (optional) Only show the message if this condition holds. + +--Examples-- +> error("message") # the message is shown in the console panel +> error("message", condition: false) # shows no message + +--See also-- +| [[fun:assert]] Check that the condition is @true@. Shows a warning message if it is not. +| [[fun:warning]] Output a warning message. diff --git a/doc/function/index.txt b/doc/function/index.txt index 345c2e46..067c278c 100644 --- a/doc/function/index.txt +++ b/doc/function/index.txt @@ -110,3 +110,5 @@ These functions are built into the program, other [[type:function]]s can be defi ! Other functions <<< | [[fun:trace]] Output a message for debugging purposes. | [[fun:assert]] Check a condition for debugging purposes. +| [[fun:warning]] Output a warning message. +| [[fun:error]] Output an error message. diff --git a/doc/function/warning.txt b/doc/function/warning.txt new file mode 100644 index 00000000..5ade4d84 --- /dev/null +++ b/doc/function/warning.txt @@ -0,0 +1,21 @@ +Function: warning + +DOC_MSE_VERSION: since 2.0.1 + +--Usage-- +> warning(some_string) + +Output a warning message. + +--Parameters-- +! Parameter Type Description +| @input@ [[type:string]] Message +| @condition@ [[type:boolean]] (optional) Only show the message if this condition holds. + +--Examples-- +> warning("message")" # the message is shown in the console panel +> warning("message", condition: false) # shows no message + +--See also-- +| [[fun:assert]] Check that the condition is @true@. Shows a warning message if it is not. +| [[fun:error]] Output an error message. diff --git a/src/script/functions/basic.cpp b/src/script/functions/basic.cpp index 000545be..dc227201 100644 --- a/src/script/functions/basic.cpp +++ b/src/script/functions/basic.cpp @@ -56,6 +56,15 @@ SCRIPT_FUNCTION(warning_if_neq) { return script_nil; } +SCRIPT_FUNCTION(error) { + SCRIPT_PARAM_C(String, input); + SCRIPT_PARAM_DEFAULT_C(bool, condition, true); + if (condition) { + queue_message(MESSAGE_ERROR, input); + } + return script_nil; +} + // ----------------------------------------------------------------------------- : Conversion /// Format the input variable based on a printf like style specification @@ -714,6 +723,8 @@ SCRIPT_FUNCTION(rule) { void init_script_basic_functions(Context& ctx) { // debugging ctx.setVariable(_("trace"), script_trace); + ctx.setVariable(_("warning"), script_warning); + ctx.setVariable(_("error"), script_error); // conversion ctx.setVariable(_("to_string"), script_to_string); ctx.setVariable(_("to_int"), script_to_int);