{syntax double} ignoruje Latte komentáře
- nanuqcz
- Člen | 822
Ahoj,
doufám, že to nebyl záměr, ale když mám takovouto šablonu:
{syntax double}
{**
* tohle bych čekal, že se ve výstupu objeví, závorky nejsou zdvojené
*}
{blabla}
jeho výstupem je:
{blabla}
První tři řádky chybí. Čekal bych, že pokud použiju
{syntax double}
, budu muset zdvojit i závorky u
{* komentářů *}
.
PHP 5.3, Nette 2.0 Alpha 2 s namespace
Díky
- Mikulas Dite
- Člen | 756
A jo, to vypadá jako chyba.
Regex pro comment je ale tady https://api.nette.org/…ser.php.html#389
a všechny se odstraní ještě předtím, než nastoupí makra (tzn. ještě se
neví, co je tam za kontext a macro syntax).
Zkusil jsem to opravit: https://github.com/…796922c35b6e
Můžeš to prosím otestovat? Jestli to bude fungovat pořádně (mě to funguje, ale pro jistotu), tak pošlu pull request.
Edit: funguje to, když se to nejmenuje *
. Ještě to opravím.
: )
Editoval Mikulas Dite (30. 4. 2011 21:09)
- Mikulas Dite
- Člen | 756
Fix: https://github.com/…70f8dfb267a9
Zamezí to výstupu přes čištění bufferu. Šlo by to udělat i tak, že to v komentu se vůbec nepustí, ale bylo by to složitější. Má to cenu psát?
Zkusil jsem pustit testy a prošlo to stejně, jako bez těch změn (cca 5–6 failů, většina fatal, ale to je na jiné vlákno).
- nanuqcz
- Člen | 822
Sry, moc tě nechápu:
Mikulas Dite napsal(a):
Edit: funguje to, když se to nejmenuje
*
. Ještě to opravím. : )
Co pokud se jmenuje *
?
Mikulas Dite napsal(a):
Zamezí to výstupu přes čištění bufferu. Šlo by to udělat i tak, že to v komentu se vůbec nepustí, ale bylo by to složitější. Má to cenu psát?
Rozumím jen cca každému druhému slovu (obrazně řečeno) :-)
Využívám to takto:
{syntax double}
{**
* Nějaký text
* {{$promenna}} //tato proměnná potřebuju, aby se zpracovala
*}
Každopádně vyřešil jsem to docela jednoduše:
{syntax double}
{{={}}**
* cokoliv
*}
takže opravovat to jen kvůli mě netřeba. Spíš jsem myslel, že by bylo dobré, aby se o té chybě vědělo, proto jsem to tu napsal ;-) Díky
- Mikulas Dite
- Člen | 756
Přemýšlel jsem nad tím a možná to není tak úplně špatně.
Komentáře se teď odmažou ještě před makry a funguje to krásně. Cokoliv
bych tam vložil makrem, třeba text z databáze, bude mít ten komentář ve
výstupu ať je tam jakákoliv syntaxe. Ty komentáře jsou stejně pro
vývojáře a hodně často na testování, takže tam asi nemá moc cenu double
syntax používat. Javascript, hlavní kandidát na syntax double snad nikdy
nemá v kódu {*
, takže to by mělo být v pohodě.
Spíš je trošku wtf, že při nastavení syntax na python/asp jsou
komentáře pořád {* *}
.