Ik ben op dit moment bezig met een extensie van een DefaultStyledDocument om te kunnen syntax highlighten. Het werk op zich wel oke, maar het is langzaam (ik vind het te langzaam 3000 regels duurt 10 seconden op p733 256mb met jdk1.4beta2 en jdk1.3.1)
Ik override op dit moment de insertString en mijn classe is geextend van DefaultStyledDocument. Als ik een string binnenkrijg met de insertString methode dan ga ik eerst kijken hoeveel tekst totaal gescanned moet worden en dat lex ik, en dan stukje voor stukje super.insertString aanroepen met de goeie kleuren. Het werkt allemaal goed.
Nu komt de grote maar. Ik ben door de insertString van DefaultStyledDocument gaan ploegen en daar wordt elke keer gelocked en geunlocked. Dus uiteindelijk ben je superveel tijd kwijt om te synchronizeren. En je bent dus onnodig langzaam. Een oplossing is dus aan het begin van mijn insert een lock aan te vragen en aan het einde weer te unlocken. Maar dan moet ik een hele lading methodes overriden (om daar de lock uit te halen) maar dit werkt ook niet.
Mijn vraag is of iemand ervaringen heeft met syntax highlighten. Ik heb al veel stukken code bekeken maar de meeste dingen waren slecht geimplementeerd, of slecht gedocumenteerd en wijken bijna allemaal af van DefaultStyledDocument.
[edit] vriendlijkheid++ && spelfouten-=2
Ik override op dit moment de insertString en mijn classe is geextend van DefaultStyledDocument. Als ik een string binnenkrijg met de insertString methode dan ga ik eerst kijken hoeveel tekst totaal gescanned moet worden en dat lex ik, en dan stukje voor stukje super.insertString aanroepen met de goeie kleuren. Het werkt allemaal goed.
Nu komt de grote maar. Ik ben door de insertString van DefaultStyledDocument gaan ploegen en daar wordt elke keer gelocked en geunlocked. Dus uiteindelijk ben je superveel tijd kwijt om te synchronizeren. En je bent dus onnodig langzaam. Een oplossing is dus aan het begin van mijn insert een lock aan te vragen en aan het einde weer te unlocken. Maar dan moet ik een hele lading methodes overriden (om daar de lock uit te halen) maar dit werkt ook niet.
Mijn vraag is of iemand ervaringen heeft met syntax highlighten. Ik heb al veel stukken code bekeken maar de meeste dingen waren slecht geimplementeerd, of slecht gedocumenteerd en wijken bijna allemaal af van DefaultStyledDocument.
[edit] vriendlijkheid++ && spelfouten-=2