View source for multi line actions and formatters

The main goal is that the user can move each argument on a own line for better readability.
  * info boxes
  * content templates

%%
{{movie
  title="A Civil Action"
  image="a_civil_action_poster.jpg"
  author="Jonathan Harr"
  country="United States"
  language="English"
  published="1998-12-25"
  runtime="115 minutes"
  starring= ...
}} 


%% 
Add a short guide how to write your own ((/Dev/Release/R6.1/TemplateBoxes content templates)).

#|
*| methods | syntax | dynamic |  |  |*
|| Action | ##""{{name param... }}""## | yes |  |  ||
|| Formatter | ##""%%(type) content%%""## | no  |  |  ||
|#
These are the two favorite ways to expand the markup rules. Among other things, the use of these methods does not require a detailed analysis of the initial class of the Wacko formatter.

  * ((https://wackowiki.org/doc/Doc/English/Markup WackoWiki Markup))


patch:
%%(hl diff)
diff --git a/src/formatter/class/post_wacko.php b/src/formatter/class/post_wacko.php
index 0a7819f..702ee9e 100644
--- a/src/formatter/class/post_wacko.php
+++ b/src/formatter/class/post_wacko.php
@@ -66,7 +66,7 @@
 			}
 		}
 		// actions
-		else if (preg_match('/^<!--action:begin-->\s*([^\n]+?)<!--action:end-->$/us', $thing, $matches))
+		else if (preg_match('/^<!--action:begin-->\s*(.*?)<!--action:end-->$/us', $thing, $matches))
 		{
 			// check for action parameters
 			$sep = mb_strpos($matches[1], ' ');
diff --git a/src/formatter/class/wackoformatter.php b/src/formatter/class/wackoformatter.php
index 0313377..c074a18 100644
--- a/src/formatter/class/wackoformatter.php
+++ b/src/formatter/class/wackoformatter.php
@@ -274,7 +274,7 @@
 				: "\%\%.*?\%\%|") .
 			"~([^ \t\n]+)|" .
 			"\"\".*?\"\"|" .
-			"\{\{[^\n]*?\}\}|" .
+			"\{\{.*?\}\}|" .
 			"<!--escaped-->.*?<!--escaped-->" .
 			")/usm";
 
@@ -349,7 +349,7 @@
 			// check if a formatter has been specified
 			$code = $matches[1];
 
-			if (preg_match('/^\(([^\n]+?)\)(.*)$/us', $code, $matches))
+			if (preg_match('/^\(\s*(.*?)\)(.*)$/us', $code, $matches))
 			{
 				$code = $matches[2];
 
@@ -420,7 +420,7 @@
 		else if (preg_match('/^\{\{(.*?)\}\}$/us', $thing, $matches))
 		{
 			// used in paragrafica, too
-			return '<!--escaped--><ignore><!--notypo--><!--action:begin-->' . $matches[1] . '<!--action:end--><!--/notypo--></ignore><!--escaped-->';
+			return '<!--escaped--><ignore><!--notypo--><!--action:begin-->' . str_replace("\n", ' ', $matches[1]) . '<!--action:end--><!--/notypo--></ignore><!--escaped-->';
 		}
 
 		// if we reach this point, it must have been an accident
%%