Home News Examples Demo Downloads FAQ Documentation Mailing Lists License
Support GeSHi!
If you're using GeSHi, why not help GeSHi out? You can link to GeSHi with this image:
Powered by GeSHi
Get the HTML

Project Status
The latest stable version of GeSHi is, released on the 19th of Aug, 2012.

Supported Languages:
*Apache Log
*APT sources.list
*ASM (m68k)
*ASM (pic16)
*ASM (x86)
*ASM (z80)
*Backus-Naur form
*C for Macs
*C++ (with QT)
*Diff File Format
*DOT language
*FourJ's Genero
*INI (Config Files)
*Java 5
*KLone C & C++
*Objective C
*OpenOffice BASIC
*Oracle 8 & 11 SQL
*Pixel Bender
*Progress (OpenEdge ABL)
*Ruby on Rails
*Uno IDL
*VIM Script
*Visual BASIC
*Visual Fox Pro
*Visual Prolog
*Windows Registry Files

GeSHi is the current stable release, with eighteen new languages and bug fixes over the last release.

GeSHi 1.1.2alpha5 is the current latest version from the development branch, with full C support (see the GeSHi development website).
Mailing Lists
HomeNewsExamplesDemoDownloadsFAQDocumentationMailing ListsLicense 
3:30 am GMT

GeSHi News

Here's where you can find out all the latest news about GeSHi - new releases, bug fixes and general errata.

GeSHi 1.1.1alpha3 Released
From the development branch comes another snapshot on the way to 1.1.1. This one adds beginning support for VHDL, courtesy of Lingzi Xue and Java, thanks to Tim Wright. Both Lingzi and Tim are welcome additions to the language maintaining team (making three members), but I'm sure that they (and I) would welcome more members to work on more languages! So if you're a dab hand in a language not supported in 1.1.X and know a bit of PHP, why not contact me about helping out?

Other significant changes in this build are support for "Code Parsers" - the mechanism I have mentioned before that would allow you to do cool things like highlight errors in the source code or keywords only under certain conditions (see improvements that Ben has made to Delphi to see why) - and "Renderers", which will allow support for highlighting in PDF and other formats as well as HTML. If you know anything about a format you'd like supported, you're welcome to contact me about adding support for it :).

Enjoy the new build :). The next stable will be out in 11 days.
GeSHi Released
This release is the scheduled monthly maintenance release, with bugfixes mostly related to XHTML compliance. For the first time, I have had no new languages submitted to me so this release doesn't have any.

There hasn't been much action on the development front recently. This is largely due to me starting a new full-time job, and thus I am having to re-adjust to a new schedule. However, I will hopefully change this situation soon.

My apologies to those people who emailed me with bugs that never got fixed for this release. There will be a just before christmas that will hopefully address these bugs.
GeSHi 1.1.1alpha2 Released
A bit overdue, but here it is. Changes include improvements to the get-keywords script and preliminary support for balanced context endings.

If you're interested, check it out at
GeSHi Released
This version contains a few bug fixes and two new languages (BlitzBasic and MySQL), see the changelog for details. I've commented the example file so you get a better idea of how the methods for GeSHi can be called.

For I will be deprecating some of the functionality that is buggy, such as support for highlighting parts of the source differently if they are in <BEGIN GeSHi>...<END GeSHi> tags, check the API docs for when it is released. This is just some advanced warning.

And finally I hate to break a promise, but I won't be releasing the second alpha of 1.1.1 this Monday, since I have done very little work on it since the first alpha on account of working on But I will endeavour to release it next Monday.
GeSHi 1.1.1alpha1 Released
I've just released the first alpha of the 1.1.1 series. For more information, check out Major features include a new infrastructure for support for multiple output formats (like PDF, DOC etc. Only HTML at this time), a huge memory usage reduction (I've successfully highlighted a 190K source file), and a new infrastructure to give languages access to the parsed source so they can modify it if needed.

In other news, I will be setting up a Wiki and a new bug tracker hopefully tomorrow at This should make it easier for you to report bugs, and I will be putting lots of information about 1.1.X, especially on how to create language files, on the Wiki.

GeSHi is planned to be released on the 22nd of October, and will contain some minor bug fixes.
Minor Bugfix
Wouldn't you believe it? GeSHi gets sourceforged and there's a glaring bug in 1.1.0 :p. If you try and highlight something with an empty string in it, highlighting breaks. You can fix this, by going to the file geshi/classes/class.geshistringcontext.php and changing line 105 to read:

