Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/virtual/benny-baumann.de/blog/htdocs/wp-includes/post-template.php on line 316

Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/virtual/benny-baumann.de/blog/htdocs/wp-includes/post-template.php on line 316

BenBE's humble thoughts Thoughts the world doesn't need yet …


Some updates on developement

Filed under: GeSHi — Schlagwörter: , , , — BenBE @ 23:13:00

Many might have wondered why there hasn’t been any official release for quite some time and well, that’s a somewhat complicated story to tell. But let’s start with the easy parts.

The last release I came around to package was which (except for the usual minor problems with language files) works quite well. There have been only few changes to language files and even less to the actual parser – not to say there weren’t actually any. So there’s not much in that’s actually new compared to its predecessor, thus there would have been quite some work packaging and announcing a release without much real news.

In addition to this the release fell into a period of quite high study workload thus I only tagged the release version inside the version control system. There’s no packaged version for yet, but I’ll hand it in later. And if you wonder: I know – according to schedule – the release of is due soon to. Thus even if the official package will be released soon I suggest you update to straight away.

Apropos next release: X-Mas is coming up and I for all the webmasters that love updating on holidays I have a special present for you: A Damn Good Looking release that’s a Phantastic Object to Enhance Ur Server with. You wonder why? Well, you’ll see ^^

So after giving a sneak preview let’s come to recent developements on another aspect of GeSHi. As many might know there’s a developement branch which is called 1.1.X when referred to. That branch got quite some updates recently too that are remarkable in their own way. First off there’s a renderer for Pango-compatible output that allows you to use GeSHi even when creating graphics or to print colored strings in your own application. Another addition in regards to the renderers are some small bugfixes for the ANSI rendering. Also there have been some changes in the styling API GeSHi uses for renderers to allow for the increased variaty of output formats and their different capabilities.

But enhancing the new developement strand in respect to the parser hasn’t been the only thing we were working on. Because only having a good parser isn’t enough to produce remarkable results. Thus there has been some work on the language files and the language Parsers that help to produce more accurate highlighting than just simple string replacement (which the stable version does) ever could. To ease testing this new version for you, there’ll be a beta release of the developement branch too.

All together this will be quite some eventfull X-Mas with lots of releases, enhancements and corrections over earlier versions. But I hope know you’ll like them! And as this old year ends active I’m sure the new year will bring many news too! Though, more on this later in an upcoming post that will detail the preview for next year …

Until then I wish you a peaceful time and a merry X-Mas!

Flattr this!


  1. Nice news, will wait for new release of GeSHi.

    Some questions:
    1) have in plans changing linsence? maybe to LGPL?
    2) does GeSHi supports various colour themes? Without editing lang-files. Like this http://www.andre-simon.de/doku/highlight/en/highlight_demo.html

    Kommentar von Koc — 15.12.2009 @ 15:19:48

  2. In regards to the licensing issue I regularly get requests but I’ll stick with my position that changing the licence will no happen any time soon. IMO GPL is sufficent for most applications and for those that aren’t there’s always the way to ask for getting an explicit permission for use with another licence if you can convince me that I gain something too. So far noone succeeded trying this.

    For the second point: Yes. GeSHi offers at least three ways to do this: First way is using so-called $langname.style.php files that can generate language specific styles. These are to be put into the language file directory and are loaded by GeSHi automatically when loading a language file. Their content is transparent to GeSHi as long as the built structure is a valid style data array and thus can be generated dynamically. Second you can set your custom styles manually (in the source) after loading the language file. And third, but IMHO most commonly used is using a CSS stylesheet that defines your colors and can be changed according to the choosen theme\preferences. Maybe I should do a short howto on this once I come around to find some time. Though put it on my list …

    Update: There is even a fourth solution for styling: The new (developement branch) version has native theming support built-in. Although it’s not yet suited for actual production use because some major features aren’t reimplemented yet.

    Kommentar von BenBE — 15.12.2009 @ 18:00:00

  3. Thsnx for answers. In my opinion 4th solution is the best =)

    So in this new branch you make refactoring or full rewrite of code? Does it will be true OOP-library or with supports of PHP4? IMHO there is no sense support PHP4 on the end of 2009)

    Anyway, we all are looking forward to this new version.

    Kommentar von Koc — 15.12.2009 @ 19:30:15

  4. GeSHi 1.1.X is a full rewrite of the parser engine with a completely new internal structure. Most parts are OOP and so is the API. That’s one reason why there are so many new features like different output renderers, support for for language parser that allow for dynamic interpretation of keywords depending on their context. In addition the new engine supports multiple languages inside the same source-file to be rendered (like HTML, PHP, CSS and JS at the same time).

    The new developement branch not only requires PHP 5, but PHP 5.2 as there are some features used where previous PHP versions cause some trouble. Actually there had to be made some fixes to the way the internal structure works as changes between PHP 5.1 and PHP 5.2 broke things.

    BTW: Hope you like this post 😉

    Kommentar von BenBE — 15.12.2009 @ 19:52:53

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress