Exemplo n.º 1
0
 /**
  * {syntax ...}
  */
 public function macroSyntax($var)
 {
     switch ($var) {
         case '':
         case 'latte':
             $this->filter->setDelimiters('\\{(?![\\s\'"{}])', '\\}');
             // {...}
             break;
         case 'double':
             $this->filter->setDelimiters('\\{\\{(?![\\s\'"{}])', '\\}\\}');
             // {{...}}
             break;
         case 'asp':
             $this->filter->setDelimiters('<%\\s*', '\\s*%>');
             /* <%...%> */
             break;
         case 'python':
             $this->filter->setDelimiters('\\{[{%]\\s*', '\\s*[%}]\\}');
             // {% ... %} | {{ ... }}
             break;
         case 'off':
             $this->filter->setDelimiters('[^\\x00-\\xFF]', '');
             break;
         default:
             throw new \InvalidStateException("Unknown macro syntax '{$var}' on line {$this->filter->line}.");
     }
 }