$pos = (false !== $pos && $endpos['pos'] === $pos) ? $pos : strlen($code);

It will be fixed in the first alpha of 1.1.1. Thanks to sourceforge for the front page plug!
GeSHi 1.1.0 Released
From the development branch, GeSHi version 1.1.0 has been released. This release marks the end of the 1.1.0 cycle, and work will shortly begin on 1.1.1, which will contain theming support, memory usage enhancements and much more.

If you're an inquisitive type, I encourage you to download it and try it out, to see how much better 1.2 will highlight code. Of course, at this stage 1.1.0 is no replacement for the stable branch (with most of the API unimplemented), but the highlighting is already many times better.

I have now finished university for the year, so from now on I plan to release development builds every week (on Mondays). In the 1.0.X branch I plan to make releases monthly (on or around the 22nd of the month), unless a security advisory appears.

Just in regards to the recent security advisory: I will warn people explicitly now that the contrib/ directory (and docs/) are unnecessary for a live website, and you should remove them. The example.php script is a script that I coded in 5 minutes to demo GeSHi, and not meant to be used on a live site. Nevertheless, I apologies to anyone who got caught out by this bug for not warning them before.

On a lighter note, a reminder about the website: there is a roadmap available if you wish to find out what is coming for future releases (like 1.1.1), and a bug tracker for you to submit bugs about the 1.1.X releases should you find any. Bugs for 1.0.X should be reported to sourceforge or mailed to me directly, as usual.

Enjoy the release. The first alpha of 1.1.1 should be out next Monday.
GeSHi 1.1.0beta1 Released
From the development branch of GeSHi, version 1.1.0 beta 1 has been released. This version was targeted mainly at fixing highlighting errors, and includes improved support for PHP (especially variable highlighting within double-quoted strings) and support for Delphi syntax highlighting (courtesy of Ben) and CodeWorker (courtesy of Cedric Lemaire). Number highlighting has also been greatly improved.

But the biggest feature about this release is that several areas for improvement in terms of language file specification, theming and memory usage have been identified. Once 1.1.0 "stable" is released, work on 1.1.1 will begin which should address such issues.

I hope to have a rather short beta cycle before 1.1.0 stable is released, then development can continue. I have just one and a half weeks of university to go, so after that expect development speed to increase as it did with my previous holidays.
GeSHi Version Released
GeSHi has been released. New to this version are four new languages (OCaml, OCaml-brief, Scheme and Ruby), and a couple of bugfixes and a security fix for contrib/example.php. If you use the example.php script on your site, I strongly recommend you upgrade.

I also remind you that in reality there is no need to include the contrib/ and docs/ directories in any website you make using GeSHi, so you can save yourself some disk space by not uploading them to your webspace. contrib/ provides only some scripts for playing with GeSHi and docs/ contains documentation you can get elsewhere.

In other news, GeSHi 1.1.0 beta 1 should be released shortly. Ben and I have been working on Delphi support for the last week or so and it's looking good :). Also, there have been more improvements in number highlighting and PHP double strings should also be handled better.
Project Update
Hi to everyone :). This is another project update.

I am pleased to announce that Benny Baumann has become the first language developer for the GeSHi project. His task is to oversee the development and maintenance of Delphi support for 1.1.X. He has plenty of experience in Delphi, being part of the Omorphia project, and his expertise will ensure that Delphi highlighting will be as good as it can be. In addition, him and I have had good discussions about how 1.1.X can be improved, particularly in regards to theming and memory usage.

I am calling still for more developers to join me in helping out for language support for 1.1.X -> 1.2. If you have experience in a language and some experience in PHP, and a bit of spare time to help out, why not contact me (nigel at geshi dot org) and volunteer your services?

And the other piece of news: Due to a disagreement I have had with the crew at phpBB, I am now discontinuing all work on the GeSHi phpBB MOD. It will remain as it is, with bugs now becoming "features". I regret being put in this position, but I am not going to develop software for a group who doesn't care for my loyalty to them. I have far too many pressures on my time.

In addition, although I cannot enforce this, I will strongly oppose anyone who attempts to develop a MOD for phpBB using this software.

At least now this is one demand off my time I will be able to spend more time on GeSHi.

And finally, on a lighter note, I have a mere 4 weeks of university to go, after which I will be able to spend more time on GeSHi. You may have noticed the upswing in releases around the last time I was on holiday, and I predict a similar increase this time :)