[addon todopanel] TodoPanel
- Mikulas Dite
- Člen | 756
Diskuse ke stránce TodoPanel
Myslíte, že by stálo za to nějak tvořit odkazy přímo na otevření
souboru?
Má cenu přidávat čísla řádků? Na první pohled ano, ale spíš je to asi
zbytečný – a navíc to přiměje to dobře todo pojmenovávat.
Tohle i všechny další návrhny na vylepšení vítám.
Editoval Mikulas Dite (17. 5. 2010 18:54)
- Honza Kuchař
- Člen | 1662
Já bych ty čísla přidal, asi jako další sloupeček té tabulky. Podle mě to pomůže orientaci.
- Mikulas Dite
- Člen | 756
vrtak-cz napsal(a):
ten link je nějáký nemocný…
Ajo, ale nejde to opravit. Resp je to správně, navíc takhle se to vygenerovalo. Davide, jestli sem zavítáš: je to rozbitý.
honzakuchar napsal(a):
Já bych ty čísla přidal, asi jako další sloupeček té tabulky. Podle mě to pomůže orientaci.
Tak ok, dík za názor – asi to nakonec přidám. Zabere to docela dost času při generaci navíc, ale zatim to neni tak hrozný (max 10 ms pro cca 30 souborů).
- JakubJarabica
- Gold Partner | 184
Ešte by bolo fajn ošetriť stav, kedy je súbor vytvorený, ale je prázdny. Vtedy to zlyhá na druhom parametri fread, ktorý je v tom prípade nulový. Stalo sa mi to, lebo som mal vytvorený template, ktorý ešte len som šiel robiť, čiže je to celkom reálna situácia.
Plugin je to síce pekný, ale bohužiaľ nepoužiteľný, nakoľko pri mojich 206 súboroch to prečerpalo 60sekundový time-limit. A to mám v appske len dva celkom veľké moduly.
- Mikulas Dite
- Člen | 756
Prázdné fixnu, díky.
Každopádně ale takhle dlouho to určitě normálně netrvá – ověřim to, ale viděl bych to na problém jinde. Každopádně zrychlení ještě určitě proběhne.
- Mikulas Dite
- Člen | 756
Co se týče prázdných souborů, tak todoPanel tim netrpí. Spíš to dělá presenterTree, tam je tenhle bug (teda, už ne, brzo to commitnu).
- Mikulas Dite
- Člen | 756
Parser komentářů jsem opravil – místo obrovského regexu jsem nakonec šel cestou exploze řádků – mělo by to být rychlejší. Přidal jsem public pole s těmi uvozujícími slovy (todo, fix me, atp.).
A nakonec jsem po zvážení přidal i podporu pro
/* neco @todo MMR: vyresit a sjednotit nastaveni v debug a production mode */
protože zapomenout někde todo by nebylo dobré.
Editoval Mikulas Dite (14. 5. 2010 16:50)
- Šaman
- Člen | 2659
Luxus, odzkoušel jsem a nachází to vše. Dokonce to našlo i jedno staré todo o kterém jsem ani nevěděl (bylo ve víceřádkovém komentáři).
Nastavitelné pole patternů je super, protože jinak mi to tvoří todočka všude, kde používám ‚xxx‘ jako zástupný řetězec. Takhle mi to akceptuje jen ‚todo‘ a žádná falešná todočka to nevymýšlí.
Používám upravený repozitář (viz první komentář na stránce TodoPanelu) protože jinak mi to zaplaví spousta duplikovaných řádků z tempu a .svn. Je nějaký důvod, proč tuto úpravu (ignorování tempu, logu, sessions a .svn adresářů) nezahrnout do oficiální distribuce?
Našel jsem chybku na řádku 160 (v originálním repozitáři je to 158): nezakomentované zpětné lomítko v názvu třídy (2x). A když už se komentuje cesta ke třídě, možná by se měla zakomentovat i část ‚namespace a use‘, hned na začátku. (bude to kompatibilní se základní verzí Nette)
A chyba je v úvodním odkaze (v tomto vlákně) na addons, můžeš tam
dát odkaz napevno?
("stránka TodoPanelu":https://componette.org/search/?q=todopanel
)
Editoval Šaman (17. 5. 2010 12:43)
- Mikulas Dite
- Člen | 756
Šaman napsal(a):
Používám upravený repozitář (viz první komentář na stránce TodoPanelu) protože jinak mi to zaplaví spousta duplikovaných řádků z tempu a .svn. Je nějaký důvod, proč tuto úpravu (ignorování tempu, logu, sessions a .svn adresářů) nezahrnout do oficiální distribuce?
Myslel sem že už to tam je, nějak sem si pomotal fork a master. Dík, měl bych to tam přidat.
Našel jsem chybku na řádku 160 (v originálním repozitáři je to 158): nezakomentované zpětné lomítko v názvu třídy (2x). A když už se komentuje cesta ke třídě, možná by se měla zakomentovat i část ‚namespace a use‘, hned na začátku. (bude to kompatibilní se základní verzí Nette)
Přešel sem na 5.3, tzn. zakomentované to nebude vůbec.
A chyba je v úvodním odkaze (v tomto vlákně) na addons, můžeš tam dát odkaz napevno?
("stránka TodoPanelu":https://componette.org/search/?q=todopanel
)
Vím o tom, ale napevno sem to tam dávat nechtěl, spíš by mě zajímalo proč to nefunguje tak jak to je – tohle mi vygenerovala wiki.
- Mikulas Dite
- Člen | 756
Mikulas Dite napsal(a):
Myslel sem že už to tam je, nějak sem si pomotal fork a master. Dík, měl bych to tam přidat.
Přesně tak. Ono to tam už je, ale s velice ošlivým typo. V nejnovější verzi už to běží dobře.
- Ped
- Člen | 64
asi predelam ten parser komplet, at to ma nizsi pametove naroky a vyplivne to i cisla radku.
Jenom pro jistotu abych si ujasnil pravidla pro parsovani commentu:
kod //LINECOMMENT
kod // /* LINECOMMENT
kod /* // BLOCKCOMMENT .. \n \n /* /* */ kod
a „\“ v PHP na konci radku nefunguje jako v C/C++, ne? (t.j. v PHP zpetne
lomitko neudela nic a radek konci, v C/C++ prodlouzi radek na dalsi vcetne
radkoveho komentare)
Jeste premyslim nad systemem priorit, ze po „todo“ znacce pokud bude nasledovat par hvezdicek, tak je spocte a dle toho tomu priradi prioritu. A pak soubory utridi dle nejakeho vztahu sum vs max. (treba „//TODO ***** tady chybi neco dulezite“ = velmi dulezite)
Nejake dalsi napady nebo pripominky? A potvrdte mi prosim nekdo ze ty commenty chapu spravne. :)
Editoval Ped (18. 5. 2010 9:52)
- Šaman
- Člen | 2659
Našel jsem chybku na řádku 160 (v originálním repozitáři je to 158): nezakomentované zpětné lomítko v názvu třídy (2x). A když už se komentuje cesta ke třídě, možná by se měla zakomentovat i část ‚namespace a use‘, hned na začátku. (bude to kompatibilní se základní verzí Nette)
Přešel sem na 5.3, tzn. zakomentované to nebude vůbec.
Aha, v tom upraveném forku to bylo obcas zakomentovane, obcas ne, ale teď už jedu na master verzi, vypadá bugless a v PHP 5.2 stačí zakomentovat jen tu „namespace & use“ sekci a jede to.
Já su spokojen, čísla řádků mi skutečně nijak nechybí a todolisty v souboru mi fungují taky, jen je prostě uvozuji dvojlomítkem.
Takže díky ti.
Edit: Teď jsem se díval na ty komentáře v php manuálu a pbjevil jsem
# shell syntax comment
, který TodoPanel neumí. Asi by stálo za
to ho přidat, ať to máme podle normy. Sice ho v php nepoužívám, ale hodil
by se mi do todolist.txt
, kde bych jednotlivé položky uvozoval
jedním znakem (#) místo dvou (//).
2 Ped:
<?php
echo 'This is a test'; // This is a one-line c++ style comment
/* This is a multi line comment
yet another line of comment */
echo 'One Final Test'; # This is a one-line shell-style comment
/**
* This is PhpDoc syntax
* @todo xxx
*/
?>
viz manuál
Editoval Šaman (18. 5. 2010 10:40)
- Mikulas Dite
- Člen | 756
Parser určitě chci předělat, tak jak je teď se mi vůbec nelíbí. A přidám i komentáře s #, úplně sem na to zapomněl.
- Ped
- Člen | 64
Mikulas Dite napsal(a):
Parser určitě chci předělat, tak jak je teď se mi vůbec nelíbí. A přidám i komentáře s #, úplně sem na to zapomněl.
Koumal jsem nad tim, koumal, zkousel, dumal a delat vlastni parser na vsechny
moznosti vcetne treba ignorovani retezcu a jine PHP syntaxe… se mi proste
vubec nechtelo.
Nakonec jsem skoncil u
$tokens = token_get_all( file_get_contents( 'safe://'.$path ) );
a naslednem parsovani comment tokenu.
Jeste to nemam uplne dodelane a uz musim jit, takze az zitra commitnu funkcni kod. Ale minimalne na cistem php to funguje perfektne vcetne cisla radky. (jeste u blokovych komentu mam jenom cislo prvniho radku celeho bloku, tak mozna tam dopocitam opravdovy radek samotneho todo).
Problem c.1: v template.phtml to (logicky) comments najde jenom pokud jsou
soucast PHP kodu skrz <?php
znacku, latte {?
se
ignoruje.
Puvodni TodoPanel pres regexpy najde vsechno.
Problem c.2: ne-PHP casti souboru to ignoruje uplne
Vzhledem k tomu ze si tady piseme asi vsichni aktualni uzivatele TodoPanelu,
jaky mate nazor na TODO commenty v sablonach? Pouzivate, nepouzivate, stacilo
by vam <?php //TODO neco neco ?>
nebo vam bude chybet treba
i Latte {* TODO v latte commentu *}
?
Ja osobne si vystacim s cistym *.php a ignorovanim jinych souboru, ale parsovat regexpem .phtml, .css a .js mi prijde jako taky lakava moznost (asi bez cisel radku). Ale to znamena ze tam bude tech parseru nekolik dle typu souboru.
- Šaman
- Člen | 2659
Já používám todočka i mimo PHP kód. Rozhodně bych to neomezoval,
resp. možná by se dal nastavit striktní mód, ve kterém to bude akceptovat
jen syntakticky správné PhpDoc anotace (jestli se nepletu tak jen
@todo
) v komentáři v php bloku, a standardní mód, ve kterém
se to snaží najít cokoliv, včetně xxx
apod.
Já si jen do regulárního výrazu pro jednořádkový komentář přidal
křížek: ('~//...
jsem změnil na ('~(//|\#)...
a
jsem spokojen.
Přeci jen to má sloužit jako todolist celého projektu, takže i třeba v .css, nebo .sql dumpech (tam se zrovna hodí ten křížek).
Jen bych ještě prohodil pořadí parsování jednořádkových vs. víceřádkových komentářů, protože teď mi to v rámci jednoho souboru vypisuje nejprve jednořádková todočka a pak teprve todočka v PhpDoc bloku (a ty považuji za důležitější, ty se objeví i v dokumentaci).
Tu prioritu s hvezdičkama asi používat nebudu.
P.S. S rychlostí nemám na středně velkých projektech (2 moduly, každý několik presenterů, asi 10 tříd v modelu a asi 10 šablon, 5 komponent) problém, zpoždění jsem nepozoroval.
Editoval Šaman (18. 5. 2010 14:08)
- Mikulas Dite
- Člen | 756
Ped napsal(a):
Pouzivate, nepouzivate, stacilo by vam<?php //TODO neco neco ?>
nebo vam bude chybet treba i Latte{* TODO v latte commentu *}
?
Používám je všude, podpora pro latte přijde přibude (jestli přepíšeme parser).
Šaman napsal:
Jen bych ještě prohodil pořadí parsování jednořádkových vs. víceřádkových komentářů, protože teď mi to v rámci jednoho souboru vypisuje nejprve jednořádková todočka a pak teprve todočka v PhpDoc bloku (a ty považuji za důležitější, ty se objeví i v dokumentaci).
Vím o tom, to je to co mi na parseru vadí nejvíc. V novém to bude postupně, tak jak se to objeví v kódu.
Tu prioritu s hvezdičkama asi používat nebudu.
Já taky určitě ne, je to moc psaní navíc. Todo chci tvořit během pár vteřin (často když potřebuju někde pokračovat po nějakém čase) a na zvýraznění stačí i třeba ###, all caps atd.
P.S. S rychlostí nemám na středně velkých projektech (2 moduly, každý několik presenterů, asi 10 tříd v modelu a asi 10 šablon, 5 komponent) problém, zpoždění jsem nepozoroval.
To sem rád, přesto doufám že to ještě někde bude hodně vylepšené. Ještě jednou – nové vyhledávání todo bude mnohem lepší, rychlejší a hezčí : ).
\\Edit:
Ped napsal:
token_get_all
Abych se přiznal, tak sem o tom vůbec nevěděl. Bohužel ale neumí vlastní ohraničení (latte filter) a navíc vyžaduje další parser toho samotného commentu, resp. hlavně multiline comment potřebuje najít správný výraz a vytisknout jenom řádek. Ani Nette annotation není úplně vhodná, protože neumí ostatní komenty (a je to tak dobře, jenom že sem si na ní předtim vzpomněl).
Editoval Mikulas Dite (18. 5. 2010 19:14)
- Ped
- Člen | 64
muj aktualni nazor (jeste ho mozna zmenim, ale zacina mi to sedet):
- .php soubory skrz get_token .. vyzaduje to sice dalsi regexp na samotny comment, ale mam jistotu ze regexpuji jenom commenty a nic jineho (treba nejake retezce s „/ todo textem */“ a to naprosto validne dle php syntaxe. U Nette je .php navic cisty kod, takze nevadi ze to nehlida html casti .php souboru. Jako bonus budu mit cisla radku. Bonus c.2 – todo budou v poradi v jakem se vyskytuji v souboru (eventuelne muzu klidne udelat pro doc block prioritu ze bude pred obycejnymi).
- .phtml, *.css, *.js, ostatni – regexpy skrz cely text vylazene na dany typ souboru (latte commenty { *}), ale vesmes v techto souborech bych to videl tak ze "TODO " je klicove slovo a nejake komenty ve vetsine pripadu stejne nedavaji smysl, treba u TXT a pod. Takze tam je to pak myslim ok kdyz ten regexp zachyti vse. Bez cisel radku.
- ja si pro sebe dodelam priority, ale jestli je nechcete, tak nemusite, nikoho nutit nebudu :). Ale ja mam bezne pres 10–20 todo v kodu s tim ze nektere nejsou v dane chvili vubec dulezite, ale zase uplne smazat je taky nechci.
- Mikulas Dite
- Člen | 756
Docela hodně sem to teď předělal, hledání todo je už extrémně rychlé. Ale netestoval sem to, takže to snad pošlape. Čísla řádků to má, ale ještě se nezobrazují. Všechno se teď řadí podle výskytu v souboru. Přidal sem podporu #. Latte filter teprv čeká, ale taky neni problém přidat. Smáznul sem highlight, kdyžtak ho pustim až se mi bude líbit, ale teď vypadal v kódu hrozně.
Hrozně moc mi vadí tenhle foreach – máte nápad jak se ho zbavit?
\\Edit: Jo a pro single a shell commenty se přidává celá trim řádka, tzn pro
function generateWebpage($style) { //todo
/* resp. */
function generateWebpage($style) { #todo
vypíše do panelu function generateWebpage($style) {
.
(A sakra, asi to zatim vypisuje i ten koment, ale to zrušim).
Editoval Mikulas Dite (18. 5. 2010 22:36)
- Šaman
- Člen | 2659
rozhodně bych nechal nastavitelné patterny (teď mi tam hodně překáží XXX které používám jako zástupný řetězec)Aha, tak se jen změnil název proměnné natodoMask
.- zvýrazňování keywordů jsem používal (nadefinoval jsem si zkratky programátorů a pak bylo zvýrazněné koho se dané todo týká). Líbilo by se mi i volitelné zvýrazňování v názvu souboru (MMR.todolist by zvýraznilo keyword MMR).
- na konci todočka to nechává konec komentáře (
*/
) - v nonPHP souborech to momentálně vypisuje celou řádku (např.
# @todo Tooltipy k formularum
) a pritom to stále zpracuje jen ty, které jsou zakomentované jako v php (na to už jsem si zvykl a začalo se mi to i líbit. Odstranit todočko v todolist.txt znamenalo změnit křížek na jiný znak, nemusel jsem mazat celý řádek) - a myslím si, že by za patternem (třeba
todo
) měla následovat mezera (nebo TAB, či konec řádku). Pochybuji, že si někdo píše:todoTohle dodelat
. Teď mi to vypisuje i tohle://$todoPanel->pattern = array('todo');
Obecně ke změnám:
- řadit podle výskytu: Jsem pro
- možnost nastavit prioritu: nebude mi vadit, pokud mi nepřehází pořadí (když hvězdičky nebudou)
- čísla řádků: nechal bych to na uživateli, tzn. přepínač (jestli budou defaultně ON nebo OFF je mi jedno). Jestli je budu používat závisí i na tom, jestli neznepřehlední výsledky. Ale když budou ON, tak i v nonPHP souborech, pls. Pokud to nebude problém. (Zrovna v SQL dumpech by se mohly hodit).
- vypisovat celý řádek, pokud za
todo
neni komentář: Jsem pro - patterny a zvýrazňování už jsem zmiňoval
Editoval Šaman (19. 5. 2010 10:35)
- Mikulas Dite
- Člen | 756
Šaman napsal(a):
rozhodně bych nechal nastavitelné patterny (teď mi tam hodně překáží XXX které používám jako zástupný řetězec)Aha, tak se jen změnil název proměnné natodoMask
.
Tak, chtěl sem aby to bylo všude stejné a ostatní jsou ~mask.
- zvýrazňování keywordů jsem používal (nadefinoval jsem si zkratky programátorů a pak bylo zvýrazněné koho se dané todo týká). Líbilo by se mi i volitelné zvýrazňování v názvu souboru (MMR.todolist by zvýraznilo keyword MMR).
Featurka navíc, ale bylo to ošklivě napsané. Předělám to do Html::el.
- na konci todočka to nechává konec komentáře (
*/
)
Dík, to zmizí.
- v nonPHP souborech to momentálně vypisuje celou řádku (např.
# @todo Tooltipy k formularum
) a pritom to stále zpracuje jen ty, které jsou zakomentované jako v php (na to už jsem si zvykl a začalo se mi to i líbit. Odstranit todočko v todolist.txt znamenalo změnit křížek na jiný znak, nemusel jsem mazat celý řádek)
Jak sem psal, jednořádkové komenty automaticky vypíšou celou řádku (a zatim i ten koment, ale to ještě ošéfuju)
- a myslím si, že by za patternem (třeba
todo
) měla následovat mezera (nebo TAB, či konec řádku). Pochybuji, že si někdo píše:todoTohle dodelat
. Teď mi to vypisuje i tohle://$todoPanel->pattern = array('todo');
Určitě opravím
Obecně ke změnám:
- řadit podle výskytu: Jsem pro
- možnost nastavit prioritu: nebude mi vadit, pokud mi nepřehází pořadí (když hvězdičky nebudou)
možná časem, moc se mi nelíbí
- čísla řádků: nechal bych to na uživateli, tzn. přepínač (jestli budou defaultně ON nebo OFF je mi jedno). Jestli je budu používat závisí i na tom, jestli neznepřehlední výsledky. Ale když budou ON, tak i v nonPHP souborech, pls. Pokud to nebude problém. (Zrovna v SQL dumpech by se mohly hodit).
určitě je tamt přidám, Určitě to vůbec překážet nebude.
- vypisovat celý řádek, pokud za
todo
neni komentář: Jsem pro
Tak, jenom pokud tam neni komentář.
- Ped
- Člen | 64
Tak nejak jsem se pokusil sesbirat vse co tu padlo do konkretnich testovacich
souboru, abych mel nad cim porovnavat pripadne vyvojove verze novejsich
parseru:
https://github.com/…25f56d0e49ae
No, myslim ze parser ktery by tohle vsechno rozsifroval na 100% je overkill, treba ty predcasne ukonceni radkovych komentaru tagem, ale pro poradek jsem tam zkusil narvat vsechny mozne chytaky co mne napadli. Aha, jeste php commenty lze udelat trochu zajimavejsi, commitnu za 5min upravu… :)
- Šaman
- Člen | 2659
Mikulas Dite napsal(a):
Jak sem psal, jednořádkové komenty automaticky vypíšou celou řádku (a zatim i ten koment, ale to ještě ošéfuju)
vypisovat celý řádek, pokud za
todo
neni komentář: Jsem proTak, jenom pokud tam neni komentář.
Tak teď nevím přesně jak to myslíš. Chápu to tak, že by
i jednořádkové komenty vypsaly jen obsah todočka, pokud je vyplněn (tj, je
něco za todoMaskou). Pokud není, tak celý řádek do todoMasky do
zacatku komentáře:
<?php
$prom = kusKodu(); //todo text
// by melo vypsat jen: text
$prom = kusKodu(); //todo
// by melo vypsat: $prom = kusKodu();
// ale tento zpusob se nedoporucuje - je to spis jen znacka nez todocko
?>
Editoval Šaman (19. 5. 2010 13:41)
- Mikulas Dite
- Člen | 756
Ped napsal(a):
No, myslim ze parser ktery by tohle vsechno rozsifroval na 100% je overkill, …
Skoro všechny sem přidal, ale tak, aby odpovídali komentářům. Díky za nápad na test, konečně se možná naučim je používat : ).
Přidal sem latte a html filter; současné podporované syntaxe.
Z toho se vygeneruje například:
9 => comment 6 /*
17 => /* fixme comment 8*/
což nejsou chyby, ale správně naparsované bloky.
Co je trošku problém je kontrola, jestli se zrovna nenacházíme ve stringu – to by bylo hodně procesorově náročný.
- Ped
- Člen | 64
Trochu jsem se v tom dnes nimral kdyz jsem mel cas, tak jsem par veci
opravil.
(snazil jsem se drzet na uzde, neprepisovat kod jenom proto ze ja bych ho napsal
jinak a opravdu jenom fixovat drobne chybky)
A netusim jak poustis ten test, takze ten si oprav sam.
Pokud ti nejaka zmena vadi, napis to sem, prodiskutujeme proc jsem co udelal a pripadne se to revertne. :)
- JakubJarabica
- Gold Partner | 184
BUG report: Nespracováva mi to todočka v /templates, nakoľko priečinok templates skončí na tomto riadku: TodoPanel.php#L142, takže predpokladám, že je zle vytvorený regulárny výraz, keďže pri zakomentovaní temp v tomto poli: TodoPanel.php#L48 tie todočka nájde. Som lenivý poslať fix, lebo reguláry nemám rád :-[. Vďaka za opravu!
- Ped
- Člen | 64
JAM3SoN napsal(a):
BUG report: Nespracováva mi to todočka v /templates, nakoľko priečinok templates skončí na tomto riadku: TodoPanel.php#L142, takže predpokladám, že je zle vytvorený regulárny výraz, keďže pri zakomentovaní temp v tomto poli: TodoPanel.php#L48 tie todočka nájde. Som lenivý poslať fix, lebo reguláry nemám rád :-[. Vďaka za opravu!
Skutecny problem je tady: TodoPanel.php#L48
Ja osobne povazuji ten default za nestastny, ale autorovi se zas nelibi kdyz tam
jsou lomitka. Ale jinak to funguje spravne a dela to presne to co ma, vzhledem
k tomu ze „template“ obsahuje „temp“.
Muj init panelu vypada treba takhle:
<?php
$tdpanel = new Panel\TodoPanel( APP_DIR.'/..',
array( '/.git/', '/.svn/', '/app/sessions/', '/app/log/', '\\app\\temp\\', '/tests/codecoverage/' ) );
//$tdpanel->addDirectory( LIBS_DIR.'/TodoPanel' );
Debug::addPanel( $tdpanel );
?>
Vid. TodoPanel.php#L212
Editoval Ped (2. 6. 2010 15:33)
- Mikulas Dite
- Člen | 756
Ped napsal(a):
Ja osobne povazuji ten default za nestastny, ale autorovi se zas nelibi kdyz tam jsou lomitka. Ale jinak to funguje spravne a dela to presne to co ma, vzhledem k tomu ze „template“ obsahuje „temp“.
Aha, to máte recht, já tam ty lomítka chtěl – ne u každého, ale při tom vkládání do regexu. Zapomněl sem na to, to tam má samozřejmě být.
- Ped
- Člen | 64
Mikulas Dite napsal(a):
Ped napsal(a):
Ja osobne povazuji ten default za nestastny, ale autorovi se zas nelibi kdyz tam jsou lomitka. Ale jinak to funguje spravne a dela to presne to co ma, vzhledem k tomu ze „template“ obsahuje „temp“.
Aha, to máte recht, já tam ty lomítka chtěl – ne u každého, ale při tom vkládání do regexu. Zapomněl sem na to, to tam má samozřejmě být.
To zas nechci ja, to by pak neslo dat obecny pattern ktery to ma najit kdekoli v ceste. Ja jsem spokojenej s tim jak je to ted (jenom pouzivam vlastni nastaveni ignore masky).
- Mikulas Dite
- Člen | 756
Ped napsal(a):
To zas nechci ja, to by pak neslo dat obecny pattern ktery to ma najit kdekoli v ceste. Ja jsem spokojenej s tim jak je to ted (jenom pouzivam vlastni nastaveni ignore masky).
Jo, pravda. V nejnovějším commitu jsem to vrátil.
- Lopo
- Člen | 277
dalo by sa pridat do tabulky aj vypisanie typu todo ? pac teraz je tam len
subor+riadok a popis … dost by mi pomohlo aj keby tam dalo typ, tj TODO, XXX,
FIXME a pod – a este keby boli farebne rozlisene …
osobne by som to celkom uvital zaroven s podporou priority podla
hviezdiciek – napr typ by urcil farbu a pocet hviezdiciek jej sytost
jo a na githube mas zapisane issue :)
- ic
- Člen | 430
V addons https://componette.org/search/?… u todopanel-u teď nesedí ty odkazy na github
- Darkry
- Člen | 101
Tak bych chtěl upozornit, že při použití s nejnovějším nette to
hází: Use of undefined constant APP_DIR - assumed 'APP_DIR'
,
bohužel moc nevím jak to opravit, protože po každé změně v bootstrapu
nebo v TodoPanel.php mi to hodí „Tato webová stránka není dostupná.“
(což taky nechápu, ale to je jedno).
Každopádně problém je zde:
public function __construct($basedir = APP_DIR, $ignoreMask = array('.git', '.svn', 'cache', 'log', 'sessions', 'temp'))
- Mikulas Dite
- Člen | 756
Nette v novém sandboxu nepoužívá konstanty, ale params v kontextu. Updatuju to.
Editoval Mikulas Dite (31. 7. 2011 19:07)
- Mikulas Dite
- Člen | 756
Fixed,
nově to bude chtít v konstuktoru cestu, třeba
$this->context->params['appDir']
.
- Darkry
- Člen | 101
Tomu teda nerozumim, ale v BasePresenteru dám:
public function startup() {
parent::startup();
\Panel\Todo::register($this->context->params['appDir']);
}
a server mi při načítání stránky vyhodí:
Tato webová stránka není dostupná. Chyba 101(net::ERR_CONNECTION_RESET): Připojení bylo resetováno.
Přitom funkce register() se vykoná, protože pokud v ní udělám chybu hodí mi to laděnku.
- Mikulas Dite
- Člen | 756
Jestlis opravdu stáhnul novou verzi (tzn. 2.2
), tak by to mělo
fungovat. Jestli ne, tak prosím zjisti proč, z takovéhle chyby to těžko
opravím.
- Darkry
- Člen | 101
Novou verzi mám. Problém je, že ani já nevim, kde by mohl být problém.
Zkoušel jsem jestli se vykonají příkazy v __construct
správně
a zdá se že ano. Navíc se nevyhodí laděnka ani v lozích není nic
uloženo. Pouze mi prohlížeč ohlásí:
Chyba 101(net::ERR_CONNECTION_RESET): Připojení bylo resetováno.
.
Popravdě řečeno nevím si s tím moc rady.
- Mikulas Dite
- Člen | 756
Mě to funguje, takže maximálně můžeš zkusit registrovat panel v bootsrapu (s nějakou statickou cestou) a přes konstruktor, ne register metodu. Bude tam potom jiný scope (což nevím jestli bude v něčem dělat rozdíl, uvidíme). Pokuď se ti debugger rozchodit nepodaří, můžeš zakomentovávat kód. Třeba na gist pak pošli zakomentovanou verzi, kterou ještě spustíš a třeba s toho něco vykoukáme.
- Mikulas Dite
- Člen | 756
To není stejná chyba. Ty používáš php 5.2… Namespace jsou v php od verze 5.3, takže asi tak.
Pro 5.2 TodoPanel nemám, ale můžeš si zkusit odstranit ty namespace ručně. Nahoře jsou usings, v kódu exceptions.
Editoval Mikulas Dite (3. 8. 2011 15:47)
- Ja
- Člen | 260
Jo aha, promin, spatne jsem si to precetl. Samozrejme jsem zakomentoval use i namespace, String:: prepsal na Strings::…
v BasePresenteru mam
<?php
public function startup(){
parent::startup();
Todo::register($this->context->params['appDir']);
}
?>
a zhavaruje to tak, ze se nenacte vubec nic a firefox rve, „chyba pri nacitani obsahu“ :/
edit: prave tohle mi prijde, jako absolutne nejuzitecnejsi komponenta do debugpanelu, proto bych ji velice rad rozjel
edit2: projel jsem apache log a nic tam neni, nejak nevim, ceho se chytnout
Editoval Ja (3. 8. 2011 17:03)
- Mikulas Dite
- Člen | 756
To je obecně problém panelů, že při nějakých chybách to spadne. David jednou commitnul něco, co to mělo opravit, ale ještě tam něco zbylo. Mrknu na to.
Edit: myslím tenhle commit: https://github.com/…b05e853b6a06
Debug: exceptions thrown in _exceptionHandler() are converted to die() to prevent „Fatal error: Exception thrown without a stack frame in Unknown on line 0“
Editoval Mikulas Dite (3. 8. 2011 17:52)