diff --git a/src/Extension/PrintExtension.php b/src/Extension/PrintExtension.php new file mode 100644 index 0000000..cd262df --- /dev/null +++ b/src/Extension/PrintExtension.php @@ -0,0 +1,33 @@ +encoding = ini_get("default_charset"); + } + + public function parse(/*\Picae\Compiler\Context*/ &$context, ?string $arguments, string $token) : string + { + switch($token) { + case 'print': + case "print.safe": + return "flag}, '{$this->encoding}', " . ($this->doubleEncode ? "true" : "false") . ") ?>"; + + case "print.raw": + return ""; + } + } + +} diff --git a/src/Language/DefaultRegistrations.php b/src/Language/DefaultRegistrations.php index 1f9ec3a..6ecebd6 100644 --- a/src/Language/DefaultRegistrations.php +++ b/src/Language/DefaultRegistrations.php @@ -68,6 +68,7 @@ class DefaultRegistrations implements LanguageRegistration public function registerExtension(Compiler $compiler) : void { $compiler->registerExtension(new \Picea\Extension\PhpExtension()); + $compiler->registerExtension(new \Picea\Extension\PrintExtension()); $compiler->registerExtension(new \Picea\Extension\JsonExtension($this->context)); foreach($this->extensions ?? [] as $extension) {