From: <ni...@ge...> - 2006-12-15 23:48:27
|
Hi, Sorry for the late reply :( > Line highlighting: > > A special symbol could be used to specify line highlighting. If the symbol > appears as the first token of a line, the symbol is ignored and the line > marked for highlighting (so the generic rendererclass must know the notion > of > highlighted lines). A symbol could be set as default and overwritten by a > specific language as needed. The default symbol should be usable in as > many > langauges as possible. For example the pipe could be used. I dont think > many > languages allow the pipe as their first symbol of a line. > The line highlighting should only be triggered if the text which is > highlighted has more than one line. GeSHi 1.0.X already does this, by marking a line with >>> at the start and <<< at the end. Something like you describe might be better, although I don't see why only one line at a time couldn't be highlighted. If this was to happen, it should probably support the old way as well, for BC. For implementation, I'd be tempted to try removing the markers from the lines and recording which lines they're on _before_ the parsing happens. So somewhere in GeSHi::parseCode before the root context parses the code. > Renderer setup: > > A setup method for the renderer which is called before all rendering > starts. A good idea. > An easy way to create a css stylesheet for a theme (including styles for > all > supported languages). And information for the renderer to now the > appropriate > classes for the output. What is probably needed is a method that outputs whatever "metadata" is required for a theme. You had it in the header method for your renderer, it just would need splitting out into a new method. And also, a helper method, that given $this->_styler->_styleData, makes CSS. This method should be in the GeSHiRenderer class and overridable by each renderer, as for example a renderer might not want to output CSS metadata, but something else. > I am willing to implement this if the suggestions are ok. That would be great ;). If we can sort out the issues above, I'm happy for you to do it. Nigel |