GitHub - chris-l/php-unparser: A JavaScript based code generator, to unparse glayzzle/php-parser compatible AST back to code. (original) (raw)
php-unparser
This project is a JavaScript based unparser for the AST produced by glayzzle's php-parser.
It aims to produce code that uses the style format recommended by PSR-1 and PSR-2.
It's at an early development stage, but it is already able to generate code for most of the produced AST.
It has no dependencies.
How to use
var unparse = require('php-unparser');
var options = { indent: true, dontUseWhitespaces: false, shortArray: true, bracketsNewLine: true, forceNamespaceBrackets: false, collapseEmptyLines: true };
var ast = { "kind": "program", "children": [ { "kind": "echo", "arguments": [ { "kind": "string", "value": "hello world", "isDoubleQuote": true } ] } ], "errors": [] };
// Will output -> echo "hello world"; console.log(unparse(ast, options));
Options
option | value | default | description |
---|---|---|---|
indent | string | The indentation size, default is four white spaces. | |
dontUseWhitespaces | boolean | false | If enabled removes all the whitespaces between stuff. |
shortArray | boolean | false | If enabled write arrays in short array syntax enabled since PHP 5.4.0 |
bracketsNewLine | boolean | true | If enabled will put brackets on new line. |
forceNamespaceBrackets | boolean | false | Force the namespace bracketed syntax (recommended for combining namespaces) |
collapseEmptyLines | boolean | true | If enabled it will remove all empty lines between sections and properties. |
Demo
License
MIT License, Copyright 2016 Christopher Luna