[addon todopanel] TodoPanel

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Mikulas Dite
Člen | 756
+
0
-

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)

Patrik Votoček
Člen | 2221
+
0
-

ten link je nějáký nemocný…

Honza Kuchař
Člen | 1662
+
0
-

Já bych ty čísla přidal, asi jako další sloupeček té tabulky. Podle mě to pomůže orientaci.

Mikulas Dite
Člen | 756
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

Viz

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 | 2634
+
0
-

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 (2×). 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
+
0
-

Š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 (2×). 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
+
0
-

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
+
0
-

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 | 2634
+
0
-

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 (2×). 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)

Ped
Člen | 64
+
0
-

Diky, pomohlo.

Mikulas Dite
Člen | 756
+
0
-

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
+
0
-

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 | 2634
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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 | 2634
+
0
-
  • 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é na todoMask.
  • 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
+
0
-

Š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é na todoMask.

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
+
0
-

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 | 2634
+
0
-

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 pro

Tak, 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
+
0
-

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
+
0
-

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. :)

Šaman
Člen | 2634
+
0
-

Super, u mě dobrý (netestoval jsem to nijak do hloubky, ale co jsem zkoušel, to pracuje podle očekávání).

JakubJarabica
Gold Partner | 184
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

V addons https://componette.org/search/?… u todopanel-u teď nesedí ty odkazy na github

Ped
Člen | 64
+
0
-

Lopo: typ + farby tam su, otestuj + okomentuj.

Darkry
Člen | 101
+
0
-

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
+
0
-

Nette v novém sandboxu nepoužívá konstanty, ale params v kontextu. Updatuju to.

Editoval Mikulas Dite (31. 7. 2011 19:07)

Darkry
Člen | 101
+
0
-

Díky. Zkoušel jsem to sám, ale bohužel se mi to nepovedlo.

Mikulas Dite
Člen | 756
+
0
-

Fixed, nově to bude chtít v konstuktoru cestu, třeba $this->context->params['appDir'].

Darkry
Člen | 101
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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.

Darkry
Člen | 101
+
0
-

Zkusil jsem to, ale pořád ten samý problém. Gist je zde.

Ja
Člen | 260
+
0
-

U me stejny problem jako u Darkdry, nette2beta, php 5.2.

Mikulas Dite
Člen | 756
+
0
-

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
+
0
-

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
+
0
-

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)

Ja
Člen | 260
+
0
-

Jo, to bohuzel nevypada na opravu v posledni verzi nette, skoda :/

Darkry
Člen | 101
+
0
-

Takže momentálně není dostupná žádná možnost jak to opravit, popř. alespoň zjistit, kde je chyba?