| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
Many of these break. Mostly because the way whitespace/newlines are added
(or not added). This is terribly broken ATM...
(It was okay with the old parser, I'll try to replicate that behaviour)
|
| |
|
|\
| |
| |
| | |
into improve-lang
|
| | |
|
|\|
| |
| |
| | |
The new parser will allow some improvements to the language.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Now everything seems to work fine. The output code very noisy, though...
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
* Parser::next fixed
* Parser::search_multi fixes (wrong variable, wrong offset added)
* fixed shortifopen and shortcompopen overwriting parser result.
|
|/
|
|
|
|
|
|
|
| |
The previous parser relied on some obscure regular expressions which
probably could be tricked.
The new parser will also allow a more sane definition of the short tags
?{..|..|..} and ~{..|..|..}. Before these were a terrible hack...
All in all the goal of the rewrite is to produce a more robust parser.
|
|
|
|
| |
Grammar and spelling...
|
|
|
|
|
| |
mkdocu.sh will now test, if the executable is named "naturaldocs" or
"NaturalDocs".
|
| |
|
|
|
|
|
|
|
|
|
| |
* <ste:escape> can now also convert line breaks to <br />, if parameter
lines is true.
* <ste:escape> now uses PHP's htmlspecialchars instead of htmlentities
since it only escapes the minimal neccessary chars which should work,
if encoding is handled correctly.
* Fixed 2 markup bugs in docu/language_definition.html
|
| |
|
|
|
|
|
|
|
| |
* ste:in_array checks, if a value is in an array
* ste:join joins an array with a glue string
* ste:split splits a string with a delimiter to an array
* ste:array_add adds an element to an array.
|
|
|
|
|
| |
* It did not return a reference.
* Some Tags from the standardlib used references in a wrong way.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* The exceptions RuntimeError, FatalRuntimeError, CantLoadTemplate and
CantSaveTemplate were introduced.
* RuntimeErrors are automatically catched by the template engine and
will be displayed instead of the tag, unless the parameter
$mute_runtime_errors was set to true.
* Missing tags will result either in a RuntimeError or, if
$fatal_error_on_missing_tag is true, in a FatalRuntimeError.
* The mktag-subcompiler and the standard library functions now use the
new exceptions.
* A bug, that threw away leading TextNodes if a comment or rawtext
pseudotag was parsed, is now fixed.
|
|
|
|
|
|
| |
* Very often the error offsets of parsing errors were too high.
* The offset to line translation now works cleaner and should no longer
throw PHP errors.
|
|
|
|
|
|
|
|
| |
* ste:get allows us to get a variable's content dynamically.
* (') was escaped for TextNodes, which resulted to:
\'
should have been:
'
|
| |
|
| |
|
|
|
|
| |
Copy&Paste is sometimes a very bad idea...
|
|
|
|
| |
The template name was not included.
|
| |
|
|
|
|
|
| |
If a tag parameter was empty, no string was created during
trancompilation. Resulted in a PHP parsing error.
|
|\ |
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
The current counter value was not set prorperly.
|
|
|
|
|
|
|
|
|
| |
* If there are unbalanced open/close Tags in the template, STE will now
tell you exactly which Tag was not closed properly (before: the first
opening tag during the current balaning check).
* It was not possible to access array fields dynamically, e.g. this:
$foo[$bar]
was not possible before. Now fixed.
|
|
|
|
|
|
|
| |
The result of this bug: every for-loop, where the step parameter could
be evaluated at compile time (i.e. only text) had step = 1.
Should have seen this in the example pages...
|
|
|
|
|
|
|
| |
Because strftime is more flexible: You can...
* ...put arbitrary text inside the format
* ...manipulate it by set the locale (i.e. set language-specific month
names etc.)
|
| |
|
| |
|
|
|
|
|
| |
Output PHP code is now *much* smaller. Should also be faster, because
not so many variable assignments are performed.
|
|
|
|
|
|
|
|
| |
* Error messages now include the name of the template and the line
where the error occurred.
* `instanceof Text` is no longer valid, must be `instanceof TextNode`.
* The Precompiler is now a own function.
* ste:if subcompiler fixed.
|
|
|
|
|
| |
Template "b" was not found, if "a" <ste:load>-ed it and both were in the
same, non-root directory. Now fixed.
|
|
|
|
|
|
| |
~{a|op|b}
Also updated the documentation and made unescape_text() a alias of
PHP's stripcslashes().
|
|
|
|
|
| |
Newlines and following whitespaces at the beginning of a TextNode will
be ignored now.
|
| |
|
| |
|
| |
|