| utils | by dg | added upgrading.md | | | |
| utils | by dg | added support for PHP 8.6 | | | |
| utils | by dg | FileSystem: normalizePath() keeps the scheme of a path like phar://, so joinPaths() and resolvePath() do too | | | |
| utils | by dg | tests: getPhpCliBinary() skips the test when there is no CLI binary beside the CGI | | | |
| utils | by dg | uses dresscode | | | |
| utils | by dg | cs | | | |
| utils | by dg | cs: grouped use statements | | | |
| utils | by dg | cs: suppression comments | | | |
| utils | by dg | cs: only compiler-optimized functions in use-function imports | | | |
| utils | by dg | CI: switched Coveralls upload to the official action The php-coveralls phar is replaced by coverallsapp/github-action, which resolves the token and the absolute paths in the Clover report on its own, so tests/.coveralls.yml is no longer needed. Coverage is now uploaded even when tests crash under phpdbg. Being phpdbg-compatible is not a goal, but until now the failing step aborted the job before the upload ever ran. The job-level continue-on-error is gone, so genuine failures, including a rejected upload, are visible. | | | |
| neon | by dg | updated readme.md | | | |
| neon | by dg | added examples | | | |
| neon | by dg | docs: internals and instructions for agents | | | |
| neon | by dg | Traverser: public, replaces and removes nodes | | | |
| neon | by dg | tests: random edits against an independent model | | | |
| neon | by dg | Editor: insert() moves an item with its comments | | | |
| neon | by dg | tests: the mutations corpus | | | |
| neon | by dg | Editor: removing items and their comments | | | |
| neon | by dg | added Builder & Editor: values, new items and keys | | | |
| neon | by dg | added Journal: a failed edit undoes its writes | | | |
| neon | by dg | added Linter: neon-lint over the parser | | | |
| neon | by dg | added Printer: positions of all tokens, text of a node | | | |
| neon | by dg | Node: positions, searching and navigation | | | |
| neon | by dg | Token: text and trivia set in the canonical form | | | |
| neon | by dg | Node: knows its parent | | | |
| neon | by dg | tree: nodes hold their tokens, print the input back | | | |
| neon | by dg | added Evaluator: toValue() of the nodes moved there | | | |
| neon | by dg | Parser: indentation after a dash is decided, not tried | | | |
| neon | by dg | Encoder: $blockMode may be a closure | | | |
| neon | by dg | Encoder: writes the text itself instead of the nodes | | | |
| neon | by dg | Parser: arrays nest at most 500 levels | | | |
| neon | by dg | added Scalars: parse() of LiteralNode and StringNode moved there | | | |