Markers
Table of Contents
Compiler.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 51 | Handle dynamic partials | |
| 54 | Do PHP code generation. | |
| 102 | Return generated PHP code string. | |
| 274 | change base when trace to parent | |
| 291 | To support recursive context lookup, instance properties + methods and lambdas | |
| 292 | the only way is using slower rendering time variable resolver. |
Context.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 208 | Regist helper names only |
Encoder.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy |
Exporter.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 277 | replace the constants | |
| 280 | compress space |
Expression.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 97 | trace to parent | |
| 104 | handle @root, @index, @key, @last, etc |
Flags.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 27 | Compile time error handling flags | |
| 31 | JavaScript compatibility | |
| 36 | Handlebars.js compatibility | |
| 53 | PHP behavior flags | |
| 62 | Mustache compatibility | |
| 69 | Template rendering time debug flags | |
| 72 | alias flags | |
| 73 | FLAG_ECHO + FLAG_STANDALONEPHP | |
| 74 | FLAG_JSTRUE + FLAG_JSOBJECT + FLAG_JSLENGTH | |
| 75 | FLAG_PROPERTY + FLAG_METHOD | |
| 76 | FLAG_ERROR_SKIPPARTIAL + FLAG_MUSTACHELOOKUP + FLAG_MUSTACHELAMBDA + FLAG_NOHBHELPERS + FLAG_MUSTACHESECTION + FLAG_RUNTIMEPARTIAL + FLAG_JSTRUE + FLAG_JSOBJECT | |
| 77 | FLAG_THIS + FLAG_PARENT + FLAG_HBESCAPE + FLAG_ADVARNAME + FLAG_SPACECTL + FLAG_NAMEDARG + FLAG_SPVARS + FLAG_SLASH + FLAG_ELSE + FLAG_RAWBLOCK | |
| 78 | FLAG_JS + FLAG_HANDLEBARS | |
| 79 | FLAG_HANDLEBARSJS + FLAG_INSTANCE + FLAG_RUNTIMEPARTIAL + FLAG_MUSTACHELOOKUP |
LightnCandy.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 49 | return false when fatal error | |
| 54 | Or, return full PHP render codes as string | |
| 80 | return false when fatal error | |
| 129 | format. | |
| 166 | text/plain,' . urlencode($php)); |
loader.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy |
Parser.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 27 | Compile time error handling flags | |
| 113 | handle number | |
| 118 | handle double quoted string | |
| 123 | handle single quoted string | |
| 128 | handle boolean, null and undefined | |
| 136 | handle .. | |
| 141 | Trace to parent for ../ N times | |
| 142 | ', function () use (&$levels) { | |
| 147 | remove ./ in path | |
| 148 | ', '', $v, -1, $scoped); | |
| 340 | handle (...) | |
| 347 | handle |...| | |
| 360 | handle foo=(...) | |
| 369 | foo] Rule 1: no starting [ or [ not start from head | |
| 371 | [bar Rule 2: no ending ] or ] not in the end | |
| 373 | ]bar. Rule 3: middle ] not before . | |
| 375 | .foo[ Rule 4: middle [ not after . | |
| 381 | Scan for invalid charactors which not be protected by [ ] | |
| 382 | now make ( and ) pass, later fix | |
| 414 | begin with '(' without ending ')' | |
| 419 | begin with '"' without ending '"' | |
| 424 | begin with \' without ending ' | |
| 429 | '="' exists without ending '"' | |
| 434 | '[' exists without ending ']' | |
| 439 | =\' exists without ending ' | |
| 444 | continue to next match when =( exists without ending ) | |
| 472 | Parse arguments and deal with "..." or [...] or (...) or \'...\' or |...| | |
| 492 | continue from previous match when expect something | |
| 498 | end an argument when end with expected charactor | |
| 533 | continue to next match when 'as' without ending '|' |
Partial.php
| Type | Line | Description |
|---|---|---|
| 9 | github.com/zordius/lightncandy | |
| 134 | Check for recursive partial | |
| 203 | callbacks inside partial should be aware of $sp |
Runtime.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 63 | Build array of reference for call_user_func_array | |
| 286 | Use full namespace classname for more specific code export/match in Exporter.php replaceSafeString. | |
| 309 | Use full namespace classname for more specific code export/match in Exporter.php replaceSafeString. | |
| 370 | #var, detect input type is object or not | |
| 379 | Detect input type is object or not when never done once | |
| 631 | $invert the logic |
SafeString.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy |
Token.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 27 | RegExps | |
| 30 | Positions of matched token |
Validator.php
| Type | Line | Description |
|---|---|---|
| 10 | github.com/zordius/lightncandy | |
| 40 | Skip a token when it is slash escaped | |
| 160 | {{ }}} or {{{ }} are invalid | |
| 165 | {{{# }}} or {{{! }}} or {{{/ }}} or {{{^ }}} are invalid. | |
| 209 | no break | |
| 486 | if we didn't match our $pop, we didn't actually do a level, so only subtract a level here | |
| 505 | we need to repeat a level due to else chains: {{else if}} | |
| 510 | no break | |
| 555 | skip parse when inside raw block | |
| 562 | Handle raw block | |
| 630 | Handle spacing (standalone tags, partial indent) | |
| 897 | left line change detection | |
| 900 | right line change detection | |
| 903 | setup ahead flag | |
| 906 | reset partial indent | |
| 908 | same tags in the same line , not standalone | |
| 915 | not standalone because other things in the same line ahead | |
| 919 | not standalone because other things in the same line behind | |
| 924 | both side cr | |
| 925 | first line without left | |
| 926 | final line | |
| 928 | handle partial | |
| 940 | Handle space control. |