From a635c931ff8aa79728d93a4835e06a75e8f90be8 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Tue, 14 Feb 2012 01:17:10 +0100 Subject: bump geshi to 1.0.8.10 Signed-off-by: Florian Pritz --- application/libraries/contrib/aliased.php | 2 +- application/libraries/contrib/example.php | 2 +- application/libraries/contrib/langcheck.php | 7 +- application/libraries/contrib/langwiz.php | 1170 +++++++++++++++++++++++++ application/libraries/geshi.php | 135 ++- application/libraries/geshi/4cs.php | 2 +- application/libraries/geshi/6502acme.php | 230 +++++ application/libraries/geshi/6502kickass.php | 241 +++++ application/libraries/geshi/6502tasm.php | 189 ++++ application/libraries/geshi/68000devpac.php | 168 ++++ application/libraries/geshi/abap.php | 2 +- application/libraries/geshi/actionscript.php | 2 +- application/libraries/geshi/actionscript3.php | 4 +- application/libraries/geshi/ada.php | 2 +- application/libraries/geshi/algol68.php | 329 +++++++ application/libraries/geshi/apache.php | 5 +- application/libraries/geshi/applescript.php | 2 +- application/libraries/geshi/apt_sources.php | 12 +- application/libraries/geshi/asm.php | 10 +- application/libraries/geshi/asp.php | 2 +- application/libraries/geshi/autoconf.php | 512 +++++++++++ application/libraries/geshi/autohotkey.php | 2 +- application/libraries/geshi/autoit.php | 12 +- application/libraries/geshi/avisynth.php | 2 +- application/libraries/geshi/awk.php | 2 +- application/libraries/geshi/bascomavr.php | 185 ++++ application/libraries/geshi/bash.php | 154 +++- application/libraries/geshi/basic4gl.php | 2 +- application/libraries/geshi/bf.php | 2 +- application/libraries/geshi/bibtex.php | 2 +- application/libraries/geshi/blitzbasic.php | 2 +- application/libraries/geshi/bnf.php | 23 +- application/libraries/geshi/boo.php | 2 +- application/libraries/geshi/c.php | 101 ++- application/libraries/geshi/c_loadrunner.php | 323 +++++++ application/libraries/geshi/c_mac.php | 21 +- application/libraries/geshi/caddcl.php | 2 +- application/libraries/geshi/cadlisp.php | 2 +- application/libraries/geshi/cfdg.php | 2 +- application/libraries/geshi/cfm.php | 2 +- application/libraries/geshi/chaiscript.php | 140 +++ application/libraries/geshi/cil.php | 2 +- application/libraries/geshi/clojure.php | 10 +- application/libraries/geshi/cmake.php | 2 +- application/libraries/geshi/cobol.php | 2 +- application/libraries/geshi/coffeescript.php | 146 +++ application/libraries/geshi/cpp-qt.php | 22 +- application/libraries/geshi/cpp.php | 22 +- application/libraries/geshi/csharp.php | 2 +- application/libraries/geshi/css.php | 17 +- application/libraries/geshi/cuesheet.php | 2 +- application/libraries/geshi/d.php | 2 +- application/libraries/geshi/dcs.php | 2 +- application/libraries/geshi/delphi.php | 2 +- application/libraries/geshi/diff.php | 11 +- application/libraries/geshi/div.php | 2 +- application/libraries/geshi/dos.php | 43 +- application/libraries/geshi/dot.php | 2 +- application/libraries/geshi/e.php | 208 +++++ application/libraries/geshi/ecmascript.php | 210 +++++ application/libraries/geshi/eiffel.php | 2 +- application/libraries/geshi/email.php | 12 +- application/libraries/geshi/epc.php | 154 ++++ application/libraries/geshi/erlang.php | 14 +- application/libraries/geshi/euphoria.php | 140 +++ application/libraries/geshi/f1.php | 151 ++++ application/libraries/geshi/falcon.php | 218 +++++ application/libraries/geshi/fo.php | 2 +- application/libraries/geshi/fortran.php | 2 +- application/libraries/geshi/freebasic.php | 2 +- application/libraries/geshi/fsharp.php | 8 +- application/libraries/geshi/gambas.php | 2 +- application/libraries/geshi/gdb.php | 63 +- application/libraries/geshi/genero.php | 2 +- application/libraries/geshi/genie.php | 157 ++++ application/libraries/geshi/gettext.php | 2 +- application/libraries/geshi/glsl.php | 2 +- application/libraries/geshi/gml.php | 2 +- application/libraries/geshi/gnuplot.php | 2 +- application/libraries/geshi/go.php | 375 ++++++++ application/libraries/geshi/groovy.php | 18 +- application/libraries/geshi/gwbasic.php | 153 ++++ application/libraries/geshi/haskell.php | 12 +- application/libraries/geshi/hicest.php | 108 +++ application/libraries/geshi/hq9plus.php | 2 +- application/libraries/geshi/html4strict.php | 27 +- application/libraries/geshi/html5.php | 212 +++++ application/libraries/geshi/icon.php | 212 +++++ application/libraries/geshi/idl.php | 2 +- application/libraries/geshi/ini.php | 2 +- application/libraries/geshi/inno.php | 2 +- application/libraries/geshi/intercal.php | 2 +- application/libraries/geshi/io.php | 2 +- application/libraries/geshi/j.php | 190 ++++ application/libraries/geshi/java.php | 2 +- application/libraries/geshi/java5.php | 10 +- application/libraries/geshi/javascript.php | 10 +- application/libraries/geshi/jquery.php | 2 +- application/libraries/geshi/kixtart.php | 2 +- application/libraries/geshi/klonec.php | 2 +- application/libraries/geshi/klonecpp.php | 2 +- application/libraries/geshi/latex.php | 6 +- application/libraries/geshi/lb.php | 162 ++++ application/libraries/geshi/lisp.php | 6 +- application/libraries/geshi/llvm.php | 385 ++++++++ application/libraries/geshi/locobasic.php | 2 +- application/libraries/geshi/logtalk.php | 35 +- application/libraries/geshi/lolcode.php | 2 +- application/libraries/geshi/lotusformulas.php | 2 +- application/libraries/geshi/lotusscript.php | 2 +- application/libraries/geshi/lscript.php | 2 +- application/libraries/geshi/lsl2.php | 2 +- application/libraries/geshi/lua.php | 64 +- application/libraries/geshi/m68k.php | 2 +- application/libraries/geshi/magiksf.php | 193 ++++ application/libraries/geshi/make.php | 2 +- application/libraries/geshi/mapbasic.php | 2 +- application/libraries/geshi/matlab.php | 6 +- application/libraries/geshi/mirc.php | 2 +- application/libraries/geshi/mmix.php | 2 +- application/libraries/geshi/modula2.php | 136 +++ application/libraries/geshi/modula3.php | 2 +- application/libraries/geshi/mpasm.php | 2 +- application/libraries/geshi/mxml.php | 2 +- application/libraries/geshi/mysql.php | 2 +- application/libraries/geshi/newlisp.php | 2 +- application/libraries/geshi/nsis.php | 2 +- application/libraries/geshi/oberon2.php | 2 +- application/libraries/geshi/objc.php | 2 +- application/libraries/geshi/objeck.php | 116 +++ application/libraries/geshi/ocaml-brief.php | 2 +- application/libraries/geshi/ocaml.php | 41 +- application/libraries/geshi/oobas.php | 2 +- application/libraries/geshi/oracle11.php | 2 +- application/libraries/geshi/oracle8.php | 2 +- application/libraries/geshi/oxygene.php | 152 ++++ application/libraries/geshi/oz.php | 144 +++ application/libraries/geshi/pascal.php | 2 +- application/libraries/geshi/pcre.php | 188 ++++ application/libraries/geshi/per.php | 2 +- application/libraries/geshi/perl.php | 2 +- application/libraries/geshi/perl6.php | 2 +- application/libraries/geshi/pf.php | 178 ++++ application/libraries/geshi/php-brief.php | 2 +- application/libraries/geshi/php.php | 2 +- application/libraries/geshi/pic16.php | 2 +- application/libraries/geshi/pike.php | 2 +- application/libraries/geshi/pixelbender.php | 2 +- application/libraries/geshi/pli.php | 200 +++++ application/libraries/geshi/plsql.php | 2 +- application/libraries/geshi/postgresql.php | 288 ++++++ application/libraries/geshi/povray.php | 2 +- application/libraries/geshi/powerbuilder.php | 2 +- application/libraries/geshi/powershell.php | 4 +- application/libraries/geshi/proftpd.php | 374 ++++++++ application/libraries/geshi/progress.php | 2 +- application/libraries/geshi/prolog.php | 6 +- application/libraries/geshi/properties.php | 2 +- application/libraries/geshi/providex.php | 2 +- application/libraries/geshi/purebasic.php | 2 +- application/libraries/geshi/pycon.php | 64 ++ application/libraries/geshi/python.php | 17 +- application/libraries/geshi/q.php | 149 ++++ application/libraries/geshi/qbasic.php | 2 +- application/libraries/geshi/rails.php | 2 +- application/libraries/geshi/rebol.php | 2 +- application/libraries/geshi/reg.php | 2 +- application/libraries/geshi/robots.php | 2 +- application/libraries/geshi/rpmspec.php | 133 +++ application/libraries/geshi/rsplus.php | 2 +- application/libraries/geshi/ruby.php | 7 +- application/libraries/geshi/sas.php | 6 +- application/libraries/geshi/scala.php | 2 +- application/libraries/geshi/scheme.php | 2 +- application/libraries/geshi/scilab.php | 2 +- application/libraries/geshi/sdlbasic.php | 2 +- application/libraries/geshi/smalltalk.php | 2 +- application/libraries/geshi/smarty.php | 2 +- application/libraries/geshi/sql.php | 75 +- application/libraries/geshi/systemverilog.php | 8 +- application/libraries/geshi/tcl.php | 8 +- application/libraries/geshi/teraterm.php | 147 ++-- application/libraries/geshi/text.php | 2 +- application/libraries/geshi/thinbasic.php | 2 +- application/libraries/geshi/tsql.php | 4 +- application/libraries/geshi/typoscript.php | 2 +- application/libraries/geshi/unicon.php | 210 +++++ application/libraries/geshi/uscript.php | 299 +++++++ application/libraries/geshi/vala.php | 151 ++++ application/libraries/geshi/vb.php | 68 +- application/libraries/geshi/vbnet.php | 2 +- application/libraries/geshi/verilog.php | 2 +- application/libraries/geshi/vhdl.php | 2 +- application/libraries/geshi/vim.php | 55 +- application/libraries/geshi/visualfoxpro.php | 2 +- application/libraries/geshi/visualprolog.php | 2 +- application/libraries/geshi/whitespace.php | 2 +- application/libraries/geshi/whois.php | 2 +- application/libraries/geshi/winbatch.php | 2 +- application/libraries/geshi/xbasic.php | 143 +++ application/libraries/geshi/xml.php | 2 +- application/libraries/geshi/xorg_conf.php | 2 +- application/libraries/geshi/xpp.php | 2 +- application/libraries/geshi/yaml.php | 150 ++++ application/libraries/geshi/z80.php | 2 +- application/libraries/geshi/zxbasic.php | 150 ++++ 206 files changed, 11170 insertions(+), 496 deletions(-) create mode 100644 application/libraries/contrib/langwiz.php create mode 100644 application/libraries/geshi/6502acme.php create mode 100644 application/libraries/geshi/6502kickass.php create mode 100644 application/libraries/geshi/6502tasm.php create mode 100644 application/libraries/geshi/68000devpac.php create mode 100644 application/libraries/geshi/algol68.php create mode 100644 application/libraries/geshi/autoconf.php create mode 100644 application/libraries/geshi/bascomavr.php create mode 100644 application/libraries/geshi/c_loadrunner.php create mode 100644 application/libraries/geshi/chaiscript.php create mode 100644 application/libraries/geshi/coffeescript.php create mode 100644 application/libraries/geshi/e.php create mode 100644 application/libraries/geshi/ecmascript.php create mode 100644 application/libraries/geshi/epc.php create mode 100644 application/libraries/geshi/euphoria.php create mode 100644 application/libraries/geshi/f1.php create mode 100644 application/libraries/geshi/falcon.php create mode 100644 application/libraries/geshi/genie.php create mode 100644 application/libraries/geshi/go.php create mode 100644 application/libraries/geshi/gwbasic.php create mode 100644 application/libraries/geshi/hicest.php create mode 100644 application/libraries/geshi/html5.php create mode 100644 application/libraries/geshi/icon.php create mode 100644 application/libraries/geshi/j.php create mode 100644 application/libraries/geshi/lb.php create mode 100644 application/libraries/geshi/llvm.php create mode 100644 application/libraries/geshi/magiksf.php create mode 100644 application/libraries/geshi/modula2.php create mode 100644 application/libraries/geshi/objeck.php create mode 100644 application/libraries/geshi/oxygene.php create mode 100644 application/libraries/geshi/oz.php create mode 100644 application/libraries/geshi/pcre.php create mode 100644 application/libraries/geshi/pf.php create mode 100644 application/libraries/geshi/pli.php create mode 100644 application/libraries/geshi/postgresql.php create mode 100644 application/libraries/geshi/proftpd.php create mode 100644 application/libraries/geshi/pycon.php create mode 100644 application/libraries/geshi/q.php create mode 100644 application/libraries/geshi/rpmspec.php create mode 100644 application/libraries/geshi/unicon.php create mode 100644 application/libraries/geshi/uscript.php create mode 100644 application/libraries/geshi/vala.php create mode 100644 application/libraries/geshi/xbasic.php create mode 100644 application/libraries/geshi/yaml.php create mode 100644 application/libraries/geshi/zxbasic.php (limited to 'application/libraries') diff --git a/application/libraries/contrib/aliased.php b/application/libraries/contrib/aliased.php index 32bec9239..e57b495c9 100644 --- a/application/libraries/contrib/aliased.php +++ b/application/libraries/contrib/aliased.php @@ -13,7 +13,7 @@ * aliased.php/file.name.ext. * * @author Ross Golder - * @version $Id: aliased.php 785 2006-07-19 10:09:45Z oracleshinoda $ + * @version $Id: aliased.php 881 2007-01-10 11:14:38Z oracleshinoda $ */ // Your config here diff --git a/application/libraries/contrib/example.php b/application/libraries/contrib/example.php index 32e6f0c75..bc1735c81 100644 --- a/application/libraries/contrib/example.php +++ b/application/libraries/contrib/example.php @@ -6,7 +6,7 @@ * and the language files in subdirectory "../geshi/") * * @author Nigel McNie - * @version $Id: example.php 1512 2008-07-21 21:05:40Z benbe $ + * @version $Id: example.php 1422 2008-07-11 20:30:55Z milianw $ */ header('Content-Type: text/html; charset=utf-8'); diff --git a/application/libraries/contrib/langcheck.php b/application/libraries/contrib/langcheck.php index a4ee4f65f..7ca8229e5 100644 --- a/application/libraries/contrib/langcheck.php +++ b/application/libraries/contrib/langcheck.php @@ -8,7 +8,7 @@ * CLI mode is supported * * @author Benny Baumann - * @version $Id: langcheck.php 2174 2009-09-10 09:17:40Z benbe $ + * @version $Id: langcheck.php 2345 2010-08-29 11:12:44Z benbe $ */ header('Content-Type: text/html; charset=utf-8'); @@ -246,10 +246,13 @@ if(!$error_abort) { if(!$error_abort) { while ($file = readdir($dir)) { - if (!$file || $file[0] == '.' || strpos($file, '.') === false) { + if (!$file || $file[0] == '.' || strpos($file, '.php') === false) { continue; } $lang = substr($file, 0, strpos($file, '.')); + if(4 != strlen($file) - strlen($lang)) { + continue; + } $languages[] = $lang; } closedir($dir); diff --git a/application/libraries/contrib/langwiz.php b/application/libraries/contrib/langwiz.php new file mode 100644 index 000000000..6e2b842db --- /dev/null +++ b/application/libraries/contrib/langwiz.php @@ -0,0 +1,1170 @@ +Failed
"; + echo "
    \n"; + foreach($error_cache as $error_msg) { + echo "
  1. "; + switch($error_msg['t']) { + case TYPE_NOTICE: + echo "NOTICE:"; + break; + case TYPE_WARNING: + echo "WARNING:"; + break; + case TYPE_ERROR: + echo "ERROR:"; + break; + } + echo " " . $error_msg['m'] . "
  2. "; + } + echo "
\n"; + } else { + echo "OK
"; + } + echo "\n"; + + $error_cache = array(); +} + +function report_error($type, $message) { + global $error_cache, $error_abort; + + $error_cache[] = array('t' => $type, 'm' => $message); + if(TYPE_ERROR == $type) { + $error_abort = true; + } +} + +function extvar($name, $default){ + if(isset($_POST[$name])) { + return $_POST[$name]; + } + if(isset($_GET[$name])) { + return $_GET[$name]; + } + return $default; +} + +?> + + + + GeSHi Language File Generator Script + + + +

GeSHi Language File Generator Script

+

To use this script, make sure that geshi.php is in the +parent directory or in your include_path, and that the language files are in a +subdirectory of GeSHi's directory called geshi/.

+

If not already done, select a language file below that will be used as +base for the language file to generate or create a blank one. Following this +you can do whatever you like to edit your language file. But note that not all +features are made available through this script.

+ +

Checking GeSHi installation ... 'example', + 'name' => 'Example' + ); + +$ai = array( + 'name' => 'Benny Baumann', + 'email' => 'BenBE@geshi.org', + 'web' => 'http://qbnz.com/highlighter/' + ); + +$ld = array( + 'cmt' => array( + 'sl' => array( + 1 => array( + 'start' => '//', + 'style' => 'font-style: italic; color: #666666;' + ), + 2 => array( + 'start' => '#', + 'style' => 'font-style: italic; color: #666666;' + ) + ), + 'ml' => array( + 1 => array( + 'start' => '/*', + 'end' => '*/', + 'style' => 'font-style: italic; color: #666666;' + ), + 2 => array( + 'start' => '/**', + 'end' => '*/', + 'style' => 'font-style: italic; color: #006600;' + ) + ), + 'rxc' => array( + 1 => array( + 'rx' => '/Hello RegExp/', + 'style' => 'font-style: italic; color: #666666;' + ) + ) + ), + 'str' => array( + 'qm' => array( + 1 => array( + 'delim' => "'", + 'style' => 'color: #0000FF;' + ), + 2 => array( + 'delim' => """, + 'style' => 'color: #0000FF;' + ) + ), + 'ec' => array( + 'char' => '\\', + 'style' => 'font-weight: bold; color: #000080;' + ), + 'erx' => array( + 1 => array( + 'rx' => '/\{\\\\$\w+\}/', + 'style' => 'font-weight: bold; color: #008080;' + ), + 2 => array( + 'rx'=> '/\{\\\\$\w+\}/', + 'style' => 'font-weight: bold; color: #008080;' + ) + ) + ), + 'kw_case' => 'GESHI_CAPS_NO_CHANGE', + 'kw' => array( + 1 => array( + 'list' => '', + 'case' => '0', + 'style' => 'color: #0000FF; font-weight: bold;', + 'docs' => '' + ) + ), + 'sy' => array( + 0 => array( + 'list' => '', + 'style' => 'color: #0000FF; font-weight: bold;' + ) + ) + ); + +$kw_case_sel = array( + 'GESHI_CAPS_NO_CHANGE' => '', + 'GESHI_CAPS_UPPER' => '', + 'GESHI_CAPS_LOWER' => '' + ); + +$kw_cases_sel = array( + 1 => array( + 0 => '', + 1 => '' + ) + ); +// --- empty variables for values of $_POST - end --- + +echo "

";
+//var_dump($languages);
+var_dump($_GET);
+var_dump($_POST);
+
+foreach($post_var_names as $varName) { // export wanted variables of $_POST array...
+    if(array_key_exists($varName, $_POST)) {
+      $$varName = htmlspecialchars_deep($_POST[$varName]);
+    }
+}
+
+// determine the selected kw_case...
+$kw_case_sel[$ld['kw_case']] = ' selected="selected"';
+
+// determine the selected kw_cases...
+for($i = 1; $i <= count($kw_cases_sel); $i += 1) {
+    $kw_cases_sel[$i][(int) $ld['kw'][$i]['case']] = ' selected="selected"';
+}
+
+$lang = validate_lang();
+var_dump($lang);
+echo "
"; + +?> + +
+
+ Generic Information + + + + + + + + + + + + +
+ + + +
+ + + +
+
+ +
+ Author + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+
+ +
+ Comments + +
+ Single Line + +
+ Comment Group 1 + + + + + + + + + + + +
+ + + +
+ + + +
+
+ +
+ Comment Group 2 + + + + + + + + + + + +
+ + + +
+ + + +
+
+
+ +
+ Multiple Lines + +
+ Comment Group 1 + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+
+ +
+ Comment Group 2 + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+
+
+ +
+ Regular Expressions + +
+ Comment Group 1 + + + + + + + + + + + +
+ + + +
+ + + +
+
+
+
+ +
+ Strings + +
+ String \ Quotes (delimiters, parsed) + +
+ Quotemark Group 1 + + + + + + + + + + + +
+ + + +
+ + + +
+
+
+ Quotemark Group 2 + + + + + + + + + + + +
+ + + +
+ + + +
+
+ + +
+ +
+ Escape Sequences + +
+ Generic Escape Char + + + + + + + + + + + +
+ + + +
+ + + +
+
+ +
+ Escape Regexp Group 1 + + + + + + + + + + + +
+ + + +
+ + + +
+
+ +
+ Escape Regexp Group 2 + + + + + + + + + + + +
+ + + +
+ + + +
+
+
+
+ +
+ Keywords + +
+ Case of Keywords + + + + + + +
+ + + +
+
+ +
+ Keyword Group 1 + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+ +
+ + +
+ Symbols + +
+ Symbols Group 1 + + + + + + + + + + + +
+ + + +
+ + + +
+
+ +
+ + +
+
+ Language File Source +set_source($langfile_source); +echo $G->parse_code(); +unset($G); +?> +
+
+ + +
+ +

Operation completed in seconds.

+ + + + + "\\\"", + "\\" => "\\\\", + "\0" => "\\0", + "\n" => "\\n", + "\r" => "\\r", + "\t" => "\\t", + "\$" => "\\\$" + ) + ) . '"'; + } else { + return "'" . strtr($str, + array( + "'" => "\\'", + "\\" => "\\\\" + ) + ) . "'"; + } +} + +function validate_lang(){ + $ai = array( + 'name' => 'Benny Baumann', + 'email' => 'BenBE@geshi.org', + 'web' => 'http://qbnz.com/highlighter/' + ); + + $li = array( + 'file' => 'example', + 'desc' => 'Example' + ); + + if(isset($_POST['ld'])) { + $ld = $_POST['ld']; + } else { + $ld = array( + 'cmt' => array( + 'sl' => array( + 1 => array( + 'start' => '//', + 'style' => 'test' + ) + ), + 'ml' => array( + 1 => array( + 'start' => '/*', + 'end' => '*/', + 'style' => 'font-style: italic; color: #666666;' + ) + ), + 'rxc' => array( + 1 => array( + 'rx' => '/Hello/', + 'style' => 'color: #00000' + ) + ) + ), + 'str' => array( + 'qm' => array(), + 'ec' => array( + 'char' => '' + ), + 'erx' => array() + ), + 'kw' => array(), + 'kw_case' => 'GESHI_CAPS_NO_CHANGE', + 'sy' => array() + ); + } + + return array('ai' => $ai, 'li' => $li, 'ld' => $ld); +} + +function gen_langfile($lang){ + $langfile = $lang['li']['file']; + $langdesc = $lang['li']['desc']; + + $langauthor_name = $lang['ai']['name']; + $langauthor_email = $lang['ai']['email']; + $langauthor_web = $lang['ai']['web']; + + $langversion = GESHI_VERSION; + + $langdate = date('Y/m/d'); + $langyear = date('Y'); + + $i = ' '; + $i = array('', $i, $i.$i, $i.$i.$i); + + $src = << ".str_to_phpstring($langdesc).",\n"; + + //Comments + $src .= $i[1] . "'COMMENT_SINGLE' => array(\n"; + foreach($lang['ld']['cmt']['sl'] as $idx_cmt_sl => $tmp_cmt_sl) { + $src .= $i[2] . ((int)$idx_cmt_sl). " => ". str_to_phpstring($tmp_cmt_sl['start']) . ",\n"; + } + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'COMMENT_MULTI' => array(\n"; + foreach($lang['ld']['cmt']['ml'] as $tmp_cmt_ml) { + $src .= $i[2] . str_to_phpstring($tmp_cmt_ml['start']). " => ". str_to_phpstring($tmp_cmt_ml['end']) . ",\n"; + } + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'COMMENT_REGEXP' => array(\n"; + foreach($lang['ld']['cmt']['rxc'] as $idx_cmt_rxc => $tmp_cmt_rxc) { + $src .= $i[2] . ((int)$idx_cmt_rxc). " => ". str_to_phpstring($tmp_cmt_rxc['rx']) . ",\n"; + } + $src .= $i[2] . "),\n"; + + //Case Keywords + $src .= $i[1] . "'CASE_KEYWORDS' => " . $lang['ld']['kw_case'] . ",\n"; + + //Quotes \ Strings + $src .= $i[1] . "'QUOTEMARKS' => array(\n"; + foreach($lang['ld']['str']['qm'] as $idx_str_qm => $tmp_str_qm) { + $src .= $i[2] . ((int)$idx_str_qm). " => ". str_to_phpstring($tmp_str_qm['delim']) . ",\n"; + } + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'ESCAPE_CHAR' => " . str_to_phpstring($lang['ld']['str']['ec']['char']) . ",\n"; + $src .= $i[1] . "'ESCAPE_REGEXP' => array(\n"; + foreach($lang['ld']['str']['erx'] as $idx_str_erx => $tmp_str_erx) { + $src .= $i[2] . ((int)$idx_str_erx). " => ". str_to_phpstring($tmp_str_erx['rx']) . ",\n"; + } + $src .= $i[2] . "),\n"; + + //HardQuotes + $src .= $i[1] . "'HARDQUOTE' => array(\n"; + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'HARDESCAPE' => array(\n"; + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'HARDCHAR' => '',\n"; + + //Numbers + $src .= $i[1] . "'NUMBERS' =>\n"; + $src .= $i[2] . "GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |\n"; + $src .= $i[2] . "GESHI_NUMBER_FLT_SCI_ZERO,\n"; + + //Keywords + $src .= $i[1] . "'KEYWRODS' => array(\n"; + foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) { + $src .= $i[2] . ((int)$idx_kw) . " => array(\n"; + if(!is_array($tmp_kw['list'])) { + $tmp_kw['list'] = explode("\n", $tmp_kw['list']); + } + $tmp_kw['list'] = array_map('trim', $tmp_kw['list']); + sort($tmp_kw['list']); + $kw_esc = array_map('str_to_phpstring', $tmp_kw['list']); + $kw_nl = true; + $kw_pos = 0; + foreach($kw_esc as $kw_data) { + if((strlen($kw_data) + $kw_pos > 79) && $kw_pos > strlen($i[3])) { + $src .= "\n"; + $kw_nl = true; + $kw_pos = 0; + } + if($kw_nl) { + $src .= $i[3]; + $kw_pos += strlen($i[3]); + $kw_nl = false; + } + $src .= $kw_data . ', '; + $kw_pos += strlen($kw_data) + 2; + } + $src .= "\n"; + $src .= $i[3] . "),\n"; + } + $src .= $i[2] . "),\n"; + + //Case Sensitivity + $src .= $i[1] . "'CASE_SENSITIVE' => array(\n"; + foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) { + $src .= $i[2] . ((int)$idx_kw) . " => " . ($tmp_kw['case'] ? 'true' : 'false') . ",\n"; + } + $src .= $i[2] . "),\n"; + + //Symbols + $src .= $i[1] . "'SYMBOLS' => array(\n"; + foreach($lang['ld']['sy'] as $idx_kw => $tmp_kw) { + $src .= $i[2] . ((int)$idx_kw) . " => array(\n"; + $tmp_kw['list'] = (array)$tmp_kw['list']; + sort($tmp_kw['list']); + $kw_esc = array_map('str_to_phpstring', $tmp_kw['list']); + $kw_nl = true; + $kw_pos = strlen($i[3]); + foreach($kw_esc as $kw_data) { + if((strlen($kw_data) + $kw_pos > 79) && $kw_pos > strlen($i[3])) { + $src .= "\n"; + $kw_nl = true; + $kw_pos = 0; + } + if($kw_nl) { + $src .= $i[3]; + $kw_pos += strlen($i[3]); + $kw_nl = false; + } + $src .= $kw_data . ', '; + $kw_pos += strlen($kw_data) + 2; + } + $src .= "\n"; + $src .= $i[3] . "),\n"; + } + $src .= $i[2] . "),\n"; + + //Styles \ CSS + $src .= $i[1] . "'STYLES' => array(\n"; + $src .= $i[2] . "'KEYWRODS' => array(\n"; + foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) { + $src .= $i[3] . ((int)$idx_kw) . " => " . str_to_phpstring($tmp_kw['style']) . ",\n"; + } + $src .= $i[3] . "),\n"; + $src .= $i[2] . "'COMMENTS' => array(\n"; + foreach($lang['ld']['cmt']['sl'] as $idx_cmt_sl => $tmp_cmt_sl) { + $src .= $i[3] . ((int)$idx_cmt_sl) . " => " . str_to_phpstring($tmp_cmt_sl['style']) . ",\n"; + } + foreach($lang['ld']['cmt']['rxc'] as $idx_cmt_rxc => $tmp_cmt_rxc) { + $src .= $i[3] . ((int)$idx_cmt_rxc) . " => " . str_to_phpstring($tmp_cmt_rxc['style']) . ",\n"; + } + $src .= $i[3] . "'MULTI' => " . str_to_phpstring($lang['ld']['cmt']['ml'][1]['style']) . "\n"; + $src .= $i[3] . "),\n"; + $src .= $i[2] . "'ESCAPE_CHAR' => array(\n"; + foreach($lang['ld']['str']['erx'] as $idx_str_erx => $tmp_str_erx) { + $src .= $i[3] . ((int)$idx_str_erx). " => ". str_to_phpstring($tmp_str_erx['style']) . ",\n"; + } + // 'HARD' => 'color: #000099; font-weight: bold;' + $src .= $i[3] . "),\n"; + $src .= $i[2] . "'BRACKETS' => array(\n"; + $src .= $i[3] . "),\n"; + $src .= $i[2] . "'STRINGS' => array(\n"; + foreach($lang['ld']['str']['qm'] as $idx_str_qm => $tmp_str_qm) { + $src .= $i[3] . ((int)$idx_str_qm). " => ". str_to_phpstring($tmp_str_qm['style']) . ",\n"; + } + // 'HARD' => 'color: #0000ff;' + $src .= $i[3] . "),\n"; + $src .= $i[2] . "'NUMBERS' => array(\n"; + $src .= $i[3] . "),\n"; + $src .= $i[2] . "'METHODS' => array(\n"; + $src .= $i[3] . "),\n"; + $src .= $i[2] . "'SYMBOLS' => array(\n"; + foreach($lang['ld']['sy'] as $idx_kw => $tmp_kw) { + $src .= $i[3] . ((int)$idx_kw) . " => " . str_to_phpstring($tmp_kw['style']) . ",\n"; + } + $src .= $i[3] . "),\n"; + $src .= $i[2] . "'REGEXPS' => array(\n"; + $src .= $i[3] . "),\n"; + $src .= $i[2] . "'SCRIPT' => array(\n"; + $src .= $i[3] . "),\n"; + $src .= $i[2] . "),\n"; + + //Keyword Documentation + $src .= $i[1] . "'URLS' => array(\n"; + foreach($lang['ld']['kw'] as $idx_kw => $tmp_kw) { + $src .= $i[2] . ((int)$idx_kw) . " => " . str_to_phpstring($tmp_kw['docs']) . ",\n"; + } + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'OOLANG' => false,\n"; + $src .= $i[1] . "'OBJECT_SPLITTERS' => array(\n"; + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'REGEXPS' => array(\n"; + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'STRICT_MODE_APPLIES' => GESHI_MAYBE,\n"; + $src .= $i[1] . "'SCRIPT_DELIMITERS' => array(\n"; + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'HIGHLIGHT_STRICT_BLOCK' => array(\n"; + $src .= $i[2] . "),\n"; + $src .= $i[1] . "'TAB_WIDTH' => 4,\n"; + + $src .= << +GESHI_LANGFILE_FOOTER; + + //Reduce source ... + $src = preg_replace('/array\(\s*\)/s', 'array()', $src); + $src = preg_replace('/\,(\s*\))/s', '\1', $src); + $src = preg_replace('/\s+$/m', '', $src); + + return $src; +} + +// vim: shiftwidth=4 softtabstop=4 +?> diff --git a/application/libraries/geshi.php b/application/libraries/geshi.php index c654fa2a7..d8e9909fa 100644 --- a/application/libraries/geshi.php +++ b/application/libraries/geshi.php @@ -41,7 +41,7 @@ // /** The version of this GeSHi file */ -define('GESHI_VERSION', '1.0.8.6'); +define('GESHI_VERSION', '1.0.8.10'); // Define the root directory for the GeSHi code tree if (!defined('GESHI_ROOT')) { @@ -209,12 +209,16 @@ define('GESHI_NUMBER_BIN_PREFIX_0B', 64); //0b[01]+ define('GESHI_NUMBER_OCT_PREFIX', 256); //0[0-7]+ /** Number format to highlight octal numbers with a prefix 0o (logtalk) */ define('GESHI_NUMBER_OCT_PREFIX_0O', 512); //0[0-7]+ +/** Number format to highlight octal numbers with a leading @ (Used in HiSofts Devpac series). */ +define('GESHI_NUMBER_OCT_PREFIX_AT', 1024); //@[0-7]+ /** Number format to highlight octal numbers with a suffix of o */ -define('GESHI_NUMBER_OCT_SUFFIX', 1024); //[0-7]+[oO] +define('GESHI_NUMBER_OCT_SUFFIX', 2048); //[0-7]+[oO] /** Number format to highlight hex numbers with a prefix 0x */ define('GESHI_NUMBER_HEX_PREFIX', 4096); //0x[0-9a-fA-F]+ +/** Number format to highlight hex numbers with a prefix $ */ +define('GESHI_NUMBER_HEX_PREFIX_DOLLAR', 8192); //$[0-9a-fA-F]+ /** Number format to highlight hex numbers with a suffix of h */ -define('GESHI_NUMBER_HEX_SUFFIX', 8192); //[0-9][0-9a-fA-F]*h +define('GESHI_NUMBER_HEX_SUFFIX', 16384); //[0-9][0-9a-fA-F]*h /** Number format to highlight floating-point numbers without support for scientific notation */ define('GESHI_NUMBER_FLT_NONSCI', 65536); //\d+\.\d+ /** Number format to highlight floating-point numbers without support for scientific notation */ @@ -752,6 +756,88 @@ class Geshi { } } + /** + * Get supported langs or an associative array lang=>full_name. + * @param boolean $longnames + * @return array + */ + function get_supported_languages($full_names=false) + { + // return array + $back = array(); + + // we walk the lang root + $dir = dir($this->language_path); + + // foreach entry + while (false !== ($entry = $dir->read())) + { + $full_path = $this->language_path.$entry; + + // Skip all dirs + if (is_dir($full_path)) { + continue; + } + + // we only want lang.php files + if (!preg_match('/^([^.]+)\.php$/', $entry, $matches)) { + continue; + } + + // Raw lang name is here + $langname = $matches[1]; + + // We want the fullname too? + if ($full_names === true) + { + if (false !== ($fullname = $this->get_language_fullname($langname))) + { + $back[$langname] = $fullname; // we go associative + } + } + else + { + // just store raw langname + $back[] = $langname; + } + } + + $dir->close(); + + return $back; + } + + /** + * Get full_name for a lang or false. + * @param string $language short langname (html4strict for example) + * @return mixed + */ + function get_language_fullname($language) + { + //Clean up the language name to prevent malicious code injection + $language = preg_replace('#[^a-zA-Z0-9\-_]#', '', $language); + + $language = strtolower($language); + + // get fullpath-filename for a langname + $fullpath = $this->language_path.$language.'.php'; + + // we need to get contents :S + if (false === ($data = file_get_contents($fullpath))) { + $this->error = sprintf('Geshi::get_lang_fullname() Unknown Language: %s', $language); + return false; + } + + // match the langname + if (!preg_match('/\'LANG_NAME\'\s*=>\s*\'((?:[^\']|\\\')+)\'/', $data, $matches)) { + $this->error = sprintf('Geshi::get_lang_fullname(%s): Regex can not detect language', $language); + return false; + } + + // return fullname for langname + return stripcslashes($matches[1]); + } + /** * Sets the type of header to be used. * @@ -1374,6 +1460,10 @@ class Geshi { function get_language_name_from_extension( $extension, $lookup = array() ) { if ( !is_array($lookup) || empty($lookup)) { $lookup = array( + '6502acme' => array( 'a', 's', 'asm', 'inc' ), + '6502tasm' => array( 'a', 's', 'asm', 'inc' ), + '6502kickass' => array( 'a', 's', 'asm', 'inc' ), + '68000devpac' => array( 'a', 's', 'asm', 'inc' ), 'abap' => array('abap'), 'actionscript' => array('as'), 'ada' => array('a', 'ada', 'adb', 'ads'), @@ -1597,15 +1687,6 @@ class Geshi { } } - /** - * Alias for parse_code() function - * @param none - * @return none - */ - function output(){ - return $this->parse_code(); - } - /** * Sets the content of the header block * @@ -2001,7 +2082,7 @@ class Geshi { //All this formats are matched case-insensitively! static $numbers_format = array( GESHI_NUMBER_INT_BASIC => - '(? '(? @@ -2014,10 +2095,14 @@ class Geshi { '(? '(? + '(? '(? '(? + '(? '(? @@ -2049,7 +2134,11 @@ class Geshi { } $this->language_data['NUMBERS_RXCACHE'][$key] = - "/(?)($regexp)(?!(?:|[^\<])+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; // + "/(?)($regexp)(?!(?:|(?>[^\<]))+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; // + } + + if(!isset($this->language_data['PARSER_CONTROL']['NUMBERS']['PRECHECK_RX'])) { + $this->language_data['PARSER_CONTROL']['NUMBERS']['PRECHECK_RX'] = '#\d#'; } } @@ -2681,7 +2770,8 @@ class Geshi { $start = $i + $hq_strlen; while ($close_pos = strpos($part, $this->language_data['HARDQUOTE'][1], $start)) { $start = $close_pos + 1; - if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['HARDCHAR']) { + if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['HARDCHAR'] && + (($i + $hq_strlen) != ($close_pos))) { //Support empty string for HQ escapes if Starter = Escape // make sure this quote is not escaped foreach ($this->language_data['HARDESCAPE'] as $hardescape) { if (substr($part, $close_pos - 1, strlen($hardescape)) == $hardescape) { @@ -3267,10 +3357,10 @@ class Geshi { * @todo BUGGY! Why? Why not build string and return? */ function parse_non_string_part($stuff_to_parse) { - $stuff_to_parse = $this->hsc($stuff_to_parse); + $stuff_to_parse = ' ' . $this->hsc($stuff_to_parse); // Highlight keywords - $disallowed_before = "(?|^&"; + $disallowed_before = "(?lexic_permissions['STRINGS']) { $quotemarks = preg_quote(implode($this->language_data['QUOTEMARKS']), '/'); @@ -3328,7 +3418,7 @@ class Geshi { // Basically, we don't put the styles in yet because then the styles themselves will // get highlighted if the language has a CSS keyword in it (like CSS, for example ;)) $stuff_to_parse = preg_replace_callback( - "/$disallowed_before_local({$keywordset})(?!\(?:htm|php))$disallowed_after_local/$modifiers", + "/$disallowed_before_local({$keywordset})(?!\(?:htm|php|aspx?))$disallowed_after_local/$modifiers", array($this, 'handle_keyword_replace'), $stuff_to_parse ); @@ -3375,7 +3465,8 @@ class Geshi { // Highlight numbers. As of 1.0.8 we support different types of numbers $numbers_found = false; - if ($this->lexic_permissions['NUMBERS'] && preg_match('#\d#', $stuff_to_parse )) { + + if ($this->lexic_permissions['NUMBERS'] && preg_match($this->language_data['PARSER_CONTROL']['NUMBERS']['PRECHECK_RX'], $stuff_to_parse )) { $numbers_found = true; //For each of the formats ... @@ -3576,7 +3667,7 @@ class Geshi { $stuff_to_parse = str_replace('<|', '', '', $stuff_to_parse ); - return $stuff_to_parse; + return substr($stuff_to_parse, 1); } /** @@ -4494,7 +4585,7 @@ class Geshi { * @access private */ function optimize_regexp_list($list, $regexp_delimiter = '/') { - $regex_chars = array('.', '\\', '+', '*', '?', '[', '^', ']', '$', + $regex_chars = array('.', '\\', '+', '-', '*', '?', '[', '^', ']', '$', '(', ')', '{', '}', '=', '!', '<', '>', '|', ':', $regexp_delimiter); sort($list); $regexp_list = array(''); @@ -4682,4 +4773,4 @@ if (!function_exists('geshi_highlight')) { } } -?> \ No newline at end of file +?> diff --git a/application/libraries/geshi/4cs.php b/application/libraries/geshi/4cs.php index 6ce702fbc..7b1efec9a 100644 --- a/application/libraries/geshi/4cs.php +++ b/application/libraries/geshi/4cs.php @@ -4,7 +4,7 @@ * ------ * Author: Jason Curl (jason.curl@continental-corporation.com) * Copyright: (c) 2009 Jason Curl - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2009/09/05 * * 4CS language file for GeSHi. diff --git a/application/libraries/geshi/6502acme.php b/application/libraries/geshi/6502acme.php new file mode 100644 index 000000000..880211d5b --- /dev/null +++ b/application/libraries/geshi/6502acme.php @@ -0,0 +1,230 @@ + 'MOS 6502 (6510) ACME Cross Assembler format', + 'COMMENT_SINGLE' => array(1 => ';'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + /* 6502/6510 Opcodes. */ + 1 => array( + 'adc', 'and', 'asl', 'bcc', 'bcs', 'beq', 'bit', 'bmi', + 'bne', 'bpl', 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli', + 'clv', 'cmp', 'cpx', 'cpy', 'dec', 'dex', 'dey', 'eor', + 'inc', 'inx', 'iny', 'jmp', 'jsr', 'lda', 'ldx', 'ldy', + 'lsr', 'nop', 'ora', 'pha', 'php', 'pla', 'plp', 'rol', + 'ror', 'rti', 'rts', 'sbc', 'sec', 'sed', 'sei', 'sta', + 'stx', 'sty', 'tax', 'tay', 'tsx', 'txa', 'txs', 'tya', + ), + /* Index Registers, yes the 6502 has other registers by they are only + * accessable by specific opcodes. The 65816 also has access to the stack pointer S. */ + 2 => array( + 'x', 'y', 's' + ), + /* Directives or "pseudo opcodes" as defined by ACME 0.93 file AllPOs.txt. */ + 3 => array( + '!8', '!08', '!by', '!byte', + '!16', '!wo', '!word', + '!24', '!32', + '!fi', '!fill', + '!align', + '!ct', '!convtab', + '!tx', '!text', + '!pet', + '!raw', + '!scrxor', + '!to', + '!source', + '!bin', '!binary', + '!zn', '!zone', + '!sl', + '!svl', + '!sal', + '!if', '!ifdef', + '!for', + '!set', + '!do', 'while', 'until', + '!eof', '!endoffile', + '!warn', '!error', '!serious', + '!macro', +// , '*=' // Not a valid keyword (uses both * and = signs) moved to symbols instead. + '!initmem', + '!pseudopc', + '!cpu', + '!al', '!as', '!rl', '!rs', + ), + + /* 6502/6510 undocumented opcodes (often referred to as illegal instructions). + * These are present in the 6502/6510 but NOT in the newer CMOS revisions of the 65C02 or 65816. + * As they are undocumented instructions there are no "official" names for them, there are also + * several more that mainly perform various forms of crash and are not supported by ACME 0.93. + */ + 4 => array( + 'anc', 'arr', 'asr', 'dcp', 'dop', 'isc', 'jam', 'lax', + 'rla', 'rra', 'sax', 'sbx', 'slo', 'sre', 'top', + ), + /* 65c02 instructions, MOS added a few (much needed) instructions in the CMOS version of the 6502, but stupidly removed the undocumented/illegal opcodes. + * ACME 0.93 does not support the rmb0-7 and smb0-7 instructions (they are currently rem'ed out). */ + 5 => array( + 'bra', 'phx', 'phy', 'plx', 'ply', 'stz', 'trb', 'tsb' + ), + /* 65816 instructions. */ + 6 => array( + 'brl', 'cop', 'jml', 'jsl', 'mvn', 'mvp', 'pea', 'pei', + 'per', 'phb', 'phd', 'phk', 'plb', 'pld', 'rep', 'rtl', + 'sep', 'tcd', 'tcs', 'tdc', 'tsc', 'txy', 'tyx', 'wdm', + 'xba', 'xce', + ), + /* Deprecated directives or "pseudo opcodes" as defined by ACME 0.93 file AllPOs.txt. */ + 7 => array( + '!cbm', + '!sz', '!subzone', + '!realpc', + ), + /* Math functions, some are aliases for the symbols. */ + 8 => array( + 'not', 'div', 'mod', 'xor', 'or', 'sin', 'cos', 'tan', + 'arcsin', 'arccos', 'arctan', 'int', 'float', + + ), + + ), + 'SYMBOLS' => array( +// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS. + '*=', '#', '!', '^', '-', '*', '/', + '%', '+', '-', '<<', '>>', '>>>', + '<', '>', '^', '<=', '<', '>=', '>', '!=', + '=', '&', '|', '<>', + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + 6 => false, + 7 => false, + 8 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #00f; font-weight:bold;', + 2 => 'color: #00f; font-weight:bold;', + 3 => 'color: #080; font-weight:bold;', + 4 => 'color: #f00; font-weight:bold;', + 5 => 'color: #80f; font-weight:bold;', + 6 => 'color: #f08; font-weight:bold;', + 7 => 'color: #a04; font-weight:bold; font-style: italic;', + 8 => 'color: #000;', + ), + 'COMMENTS' => array( + 1 => 'color: #999; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #009; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #000;' + ), + 'STRINGS' => array( + 0 => 'color: #080;' + ), + 'NUMBERS' => array( + GESHI_NUMBER_INT_BASIC => 'color: #f00;', + GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;', + GESHI_NUMBER_HEX_PREFIX => 'color: #f00;', + GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;', + GESHI_NUMBER_FLT_NONSCI => 'color: #f00;', + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #080;' + ), + 'REGEXPS' => array( + 0 => 'color: #f00;' + , 1 => 'color: #933;' + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + 8 => '', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | + GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_HEX_PREFIX_DOLLAR | + GESHI_NUMBER_HEX_PREFIX | + GESHI_NUMBER_BIN_PREFIX_PERCENT, + // AMCE Octal format not support and gets picked up as Decimal unfortunately. + 'REGEXPS' => array( + //ACME .# Binary number format. e.g. %..##..##..## + 0 => '\%[\.\#]{1,64}', + //ACME Local Labels + 1 => '\.[_a-zA-Z][_a-zA-Z0-9]*', + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 8, + 'PARSER_CONTROL' => array( + 'NUMBERS' => array( + 'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/' + ) + ) +); + +?> \ No newline at end of file diff --git a/application/libraries/geshi/6502kickass.php b/application/libraries/geshi/6502kickass.php new file mode 100644 index 000000000..b1edcaa5b --- /dev/null +++ b/application/libraries/geshi/6502kickass.php @@ -0,0 +1,241 @@ + 'MOS 6502 (6510) Kick Assembler format', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + /* 6502/6510 Opcodes including undocumented opcodes as Kick Assembler 3.13 does not make a distinction - they are ALL valid. */ + 1 => array( + 'adc', 'ahx', 'alr', 'anc', 'anc2', 'and', 'arr', 'asl', + 'axs', 'bcc', 'bcs', 'beq', 'bit', 'bmi', 'bne', 'bpl', + 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli', 'clv', 'cmp', + 'cpx', 'cpy', 'dcp', 'dec', 'dex', 'dey', 'eor', 'inc', + 'inx', 'iny', 'isc', 'jmp', 'jsr', 'las', 'lax', 'lda', + 'ldx', 'ldy', 'lsr', 'nop', 'ora', 'pha', 'php', 'pla', + 'plp', 'rla', 'rol', 'ror', 'rra', 'rti', 'rts', 'sax', + 'sbc', 'sbc2', 'sec', 'sed', 'sei', 'shx', 'shy', 'slo', + 'sre', 'sta', 'stx', 'sty', 'tas', 'tax', 'tay', 'tsx', + 'txa', 'txs', 'tya', 'xaa', + ), + /* DTV additional Opcodes. */ + 2 => array( + 'bra', 'sac', 'sir' + ), + /* Index Registers, yes the 6502 has other registers by they are only + * accessable by specific opcodes. */ + 3 => array( + 'x', 'y' + ), + /* Directives. */ + 4 => array( + '.pc', '.pseudopc', 'virtual', '.align', '.byte', '.word', '.text', '.fill', + '.import source', '.import binary', '.import c64', '.import text', '.import', '.print', '.printnow', + '.error', '.var', '.eval', '.const', '.eval const', '.enum', '.label', '.define', '.struct', + 'if', '.for', '.macro', '.function', '.return', '.pseudocommand', '.namespace', '.filenamespace', + '.assert', '.asserterror', + ), + /* Kick Assembler 3.13 Functions/Operators. */ + 5 => array( + 'size', 'charAt', 'substring', 'asNumber', 'asBoolean', 'toIntString', 'toBinaryString', 'toOctalString', + 'toHexString', 'lock', // String functions/operators. + 'get', 'set', 'add', 'remove', 'shuffle', // List functions. + 'put', 'keys', // Hashtable functions. + 'getType', 'getValue', 'CmdArgument', // Pseudo Commands functions. + 'asmCommandSize', // Opcode Constants functions. + 'LoadBinary', 'getSize', + 'LoadSid', 'getData', + 'LoadPicture', 'width', 'height', 'getPixel', 'getSinglecolorByte', 'getMulticolorByte', + 'createFile', 'writeln', + 'cmdLineVars', + 'getX', 'getY', 'getZ', // Vector functions. + 'RotationMatrix', 'ScaleMatrix', 'MoveMatrix', 'PerspectiveMatrix', // Matrix functions. + + ), + + /* Kick Assembler 3.13 Math Functions. */ + 6 => array( + 'abs', 'acos', 'asin', 'atan', 'atan2', 'cbrt', 'ceil', 'cos', 'cosh', + 'exp', 'expm1', 'floor', 'hypot', 'IEEEremainder', 'log', 'log10', + 'log1p', 'max', 'min', 'pow', 'mod', 'random', 'round', 'signum', + 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'toDegrees', 'toRadians', + ), + + /* Kick Assembler 3.13 Objects/Data Types. */ + 7 => array( + 'List', // List() Object. + 'Hashtable', // Hashtable() Object. + 'Vector', // Vector() Object. + 'Matrix', // Matrix() Object. + ), + + /* Kick Assembler 3.13 Constants. */ + 8 => array( + 'PI', 'E', // Math Constants. + 'AT_ABSOLUTE' , 'AT_ABSOLUTEX' , 'AT_ABSOLUTEY' , 'AT_IMMEDIATE', // Pseudo Commands Constants. + 'AT_INDIRECT' , 'AT_IZEROPAGEX' , 'AT_IZEROPAGEY' , 'AT_NONE', + 'BLACK', 'WHITE', 'RED', 'CYAN', 'PURPLE', 'GREEN', 'BLUE', // Colour Constants. + 'YELLOW', 'ORANGE', 'BROWN', 'LIGHT_RED', 'DARK_GRAY', 'GRAY', + 'LIGHT_GREEN', 'LIGHT_BLUE', 'LIGHT_GRAY', + 'C64FILE', // Template Tag names. + 'BF_C64FILE', 'BF_BITMAP_SINGLECOLOR', 'BF_KOALA' , 'BF_FLI', // Binary format constant + ), + + ), + 'SYMBOLS' => array( +// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS. + '-', '+', '-', '*', '/', '>', '<', '<<', '>>', '&', '|', '^', '=', '==', + '!=', '>=', '<=', '!', '&&', '||', '#', + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => true, + 5 => true, + 6 => true, + 7 => true, + 8 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #00f; font-weight:bold;', + 2 => 'color: #00f; font-weight:bold;', + 3 => 'color: #00f; font-weight:bold;', + 4 => 'color: #080; font-weight:bold;', + 5 => 'color: #80f; font-weight:bold;', + 6 => 'color: #f08; font-weight:bold;', + 7 => 'color: #a04; font-weight:bold; font-style: italic;', + 8 => 'color: #f08; font-weight:bold;', + ), + 'COMMENTS' => array( + 1 => 'color: #999; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #009; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #000;' + ), + 'STRINGS' => array( + 0 => 'color: #080;' + ), + 'NUMBERS' => array( + GESHI_NUMBER_INT_BASIC => 'color: #f00;', + GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;', + GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;', + GESHI_NUMBER_FLT_NONSCI => 'color: #f00;', + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #080;' + ), + 'REGEXPS' => array( + 0 => 'color: #933;', + 1 => 'color: #933;', + 2 => 'color: #933;', + 3 => 'color: #00f; font-weight:bold;', + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + 8 => '', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | + GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_HEX_PREFIX_DOLLAR | + GESHI_NUMBER_BIN_PREFIX_PERCENT, + // AMCE Octal format not support and gets picked up as Decimal unfortunately. + 'REGEXPS' => array( + //Labels end with a collon. + 0 => '[!]{0,1}[_a-zA-Z][_a-zA-Z0-9]*\:', + //Multi Labels (local labels) references start with ! and end with + or - for forward/backward reference. + 1 => '![_a-zA-Z][_a-zA-Z0-9]*[+-]', + //Macros start with a colon :Macro. + 2 => ':[_a-zA-Z][_a-zA-Z0-9]*', + // Opcode Constants, such as LDA_IMM, STA_IZPY are basically all 6502 opcodes + // in UPPER case followed by _underscore_ and the ADDRESS MODE. + // As you might imagine that is rather a lot ( 78 supported Opcodes * 12 Addressing modes = 936 variations) + // So I thought it better and easier to maintain as a regular expression. + // NOTE: The order of the Address Modes must be maintained or it wont work properly (eg. place ZP first and find out!) + 3 => '[A-Z]{3}[2]?_(?:IMM|IND|IZPX|IZPY|ZPX|ZPY|ABSX|ABSY|REL|ABS|ZP)', + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 8, + 'PARSER_CONTROL' => array( + 'NUMBERS' => array( + 'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/' + ), + 'KEYWORDS' => array( + 5 => array ( + 'DISALLOWED_BEFORE' => "(?|^&'\"])" + ), + 6 => array ( + 'DISALLOWED_BEFORE' => "(?|^&'\"])" + ), + 8 => array ( + 'DISALLOWED_BEFORE' => "(?|^&'\"])" + ) + ) + ), +); + +?> \ No newline at end of file diff --git a/application/libraries/geshi/6502tasm.php b/application/libraries/geshi/6502tasm.php new file mode 100644 index 000000000..5f9f2b9be --- /dev/null +++ b/application/libraries/geshi/6502tasm.php @@ -0,0 +1,189 @@ + 'MOS 6502 (6510) TASM/64TASS 1.46 Assembler format', + 'COMMENT_SINGLE' => array(1 => ';'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + /* 6502/6510 Opcodes. */ + 1 => array( + 'adc', 'and', 'asl', 'bcc', 'bcs', 'beq', 'bit', 'bmi', + 'bne', 'bpl', 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli', + 'clv', 'cmp', 'cpx', 'cpy', 'dec', 'dex', 'dey', 'eor', + 'inc', 'inx', 'iny', 'jmp', 'jsr', 'lda', 'ldx', 'ldy', + 'lsr', 'nop', 'ora', 'pha', 'php', 'pla', 'plp', 'rol', + 'ror', 'rti', 'rts', 'sbc', 'sec', 'sed', 'sei', 'sta', + 'stx', 'sty', 'tax', 'tay', 'tsx', 'txa', 'txs', 'tya', + ), + /* Index Registers, yes the 6502 has other registers by they are only + * accessable by specific opcodes. The 65816 also has access to the stack pointer S. */ + 2 => array( + 'x', 'y', 's' + ), + /* Directives. */ + 3 => array( + '.al', '.align', '.as', '.assert', '.binary', '.byte', '.cerror', '.char', + '.comment', '.cpu', '.cwarn', '.databank', '.dpage', '.else', '.elsif', + '.enc', '.endc', '.endif', '.endm', '.endp', '.error', '.fi', '.fill', + '.for', '.here', '.if', '.ifeq', '.ifmi', '.ifne', '.ifpl', + '.include', '.int', '.logical', '.long', '.macro', '.next', '.null', '.offs', + '.page', '.pend', '.proc', '.rept', '.rta', '.shift', '.text', '.warn', '.word', + '.xl', '.xs', +// , '*=' // Not a valid keyword (uses both * and = signs) moved to symbols instead. + ), + + /* 6502/6510 undocumented opcodes (often referred to as illegal instructions). + * These are present in the 6502/6510 but NOT in the newer CMOS revisions of the 65C02 or 65816. + * As they are undocumented instructions there are no "official" names for them, these are the names + * used by 64TASS V1.46. + */ + 4 => array( + 'ahx', 'alr', 'anc', 'ane', 'arr', 'asr', 'axs', 'dcm', + 'dcp', 'ins', 'isb', 'isc', 'jam', 'lae', 'las', 'lax', + 'lds', 'lxa', 'rla', 'rra', 'sax', 'sbx', 'sha', 'shs', + 'shx', 'shy', 'slo', 'sre', 'tas', 'xaa', + ), + /* 65c02 instructions, MOS added a few (much needed) instructions in the + * CMOS version of the 6502, but stupidly removed the undocumented/illegal opcodes. */ + 5 => array( + 'bra', 'dea', 'gra', 'ina', 'phx', 'phy', 'plx', 'ply', + 'stz', 'trb', 'tsb', + ), + /* 65816 instructions. */ + 6 => array( + 'brl', 'cop', 'jml', 'jsl', 'mvn', 'mvp', 'pea', 'pei', + 'per', 'phb', 'phd', 'phk', 'plb', 'pld', 'rep', 'rtl', + 'sep', 'stp', 'swa', 'tad', 'tcd', 'tcs', 'tda', + 'tdc', 'tsa', 'tsc', 'txy', 'tyx', 'wai', 'xba', 'xce', + ), + /* Deprecated directives (or yet to be implemented). */ + 7 => array( + '.global', '.check' + ), + ), + 'SYMBOLS' => array( +// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS. + '*=', '#', '<', '>', '`', '=', '<', '>', + '!=', '>=', '<=', '+', '-', '*', '/', '//', '|', + '^', '&', '<<', '>>', '-', '~', '!', + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + 6 => false, + 7 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #00f; font-weight:bold;', + 2 => 'color: #00f; font-weight:bold;', + 3 => 'color: #080; font-weight:bold;', + 4 => 'color: #f00; font-weight:bold;', + 5 => 'color: #80f; font-weight:bold;', + 6 => 'color: #f08; font-weight:bold;', + 7 => 'color: #a04; font-weight:bold; font-style: italic;', + ), + 'COMMENTS' => array( + 1 => 'color: #999; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #009; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #000;' + ), + 'STRINGS' => array( + 0 => 'color: #080;' + ), + 'NUMBERS' => array( + GESHI_NUMBER_INT_BASIC => 'color: #f00;', + GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;', + GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;', + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #080;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | + GESHI_NUMBER_HEX_PREFIX_DOLLAR | + GESHI_NUMBER_BIN_PREFIX_PERCENT, + // AMCE Octal format not support and gets picked up as Decimal unfortunately. + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 8, + 'PARSER_CONTROL' => array( + 'NUMBERS' => array( + 'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/' + ) + ) +); + +?> \ No newline at end of file diff --git a/application/libraries/geshi/68000devpac.php b/application/libraries/geshi/68000devpac.php new file mode 100644 index 000000000..efd800809 --- /dev/null +++ b/application/libraries/geshi/68000devpac.php @@ -0,0 +1,168 @@ + 'Motorola 68000 - HiSoft Devpac ST 2 Assembler format', + 'COMMENT_SINGLE' => array(1 => ';'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + /* Directives. */ + 1 => array( + 'end', 'include', 'incbin', 'opt', 'even', 'cnop', 'dc.b', 'dc.w', + 'dc.l', 'ds.b', 'ds.w', 'ds.l', 'dcb.b', 'dcb.w', 'dcb.l', + 'fail', 'output', '__g2', 'rept', 'endr', 'list', 'nolist', 'plen', + 'llen', 'ttl', 'subttl', 'spc', 'page', 'listchar', 'format', + 'equ', 'equr', 'set', 'reg', 'rs.b', 'rs.w', 'rs.l', 'rsreset', + 'rsset', '__rs', 'ifeq', 'ifne', 'ifgt', 'ifge', 'iflt', 'ifle', 'endc', + 'ifd', 'ifnd', 'ifc', 'ifnc', 'elseif', 'iif', 'macro', 'endm', 'mexit', + 'narg', '\@', 'section', 'text', 'data', 'bss', 'xdef', 'xref', 'org', + 'offset', '__lk', 'comment', + ), + /* 68000 Opcodes. */ + 2 => array( + 'abcd', 'add', 'adda', 'addi', 'addq', 'addx', 'and', 'andi', + 'asl', 'asr', 'bcc', 'bchg', 'bclr', 'bcs', 'beq', 'bge', + 'bgt', 'bhi', 'ble', 'bls', 'blt', 'bmi', 'bne', 'bpl', + 'bra', 'bset', 'bsr', 'btst', 'bvc', 'bvs', 'chk', 'clr', + 'cmp', 'cmpa', 'cmpi', 'cmpm', 'dbcc', 'dbcs', 'dbeq', 'dbf', + 'dbge', 'dbgt', 'dbhi', 'dble', 'dbls', 'dblt', 'dbmi', 'dbne', + 'dbpl', 'dbra', 'dbt', 'dbvc', 'dbvs', 'divs', 'divu', 'eor', + 'eori', 'exg', 'ext','illegal','jmp', 'jsr', 'lea', 'link', + 'lsl', 'lsr', 'move','movea','movem','movep','moveq', 'muls', + 'mulu', 'nbcd', 'neg', 'negx', 'nop', 'not', 'or', 'ori', + 'pea', 'reset', 'rol', 'ror', 'roxl', 'roxr', 'rte', 'rtr', + 'rts', 'sbcd', 'scc', 'scs', 'seq', 'sf', 'sge', 'sgt', + 'shi', 'sle', 'sls', 'slt', 'smi', 'sne', 'spl', 'st', + 'stop', 'sub', 'suba', 'subi', 'subq', 'subx', 'svc', 'svs', + 'swap', 'tas', 'trap','trapv', 'tst', 'unlk', + ), + /* oprand sizes. */ + 3 => array( + 'b', 'w', 'l' , 's' + ), + /* 68000 Registers. */ + 4 => array( + 'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7', + 'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'sp', 'usp', 'ssp', + 'pc', 'ccr', 'sr', + ), + ), + 'SYMBOLS' => array( +// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS. + '+', '-', '~', '<<', '>>', '&', + '!', '^', '*', '/', '=', '<', '>', + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #f08; font-weight:bold;', + 2 => 'color: #00f; font-weight:bold;', + 3 => 'color: #00f; font-weight:bold;', + 4 => 'color: #080; font-weight:bold;', + ), + 'COMMENTS' => array( + 1 => 'color: #999; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #009; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #000;' + ), + 'STRINGS' => array( + 0 => 'color: #080;' + ), + 'NUMBERS' => array( + GESHI_NUMBER_INT_BASIC => 'color: #f00;', + GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;', + GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;', + GESHI_NUMBER_OCT_PREFIX_AT => 'color: #f00;', + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #080;' + ), + 'REGEXPS' => array( + 0 => 'color: #933;' + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | + GESHI_NUMBER_HEX_PREFIX_DOLLAR | + GESHI_NUMBER_OCT_PREFIX_AT | + GESHI_NUMBER_BIN_PREFIX_PERCENT, + 'REGEXPS' => array( + //Labels may end in a colon. + 0 => '(?<=\A\x20|\r|\n|^)[\._a-zA-Z][\._a-zA-Z0-9]*[\:]?[\s]' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 8, + 'PARSER_CONTROL' => array( + 'NUMBERS' => array( + 'PRECHECK_RX' => '/[\da-fA-F\.\$\%\@]/' + ) + ) +); + +?> \ No newline at end of file diff --git a/application/libraries/geshi/abap.php b/application/libraries/geshi/abap.php index fa69c92f9..6ce930c7c 100644 --- a/application/libraries/geshi/abap.php +++ b/application/libraries/geshi/abap.php @@ -7,7 +7,7 @@ * - Sandra Rossi (sandra.rossi@gmail.com) * - Jacob Laursen (jlu@kmd.dk) * Copyright: (c) 2007 Andres Picazo - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2004/06/04 * * ABAP language file for GeSHi. diff --git a/application/libraries/geshi/actionscript.php b/application/libraries/geshi/actionscript.php index 394a463c4..47eec3950 100644 --- a/application/libraries/geshi/actionscript.php +++ b/application/libraries/geshi/actionscript.php @@ -4,7 +4,7 @@ * ---------------- * Author: Steffen Krause (Steffen.krause@muse.de) * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2004/06/20 * * Actionscript language file for GeSHi. diff --git a/application/libraries/geshi/actionscript3.php b/application/libraries/geshi/actionscript3.php index 8449173e8..ba27573cc 100644 --- a/application/libraries/geshi/actionscript3.php +++ b/application/libraries/geshi/actionscript3.php @@ -4,7 +4,7 @@ * ---------------- * Author: Jordi Boggiano (j.boggiano@seld.be) * Copyright: (c) 2007 Jordi Boggiano (http://www.seld.be/), Benny Baumann (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2007/11/26 * * ActionScript3 language file for GeSHi. @@ -60,7 +60,7 @@ $language_data = array ( 'COMMENT_MULTI' => array('/*' => '*/'), 'COMMENT_REGEXP' => array( //Regular expressions - 2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU", + 2 => "/(?<=[\\s^])(s|tr|y)\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(? GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), diff --git a/application/libraries/geshi/ada.php b/application/libraries/geshi/ada.php index 4c112f0db..8f8390952 100644 --- a/application/libraries/geshi/ada.php +++ b/application/libraries/geshi/ada.php @@ -4,7 +4,7 @@ * ------- * Author: Tux (tux@inmail.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2004/07/29 * * Ada language file for GeSHi. diff --git a/application/libraries/geshi/algol68.php b/application/libraries/geshi/algol68.php new file mode 100644 index 000000000..1f79f10eb --- /dev/null +++ b/application/libraries/geshi/algol68.php @@ -0,0 +1,329 @@ + $prebits.$LONGS."(?:".$bl.")".$postbits, + "INT" => $preint.$LONGS."(?:".$il.")".$postint, + "REAL" => $prereal.$LONGS."(?:".$rl.")".$postreal, + + "BOLD" => 'color: #b1b100; font-weight: bold;', + "ITALIC" => 'color: #b1b100;', # procedures traditionally italic # + "NONSTD" => 'color: #FF0000; font-weight: bold;', # RED # + "COMMENT" => 'color: #666666; font-style: italic;' + ); + } +} +$a68=geshi_langfile_algol68_vars(); + +$language_data = array( + 'LANG_NAME' => 'ALGOL 68', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array( + '¢' => '¢', + '£' => '£', + '#' => '#', + ), + 'COMMENT_REGEXP' => array( + 1 => '/\bCO((?:MMENT)?)\b.*?\bCO\\1\b/i', + 2 => '/\bPR((?:AGMAT)?)\b.*?\bPR\\1\b/i', + 3 => '/\bQUOTE\b.*?\bQUOTE\b/i' + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '"', + 'NUMBERS' => GESHI_NUMBER_HEX_SUFFIX, # Warning: Feature!! # +# GESHI_NUMBER_HEX_SUFFIX, # Attempt ignore default # + 'KEYWORDS' => array( +# Extensions + 1 => array('KEEP', 'FINISH', 'USE', 'SYSPROCS', 'IOSTATE', 'USING', 'ENVIRON', 'PROGRAM', 'CONTEXT'), +# 2 => array('CASE', 'IN', 'OUSE', 'IN', 'OUT', 'ESAC', '(', '|', '|:', ')', 'FOR', 'FROM', 'TO', 'BY', 'WHILE', 'DO', 'OD', 'IF', 'THEN', 'ELIF', 'THEN', 'ELSE', 'FI', 'PAR', 'BEGIN', 'EXIT', 'END', 'GO', 'GOTO', 'FORALL', 'UPTO', 'DOWNTO', 'FOREACH', 'ASSERT'), # + 2 => array('CASE', 'IN', 'OUSE', /* 'IN',*/ 'OUT', 'ESAC', 'PAR', 'BEGIN', 'EXIT', 'END', 'GO TO', 'GOTO', 'FOR', 'FROM', 'TO', 'BY', 'WHILE', 'DO', 'OD', 'IF', 'THEN', 'ELIF', /* 'THEN',*/ 'ELSE', 'FI' ), + 3 => array('BITS', 'BOOL', 'BYTES', 'CHAR', 'COMPL', 'INT', 'REAL', 'SEMA', 'STRING', 'VOID'), + 4 => array('MODE', 'OP', 'PRIO', 'PROC', 'FLEX', 'HEAP', 'LOC', 'REF', 'LONG', 'SHORT', 'EITHER'), +# Extensions or deprecated keywords +# 'PIPE': keyword somehow interferes with the internal operation of GeSHi + 5 => array('FORALL', 'UPTO', 'DOWNTO', 'FOREACH', 'ASSERT', 'CTB', 'CT', 'CTAB', 'COMPLEX', 'VECTOR', 'SOUND' /*, 'PIPE'*/), + 6 => array('CHANNEL', 'FILE', 'FORMAT', 'STRUCT', 'UNION', 'OF'), +# '(', '|', '|:', ')', # +# 7 => array('OF', 'AT', '@', 'IS', ':=:', 'ISNT', ':/=:', ':≠:', 'CTB', 'CT', '::', 'CTAB', '::=', 'TRUE', 'FALSE', 'EMPTY', 'NIL', '○', 'SKIP', '~'), + 7 => array('AT', 'IS', 'ISNT', 'TRUE', 'FALSE', 'EMPTY', 'NIL', 'SKIP'), + 8 => array('NOT', 'UP', 'DOWN', 'LWB', 'UPB', /* '-',*/ 'ABS', 'ARG', 'BIN', 'ENTIER', 'LENG', 'LEVEL', 'ODD', 'REPR', 'ROUND', 'SHORTEN', 'CONJ', 'SIGN'), +# OPERATORS ordered roughtly by PRIORITY # +# 9 => array('¬', '↑', '↓', '⌊', '⌈', '~', '⎩', '⎧'), +# 10 => array('+*', 'I', '+×', '⊥', '!', '⏨'), + 10 => array('I'), +# 11 => array('SHL', 'SHR', '**', 'UP', 'DOWN', 'LWB', 'UPB', '↑', '↓', '⌊', '⌈', '⎩', '⎧'), + 11 => array('SHL', 'SHR', /*'UP', 'DOWN', 'LWB', 'UPB'*/), +# 12 => array('*', '/', '%', 'OVER', '%*', 'MOD', 'ELEM', '×', '÷', '÷×', '÷*', '%×', '□', '÷:'), + 12 => array('OVER', 'MOD', 'ELEM'), +# 13 => array('-', '+'), +# 14 => array('<', 'LT', '<=', 'LE', '>=', 'GE', '>', 'GT', '≤', '≥'), + 14 => array('LT', 'LE', 'GE', 'GT'), +# 15 => array('=', 'EQ', '/=', 'NE', '≠', '~='), + 15 => array('EQ', 'NE'), +# 16 => array('&', 'AND', '∧', 'OR', '∨', '/\\', '\\/'), + 16 => array('AND', 'OR'), + 17 => array('MINUSAB', 'PLUSAB', 'TIMESAB', 'DIVAB', 'OVERAB', 'MODAB', 'PLUSTO'), +# 18 => array('-:=', '+:=', '*:=', '/:=', '%:=', '%*:=', '+=:', '×:=', '÷:=', '÷×:=', '÷*:=', '%×:=', '÷::=', 'MINUS', 'PLUS', 'DIV', 'MOD', 'PRUS'), +# Extensions or deprecated keywords + 18 => array('MINUS', 'PLUS', 'DIV', /* 'MOD',*/ 'PRUS', 'IS NOT'), +# Extensions or deprecated keywords + 19 => array('THEF', 'ANDF', 'ORF', 'ANDTH', 'OREL', 'ANDTHEN', 'ORELSE'), +# Built in procedures - from standard prelude # + 20 => array('int lengths', 'intlengths', 'int shorths', 'intshorths', 'max int', 'maxint', 'real lengths', 'reallengths', 'real shorths', 'realshorths', 'bits lengths', 'bitslengths', 'bits shorths', 'bitsshorths', 'bytes lengths', 'byteslengths', 'bytes shorths', 'bytesshorths', 'max abs char', 'maxabschar', 'int width', 'intwidth', 'long int width', 'longintwidth', 'long long int width', 'longlongintwidth', 'real width', 'realwidth', 'long real width', 'longrealwidth', 'long long real width', 'longlongrealwidth', 'exp width', 'expwidth', 'long exp width', 'longexpwidth', 'long long exp width', 'longlongexpwidth', 'bits width', 'bitswidth', 'long bits width', 'longbitswidth', 'long long bits width', 'longlongbitswidth', 'bytes width', 'byteswidth', 'long bytes width', 'longbyteswidth', 'max real', 'maxreal', 'small real', 'smallreal', 'long max int', 'longmaxint', 'long long max int', 'longlongmaxint', 'long max real', 'longmaxreal', 'long small real', 'longsmallreal', 'long long max real', 'longlongmaxreal', 'long long small real', 'longlongsmallreal', 'long max bits', 'longmaxbits', 'long long max bits', 'longlongmaxbits', 'null character', 'nullcharacter', 'blank', 'flip', 'flop', 'error char', 'errorchar', 'exp char', 'expchar', 'newline char', 'newlinechar', 'formfeed char', 'formfeedchar', 'tab char', 'tabchar'), + 21 => array('stand in channel', 'standinchannel', 'stand out channel', 'standoutchannel', 'stand back channel', 'standbackchannel', 'stand draw channel', 'standdrawchannel', 'stand error channel', 'standerrorchannel'), + 22 => array('put possible', 'putpossible', 'get possible', 'getpossible', 'bin possible', 'binpossible', 'set possible', 'setpossible', 'reset possible', 'resetpossible', 'reidf possible', 'reidfpossible', 'draw possible', 'drawpossible', 'compressible', 'on logical file end', 'onlogicalfileend', 'on physical file end', 'onphysicalfileend', 'on line end', 'onlineend', 'on page end', 'onpageend', 'on format end', 'onformatend', 'on value error', 'onvalueerror', 'on open error', 'onopenerror', 'on transput error', 'ontransputerror', 'on format error', 'onformaterror', 'open', 'establish', 'create', 'associate', 'close', 'lock', 'scratch', 'space', 'new line', 'newline', 'print', 'write f', 'writef', 'print f', 'printf', 'write bin', 'writebin', 'print bin', 'printbin', 'read f', 'readf', 'read bin', 'readbin', 'put f', 'putf', 'get f', 'getf', 'make term', 'maketerm', 'make device', 'makedevice', 'idf', 'term', 'read int', 'readint', 'read long int', 'readlongint', 'read long long int', 'readlonglongint', 'read real', 'readreal', 'read long real', 'readlongreal', 'read long long real', 'readlonglongreal', 'read complex', 'readcomplex', 'read long complex', 'readlongcomplex', 'read long long complex', 'readlonglongcomplex', 'read bool', 'readbool', 'read bits', 'readbits', 'read long bits', 'readlongbits', 'read long long bits', 'readlonglongbits', 'read char', 'readchar', 'read string', 'readstring', 'print int', 'printint', 'print long int', 'printlongint', 'print long long int', 'printlonglongint', 'print real', 'printreal', 'print long real', 'printlongreal', 'print long long real', 'printlonglongreal', 'print complex', 'printcomplex', 'print long complex', 'printlongcomplex', 'print long long complex', 'printlonglongcomplex', 'print bool', 'printbool', 'print bits', 'printbits', 'print long bits', 'printlongbits', 'print long long bits', 'printlonglongbits', 'print char', 'printchar', 'print string', 'printstring', 'whole', 'fixed', 'float'), + 23 => array('pi', 'long pi', 'longpi', 'long long pi', 'longlongpi'), + 24 => array('sqrt', 'curt', 'cbrt', 'exp', 'ln', 'log', 'sin', 'arc sin', 'arcsin', 'cos', 'arc cos', 'arccos', 'tan', 'arc tan', 'arctan', 'long sqrt', 'longsqrt', 'long curt', 'longcurt', 'long cbrt', 'longcbrt', 'long exp', 'longexp', 'long ln', 'longln', 'long log', 'longlog', 'long sin', 'longsin', 'long arc sin', 'longarcsin', 'long cos', 'longcos', 'long arc cos', 'longarccos', 'long tan', 'longtan', 'long arc tan', 'longarctan', 'long long sqrt', 'longlongsqrt', 'long long curt', 'longlongcurt', 'long long cbrt', 'longlongcbrt', 'long long exp', 'longlongexp', 'long long ln', 'longlongln', 'long long log', 'longlonglog', 'long long sin', 'longlongsin', 'long long arc sin', 'longlongarcsin', 'long long cos', 'longlongcos', 'long long arc cos', 'longlongarccos', 'long long tan', 'longlongtan', 'long long arc tan', 'longlongarctan'), + 25 => array('first random', 'firstrandom', 'next random', 'nextrandom', 'long next random', 'longnextrandom', 'long long next random', 'longlongnextrandom'), + 26 => array('real', 'bits pack', 'bitspack', 'long bits pack', 'longbitspack', 'long long bits pack', 'longlongbitspack', 'bytes pack', 'bytespack', 'long bytes pack', 'longbytespack', 'char in string', 'charinstring', 'last char in string', 'lastcharinstring', 'string in string', 'stringinstring'), + 27 => array('utc time', 'utctime', 'local time', 'localtime', 'argc', 'argv', 'get env', 'getenv', 'reset errno', 'reseterrno', 'errno', 'strerror'), + 28 => array('sinh', 'long sinh', 'longsinh', 'long long sinh', 'longlongsinh', 'arc sinh', 'arcsinh', 'long arc sinh', 'longarcsinh', 'long long arc sinh', 'longlongarcsinh', 'cosh', 'long cosh', 'longcosh', 'long long cosh', 'longlongcosh', 'arc cosh', 'arccosh', 'long arc cosh', 'longarccosh', 'long long arc cosh', 'longlongarccosh', 'tanh', 'long tanh', 'longtanh', 'long long tanh', 'longlongtanh', 'arc tanh', 'arctanh', 'long arc tanh', 'longarctanh', 'long long arc tanh', 'longlongarctanh', 'arc tan2', 'arctan2', 'long arc tan2', 'longarctan2', 'long long arc tan2', 'longlongarctan2'), + 29 => array('complex sqrt', 'complexsqrt', 'long complex sqrt', 'longcomplexsqrt', 'long long complex sqrt', 'longlongcomplexsqrt', 'complex exp', 'complexexp', 'long complex exp', 'longcomplexexp', 'long long complex exp', 'longlongcomplexexp', 'complex ln', 'complexln', 'long complex ln', 'longcomplexln', 'long long complex ln', 'longlongcomplexln', 'complex sin', 'complexsin', 'long complex sin', 'longcomplexsin', 'long long complex sin', 'longlongcomplexsin', 'complex arc sin', 'complexarcsin', 'long complex arc sin', 'longcomplexarcsin', 'long long complex arc sin', 'longlongcomplexarcsin', 'complex cos', 'complexcos', 'long complex cos', 'longcomplexcos', 'long long complex cos', 'longlongcomplexcos', 'complex arc cos', 'complexarccos', 'long complex arc cos', 'longcomplexarccos', 'long long complex arc cos', 'longlongcomplexarccos', 'complex tan', 'complextan', 'long complex tan', 'longcomplextan', 'long long complex tan', 'longlongcomplextan', 'complex arc tan', 'complexarctan', 'long complex arc tan', 'longcomplexarctan', 'long long complex arc tan', 'longlongcomplexarctan', 'complex sinh', 'complexsinh', 'complex arc sinh', 'complexarcsinh', 'complex cosh', 'complexcosh', 'complex arc cosh', 'complexarccosh', 'complex tanh', 'complextanh', 'complex arc tanh', 'complexarctanh') + ), + 'SYMBOLS' => array( + 1 => array( /* reverse length sorted... */ '÷×:=', '%×:=', ':≠:', '÷*:=', '÷::=', '%*:=', ':/=:', '×:=', '÷:=', '÷×', '%:=', '%×', '*:=', '+:=', '+=:', '+×', '-:=', '/:=', '::=', ':=:', '÷*', '÷:', '↑', '↓', '∧', '∨', '≠', '≤', '≥', '⊥', '⌈', '⌊', '⎧', '⎩', /* '⏨', */ '□', '○', '%*', '**', '+*', '/=', '::', '/\\', '\\/', '<=', '>=', '|:', '~=', '¬', '×', '÷', '!', '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '{', '|', '}', '~') + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true, + 7 => true, + 8 => true, +# 9 => true, + 10 => true, + 11 => true, + 12 => true, +# 13 => true, + 14 => true, + 15 => true, + 16 => true, + 17 => true, + 18 => true, + 19 => true, + 20 => true, + 21 => true, + 22 => true, + 23 => true, + 24 => true, + 25 => true, + 26 => true, + 27 => true, + 28 => true, + 29 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => $a68['NONSTD'], 2 => $a68['BOLD'], 3 => $a68['BOLD'], 4 => $a68['BOLD'], + 5 => $a68['NONSTD'], 6 => $a68['BOLD'], 7 => $a68['BOLD'], 8 => $a68['BOLD'], + /* 9 => $a68['BOLD'],*/ 10 => $a68['BOLD'], 11 => $a68['BOLD'], 12 => $a68['BOLD'], + /* 13 => $a68['BOLD'],*/ 14 => $a68['BOLD'], 15 => $a68['BOLD'], 16 => $a68['BOLD'], 17 => $a68['BOLD'], + 18 => $a68['NONSTD'], 19 => $a68['NONSTD'], + 20 => $a68['ITALIC'], 21 => $a68['ITALIC'], 22 => $a68['ITALIC'], 23 => $a68['ITALIC'], + 24 => $a68['ITALIC'], 25 => $a68['ITALIC'], 26 => $a68['ITALIC'], 27 => $a68['ITALIC'], + 28 => $a68['ITALIC'], 29 => $a68['ITALIC'] + ), + 'COMMENTS' => array( + 1 => $a68['COMMENT'], 2 => $a68['COMMENT'], 3 => $a68['COMMENT'], /* 4 => $a68['COMMENT'], + 5 => $a68['COMMENT'],*/ 'MULTI' => $a68['COMMENT'] + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #0000ff;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;', + ), + 'METHODS' => array( + 0 => 'color: #004000;', + 1 => 'color: #004000;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;', + 1 => 'color: #339933;' + ), + 'REGEXPS' => array( + 0 => 'color: #cc66cc;', # BITS # + 1 => 'color: #cc66cc;', # REAL # + /* 2 => 'color: #cc66cc;', # INT # */ + ), + 'SCRIPT' => array() + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + 8 => '', +# 9 => '', + 10 => '', + 11 => '', + 12 => '', +# 13 => '', + 14 => '', + 15 => '', + 16 => '', + 17 => '', + 18 => '', + 19 => '', + 20 => '', + 21 => '', + 22 => '', + 23 => '', + 24 => '', + 25 => '', + 26 => '', + 27 => '', + 28 => '', + 29 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 0 => '→', + 1 => 'OF' + ), + 'REGEXPS' => array( + 0 => $a68['BITS'], + 1 => $a68['REAL'] + # 2 => $a68['INT'], # Breaks formatting for some reason # + # 2 => $GESHI_NUMBER_INT_BASIC # Also breaks formatting # + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); + +unset($a68); +?> \ No newline at end of file diff --git a/application/libraries/geshi/apache.php b/application/libraries/geshi/apache.php index a5b651bb6..ace3862ef 100644 --- a/application/libraries/geshi/apache.php +++ b/application/libraries/geshi/apache.php @@ -4,7 +4,7 @@ * ---------- * Author: Tux (tux@inmail.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2004/29/07 * * Apache language file for GeSHi. @@ -344,6 +344,9 @@ $language_data = array ( //mod_unique_id.c + //mod_upload_progress + 'ReportUploads', 'TrackUploads', 'UploadProgressSharedMemorySize', + //mod_userdir.c 'UserDir', diff --git a/application/libraries/geshi/applescript.php b/application/libraries/geshi/applescript.php index 8a07d00b5..c64a4974d 100644 --- a/application/libraries/geshi/applescript.php +++ b/application/libraries/geshi/applescript.php @@ -4,7 +4,7 @@ * -------- * Author: Stephan Klimek (http://www.initware.org) * Copyright: Stephan Klimek (http://www.initware.org) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2005/07/20 * * AppleScript language file for GeSHi. diff --git a/application/libraries/geshi/apt_sources.php b/application/libraries/geshi/apt_sources.php index fe1711fdd..9feefceaf 100644 --- a/application/libraries/geshi/apt_sources.php +++ b/application/libraries/geshi/apt_sources.php @@ -4,7 +4,7 @@ * ---------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2008 Milian Wolff (http://milianw.de) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2008/06/17 * * Apt sources.list language file for GeSHi. @@ -55,7 +55,7 @@ $language_data = array ( 'stable/updates', //Debian 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', 'woody', 'sarge', - 'etch', 'lenny', 'sid', + 'etch', 'lenny', 'wheezy', 'sid', //Ubuntu 'warty', 'warty-updates', 'warty-security', 'warty-proposed', 'warty-backports', 'hoary', 'hoary-updates', 'hoary-security', 'hoary-proposed', 'hoary-backports', @@ -65,7 +65,11 @@ $language_data = array ( 'feisty', 'feisty-updates', 'feisty-security', 'feisty-proposed', 'feisty-backports', 'gutsy', 'gutsy-updates', 'gutsy-security', 'gutsy-proposed', 'gutsy-backports', 'hardy', 'hardy-updates', 'hardy-security', 'hardy-proposed', 'hardy-backports', - 'intrepid', 'intrepid-updates', 'intrepid-security', 'intrepid-proposed', 'intrepid-backports' + 'intrepid', 'intrepid-updates', 'intrepid-security', 'intrepid-proposed', 'intrepid-backports', + 'jaunty', 'jaunty-updates', 'jaunty-security', 'jaunty-proposed', 'jaunty-backports', + 'karmic', 'karmic-updates', 'karmic-security', 'karmic-proposed', 'karmic-backports', + 'lucid', 'lucid-updates', 'lucid-security', 'lucid-proposed', 'lucid-backports', + 'maverick', 'maverick-updates', 'maverick-security', 'maverick-proposed', 'maverick-backports' ), 3 => array( 'main', 'restricted', 'preview', 'contrib', 'non-free', @@ -141,4 +145,4 @@ $language_data = array ( 'TAB_WIDTH' => 4 ); -?> +?> \ No newline at end of file diff --git a/application/libraries/geshi/asm.php b/application/libraries/geshi/asm.php index 49699b900..2093d86b8 100644 --- a/application/libraries/geshi/asm.php +++ b/application/libraries/geshi/asm.php @@ -4,7 +4,7 @@ * ------- * Author: Tux (tux@inmail.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2004/07/27 * * x86 Assembler language file for GeSHi. @@ -99,9 +99,9 @@ $language_data = array ( 4 => array( '186','286','286c','286p','287','386','386c','386p','387','486','486p', '8086','8087','alpha','break','code','const','continue','cref','data','data?', - 'dosseg','else','elseif','endif','endw','err','err1','err2','errb', + 'dosseg','else','elseif','endif','endw','equ','err','err1','err2','errb', 'errdef','errdif','errdifi','erre','erridn','erridni','errnb','errndef', - 'errnz','exit','fardata','fardata?','if','lall','lfcond','list','listall', + 'errnz','exit','fardata','fardata?','global','if','lall','lfcond','list','listall', 'listif','listmacro','listmacroall',' model','no87','nocref','nolist', 'nolistif','nolistmacro','radix','repeat','sall','seq','sfcond','stack', 'startup','tfcond','type','until','untilcxz','while','xall','xcref', @@ -114,7 +114,7 @@ $language_data = array ( 'irp','irpc','label','le','length','lengthof','local','low','lowword','lroffset', 'macro','mask','mod','msfloat','name','ne','offset','opattr','option','org','%out', 'page','popcontext','private','proc','proto','ptr','public','purge','pushcontext','record', - 'rept','seg','segment','short','size','sizeof','sizestr','struc','struct', + 'resb','resd','resw','rept','section','seg','segment','short','size','sizeof','sizestr','struc','struct', 'substr','subtitle','subttl','textequ','this','title','typedef','union','width', '.model', '.stack', '.code', '.data' ), @@ -222,4 +222,4 @@ $language_data = array ( ) ); -?> +?> \ No newline at end of file diff --git a/application/libraries/geshi/asp.php b/application/libraries/geshi/asp.php index 6e799a802..c011de960 100644 --- a/application/libraries/geshi/asp.php +++ b/application/libraries/geshi/asp.php @@ -4,7 +4,7 @@ * -------- * Author: Amit Gupta (http://blog.igeek.info/) * Copyright: (c) 2004 Amit Gupta (http://blog.igeek.info/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2004/08/13 * * ASP language file for GeSHi. diff --git a/application/libraries/geshi/autoconf.php b/application/libraries/geshi/autoconf.php new file mode 100644 index 000000000..901125bdc --- /dev/null +++ b/application/libraries/geshi/autoconf.php @@ -0,0 +1,512 @@ + 'Autoconf', + 'COMMENT_SINGLE' => array(2 => '#'), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + //Multiline-continued single-line comments + 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Multiline-continued preprocessor define + 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Single Line comment started by dnl + 3 => '/(? GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array(), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + 1 => array( + 'AC_ACT_IFELSE', + 'AC_AIX', + 'AC_ALLOCA', + 'AC_ARG_ARRAY', + 'AC_ARG_ENABLE', + 'AC_ARG_PROGRAM', + 'AC_ARG_VAR', + 'AC_ARG_WITH', + 'AC_AUTOCONF_VERSION', + 'AC_BEFORE', + 'AC_C_BACKSLASH_A', + 'AC_C_BIGENDIAN', + 'AC_C_CHAR_UNSIGNED', + 'AC_C_CONST', + 'AC_C_CROSS', + 'AC_C_FLEXIBLE_ARRAY_MEMBER', + 'AC_C_INLINE', + 'AC_C_LONG_DOUBLE', + 'AC_C_PROTOTYPES', + 'AC_C_RESTRICT', + 'AC_C_STRINGIZE', + 'AC_C_TYPEOF', + 'AC_C_VARARRAYS', + 'AC_C_VOLATILE', + 'AC_CACHE_CHECK', + 'AC_CACHE_LOAD', + 'AC_CACHE_SAVE', + 'AC_CACHE_VAL', + 'AC_CANONICAL_BUILD', + 'AC_CANONICAL_HOST', + 'AC_CANONICAL_SYSTEM', + 'AC_CANONICAL_TARGET', + 'AC_CHAR_UNSIGNED', + 'AC_CHECK_ALIGNOF', + 'AC_CHECK_DECL', + 'AC_CHECK_DECLS', + 'AC_CHECK_DECLS_ONCE', + 'AC_CHECK_FILE', + 'AC_CHECK_FILES', + 'AC_CHECK_FUNC', + 'AC_CHECK_FUNCS', + 'AC_CHECK_FUNCS_ONCE', + 'AC_CHECK_HEADER', + 'AC_CHECK_HEADERS', + 'AC_CHECK_HEADERS_ONCE', + 'AC_CHECK_LIB', + 'AC_CHECK_MEMBER', + 'AC_CHECK_MEMBERS', + 'AC_CHECK_PROG', + 'AC_CHECK_PROGS', + 'AC_CHECK_SIZEOF', + 'AC_CHECK_TARGET_TOOL', + 'AC_CHECK_TARGET_TOOLS', + 'AC_CHECK_TOOL', + 'AC_CHECK_TOOLS', + 'AC_CHECK_TYPE', + 'AC_CHECK_TYPES', + 'AC_CHECKING', + 'AC_COMPILE_CHECK', + 'AC_COMPILE_IFELSE', + 'AC_COMPUTE_INT', + 'AC_CONFIG_AUX_DIR', + 'AC_CONFIG_COMMANDS', + 'AC_CONFIG_COMMANDS_POST', + 'AC_CONFIG_COMMANDS_PRE', + 'AC_CONFIG_FILES', + 'AC_CONFIG_HEADERS', + 'AC_CONFIG_ITEMS', + 'AC_CONFIG_LIBOBJ_DIR', + 'AC_CONFIG_LINKS', + 'AC_CONFIG_MACRO_DIR', + 'AC_CONFIG_SRCDIR', + 'AC_CONFIG_SUBDIRS', + 'AC_CONFIG_TESTDIR', + 'AC_CONST', + 'AC_COPYRIGHT', + 'AC_CROSS_CHECK', + 'AC_CYGWIN', + 'AC_DATAROOTDIR_CHECKED', + 'AC_DECL_SYS_SIGLIST', + 'AC_DECL_YYTEXT', + 'AC_DEFINE', + 'AC_DEFINE_UNQUOTED', + 'AC_DEFUN', + 'AC_DEFUN_ONCE', + 'AC_DIAGNOSE', + 'AC_DIR_HEADER', + 'AC_DISABLE_OPTION_CHECKING', + 'AC_DYNIX_SEQ', + 'AC_EGREP_CPP', + 'AC_EGREP_HEADER', + 'AC_EMXOS2', + 'AC_ENABLE', + 'AC_ERLANG_CHECK_LIB', + 'AC_ERLANG_NEED_ERL', + 'AC_ERLANG_NEED_ERLC', + 'AC_ERLANG_PATH_ERL', + 'AC_ERLANG_PATH_ERLC', + 'AC_ERLANG_SUBST_ERTS_VER', + 'AC_ERLANG_SUBST_INSTALL_LIB_DIR', + 'AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR', + 'AC_ERLANG_SUBST_LIB_DIR', + 'AC_ERLANG_SUBST_ROOT_DIR', + 'AC_ERROR', + 'AC_EXEEXT', + 'AC_F77_DUMMY_MAIN', + 'AC_F77_FUNC', + 'AC_F77_LIBRARY_LDFLAGS', + 'AC_F77_MAIN', + 'AC_F77_WRAPPERS', + 'AC_FATAL', + 'AC_FC_FREEFORM', + 'AC_FC_FUNC', + 'AC_FC_LIBRARY_LDFLAGS', + 'AC_FC_MAIN', + 'AC_FC_SRCEXT', + 'AC_FC_WRAPPERS', + 'AC_FIND_X', + 'AC_FIND_XTRA', + 'AC_FOREACH', + 'AC_FUNC_ALLOCA', + 'AC_FUNC_CHECK', + 'AC_FUNC_CHOWN', + 'AC_FUNC_CLOSEDIR_VOID', + 'AC_FUNC_ERROR_AT_LINE', + 'AC_FUNC_FNMATCH', + 'AC_FUNC_FNMATCH_GNU', + 'AC_FUNC_FORK', + 'AC_FUNC_FSEEKO', + 'AC_FUNC_GETGROUPS', + 'AC_FUNC_GETLOADAVG', + 'AC_FUNC_GETMNTENT', + 'AC_FUNC_GETPGRP', + 'AC_FUNC_LSTAT', + 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK', + 'AC_FUNC_MALLOC', + 'AC_FUNC_MBRTOWC', + 'AC_FUNC_MEMCMP', + 'AC_FUNC_MKTIME', + 'AC_FUNC_MMAP', + 'AC_FUNC_OBSTACK', + 'AC_FUNC_REALLOC', + 'AC_FUNC_SELECT_ARGTYPES', + 'AC_FUNC_SETPGRP', + 'AC_FUNC_SETVBUF_REVERSED', + 'AC_FUNC_STAT', + 'AC_FUNC_STRCOLL', + 'AC_FUNC_STRERROR_R', + 'AC_FUNC_STRFTIME', + 'AC_FUNC_STRNLEN', + 'AC_FUNC_STRTOD', + 'AC_FUNC_STRTOLD', + 'AC_FUNC_UTIME_NULL', + 'AC_FUNC_VPRINTF', + 'AC_FUNC_WAIT3', + 'AC_GCC_TRADITIONAL', + 'AC_GETGROUPS_T', + 'AC_GETLOADAVG', + 'AC_GNU_SOURCE', + 'AC_HAVE_FUNCS', + 'AC_HAVE_HEADERS', + 'AC_HAVE_LIBRARY', + 'AC_HAVE_POUNDBANG', + 'AC_HEADER_ASSERT', + 'AC_HEADER_CHECK', + 'AC_HEADER_DIRENT', + 'AC_HEADER_EGREP', + 'AC_HEADER_MAJOR', + 'AC_HEADER_RESOLV', + 'AC_HEADER_STAT', + 'AC_HEADER_STDBOOL', + 'AC_HEADER_STDC', + 'AC_HEADER_SYS_WAIT', + 'AC_HEADER_TIME', + 'AC_HEADER_TIOCGWINSZ', + 'AC_HELP_STRING', + 'AC_INCLUDES_DEFAULT', + 'AC_INIT', + 'AC_INLINE', + 'AC_INT_16_BITS', + 'AC_IRIX_SUN', + 'AC_ISC_POSIX', + 'AC_LANG_ASSERT', + 'AC_LANG_C', + 'AC_LANG_CALL', + 'AC_LANG_CONFTEST', + 'AC_LANG_CPLUSPLUS', + 'AC_LANG_FORTRAN77', + 'AC_LANG_FUNC_LINK_TRY', + 'AC_LANG_POP', + 'AC_LANG_PROGRAM', + 'AC_LANG_PUSH', + 'AC_LANG_RESTORE', + 'AC_LANG_SAVE', + 'AC_LANG_SOURCE', + 'AC_LANG_WERROR', + 'AC_LIBOBJ', + 'AC_LIBSOURCE', + 'AC_LIBSOURCES', + 'AC_LINK_FILES', + 'AC_LINK_IFELSE', + 'AC_LN_S', + 'AC_LONG_64_BITS', + 'AC_LONG_DOUBLE', + 'AC_LONG_FILE_NAMES', + 'AC_MAJOR_HEADER', + 'AC_MEMORY_H', + 'AC_MINGW32', + 'AC_MINIX', + 'AC_MINUS_C_MINUS_O', + 'AC_MMAP', + 'AC_MODE_T', + 'AC_MSG_CHECKING', + 'AC_MSG_ERROR', + 'AC_MSG_FAILURE', + 'AC_MSG_NOTICE', + 'AC_MSG_RESULT', + 'AC_MSG_WARN', + 'AC_OBJEXT', + 'AC_OBSOLETE', + 'AC_OFF_T', + 'AC_OPENMP', + 'AC_OUTPUT', + 'AC_OUTPUT_COMMANDS', + 'AC_PACKAGE_BUGREPORT', + 'AC_PACKAGE_NAME', + 'AC_PACKAGE_STRING', + 'AC_PACKAGE_TARNAME', + 'AC_PACKAGE_URL', + 'AC_PACKAGE_VERSION', + 'AC_PATH_PROG', + 'AC_PATH_PROGS', + 'AC_PATH_PROGS_FEATURE_CHECK', + 'AC_PATH_TARGET_TOOL', + 'AC_PATH_TOOL', + 'AC_PATH_X', + 'AC_PATH_XTRA', + 'AC_PID_T', + 'AC_PREFIX', + 'AC_PREFIX_DEFAULT', + 'AC_PREFIX_PROGRAM', + 'AC_PREPROC_IFELSE', + 'AC_PREREQ', + 'AC_PRESERVE_HELP_ORDER', + 'AC_PROG_AWK', + 'AC_PROG_CC', + 'AC_PROG_CC_C89', + 'AC_PROG_CC_C99', + 'AC_PROG_CC_C_O', + 'AC_PROG_CC_STDC', + 'AC_PROG_CPP', + 'AC_PROG_CPP_WERROR', + 'AC_PROG_CXX', + 'AC_PROG_CXX_C_O', + 'AC_PROG_CXXCPP', + 'AC_PROG_EGREP', + 'AC_PROG_F77', + 'AC_PROG_F77_C_O', + 'AC_PROG_FC', + 'AC_PROG_FC_C_O', + 'AC_PROG_FGREP', + 'AC_PROG_GCC_TRADITIONAL', + 'AC_PROG_GREP', + 'AC_PROG_INSTALL', + 'AC_PROG_LEX', + 'AC_PROG_LN_S', + 'AC_PROG_MAKE_SET', + 'AC_PROG_MKDIR_P', + 'AC_PROG_OBJC', + 'AC_PROG_OBJCPP', + 'AC_PROG_OBJCXX', + 'AC_PROG_OBJCXXCPP', + 'AC_PROG_RANLIB', + 'AC_PROG_SED', + 'AC_PROG_YACC', + 'AC_PROGRAM_CHECK', + 'AC_PROGRAM_EGREP', + 'AC_PROGRAM_PATH', + 'AC_PROGRAMS_CHECK', + 'AC_PROGRAMS_PATH', + 'AC_REMOTE_TAPE', + 'AC_REPLACE_FNMATCH', + 'AC_REPLACE_FUNCS', + 'AC_REQUIRE', + 'AC_REQUIRE_AUX_FILE', + 'AC_REQUIRE_CPP', + 'AC_RESTARTABLE_SYSCALLS', + 'AC_RETSIGTYPE', + 'AC_REVISION', + 'AC_RSH', + 'AC_RUN_IFELSE', + 'AC_SCO_INTL', + 'AC_SEARCH_LIBS', + 'AC_SET_MAKE', + 'AC_SETVBUF_REVERSED', + 'AC_SIZE_T', + 'AC_SIZEOF_TYPE', + 'AC_ST_BLKSIZE', + 'AC_ST_BLOCKS', + 'AC_ST_RDEV', + 'AC_STAT_MACROS_BROKEN', + 'AC_STDC_HEADERS', + 'AC_STRCOLL', + 'AC_STRUCT_DIRENT_D_INO', + 'AC_STRUCT_DIRENT_D_TYPE', + 'AC_STRUCT_ST_BLKSIZE', + 'AC_STRUCT_ST_BLOCKS', + 'AC_STRUCT_ST_RDEV', + 'AC_STRUCT_TIMEZONE', + 'AC_STRUCT_TM', + 'AC_SUBST', + 'AC_SUBST_FILE', + 'AC_SYS_INTERPRETER', + 'AC_SYS_LARGEFILE', + 'AC_SYS_LONG_FILE_NAMES', + 'AC_SYS_POSIX_TERMIOS', + 'AC_SYS_RESTARTABLE_SYSCALLS', + 'AC_SYS_SIGLIST_DECLARED', + 'AC_TEST_CPP', + 'AC_TEST_PROGRAM', + 'AC_TIME_WITH_SYS_TIME', + 'AC_TIMEZONE', + 'AC_TRY_ACT', + 'AC_TRY_COMPILE', + 'AC_TRY_CPP', + 'AC_TRY_LINK', + 'AC_TRY_LINK_FUNC', + 'AC_TRY_RUN', + 'AC_TYPE_GETGROUPS', + 'AC_TYPE_INT16_T', + 'AC_TYPE_INT32_T', + 'AC_TYPE_INT64_T', + 'AC_TYPE_INT8_T', + 'AC_TYPE_INTMAX_T', + 'AC_TYPE_INTPTR_T', + 'AC_TYPE_LONG_DOUBLE', + 'AC_TYPE_LONG_DOUBLE_WIDER', + 'AC_TYPE_LONG_LONG_INT', + 'AC_TYPE_MBSTATE_T', + 'AC_TYPE_MODE_T', + 'AC_TYPE_OFF_T', + 'AC_TYPE_PID_T', + 'AC_TYPE_SIGNAL', + 'AC_TYPE_SIZE_T', + 'AC_TYPE_SSIZE_T', + 'AC_TYPE_UID_T', + 'AC_TYPE_UINT16_T', + 'AC_TYPE_UINT32_T', + 'AC_TYPE_UINT64_T', + 'AC_TYPE_UINT8_T', + 'AC_TYPE_UINTMAX_T', + 'AC_TYPE_UINTPTR_T', + 'AC_TYPE_UNSIGNED_LONG_LONG_INT', + 'AC_UID_T', + 'AC_UNISTD_H', + 'AC_USE_SYSTEM_EXTENSIONS', + 'AC_USG', + 'AC_UTIME_NULL', + 'AC_VALIDATE_CACHED_SYSTEM_TUPLE', + 'AC_VERBOSE', + 'AC_VFORK', + 'AC_VPRINTF', + 'AC_WAIT3', + 'AC_WARN', + 'AC_WARNING', + 'AC_WITH', + 'AC_WORDS_BIGENDIAN', + 'AC_XENIX_DIR', + 'AC_YYTEXT_POINTER', + 'AH_BOTTOM', + 'AH_HEADER', + 'AH_TEMPLATE', + 'AH_TOP', + 'AH_VERBATIM', + 'AU_ALIAS', + 'AU_DEFUN'), + ), + 'SYMBOLS' => array('(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`'), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #00ffff;', + ), + 'COMMENTS' => array( + 1 => 'color: #666666;', + 2 => 'color: #339900;', + 3 => 'color: #666666;', + 'MULTI' => 'color: #ff0000; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099;', + 1 => 'color: #000099;', + 2 => 'color: #660099;', + 3 => 'color: #660099;', + 4 => 'color: #660099;', + 5 => 'color: #006699;', + 'HARD' => '', + ), + 'BRACKETS' => array( + 0 => 'color: #008000;' + ), + 'STRINGS' => array( + 0 => 'color: #996600;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #008000;', + 1 => 'color: #000080;', + 2 => 'color: #000040;', + 3 => 'color: #000040;', + 4 => 'color: #008080;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'COMMENTS' => array( + 'DISALLOWED_BEFORE' => '$' + ), + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(? "(?![\.\-a-zA-Z0-9_%\\/])" + ) + ) +); + +?> \ No newline at end of file diff --git a/application/libraries/geshi/autohotkey.php b/application/libraries/geshi/autohotkey.php index 1a6346340..c162f7ade 100644 --- a/application/libraries/geshi/autohotkey.php +++ b/application/libraries/geshi/autohotkey.php @@ -4,7 +4,7 @@ * -------- * Author: Naveen Garg (naveen.garg@gmail.com) * Copyright: (c) 2009 Naveen Garg and GeSHi - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2009/06/11 * * Autohotkey language file for GeSHi. diff --git a/application/libraries/geshi/autoit.php b/application/libraries/geshi/autoit.php index e3185d063..7f69d2bd5 100644 --- a/application/libraries/geshi/autoit.php +++ b/application/libraries/geshi/autoit.php @@ -4,7 +4,7 @@ * -------- * Author: big_daddy (robert.i.anthony@gmail.com) * Copyright: (c) 2006 and to GESHi ;) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2006/01/26 * * AutoIT language file for GeSHi. @@ -60,7 +60,10 @@ $language_data = array ( 'COMMENT_MULTI' => array( '#comments-start' => '#comments-end', '#cs' => '#ce'), - 'COMMENT_REGEXP' => array(0 => '/(? array( + 0 => '/(? '/(?<=include)\s+<.*?>/' + ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), 'ESCAPE_CHAR' => '', @@ -1101,8 +1104,9 @@ $language_data = array ( 6 => 'color: #A00FF0; font-style: italic;' ), 'COMMENTS' => array( + 'MULTI' => 'font-style: italic; color: #669900;', 0 => 'font-style: italic; color: #009933;', - 'MULTI' => 'font-style: italic; color: #669900;' + 1 => 'font-style: italic; color: #9977BB;', ), 'ESCAPE_CHAR' => array( 0 => '' @@ -1111,7 +1115,7 @@ $language_data = array ( 0 => 'color: #FF0000; font-weight: bold;' ), 'STRINGS' => array( - 0 => 'font-weight: bold; color: #008080;' + 0 => 'font-weight: bold; color: #9977BB;' ), 'NUMBERS' => array( 0 => 'color: #AC00A9; font-style: italic; font-weight: bold;' diff --git a/application/libraries/geshi/avisynth.php b/application/libraries/geshi/avisynth.php index 9031e8caa..949d0ecb6 100644 --- a/application/libraries/geshi/avisynth.php +++ b/application/libraries/geshi/avisynth.php @@ -4,7 +4,7 @@ * -------- * Author: Ryan Jones (sciguyryan@gmail.com) * Copyright: (c) 2008 Ryan Jones - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2008/10/08 * * AviSynth language file for GeSHi. diff --git a/application/libraries/geshi/awk.php b/application/libraries/geshi/awk.php index abecf72b5..a1ab68ef1 100644 --- a/application/libraries/geshi/awk.php +++ b/application/libraries/geshi/awk.php @@ -4,7 +4,7 @@ * ------- * Author: George Pollard (porges@porg.es) * Copyright: (c) 2009 George Pollard - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2009/01/28 * * Awk language file for GeSHi. diff --git a/application/libraries/geshi/bascomavr.php b/application/libraries/geshi/bascomavr.php new file mode 100644 index 000000000..8270fb26e --- /dev/null +++ b/application/libraries/geshi/bascomavr.php @@ -0,0 +1,185 @@ + 'BASCOM AVR', + 'COMMENT_SINGLE' => array(1 => "'"), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + // Navy Blue Bold Keywords + '1WRESET' , '1WREAD' , '1WWRITE' , '1WSEARCHFIRST' , '1WSEARCHNEXT' ,'1WVERIFY' , '1WIRECOUNT', + 'CONFIG' , 'ACI' , 'ADC' , 'BCCARD' , 'CLOCK' , 'COM1' , + 'COM2' , 'PS2EMU' , 'ATEMU' , 'I2CSLAVE' , + 'INPUT', 'OUTPUT', 'GRAPHLCD' , 'KEYBOARD' , 'TIMER0' , 'TIMER1' , + 'LCDBUS' , 'LCDMODE' , '1WIRE' , 'LCD' , 'SERIALOUT' , + 'SERIALIN' , 'SPI' , 'LCDPIN' , 'SDA' , 'SCL' , + 'WATCHDOG' , 'PORT' , 'COUNTER0', 'COUNTER1' , 'TCPIP' , 'TWISLAVE' , + 'X10' , 'XRAM' , 'USB', + 'BCD' , 'GRAY2BIN' , 'BIN2GRAY' , 'BIN' , 'MAKEBCD' , 'MAKEDEC' , 'MAKEINT' , 'FORMAT' , 'FUSING' , 'BINVAL' , + 'CRC8' , 'CRC16' , 'CRC16UNI' , 'CRC32' , 'HIGH' , 'HIGHW' , 'LOW', + 'DATE' , 'TIME' , 'DATE$' , 'TIME$' , 'DAYOFWEEK' , 'DAYOFYEAR' , 'SECOFDAY' , 'SECELAPSED' , 'SYSDAY' , 'SYSSEC' , 'SYSSECELAPSED', + 'WAIT' , 'WAITMS' , 'WAITUS' , 'DELAY', + 'BSAVE' , 'BLOAD' , 'GET' , 'VER' , 'DISKFREE' , 'DIR' , 'DriveReset' , 'DriveInit' , 'LINE' , 'INITFILESYSTEM' , + 'EOF' , 'WRITE' , 'FLUSH' , 'FREEFILE' , 'FILEATTR' , 'FILEDATE' , 'FILETIME' , 'FILEDATETIME' , 'FILELEN' , 'SEEK' , + 'KILL' , 'DriveGetIdentity' , 'DriveWriteSector' , 'DriveReadSector' , 'LOC' , 'LOF' , 'PUT' , 'OPEN' , 'CLOSE', + 'GLCDCMD' , 'GLCDDATA' , 'SETFONT' , 'PSET' , 'SHOWPIC' , 'SHOWPICE' , 'CIRCLE' , 'BOX', + 'I2CINIT' , 'I2CRECEIVE' , 'I2CSEND' , 'I2CSTART','I2CSTOP','I2CRBYTE','I2CWBYTE', + 'ALIAS' , 'BITWAIT' , 'TOGGLE' , 'RESET' , 'SET' , 'SHIFTIN' , 'SHIFTOUT' , 'DEBOUNCE' , 'PULSEIN' , 'PULSEOUT', + 'IDLE' , 'POWERDOWN' , 'POWERSAVE' , 'ON', 'INTERRUPT' , 'ENABLE' , 'DISABLE' , 'START' , 'VERSION' , 'CLOCKDIVISION' , 'CRYSTAL' , 'STOP', + 'ADR' , 'ADR2' , 'WRITEEEPROM' , 'CPEEK' , 'CPEEKH' , 'PEEK' , 'POKE' , 'OUT' , 'READEEPROM' , 'DATA' , 'INP' , 'READ' , 'RESTORE' , 'LOOKDOWN' , 'LOOKUP' , 'LOOKUPSTR' , 'LOAD' , 'LOADADR' , 'LOADLABEL' , 'LOADWORDADR' , 'MEMCOPY', + 'RC5SEND' , 'RC6SEND' , 'GETRC5' , 'SONYSEND', + 'BAUD' , 'BAUD1', 'BUFSPACE' , 'CLEAR', 'ECHO' , 'WAITKEY' , 'ISCHARWAITING' , 'INKEY' , 'INPUTBIN' , 'INPUTHEX' , 'PRINT', 'PRINT1','PRINT0', 'PRINTBIN' , 'SERIN' , 'SEROUT' , 'SPC' , 'MAKEMODBUS', + 'SPIIN' , 'SPIINIT' , 'SPIMOVE' , 'SPIOUT', 'SINGLE', + 'ASC' , 'UCASE' , 'LCASE' , 'TRIM' , 'SPLIT' , 'LTRIM' , 'INSTR' , 'SPACE' , 'RTRIM' , 'LEFT' , 'LEN' , 'MID' , 'RIGHT' , 'VAL' , 'STR' , 'CHR' , 'CHECKSUM' , 'HEX' , 'HEXVAL', + 'BASE64DEC' , 'BASE64ENC' , 'IP2STR' , 'UDPREAD' , 'UDPWRITE' , 'UDPWRITESTR' , 'TCPWRITE' , 'TCPWRITESTR' , 'TCPREAD' , 'GETDSTIP' , 'GETDSTPORT' , 'SOCKETSTAT' , 'SOCKETCONNECT' , 'SOCKETLISTEN' , 'GETSOCKET' , 'CLOSESOCKET' , + 'SETTCP' , 'GETTCPREGS' , 'SETTCPREGS' , 'SETIPPROTOCOL' , 'TCPCHECKSUM', + 'HOME' , 'CURSOR' , 'UPPERLINE' , 'THIRDLINE' , 'INITLCD' , 'LOWERLINE' , 'LCDAT' , 'FOURTHLINE' , 'DISPLAY' , 'LCDCONTRAST' , 'LOCATE' , 'SHIFTCURSOR' , 'DEFLCDCHAR' , 'SHIFTLCD' , 'CLS', + 'ACOS' , 'ASIN' , 'ATN' , 'ATN2' , 'EXP' , 'RAD2DEG' , 'FRAC' , 'TAN' , 'TANH' , 'COS' , 'COSH' , 'LOG' , 'LOG10' , 'ROUND' , 'ABS' , 'INT' , 'MAX' , 'MIN' , 'SQR' , 'SGN' , 'POWER' , 'SIN' , 'SINH' , 'FIX' , 'INCR' , 'DECR' , 'DEG2RAD', + 'DBG' , 'DEBUG', 'DTMFOUT' , 'ENCODER' , 'GETADC' , 'GETKBD' , 'GETATKBD' , 'GETRC' , 'VALUE' , 'POPALL' , 'PS2MOUSEXY' , 'PUSHALL' , + 'RETURN' , 'RND' , 'ROTATE' , 'SENDSCAN' , 'SENDSCANKBD' , 'SHIFT' , 'SOUND' , 'STCHECK' , 'SWAP' , 'VARPTR' , 'X10DETECT' , 'X10SEND' , 'READMAGCARD' , 'REM' , 'BITS' , 'BYVAL' , 'CALL' , 'READHITAG', + 'Buffered', 'Size', 'Dummy', 'Parity', 'None', 'Stopbits', 'Databits', 'Clockpol', 'Synchrone', 'Prescaler', 'Reference', 'int0', 'int1', 'Interrupts', + 'Auto', 'avcc', 'ack', 'nack', 'Pin', 'Db4', 'Db3', 'Db2', 'Db1', 'Db7', 'Db6', 'Db5', 'Db0', 'e', 'rs', 'twi', + ), + 2 => array( + // Red Lowercase Keywords + '$ASM' , '$BAUD' , '$BAUD1' , '$BGF' , '$BOOT' , '$CRYSTAL' , '$DATA' , '$DBG' , '$DEFAULT' , '$EEPLEAVE' , '$EEPROM' , + '$EEPROMHEX' , '$EXTERNAL' , '$HWSTACK' , '$INC' , '$INCLUDE' , '$INITMICRO' , '$LCD' , '$LCDRS' , '$LCDPUTCTRL' , + '$LCDPUTDATA' , '$LCDVFO' , '$LIB' , '$LOADER' , '$LOADERSIZE' , '$MAP' , '$NOCOMPILE' , '$NOINIT' , '$NORAMCLEAR' , + '$PROG' , '$PROGRAMMER' , '$REGFILE' , '$RESOURCE' , '$ROMSTART', '$SERIALINPUT', '$SERIALINPUT1' , '$SERIALINPUT2LCD' , + '$SERIALOUTPUT' , '$SERIALOUTPUT1' , '$SIM' , '$SWSTACK' , '$TIMEOUT' , '$TINY' , '$WAITSTATE' , '$XRAMSIZE' , '$XRAMSTART', '$XA', + '#IF' , '#ELSE' , '#ENDIF', '$framesize' + ), + 3 => array( + // Blue Lowercase Keywords + 'IF', 'THEN', 'ELSE', 'END', 'WHILE', 'WEND', 'DO', 'LOOP', 'SELECT', 'CASE', 'FOR', 'NEXT', + 'GOSUB' , 'GOTO' , 'LOCAL' , 'SUB' , 'DEFBIT', 'DEFBYTE', 'DEFINT', 'DEFWORD', 'DEFLNG', 'DEFSNG', 'DEFDBL', + 'CONST', 'DECLARE', 'FUNCTION', 'DIM', 'EXIT', 'LONG', 'INTEGER', 'BYTE', 'AS', 'STRING', 'WORD' + ), + 4 => array( + //light blue + 'PINA.0', 'PINA.1', 'PINA.2', 'PINA.3', 'PINA.4', 'PINA.5', 'PINA.6', 'PINA.7', + 'PINB.0', 'PINB.1', 'PINB.2', 'PINB.3', 'PINB.4', 'PINB.5', 'PINB.6', 'PINB.7', + 'PINC.0', 'PINC.1', 'PINC.2', 'PINC.3', 'PINC.4', 'PINC.5', 'PINC.6', 'PINC.7', + 'PIND.0', 'PIND.1', 'PIND.2', 'PIND.3', 'PIND.4', 'PIND.5', 'PIND.6', 'PIND.7', + 'PINE.0', 'PINE.1', 'PINE.2', 'PINE.3', 'PINE.4', 'PINE.5', 'PINE.6', 'PINE.7', + 'PINF.0', 'PINF.1', 'PINF.2', 'PINF.3', 'PINF.4', 'PINF.5', 'PINF.6', 'PINF.7', + + 'PORTA.0', 'PORTA.1', 'PORTA.2', 'PORTA.3', 'PORTA.4', 'PORTA.5', 'PORTA.6', 'PORTA.7', + 'PORTB.0', 'PORTB.1', 'PORTB.2', 'PORTB.3', 'PORTB.4', 'PORTB.5', 'PORTB.6', 'PORTB.7', + 'PORTC.0', 'PORTC.1', 'PORTC.2', 'PORTC.3', 'PORTC.4', 'PORTC.5', 'PORTC.6', 'PORTC.7', + 'PORTD.0', 'PORTD.1', 'PORTD.2', 'PORTD.3', 'PORTD.4', 'PORTD.5', 'PORTD.6', 'PORTD.7', + 'PORTE.0', 'PORTE.1', 'PORTE.2', 'PORTE.3', 'PORTE.4', 'PORTE.5', 'PORTE.6', 'PORTE.7', + 'PORTF.0', 'PORTF.1', 'PORTF.2', 'PORTF.3', 'PORTF.4', 'PORTF.5', 'PORTF.6', 'PORTF.7', + + 'DDRA.0', 'DDRA.1', 'DDRA.2', 'DDRA.3', 'DDRA.4', 'DDRA.5', 'DDRA.6', 'DDRA.7', + 'DDRB.0', 'DDRB.1', 'DDRB.2', 'DDRB.3', 'DDRB.4', 'DDRB.5', 'DDRB.6', 'DDRB.7', + 'DDRC.0', 'DDRC.1', 'DDRC.2', 'DDRC.3', 'DDRC.4', 'DDRC.5', 'DDRC.6', 'DDRC.7', + 'DDRD.0', 'DDRD.1', 'DDRD.2', 'DDRD.3', 'DDRD.4', 'DDRD.5', 'DDRD.6', 'DDRD.7', + 'DDRE.0', 'DDRE.1', 'DDRE.2', 'DDRE.3', 'DDRE.4', 'DDRE.5', 'DDRE.6', 'DDRE.7', + 'DDRF.0', 'DDRF.1', 'DDRF.2', 'DDRF.3', 'DDRF.4', 'DDRF.5', 'DDRF.6', 'DDRF.7', + + 'DDRA','DDRB','DDRC','DDRD','DDRE','DDRF', + 'PORTA','PORTB','PORTC','PORTD','PORTE','PORTF', + 'PINA','PINB','PINC','PIND','PINE','PINF', + ) + ), + 'SYMBOLS' => array( + '=', '<', '>', '>=', '<=', '+', '-', '*', '/', '%', '(', ')', '{', '}', '[', ']', ';', ':', '$', '&H' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000080; font-weight: bold;', + 2 => 'color: #FF0000;', + 3 => 'color: #0000FF;', + 4 => 'color: #0080FF;', + ), + 'COMMENTS' => array( + 1 => 'color: #657CC4; font-style: italic;' + ), + 'BRACKETS' => array( + 0 => 'color: #000080;' + ), + 'STRINGS' => array( + 0 => 'color: #008000;' + ), + 'NUMBERS' => array( + 0 => 'color: #000080; font-weight: bold;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #0000FF;' + ), + 'ESCAPE_CHAR' => array( + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); + +?> \ No newline at end of file diff --git a/application/libraries/geshi/bash.php b/application/libraries/geshi/bash.php index 0b1583b7b..8edb3f30e 100644 --- a/application/libraries/geshi/bash.php +++ b/application/libraries/geshi/bash.php @@ -4,7 +4,7 @@ * -------- * Author: Andreas Gohr (andi@splitbrain.org) * Copyright: (c) 2004 Andreas Gohr, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2004/08/20 * * BASH language file for GeSHi. @@ -65,7 +65,10 @@ $language_data = array ( //BASH-style Heredoc 2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU', //Escaped String Starters - 3 => "/\\\\['\"]/siU" + 3 => "/\\\\['\"]/siU", + // Single-Line Shell usage: Hide the prompt at the beginning + /* 4 => "/\A(?!#!)\s*(?>[\w:@\\/\\-\\._~]*[$#]\s?)?(?=[^\n]+\n?\Z)|^(?!#!)(\w+@)?[\w\\-\\.]+(:~?)[\w\\/\\-\\._]*?[$#]\s?/ms" */ + 4 => "/\A(?!#!)(?:(?>[\w:@\\/\\-\\._~]*)[$#]\s?)(?=(?>[^\n]+)\n?\Z)|^(?!#!)(?:\w+@)?(?>[\w\\-\\.]+)(?>:~?[\w\\/\\-\\._]*?)?[$#]\s?/sm" ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array('"'), @@ -90,10 +93,44 @@ $language_data = array ( 'if', 'in', 'select', 'set', 'then', 'until', 'while', 'time' ), 2 => array( - 'aclocal', 'aconnect', 'aplay', 'apm', 'apmsleep', 'apropos', - 'apt-cache', 'apt-get', 'apt-key', 'aptitude', - 'ar', 'arch', 'arecord', 'as', 'as86', 'ash', 'autoconf', - 'autoheader', 'automake', 'awk', + 'aclocal', 'aconnect', 'apachectl', 'apache2ctl', 'aplay', 'apm', + 'apmsleep', 'apropos', 'apt-cache', 'apt-cdrom', 'apt-config', + 'apt-file', 'apt-ftparchive', 'apt-get', 'apt-key', 'apt-listbugs', + 'apt-listchanges', 'apt-mark', 'apt-mirror', 'apt-sortpkgs', + 'apt-src', 'apticron', 'aptitude', 'aptsh', 'apxs', 'apxs2', 'ar', + 'arch', 'arecord', 'as', 'as86', 'ash', 'autoconf', 'autoheader', + 'automake', 'awk', + + 'apachectl start', 'apachectl stop', 'apachectl restart', + 'apachectl graceful', 'apachectl graceful-stop', + 'apachectl configtest', 'apachectl status', 'apachectl fullstatus', + 'apachectl help', 'apache2ctl start', 'apache2ctl stop', + 'apache2ctl restart', 'apache2ctl graceful', + 'apache2ctl graceful-stop', 'apache2ctl configtest', + 'apache2ctl status', 'apache2ctl fullstatus', 'apache2ctl help', + + 'apt-cache add', 'apt-cache depends', 'apt-cache dotty', + 'apt-cache dump', 'apt-cache dumpavail', 'apt-cache gencaches', + 'apt-cache pkgnames', 'apt-cache policy', 'apt-cache rdepends', + 'apt-cache search', 'apt-cache show', 'apt-cache showauto', + 'apt-cache showpkg', 'apt-cache showsrc', 'apt-cache stats', + 'apt-cache unmet', 'apt-cache xvcg', 'apt-cdrom add', + 'apt-cdrom ident', 'apt-config dump', 'apt-config shell', + 'apt-file find', 'apt-file list', 'apt-file purge', + 'apt-file search', 'apt-file shot', 'apt-file update', + 'apt-get autoclean', 'apt-get autoremove', 'apt-get build-dep', + 'apt-get check', 'apt-get clean', 'apt-get dist-upgrade', + 'apt-get dselect-upgrade', 'apt-get install', 'apt-get markauto', + 'apt-get purge', 'apt-get remove', 'apt-get source', + 'apt-get unmarkauto', 'apt-get update', 'apt-get upgrade', + 'apt-key add', 'apt-key adv', 'apt-key del', 'apt-key export', + 'apt-key exportall', 'apt-key finger', 'apt-key list', + 'apt-key net-update', 'apt-key update', 'apt-listbugs apt', + 'apt-listbugs list', 'apt-listbugs rss', 'apt-src build', + 'apt-src clean', 'apt-src import', 'apt-src install', + 'apt-src list', 'apt-src location', 'apt-src name', + 'apt-src remove', 'apt-src update', 'apt-src upgrade', + 'apt-src version', 'basename', 'bash', 'bc', 'bison', 'bunzip2', 'bzcat', 'bzcmp', 'bzdiff', 'bzegrep', 'bzfgrep', 'bzgrep', @@ -104,10 +141,19 @@ $language_data = array ( 'chown', 'chroot', 'chsh', 'chvt', 'clear', 'cmp', 'comm', 'co', 'col', 'cp', 'cpio', 'cpp', 'csh', 'cut', 'cvs', 'cvs-pserver', - 'dash', 'date', 'dd', 'dc', 'dcop', 'deallocvt', 'df', 'dialog', - 'diff', 'diff3', 'dir', 'dircolors', 'directomatic', 'dirname', - 'dmesg', 'dnsdomainname', 'domainname', 'dpkg', 'dselect', 'du', - 'dumpkeys', + 'cvs add', 'cvs admin', 'cvs annotate', 'cvs checkout', + 'cvs commit', 'cvs diff', 'cvs edit', 'cvs editors', 'cvs export', + 'cvs history', 'cvs import', 'cvs init', 'cvs log', 'cvs login', + 'cvs logout', 'cvs ls', 'cvs pserver', 'cvs rannotate', + 'cvs rdiff', 'cvs release', 'cvs remove', 'cvs rlog', 'cvs rls', + 'cvs rtag', 'cvs server', 'cvs status', 'cvs tag', 'cvs unedit', + 'cvs update', 'cvs version', 'cvs watch', 'cvs watchers', + + 'dash', 'date', 'dc', 'dch', 'dcop', 'dd', 'ddate', 'ddd', + 'deallocvt', 'debconf', 'defoma', 'depmod', 'df', 'dh', + 'dialog', 'diff', 'diff3', 'dig', 'dir', 'dircolors', 'directomatic', + 'dirname', 'dmesg', 'dnsdomainname', 'domainname', 'dpkg', + 'dselect', 'du', 'dumpkeys', 'ed', 'egrep', 'env', 'expr', @@ -119,7 +165,47 @@ $language_data = array ( 'gimptool', 'gmake', 'gocr', 'grep', 'groups', 'gs', 'gunzip', 'gzexe', 'gzip', - 'git', 'gitaction', 'git-add', 'git-add--interactive', 'git-am', + 'git', 'git add', 'git add--interactive', 'git am', 'git annotate', + 'git apply', 'git archive', 'git bisect', 'git bisect--helper', + 'git blame', 'git branch', 'git bundle', 'git cat-file', + 'git check-attr', 'git checkout', 'git checkout-index', + 'git check-ref-format', 'git cherry', 'git cherry-pick', + 'git clean', 'git clone', 'git commit', 'git commit-tree', + 'git config', 'git count-objects', 'git daemon', 'git describe', + 'git diff', 'git diff-files', 'git diff-index', 'git difftool', + 'git difftool--helper', 'git diff-tree', 'git fast-export', + 'git fast-import', 'git fetch', 'git fetch-pack', + 'git filter-branch', 'git fmt-merge-msg', 'git for-each-ref', + 'git format-patch', 'git fsck', 'git fsck-objects', 'git gc', + 'git get-tar-commit-id', 'git grep', 'git hash-object', 'git help', + 'git http-backend', 'git http-fetch', 'git http-push', + 'git imap-send', 'git index-pack', 'git init', 'git init-db', + 'git instaweb', 'git log', 'git lost-found', 'git ls-files', + 'git ls-remote', 'git ls-tree', 'git mailinfo', 'git mailsplit', + 'git merge', 'git merge-base', 'git merge-file', 'git merge-index', + 'git merge-octopus', 'git merge-one-file', 'git merge-ours', + 'git merge-recursive', 'git merge-resolve', 'git merge-subtree', + 'git mergetool', 'git merge-tree', 'git mktag', 'git mktree', + 'git mv', 'git name-rev', 'git notes', 'git pack-objects', + 'git pack-redundant', 'git pack-refs', 'git patch-id', + 'git peek-remote', 'git prune', 'git prune-packed', 'git pull', + 'git push', 'git quiltimport', 'git read-tree', 'git rebase', + 'git rebase--interactive', 'git receive-pack', 'git reflog', + 'git relink', 'git remote', 'git remote-ftp', 'git remote-ftps', + 'git remote-http', 'git remote-https', 'git remote-testgit', + 'git repack', 'git replace', 'git repo-config', 'git request-pull', + 'git rerere', 'git reset', 'git revert', 'git rev-list', + 'git rev-parse', 'git rm', 'git send-pack', 'git shell', + 'git shortlog', 'git show', 'git show-branch', 'git show-index', + 'git show-ref', 'git stage', 'git stash', 'git status', + 'git stripspace', 'git submodule', 'git symbolic-ref', 'git tag', + 'git tar-tree', 'git unpack-file', 'git unpack-objects', + 'git update-index', 'git update-ref', 'git update-server-info', + 'git upload-archive', 'git upload-pack', 'git var', + 'git verify-pack', 'git verify-tag', 'git web--browse', + 'git whatchanged', 'git write-tree', + + 'gitaction', 'git-add', 'git-add--interactive', 'git-am', 'git-annotate', 'git-apply', 'git-archive', 'git-bisect', 'git-bisect--helper', 'git-blame', 'git-branch', 'git-bundle', 'git-cat-file', 'git-check-attr', 'git-checkout', @@ -165,6 +251,9 @@ $language_data = array ( 'id', 'ifconfig', 'ifdown', 'ifup', 'igawk', 'install', + 'ip', 'ip addr', 'ip addrlabel', 'ip link', 'ip maddr', 'ip mroute', + 'ip neigh', 'ip route', 'ip rule', 'ip tunnel', 'ip xfrm', + 'join', 'kbd_mode','kbdrate', 'kdialog', 'kfile', 'kill', 'killall', @@ -199,6 +288,20 @@ $language_data = array ( 'svnadmin', 'svndumpfilter', 'svnlook', 'svnmerge', 'svnmucc', 'svnserve', 'svnshell', 'svnsync', 'svnversion', 'svnwrap', 'sync', + 'svn add', 'svn ann', 'svn annotate', 'svn blame', 'svn cat', + 'svn changelist', 'svn checkout', 'svn ci', 'svn cl', 'svn cleanup', + 'svn co', 'svn commit', 'svn copy', 'svn cp', 'svn del', + 'svn delete', 'svn di', 'svn diff', 'svn export', 'svn h', + 'svn help', 'svn import', 'svn info', 'svn list', 'svn lock', + 'svn log', 'svn ls', 'svn merge', 'svn mergeinfo', 'svn mkdir', + 'svn move', 'svn mv', 'svn pd', 'svn pdel', 'svn pe', 'svn pedit', + 'svn pg', 'svn pget', 'svn pl', 'svn plist', 'svn praise', + 'svn propdel', 'svn propedit', 'svn propget', 'svn proplist', + 'svn propset', 'svn ps', 'svn pset', 'svn remove', 'svn ren', + 'svn rename', 'svn resolve', 'svn resolved', 'svn revert', 'svn rm', + 'svn st', 'svn stat', 'svn status', 'svn sw', 'svn switch', + 'svn unlock', 'svn up', 'svn update', + 'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'tree', 'true', @@ -208,12 +311,21 @@ $language_data = array ( 'valgrind', 'vdir', 'vi', 'vim', 'vmstat', - 'w', 'wall', 'wc', 'wget', 'whatis', 'whereis', 'which', 'whiptail', - 'who', 'whoami', 'write', + 'w', 'wall', 'watch', 'wc', 'wget', 'whatis', 'whereis', + 'which', 'whiptail', 'who', 'whoami', 'whois', 'wine', 'wineboot', + 'winebuild', 'winecfg', 'wineconsole', 'winedbg', 'winedump', + 'winefile', 'wodim', 'write', 'xargs', 'xhost', 'xmodmap', 'xset', - 'yacc', 'yes', 'ypdomainname', + 'yacc', 'yes', 'ypdomainname', 'yum', + + 'yum check-update', 'yum clean', 'yum deplist', 'yum erase', + 'yum groupinfo', 'yum groupinstall', 'yum grouplist', + 'yum groupremove', 'yum groupupdate', 'yum info', 'yum install', + 'yum list', 'yum localinstall', 'yum localupdate', 'yum makecache', + 'yum provides', 'yum remove', 'yum resolvedep', 'yum search', + 'yum shell', 'yum update', 'yum upgrade', 'yum whatprovides', 'zcat', 'zcmp', 'zdiff', 'zdump', 'zegrep', 'zfgrep', 'zforce', 'zgrep', 'zip', 'zipgrep', 'zipinfo', 'zless', 'zmore', 'znew', @@ -249,7 +361,8 @@ $language_data = array ( 0 => 'color: #666666; font-style: italic;', 1 => 'color: #800000;', 2 => 'color: #cc0000; font-style: italic;', - 3 => 'color: #000000; font-weight: bold;' + 3 => 'color: #000000; font-weight: bold;', + 4 => 'color: #666666;' ), 'ESCAPE_CHAR' => array( 1 => 'color: #000099; font-weight: bold;', @@ -302,7 +415,7 @@ $language_data = array ( //Shorthand shell variables 4 => "\\$[*#\$\\-\\?!\d]", //Parameters of commands - 5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)" + 5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|<(?:SEMI|PIPE)>|$)" ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( @@ -315,10 +428,13 @@ $language_data = array ( 'DISALLOWED_BEFORE' => '$' ), 'KEYWORDS' => array( - 'DISALLOWED_BEFORE' => "(? "(?![\.\-a-zA-Z0-9_%=\\/])" + 'DISALLOWED_BEFORE' => "(? "(?![\.\-a-zA-Z0-9_%=\\/:])", + 2 => array( + 'SPACE_AS_WHITESPACE' => false + ) + ) ) - ) ); ?> \ No newline at end of file diff --git a/application/libraries/geshi/basic4gl.php b/application/libraries/geshi/basic4gl.php index 55be6dc34..ce409e8a4 100644 --- a/application/libraries/geshi/basic4gl.php +++ b/application/libraries/geshi/basic4gl.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Matthew Webb (bmatthew1@blueyonder.co.uk) * Copyright: (c) 2004 Matthew Webb (http://matthew-4gl.wikispaces.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2007/09/15 * * Basic4GL language file for GeSHi. diff --git a/application/libraries/geshi/bf.php b/application/libraries/geshi/bf.php index c69155e88..0529ec3c5 100644 --- a/application/libraries/geshi/bf.php +++ b/application/libraries/geshi/bf.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2009/10/31 * * Brainfuck language file for GeSHi. diff --git a/application/libraries/geshi/bibtex.php b/application/libraries/geshi/bibtex.php index 82c13b8bc..13685608b 100644 --- a/application/libraries/geshi/bibtex.php +++ b/application/libraries/geshi/bibtex.php @@ -4,7 +4,7 @@ * ----- * Author: Quinn Taylor (quinntaylor@mac.com) * Copyright: (c) 2009 Quinn Taylor (quinntaylor@mac.com), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2009/04/29 * * BibTeX language file for GeSHi. diff --git a/application/libraries/geshi/blitzbasic.php b/application/libraries/geshi/blitzbasic.php index c3871a21e..15f24fdbe 100644 --- a/application/libraries/geshi/blitzbasic.php +++ b/application/libraries/geshi/blitzbasic.php @@ -4,7 +4,7 @@ * -------------- * Author: P�draig O`Connel (info@moonsword.info) * Copyright: (c) 2005 P�draig O`Connel (http://moonsword.info) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 16.10.2005 * * BlitzBasic language file for GeSHi. diff --git a/application/libraries/geshi/bnf.php b/application/libraries/geshi/bnf.php index db5cdb59d..7cec792a9 100644 --- a/application/libraries/geshi/bnf.php +++ b/application/libraries/geshi/bnf.php @@ -4,7 +4,7 @@ * -------- * Author: Rowan Rodrik van der Molen (rowan@bigsmoke.us) * Copyright: (c) 2006 Rowan Rodrik van der Molen (http://www.bigsmoke.us/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2006/09/28 * * BNF (Backus-Naur form) language file for GeSHi. @@ -45,21 +45,26 @@ $language_data = array ( 'LANG_NAME' => 'bnf', - 'COMMENT_SINGLE' => array(), + 'COMMENT_SINGLE' => array(';'), 'COMMENT_MULTI' => array(), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array('"', "'"), 'ESCAPE_CHAR' => '', 'KEYWORDS' => array(), 'SYMBOLS' => array( - '(', ')', '<', '>', '::=', '|' + 0 => array('(', ')'), + 1 => array('<', '>'), + 2 => array('[', ']'), + 3 => array('{', '}'), + 4 => array('=', '*', '/', '|', ':'), ), 'CASE_SENSITIVE' => array( - //GESHI_COMMENTS => false + GESHI_COMMENTS => false ), 'STYLES' => array( 'KEYWORDS' => array(), 'COMMENTS' => array( + 0 => 'color: #666666; font-style: italic;', // Single Line comments ), 'ESCAPE_CHAR' => array( 0 => '' @@ -78,8 +83,12 @@ $language_data = array ( 0 => '' ), 'SYMBOLS' => array( - 0 => 'color: #000066; font-weight: bold;', // Unused - ), + 0 => 'color: #000066; font-weight: bold;', // Round brackets + 1 => 'color: #000066; font-weight: bold;', // Angel Brackets + 2 => 'color: #000066; font-weight: bold;', // Square Brackets + 3 => 'color: #000066; font-weight: bold;', // BRaces + 4 => 'color: #006600; font-weight: bold;', // Other operator symbols + ), 'REGEXPS' => array( 0 => 'color: #007;', ), @@ -107,4 +116,4 @@ $language_data = array ( ) ); -?> +?> \ No newline at end of file diff --git a/application/libraries/geshi/boo.php b/application/libraries/geshi/boo.php index df843797d..f56afee5f 100644 --- a/application/libraries/geshi/boo.php +++ b/application/libraries/geshi/boo.php @@ -4,7 +4,7 @@ * -------- * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com) * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2007/09/10 * * Boo language file for GeSHi. diff --git a/application/libraries/geshi/c.php b/application/libraries/geshi/c.php index bb6be43e1..7db6d3d50 100644 --- a/application/libraries/geshi/c.php +++ b/application/libraries/geshi/c.php @@ -7,7 +7,7 @@ * - Jack Lloyd (lloyd@randombit.net) * - Michael Mol (mikemol@gmail.com) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.10 * Date Started: 2004/06/04 * * C language file for GeSHi. @@ -92,12 +92,105 @@ $language_data = array ( 'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline' ), 3 => array( - 'printf', 'cout' + // assert.h + 'assert', + + //complex.h + 'cabs', 'cacos', 'cacosh', 'carg', 'casin', 'casinh', 'catan', + 'catanh', 'ccos', 'ccosh', 'cexp', 'cimag', 'cis', 'clog', 'conj', + 'cpow', 'cproj', 'creal', 'csin', 'csinh', 'csqrt', 'ctan', 'ctanh', + + //ctype.h + 'digittoint', 'isalnum', 'isalpha', 'isascii', 'isblank', 'iscntrl', + 'isdigit', 'isgraph', 'islower', 'isprint', 'ispunct', 'isspace', + 'isupper', 'isxdigit', 'toascii', 'tolower', 'toupper', + + //inttypes.h + 'imaxabs', 'imaxdiv', 'strtoimax', 'strtoumax', 'wcstoimax', + 'wcstoumax', + + //locale.h + 'localeconv', 'setlocale', + + //math.h + 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp', + 'fabs', 'floor', 'frexp', 'ldexp', 'log', 'log10', 'modf', 'pow', + 'sin', 'sinh', 'sqrt', 'tan', 'tanh', + + //setjmp.h + 'longjmp', 'setjmp', + + //signal.h + 'raise', + + //stdarg.h + 'va_arg', 'va_copy', 'va_end', 'va_start', + + //stddef.h + 'offsetof', + + //stdio.h + 'clearerr', 'fclose', 'fdopen', 'feof', 'ferror', 'fflush', 'fgetc', + 'fgetpos', 'fgets', 'fopen', 'fprintf', 'fputc', 'fputchar', + 'fputs', 'fread', 'freopen', 'fscanf', 'fseek', 'fsetpos', 'ftell', + 'fwrite', 'getc', 'getch', 'getchar', 'gets', 'perror', 'printf', + 'putc', 'putchar', 'puts', 'remove', 'rename', 'rewind', 'scanf', + 'setbuf', 'setvbuf', 'snprintf', 'sprintf', 'sscanf', 'tmpfile', + 'tmpnam', 'ungetc', 'vfprintf', 'vfscanf', 'vprintf', 'vscanf', + 'vsprintf', 'vsscanf', + + //stdlib.h + 'abort', 'abs', 'atexit', 'atof', 'atoi', 'atol', 'bsearch', + 'calloc', 'div', 'exit', 'free', 'getenv', 'itoa', 'labs', 'ldiv', + 'ltoa', 'malloc', 'qsort', 'rand', 'realloc', 'srand', 'strtod', + 'strtol', 'strtoul', 'system', + + //string.h + 'memchr', 'memcmp', 'memcpy', 'memmove', 'memset', 'strcat', + 'strchr', 'strcmp', 'strcoll', 'strcpy', 'strcspn', 'strerror', + 'strlen', 'strncat', 'strncmp', 'strncpy', 'strpbrk', 'strrchr', + 'strspn', 'strstr', 'strtok', 'strxfrm', + + //time.h + 'asctime', 'clock', 'ctime', 'difftime', 'gmtime', 'localtime', + 'mktime', 'strftime', 'time', + + //wchar.h + 'btowc', 'fgetwc', 'fgetws', 'fputwc', 'fputws', 'fwide', + 'fwprintf', 'fwscanf', 'getwc', 'getwchar', 'mbrlen', 'mbrtowc', + 'mbsinit', 'mbsrtowcs', 'putwc', 'putwchar', 'swprintf', 'swscanf', + 'ungetwc', 'vfwprintf', 'vswprintf', 'vwprintf', 'wcrtomb', + 'wcscat', 'wcschr', 'wcscmp', 'wcscoll', 'wcscpy', 'wcscspn', + 'wcsftime', 'wcslen', 'wcsncat', 'wcsncmp', 'wcsncpy', 'wcspbrk', + 'wcsrchr', 'wcsrtombs', 'wcsspn', 'wcsstr', 'wcstod', 'wcstok', + 'wcstol', 'wcstoul', 'wcsxfrm', 'wctob', 'wmemchr', 'wmemcmp', + 'wmemcpy', 'wmemmove', 'wmemset', 'wprintf', 'wscanf', + + //wctype.h + 'iswalnum', 'iswalpha', 'iswcntrl', 'iswctype', 'iswdigit', + 'iswgraph', 'iswlower', 'iswprint', 'iswpunct', 'iswspace', + 'iswupper', 'iswxdigit', 'towctrans', 'towlower', 'towupper', + 'wctrans', 'wctype' ), 4 => array( 'auto', 'char', 'const', 'double', 'float', 'int', 'long', - 'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct', - 'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t' + 'register', 'short', 'signed', 'sizeof', 'static', 'struct', + 'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t', + + 'int8', 'int16', 'int32', 'int64', + 'uint8', 'uint16', 'uint32', 'uint64', + + 'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t', + 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t', + + 'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t', + 'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t', + + 'int8_t', 'int16_t', 'int32_t', 'int64_t', + 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', + + 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t', + 'size_t', 'off_t' ), ), 'SYMBOLS' => array( diff --git a/application/libraries/geshi/c_loadrunner.php b/application/libraries/geshi/c_loadrunner.php new file mode 100644 index 000000000..4e5429cda --- /dev/null +++ b/application/libraries/geshi/c_loadrunner.php @@ -0,0 +1,323 @@ + 'C (LoadRunner)', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + // Escape characters within strings (like \\) are not highlighted differently in LoadRunner, so + // I am using GeSHi escape characters (or regular expressions) to highlight LoadRunner {parameters}. + // LoadRunner {parameters} must begin with a letter and contain only alphanumeric characters and '_' + 'ESCAPE_REGEXP' => array( + 0 => "#\{[a-zA-Z]{1}[a-zA-Z_]{0,}\}#", + ), + + // Keywords + 'KEYWORDS' => array( + // Keywords from http://en.wikipedia.org/wiki/C_syntax + 1 => array( + 'auto', 'break', 'case', 'char', 'const', 'continue', 'default', + 'do', 'double', 'else', 'enum', 'extern', 'float', 'for', 'goto', + 'if', 'inline', 'int', 'long', 'register', 'restrict', 'return', + 'short', 'signed', 'sizeof', 'static', 'struct', 'switch', + 'typedef', 'union', 'unsigned', 'void', 'volatile', 'while', + '_Bool', '_Complex', '_Imaginary' + ), + // C preprocessor directives from http://en.wikipedia.org/wiki/C_preprocessor + 2 => array( + '#define', '#if', '#ifdef', '#ifndef', '#include', '#else', '#elif', '#endif', '#pragma', '#undef' + ), + // Functions from lrun.h + 3 => array( + 'lr_start_transaction', 'lr_start_sub_transaction', 'lr_start_transaction_instance', 'lr_end_transaction', + 'lr_end_sub_transaction', 'lr_end_transaction_instance', 'lr_stop_transaction', 'lr_stop_transaction_instance', + 'lr_resume_transaction', 'lr_resume_transaction_instance', 'lr_wasted_time', 'lr_set_transaction', 'lr_user_data_point', + 'lr_user_data_point_instance', 'lr_user_data_point_ex', 'lr_user_data_point_instance_ex', 'lr_get_transaction_duration', + 'lr_get_trans_instance_duration', 'lr_get_transaction_think_time', 'lr_get_trans_instance_think_time', + 'lr_get_transaction_wasted_time', 'lr_get_trans_instance_wasted_time', 'lr_get_transaction_status', + 'lr_get_trans_instance_status', 'lr_set_transaction_status', 'lr_set_transaction_status_by_name', + 'lr_set_transaction_instance_status', 'lr_start_timer', 'lr_end_timer', 'lr_rendezvous', 'lr_rendezvous_ex', + 'lr_get_vuser_ip', 'lr_whoami', 'lr_get_host_name', 'lr_get_master_host_name', 'lr_get_attrib_long', + 'lr_get_attrib_string', 'lr_get_attrib_double', 'lr_paramarr_idx', 'lr_paramarr_random', 'lr_paramarr_len', + 'lr_param_unique', 'lr_param_sprintf', 'lr_load_dll', 'lr_continue_on_error', 'lr_decrypt', 'lr_abort', 'lr_exit', + 'lr_peek_events', 'lr_think_time', 'lr_debug_message', 'lr_log_message', 'lr_message', 'lr_error_message', + 'lr_output_message', 'lr_vuser_status_message', 'lr_fail_trans_with_error', 'lr_next_row', 'lr_advance_param', + 'lr_eval_string', 'lr_eval_string_ext', 'lr_eval_string_ext_free', 'lr_param_increment', 'lr_save_var', + 'lr_save_string', 'lr_save_int', 'lr_save_datetime', 'lr_save_searched_string', 'lr_set_debug_message', + 'lr_get_debug_message', 'lr_enable_ip_spoofing', 'lr_disable_ip_spoofing', 'lr_convert_string_encoding' + ), + // Constants from lrun.h + 4 => array( + 'DP_FLAGS_NO_LOG', 'DP_FLAGS_STANDARD_LOG', 'DP_FLAGS_EXTENDED_LOG', 'merc_timer_handle_t', 'LR_EXIT_VUSER', + 'LR_EXIT_ACTION_AND_CONTINUE', 'LR_EXIT_ITERATION_AND_CONTINUE', 'LR_EXIT_VUSER_AFTER_ITERATION', + 'LR_EXIT_VUSER_AFTER_ACTION', 'LR_EXIT_MAIN_ITERATION_AND_CONTINUE', 'LR_MSG_CLASS_DISABLE_LOG', + 'LR_MSG_CLASS_STANDARD_LOG', 'LR_MSG_CLASS_RETURNED_DATA', 'LR_MSG_CLASS_PARAMETERS', 'LR_MSG_CLASS_ADVANCED_TRACE', + 'LR_MSG_CLASS_EXTENDED_LOG', 'LR_MSG_CLASS_SENT_DATA', 'LR_MSG_CLASS_JIT_LOG_ON_ERROR', 'LR_SWITCH_OFF', 'LR_SWITCH_ON', + 'LR_SWITCH_DEFAULT', 'ONE_DAY', 'ONE_HOUR', 'ONE_MIN', 'DATE_NOW', 'TIME_NOW', 'LR_MSG_CLASS_BRIEF_LOG', + 'LR_MSG_CLASS_RESULT_DATA', 'LR_MSG_CLASS_FULL_TRACE', 'LR_MSG_CLASS_AUTO_LOG', 'LR_MSG_OFF', 'LR_MSG_ON', + 'LR_MSG_DEFAULT' + ), + // Functions from web_api.h + 5 => array( + 'web_reg_add_cookie', 'web_report_data_point', 'web_text_link', 'web_element', 'web_image_link', 'web_static_image', + 'web_image_submit', 'web_button', 'web_edit_field', 'web_radio_group', 'web_check_box', 'web_list', 'web_text_area', + 'web_map_area', 'web_eval_java_script', 'web_reg_dialog', 'web_reg_cross_step_download', 'web_browser', + 'web_set_rts_key', 'web_save_param_length', 'web_save_timestamp_param', 'web_load_cache', 'web_dump_cache', + 'web_add_cookie_ex' + ), + // Constants from web_api.h + 6 => array( + 'DESCRIPTION', 'ACTION', 'VERIFICATION', 'LR_NOT_FOUND', 'HTTP_INFO_TOTAL_REQUEST_STAT', + 'HTTP_INFO_TOTAL_RESPONSE_STAT', 'LRW_OPT_STOP_VUSER_ON_ERROR', 'LRW_OPT_DISPLAY_IMAGE_BODY' + ), + // Functions from as_web.h + 7 => array( + 'web_add_filter', 'web_add_auto_filter', 'web_add_auto_header', 'web_add_header', 'web_add_cookie', + 'web_cleanup_auto_headers', 'web_cleanup_cookies', 'web_concurrent_end', 'web_concurrent_start', 'web_create_html_param', + 'web_create_html_param_ex', 'web_custom_request', 'web_disable_keep_alive', 'web_enable_keep_alive', 'web_find', + 'web_get_int_property', 'web_image', 'web_image_check', 'web_link', 'web_global_verification', 'web_reg_find', + 'web_reg_save_param', 'web_convert_param', 'web_remove_auto_filter', 'web_remove_auto_header', 'web_revert_auto_header', + 'web_remove_cookie', 'web_save_header', 'web_set_certificate', 'web_set_certificate_ex', 'web_set_connections_limit', + 'web_set_max_html_param_len', 'web_set_max_retries', 'web_set_proxy', 'web_set_proxy_bypass', 'web_set_secure_proxy', + 'web_set_sockets_option', 'web_set_option', 'web_set_timeout', 'web_set_user', 'web_sjis_to_euc_param', + 'web_submit_data', 'web_submit_form', 'web_url', 'web_set_proxy_bypass_local', 'web_cache_cleanup', + 'web_create_html_query', 'web_create_radio_button_param', 'web_switch_net_layer' + ), + // Constants from as_web.h + 8 => array( + 'ENDFORM', 'LAST', 'ENDITEM', 'EXTRARES', 'ITEMDATA', 'STARTHIDDENS', 'ENDHIDDENS', 'CONNECT', 'RECEIVE', 'RESOLVE', + 'STEP', 'REQUEST', 'RESPONSE', 'STARTQUERY', 'ENDQUERY', 'INPROPS', 'OUTPROPS', 'ENDPROPS', 'RAW_BODY_START', + 'RAW_BODY_END', 'HTTP_INFO_RETURN_CODE', 'HTTP_INFO_DOWNLOAD_SIZE', 'HTTP_INFO_DOWNLOAD_TIME', + 'LRW_NET_SOCKET_OPT_LOAD_VERIFY_FILE', 'LRW_NET_SOCKET_OPT_DEFAULT_VERIFY_PATH', 'LRW_NET_SOCKET_OPT_SSL_VERSION', + 'LRW_NET_SOCKET_OPT_SSL_CIPHER_LIST', 'LRW_NET_SOCKET_OPT_SO_REUSE_ADDRESS', 'LRW_NET_SOCKET_OPT_USER_IP_ADDRESS', + 'LRW_NET_SOCKET_OPT_IP_ADDRESS_BY_INDEX', 'LRW_NET_SOCKET_OPT_HELP', 'LRW_NET_SOCKET_OPT_PRINT_USER_IP_ADDRESS_LIST', + 'LRW_OPT_HTML_CHAR_REF_BACKWARD_COMPATIBILITY', 'LRW_OPT_VALUE_YES', 'LRW_OPT_VALUE_NO' + ), + // Functions from as_sapgui.h + 9 => array( + 'sapgui_open_connection', 'sapgui_open_connection_ex', 'sapgui_logon', 'sapgui_create_session', + 'sapgui_create_new_session', 'sapgui_call_method', 'sapgui_call_method_ex', 'sapgui_set_property', + 'sapgui_get_property', 'sapgui_set_collection_property', 'sapgui_active_object_from_parent_method', + 'sapgui_active_object_from_parent_property', 'sapgui_call_method_of_active_object', + 'sapgui_call_method_of_active_object_ex', 'sapgui_set_property_of_active_object', 'sapgui_get_property_of_active_object', + 'sapgui_select_active_connection', 'sapgui_select_active_session', 'sapgui_select_active_window ', + 'sapgui_status_bar_get_text', 'sapgui_status_bar_get_param', 'sapgui_status_bar_get_type', 'sapgui_get_status_bar_text', + 'sapgui_get_active_window_title', 'sapgui_is_object_available', 'sapgui_is_tab_selected', 'sapgui_is_object_changeable', + 'sapgui_set_ok_code', 'sapgui_send_vkey', 'sapgui_resize_window', 'sapgui_window_resize', 'sapgui_window_maximize', + 'sapgui_window_close', 'sapgui_window_restore', 'sapgui_window_scroll_to_row', 'sapgui_press_button', + 'sapgui_select_radio_button', 'sapgui_set_password', 'sapgui_set_text', 'sapgui_select_menu', 'sapgui_select_tab', + 'sapgui_set_checkbox', 'sapgui_set_focus', 'sapgui_select_combobox_entry', 'sapgui_get_ok_code', + 'sapgui_is_radio_button_selected', 'sapgui_get_text', 'sapgui_is_checkbox_selected', 'sapgui_table_set_focus', + 'sapgui_table_press_button', 'sapgui_table_select_radio_button', 'sapgui_table_set_password', 'sapgui_table_set_text', + 'sapgui_table_set_checkbox', 'sapgui_table_select_combobox_entry', 'sapgui_table_set_row_selected', + 'sapgui_table_set_column_selected', 'sapgui_table_set_column_width', 'sapgui_table_reorder', 'sapgui_table_fill_data', + 'sapgui_table_get_text', 'sapgui_table_is_radio_button_selected', 'sapgui_table_is_checkbox_selected', + 'sapgui_table_is_row_selected', 'sapgui_table_is_column_selected', 'sapgui_table_get_column_width', + 'sapgui_grid_clear_selection', 'sapgui_grid_select_all', 'sapgui_grid_selection_changed', + 'sapgui_grid_press_column_header', 'sapgui_grid_select_cell', 'sapgui_grid_select_rows', 'sapgui_grid_select_column', + 'sapgui_grid_deselect_column', 'sapgui_grid_select_columns', 'sapgui_grid_select_cells', 'sapgui_grid_select_cell_row', + 'sapgui_grid_select_cell_column', 'sapgui_grid_set_column_order', 'sapgui_grid_set_column_width', + 'sapgui_grid_scroll_to_row', 'sapgui_grid_double_click', 'sapgui_grid_click', 'sapgui_grid_press_button', + 'sapgui_grid_press_total_row', 'sapgui_grid_set_cell_data', 'sapgui_grid_set_checkbox', + 'sapgui_grid_double_click_current_cell', 'sapgui_grid_click_current_cell', 'sapgui_grid_press_button_current_cell', + 'sapgui_grid_press_total_row_current_cell', 'sapgui_grid_press_F1', 'sapgui_grid_press_F4', 'sapgui_grid_press_ENTER', + 'sapgui_grid_press_toolbar_button', 'sapgui_grid_press_toolbar_context_button', 'sapgui_grid_open_context_menu', + 'sapgui_grid_select_context_menu', 'sapgui_grid_select_toolbar_menu', 'sapgui_grid_fill_data', + 'sapgui_grid_get_current_cell_row', 'sapgui_grid_get_current_cell_column', 'sapgui_grid_get_rows_count', + 'sapgui_grid_get_columns_count', 'sapgui_grid_get_cell_data', 'sapgui_grid_is_checkbox_selected', + 'sapgui_tree_scroll_to_node', 'sapgui_tree_set_hierarchy_header_width', 'sapgui_tree_set_selected_node', + 'sapgui_tree_double_click_node', 'sapgui_tree_press_key', 'sapgui_tree_press_button', 'sapgui_tree_set_checkbox', + 'sapgui_tree_double_click_item', 'sapgui_tree_click_link', 'sapgui_tree_open_default_context_menu', + 'sapgui_tree_open_node_context_menu', 'sapgui_tree_open_header_context_menu', 'sapgui_tree_open_item_context_menu', + 'sapgui_tree_select_context_menu', 'sapgui_tree_select_item', 'sapgui_tree_select_node', 'sapgui_tree_unselect_node', + 'sapgui_tree_unselect_all', 'sapgui_tree_select_column', 'sapgui_tree_unselect_column', 'sapgui_tree_set_column_order', + 'sapgui_tree_collapse_node', 'sapgui_tree_expand_node', 'sapgui_tree_scroll_to_item', 'sapgui_tree_set_column_width', + 'sapgui_tree_press_header', 'sapgui_tree_is_checkbox_selected', 'sapgui_tree_get_node_text', 'sapgui_tree_get_item_text', + 'sapgui_calendar_scroll_to_date', 'sapgui_calendar_focus_date', 'sapgui_calendar_select_interval', + 'sapgui_apogrid_select_all', 'sapgui_apogrid_clear_selection', 'sapgui_apogrid_select_cell', + 'sapgui_apogrid_deselect_cell', 'sapgui_apogrid_select_row', 'sapgui_apogrid_deselect_row', + 'sapgui_apogrid_select_column', 'sapgui_apogrid_deselect_column', 'sapgui_apogrid_scroll_to_row', + 'sapgui_apogrid_scroll_to_column', 'sapgui_apogrid_double_click', 'sapgui_apogrid_set_cell_data', + 'sapgui_apogrid_get_cell_data', 'sapgui_apogrid_is_cell_changeable', 'sapgui_apogrid_get_cell_format', + 'sapgui_apogrid_get_cell_tooltip', 'sapgui_apogrid_press_ENTER', 'sapgui_apogrid_open_cell_context_menu', + 'sapgui_apogrid_select_context_menu_item', 'sapgui_text_edit_scroll_to_line', 'sapgui_text_edit_set_selection_indexes', + 'sapgui_text_edit_set_unprotected_text_part', 'sapgui_text_edit_get_first_visible_line', + 'sapgui_text_edit_get_selection_index_start', 'sapgui_text_edit_get_selection_index_end', + 'sapgui_text_edit_get_number_of_unprotected_text_parts', 'sapgui_text_edit_double_click', + 'sapgui_text_edit_single_file_dropped', 'sapgui_text_edit_multiple_files_dropped', 'sapgui_text_edit_press_F1', + 'sapgui_text_edit_press_F4', 'sapgui_text_edit_open_context_menu', 'sapgui_text_edit_select_context_menu', + 'sapgui_text_edit_modified_status_changed', 'sapgui_htmlviewer_send_event', 'sapgui_htmlviewer_dom_get_property', + 'sapgui_toolbar_press_button', 'sapgui_toolbar_press_context_button', 'sapgui_toolbar_select_menu_item', + 'sapgui_toolbar_select_menu_item_by_text', 'sapgui_toolbar_select_context_menu_item', + 'sapgui_toolbar_select_context_menu_item_by_text' + ), + // Constants from as_sapgui.h + 10 => array( + 'BEGIN_OPTIONAL', 'END_OPTIONAL', 'al-keys', 'ENTER', 'HELP', 'F2', 'BACK', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', + 'F10', 'F11', 'ESC', 'SHIFT_F1', 'SHIFT_F2', 'SHIFT_F3', 'SHIFT_F4', 'SHIFT_F5', 'SHIFT_F6', 'SHIFT_F7', 'SHIFT_F8', + 'SHIFT_F9', 'SHIFT_F10', 'SHIFT_F11', 'SHIFT_F12', 'CTRL_F1', 'CTRL_F2', 'CTRL_F3', 'CTRL_F4', 'CTRL_F5', 'CTRL_F6', + 'CTRL_F7', 'CTRL_F8', 'CTRL_F9', 'CTRL_F10', 'CTRL_F11', 'CTRL_F12', 'CTRL_SHIFT_F1', 'CTRL_SHIFT_F2', 'CTRL_SHIFT_F3', + 'CTRL_SHIFT_F4', 'CTRL_SHIFT_F5', 'CTRL_SHIFT_F6', 'CTRL_SHIFT_F7', 'CTRL_SHIFT_F8', 'CTRL_SHIFT_F9', 'CTRL_SHIFT_F10', + 'CTRL_SHIFT_F11', 'CTRL_SHIFT_F12', 'CANCEL', 'CTRL_F', 'CTRL_PAGE_UP', 'PAGE_UP', 'PAGE_DOWN', 'CTRL_PAGE_DOWN', + 'CTRL_G', 'CTRL_P' + ), + ), + + // Symbols and Case Sensitivity + // Symbols from: http://en.wikipedia.org/wiki/C_syntax + 'SYMBOLS' => array( + '(', ')', '{', '}', '[', ']', + '+', '-', '*', '/', '%', + '=', '<', '>', '!', '^', '&', '|', '?', ':', ';', ',' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, // Standard C reserved keywords + 2 => true, // C preprocessor directives + 3 => true, // Functions from lrun.h + 4 => true, // Constants from lrun.h + 5 => true, // Functions from web_api.h + 6 => true, // Constants from web_api.h + 7 => true, // Functions from as_web.h + 8 => true, // Constants from as_web.h + 9 => true, // Functions from as_sapgui.h + 10 => true, // Constants from as_sapgui.h + ), + + // Styles + 'STYLES' => array( + 'KEYWORDS' => array( + // Functions are brown, constants and reserved words are blue + 1 => 'color: #0000ff;', // Standard C reserved keywords + 2 => 'color: #0000ff;', // C preprocessor directives + 3 => 'color: #8a0000;', // Functions from lrun.h + 4 => 'color: #0000ff;', // Constants from lrun.h + 5 => 'color: #8a0000;', // Functions from web_api.h + 6 => 'color: #0000ff;', // Constants from web_api.h + 7 => 'color: #8a0000;', // Functions from as_web.h + 8 => 'color: #0000ff;', // Constants from as_web.h + 9 => 'color: #8a0000;', // Functions from as_sapgui.h + 10 => 'color: #0000ff;', // Constants from as_sapgui.h + ), + 'COMMENTS' => array( + // Comments are grey + 1 => 'color: #9b9b9b;', + 'MULTI' => 'color: #9b9b9b;' + ), + 'ESCAPE_CHAR' => array( + // GeSHi cannot define a separate style for ESCAPE_REGEXP. The style for ESCAPE_CHAR also applies to ESCAPE_REGEXP. + // This is used for LoadRunner {parameters} + // {parameters} are pink + 0 => 'color: #c000c0;' + ), + 'BRACKETS' => array( + 0 => 'color: #000000;' + ), + 'STRINGS' => array( + // Strings are green + 0 => 'color: #008080;' + ), + 'NUMBERS' => array( + // Numbers are green + 0 => 'color: #008080;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #008080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #008080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #008080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#008080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#008080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#008080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#008080;' + ), + 'METHODS' => array( + 1 => 'color: #000000;' + ), + 'SYMBOLS' => array( + 0 => 'color: #000000;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + + // URLs for Functions + 'URLS' => array( + 1 => '', // Standard C reserved keywords + 2 => '', // C preprocessor directives + 3 => '', // Functions from lrun.h + 4 => '', // Constants from lrun.h + 5 => '', // Functions from web_api.h + 6 => '', // Constants from web_api.h + 7 => '', // Functions from as_web.h + 8 => '', // Constants from as_web.h + 9 => '', // Functions from as_sapgui.h + 10 => '', // Constants from as_sapgui.h + ), + + // Object Orientation + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + + // Regular Expressions + // Note that REGEXPS are not applied within strings. + 'REGEXPS' => array( + ), + + // Contextual Highlighting and Strict Mode + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + + // Tabs + // Note that if you are using
 tags for your code, then the browser chooses how many spaces your tabs will translate to.
+    'TAB_WIDTH' => 4
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/c_mac.php b/application/libraries/geshi/c_mac.php
index 6ead4ae15..f80dc2ed2 100644
--- a/application/libraries/geshi/c_mac.php
+++ b/application/libraries/geshi/c_mac.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
  * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/04
  *
  * C for Macs language file for GeSHi.
@@ -112,10 +112,25 @@ $language_data = array (
             ),
         4 => array(
             'auto', 'char', 'const', 'double',  'float', 'int', 'long',
-            'register', 'short', 'signed', 'static', 'string', 'struct',
+            'register', 'short', 'signed', 'static', 'struct',
             'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
             'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
+
+            'int8', 'int16', 'int32', 'int64',
+            'uint8', 'uint16', 'uint32', 'uint64',
+
+            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
+            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
+
+            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
+            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
+
+            'int8_t', 'int16_t', 'int32_t', 'int64_t',
+            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
+
+            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t',
+
             // Mac-specific types:
             'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
             'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
diff --git a/application/libraries/geshi/caddcl.php b/application/libraries/geshi/caddcl.php
index 27474627e..6587cfed9 100644
--- a/application/libraries/geshi/caddcl.php
+++ b/application/libraries/geshi/caddcl.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/08/30
  *
  * CAD DCL (Dialog Control Language) language file for GeSHi.
diff --git a/application/libraries/geshi/cadlisp.php b/application/libraries/geshi/cadlisp.php
index 5061c79e4..00e3c6c5b 100644
--- a/application/libraries/geshi/cadlisp.php
+++ b/application/libraries/geshi/cadlisp.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/blog)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/08/30
  *
  * AutoCAD/IntelliCAD Lisp language file for GeSHi.
diff --git a/application/libraries/geshi/cfdg.php b/application/libraries/geshi/cfdg.php
index 8d03b89df..31d32fa45 100644
--- a/application/libraries/geshi/cfdg.php
+++ b/application/libraries/geshi/cfdg.php
@@ -4,7 +4,7 @@
  * --------
  * Author: John Horigan 
  * Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/03/11
  *
  * CFDG language file for GeSHi.
diff --git a/application/libraries/geshi/cfm.php b/application/libraries/geshi/cfm.php
index cdb7bf32c..f340c39ac 100644
--- a/application/libraries/geshi/cfm.php
+++ b/application/libraries/geshi/cfm.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Diego
  * Copyright: (c) 2006 Diego
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/02/25
  *
  * ColdFusion language file for GeSHi.
diff --git a/application/libraries/geshi/chaiscript.php b/application/libraries/geshi/chaiscript.php
new file mode 100644
index 000000000..dcd05dbf5
--- /dev/null
+++ b/application/libraries/geshi/chaiscript.php
@@ -0,0 +1,140 @@
+ 'ChaiScript',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    //Regular Expressions
+    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'break', 'else', 'else if', 'eval', 'for', 'if', 'return', 'while', 'try', 'catch', 'finally',
+            ),
+        2 => array(
+            'def', 'false', 'fun', 'true', 'var', 'attr',
+            ),
+        3 => array(
+            // built in functions
+            'throw',
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}',
+        '+', '-', '*', '/', '%',
+        '!', '@', '&', '|', '^',
+        '<', '>', '=',
+        ',', ';', '?', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000066; font-weight: bold;',
+            2 => 'color: #003366; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #006600; font-style: italic;',
+            2 => 'color: #009966; font-style: italic;',
+            'MULTI' => 'color: #006600; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #3366CC;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #CC0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #660066;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            ),
+        1 => array(
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/cil.php b/application/libraries/geshi/cil.php
index 4ca93ecb0..975572c64 100644
--- a/application/libraries/geshi/cil.php
+++ b/application/libraries/geshi/cil.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
  * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/10/24
  *
  * CIL (Common Intermediate Language) language file for GeSHi.
diff --git a/application/libraries/geshi/clojure.php b/application/libraries/geshi/clojure.php
index b970deea8..bf21c7603 100644
--- a/application/libraries/geshi/clojure.php
+++ b/application/libraries/geshi/clojure.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Jess Johnson (jess@grok-code.com)
  * Copyright: (c) 2009 Jess Johnson (http://grok-code.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/09/20
  *
  * Clojure language file for GeSHi.
@@ -51,10 +51,10 @@ $language_data = array (
             'defn', 'defn-', 'defmulti', 'defmethod', 'defmacro', 'deftest',
             'defstruct', 'def', 'defonce', 'let', 'letfn', 'do', 'cond', 'condp',
             'for', 'loop', 'recur', 'when', 'when-not', 'when-let', 'when-first',
-            'if', 'if-let', 'if-not', 'doto', 'and', 'or',
+            'if', 'if-let', 'if-not', 'doto', 'and', 'or','not','aget','aset',
             'dosync', 'doseq', 'dotimes', 'dorun', 'doall',
-            'load', 'import', 'unimport', 'ns', 'in-ns', 'refer',
-            'try', 'catch', 'finally', 'throw',
+            'load', 'import', 'unimport', 'ns', 'in-ns', 'refer', 'print',
+            'try', 'catch', 'finally', 'throw', 'fn', 'update-in',
             'with-open', 'with-local-vars', 'binding',
             'gen-class', 'gen-and-load-class', 'gen-and-save-class',
             'implement', 'proxy', 'lazy-cons', 'with-meta',
@@ -72,7 +72,7 @@ $language_data = array (
             'line-seq', 'resultset-seq', 're-seq', 're-find', 'tree-seq', 'file-seq',
             'iterator-seq', 'enumeration-seq', 'declare',  'xml-seq',
             'symbol?', 'string?', 'vector', 'conj', 'str',
-            'pos?', 'neg?', 'zero?', 'nil?', 'inc', 'format',
+            'pos?', 'neg?', 'zero?', 'nil?', 'inc', 'dec', 'format',
             'alter', 'commute', 'ref-set', 'floor', 'assoc', 'send', 'send-off'
             )
         ),
diff --git a/application/libraries/geshi/cmake.php b/application/libraries/geshi/cmake.php
index a9cfaafdc..fcf45c691 100644
--- a/application/libraries/geshi/cmake.php
+++ b/application/libraries/geshi/cmake.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Daniel Nelson (danieln@eng.utah.edu)
  * Copyright: (c) 2009 Daniel Nelson
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/04/06
  *
  * CMake language file for GeSHi.
diff --git a/application/libraries/geshi/cobol.php b/application/libraries/geshi/cobol.php
index 63abf3f09..c3ed01d4c 100644
--- a/application/libraries/geshi/cobol.php
+++ b/application/libraries/geshi/cobol.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: BenBE (BenBE@omorphia.org)
  * Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/07/02
  *
  * COBOL language file for GeSHi.
diff --git a/application/libraries/geshi/coffeescript.php b/application/libraries/geshi/coffeescript.php
new file mode 100644
index 000000000..f85541973
--- /dev/null
+++ b/application/libraries/geshi/coffeescript.php
@@ -0,0 +1,146 @@
+ 'CoffeeScript',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array('###' => '###'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    //Longest quotemarks ALWAYS first
+    'QUOTEMARKS' => array('"""', "'''", '"', "'"),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+
+        /*
+        ** Set 1: control keywords
+        */
+        1 => array(
+            'break', 'by', 'catch', 'continue', 'else', 'finally', 'for', 'in', 'of', 'if',
+            'return', 'switch', 'then', 'throw', 'try', 'unless', 'when', 'while', 'until'
+            ),
+
+        /*
+        ** Set 2: logic keywords
+        */
+        2 => array(
+            'and', 'or', 'is', 'isnt', 'not'
+            ),
+
+        /*
+        ** Set 3: other keywords
+        */
+        3 => array(
+            'instanceof', 'new', 'delete', 'typeof',
+            'class', 'super', 'this', 'extends'
+            ),
+
+        /*
+        ** Set 4: constants
+        */
+        4 => array(
+            'true', 'false', 'on', 'off', 'yes', 'no',
+            'Infinity', 'NaN', 'undefined', 'null'
+            )
+        ),
+    'SYMBOLS' => array(
+            '(', ')', '[', ']', '{', '}', '*', '&', '|', '%', '!', ',', ';', '<', '>', '?', '`',
+            '+', '-', '*', '/', '->', '=>', '<<', '>>', '@', ':', '^'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #ff7700;font-weight:bold;',
+            2 => 'color: #008000;',
+            3 => 'color: #dc143c;',
+            4 => 'color: #0000cd;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: black;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #483d8b;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff4500;'
+            ),
+        'METHODS' => array(
+            1 => 'color: black;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            ''
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/cpp-qt.php b/application/libraries/geshi/cpp-qt.php
index a96cd38af..3f6aa3079 100644
--- a/application/libraries/geshi/cpp-qt.php
+++ b/application/libraries/geshi/cpp-qt.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Iulian M
  * Copyright: (c) 2006 Iulian M
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/09/27
  *
  * C++ (with QT extensions) language file for GeSHi.
@@ -55,7 +55,7 @@ $language_data = array (
     'ESCAPE_CHAR' => '',
     'ESCAPE_REGEXP' => array(
         //Simple Single Char Escapes
-        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
+        1 => "#\\\\[abfnrtv\\\'\"?\n]#i",
         //Hexadecimal Char Specs
         2 => "#\\\\x[\da-fA-F]{2}#",
         //Hexadecimal Char Specs
@@ -89,7 +89,7 @@ $language_data = array (
             'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
             'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
             'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
-            'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class' ,
+            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class' ,
             'foreach','connect', 'Q_OBJECT' , 'slots' , 'signals', 'Q_SIGNALS', 'Q_SLOTS',
             'Q_FOREACH', 'QCOMPARE', 'QVERIFY', 'qDebug', 'kDebug', 'QBENCHMARK'
             ),
@@ -120,7 +120,21 @@ $language_data = array (
             'register', 'short', 'shortint', 'signed', 'static', 'struct',
             'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
             'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
+
+            'int8', 'int16', 'int32', 'int64',
+            'uint8', 'uint16', 'uint32', 'uint64',
+
+            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
+            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
+
+            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
+            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
+
+            'int8_t', 'int16_t', 'int32_t', 'int64_t',
+            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
+
+            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
             ),
         5 => array(
             "Q_UINT16", "Q_UINT32", "Q_UINT64", "Q_UINT8", "Q_ULLONG",
diff --git a/application/libraries/geshi/cpp.php b/application/libraries/geshi/cpp.php
index 7fb1da360..289ab9947 100644
--- a/application/libraries/geshi/cpp.php
+++ b/application/libraries/geshi/cpp.php
@@ -7,7 +7,7 @@
  *  - M. Uli Kusterer (witness.of.teachtext@gmx.net)
  *  - Jack Lloyd (lloyd@randombit.net)
  * Copyright: (c) 2004 Dennis Bayer, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/09/27
  *
  * C++ language file for GeSHi.
@@ -63,7 +63,7 @@ $language_data = array (
     'ESCAPE_CHAR' => '',
     'ESCAPE_REGEXP' => array(
         //Simple Single Char Escapes
-        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
+        1 => "#\\\\[abfnrtv\\\'\"?\n]#i",
         //Hexadecimal Char Specs
         2 => "#\\\\x[\da-fA-F]{2}#",
         //Hexadecimal Char Specs
@@ -97,7 +97,7 @@ $language_data = array (
             'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
             'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
             'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
-            'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class'
+            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class'
             ),
         3 => array(
             'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
@@ -126,7 +126,21 @@ $language_data = array (
             'register', 'short', 'shortint', 'signed', 'static', 'struct',
             'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
             'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
+
+            'int8', 'int16', 'int32', 'int64',
+            'uint8', 'uint16', 'uint32', 'uint64',
+
+            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
+            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
+
+            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
+            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
+
+            'int8_t', 'int16_t', 'int32_t', 'int64_t',
+            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
+
+            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
             ),
         ),
     'SYMBOLS' => array(
diff --git a/application/libraries/geshi/csharp.php b/application/libraries/geshi/csharp.php
index aa166801d..e73f22d50 100644
--- a/application/libraries/geshi/csharp.php
+++ b/application/libraries/geshi/csharp.php
@@ -5,7 +5,7 @@
  * Author: Alan Juden (alan@judenware.org)
  * Revised by: Michael Mol (mikemol@gmail.com)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/04
  *
  * C# language file for GeSHi.
diff --git a/application/libraries/geshi/css.php b/application/libraries/geshi/css.php
index 04313d6d8..a8706bd26 100644
--- a/application/libraries/geshi/css.php
+++ b/application/libraries/geshi/css.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/18
  *
  * CSS language file for GeSHi.
@@ -58,7 +58,15 @@ $language_data = array (
         ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array('"', "'"),
-    'ESCAPE_CHAR' => '\\',
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        //1 => "#\\\\[nfrtv\$\"\n\\\\]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\[\da-fA-F]{1,6}\s?#i",
+        //Unicode Char Specs
+        //3 => "#\\\\u[\da-fA-F]{1,8}#i",
+        ),
     'KEYWORDS' => array(
         1 => array(
             'aqua', 'azimuth', 'background-attachment', 'background-color',
@@ -153,7 +161,10 @@ $language_data = array (
             'MULTI' => 'color: #808080; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
-            0 => 'color: #000099; font-weight: bold;'
+            0 => 'color: #000099; font-weight: bold;',
+            //1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #000099; font-weight: bold;'
+            //3 => 'color: #000099; font-weight: bold;'
             ),
         'BRACKETS' => array(
             0 => 'color: #00AA00;'
diff --git a/application/libraries/geshi/cuesheet.php b/application/libraries/geshi/cuesheet.php
index 2fd610c15..e994a0aa3 100644
--- a/application/libraries/geshi/cuesheet.php
+++ b/application/libraries/geshi/cuesheet.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (benbe@geshi.org)
  * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/12/21
  *
  * Cuesheet language file for GeSHi.
diff --git a/application/libraries/geshi/d.php b/application/libraries/geshi/d.php
index f9157a514..107d07b1a 100644
--- a/application/libraries/geshi/d.php
+++ b/application/libraries/geshi/d.php
@@ -4,7 +4,7 @@
  * -----
  * Author: Thomas Kuehne (thomas@kuehne.cn)
  * Copyright: (c) 2005 Thomas Kuehne (http://thomas.kuehne.cn/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/04/22
  *
  * D language file for GeSHi.
diff --git a/application/libraries/geshi/dcs.php b/application/libraries/geshi/dcs.php
index daad329c3..bac2beea8 100644
--- a/application/libraries/geshi/dcs.php
+++ b/application/libraries/geshi/dcs.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Stelio Passaris (GeSHi@stelio.net)
  * Copyright: (c) 2009 Stelio Passaris (http://stelio.net/stiki/GeSHi)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/01/20
  *
  * DCS language file for GeSHi.
diff --git a/application/libraries/geshi/delphi.php b/application/libraries/geshi/delphi.php
index 2b758d7db..d7f19f832 100644
--- a/application/libraries/geshi/delphi.php
+++ b/application/libraries/geshi/delphi.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: J�rja Norbert (jnorbi@vipmail.hu), Benny Baumann (BenBE@omorphia.de)
  * Copyright: (c) 2004 J�rja Norbert, Benny Baumann (BenBE@omorphia.de), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/07/26
  *
  * Delphi (Object Pascal) language file for GeSHi.
diff --git a/application/libraries/geshi/diff.php b/application/libraries/geshi/diff.php
index 2d88df06b..09cc50873 100644
--- a/application/libraries/geshi/diff.php
+++ b/application/libraries/geshi/diff.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Conny Brunnkvist (conny@fuchsia.se), W. Tasin (tasin@fhm.edu)
  * Copyright: (c) 2004 Fuchsia Open Source Solutions (http://www.fuchsia.se/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/12/29
  *
  * Diff-output language file for GeSHi.
@@ -103,7 +103,6 @@ $language_data = array (
             7 => 'color: #991111;',
             8 => 'color: #00b000;',
             9 => 'color: #888822;',
-            10 => '',
             ),
         ),
     'URLS' => array(
@@ -186,14 +185,6 @@ $language_data = array (
             GESHI_BEFORE => '',
             GESHI_AFTER => ''
             ),
-        //context lines
-        10 => array(
-            GESHI_SEARCH => '^ .*$',
-            GESHI_REPLACE => '\\0',
-            GESHI_MODIFIERS => 'm',
-            GESHI_BEFORE => '',
-            GESHI_AFTER => ''
-            ),
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
diff --git a/application/libraries/geshi/div.php b/application/libraries/geshi/div.php
index 5804bb727..e8de7a525 100644
--- a/application/libraries/geshi/div.php
+++ b/application/libraries/geshi/div.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Gabriel Lorenzo (ermakina@gmail.com)
  * Copyright: (c) 2005 Gabriel Lorenzo (http://ermakina.gazpachito.net)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/06/19
  *
  * DIV language file for GeSHi.
diff --git a/application/libraries/geshi/dos.php b/application/libraries/geshi/dos.php
index c111e1b5e..e84e1550a 100644
--- a/application/libraries/geshi/dos.php
+++ b/application/libraries/geshi/dos.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Alessandro Staltari (staltari@geocities.com)
  * Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/07/05
  *
  * DOS language file for GeSHi.
@@ -64,7 +64,11 @@ $language_data = array (
     'COMMENT_SINGLE' => array(),
     'COMMENT_MULTI' => array(),
     //DOS comment lines
-    'COMMENT_REGEXP' => array(1 => "/^\s*@?REM.*$/mi"),
+    'COMMENT_REGEXP' => array(
+        1 => "/^\s*@?REM\b.*$/mi",
+        2 => "/^\s*::.*$/m",
+        3 => "/\^./"
+        ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array(),
     'ESCAPE_CHAR' => '',
@@ -97,7 +101,7 @@ $language_data = array (
             )
         ),
     'SYMBOLS' => array(
-        '(', ')', '@', '%'
+        '(', ')', '@', '%', '!', '|', '<', '>', '&'
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -114,7 +118,9 @@ $language_data = array (
             4 => 'color: #0000ff; font-weight: bold;'
             ),
         'COMMENTS' => array(
-            1 => 'color: #808080; font-style: italic;'
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #b100b1; font-style: italic;',
+            3 => 'color: #33cc33;'
             ),
         'ESCAPE_CHAR' => array(
             0 => 'color: #ff0000; font-weight: bold;'
@@ -139,7 +145,8 @@ $language_data = array (
         'REGEXPS' => array(
             0 => 'color: #b100b1; font-weight: bold;',
             1 => 'color: #448844;',
-            2 => 'color: #448888;'
+            2 => 'color: #448888;',
+            3 => 'color: #448888;'
             )
         ),
     'OOLANG' => false,
@@ -155,7 +162,7 @@ $language_data = array (
         /* Label */
         0 => array(
 /*            GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((? '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((? '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((? '\\2',
             GESHI_MODIFIERS => 'si',
             GESHI_BEFORE => '\\1',
@@ -178,6 +185,15 @@ $language_data = array (
             GESHI_MODIFIERS => 'si',
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => '\\3'
+            ),
+        /* Arguments or variable evaluation */
+        3 => array(
+/*            GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((? '(!(?:!(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^!>\n]*(?=!))((?)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'si',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
             )
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
@@ -187,7 +203,20 @@ $language_data = array (
         ),
     'TAB_WIDTH' => 4,
     'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'BRACKETS' => GESHI_NEVER,
+            'NUMBERS' => GESHI_NEVER
+            ),
         'KEYWORDS' => array(
+            1 => array(
+                'DISALLOWED_BEFORE' => '(? array(
+                'DISALLOWED_BEFORE' => '(? array(
+                'DISALLOWED_BEFORE' => '(? array(
                 'DISALLOWED_BEFORE' => '(?
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/dot.php b/application/libraries/geshi/dot.php
index 6e4df2fff..1d5036d36 100644
--- a/application/libraries/geshi/dot.php
+++ b/application/libraries/geshi/dot.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Adrien Friggeri (adrien@friggeri.net)
  * Copyright: (c) 2007 Adrien Friggeri (http://www.friggeri.net)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/05/30
  *
  * dot language file for GeSHi.
diff --git a/application/libraries/geshi/e.php b/application/libraries/geshi/e.php
new file mode 100644
index 000000000..9bdbc137b
--- /dev/null
+++ b/application/libraries/geshi/e.php
@@ -0,0 +1,208 @@
+ 'E',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array('/**' => '*/'), // Note: This is method doc, not a general comment syntax.
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+
+    // FIXME: The escaping inside ` is actually doubling of any interior `, $, or @ -- backslash is NOT special
+    'QUOTEMARKS' => array('\'', '"', '`'),
+    'ESCAPE_CHAR' => '\\',
+
+    'KEYWORDS' => array(
+        // builtin control structures
+        1 => array(
+            'accum', 'break', 'try', 'continue', 'if', 'while', 'for', 'switch'
+            ),
+
+        // control structures subsidiary keywords
+        2 => array(
+            'catch', 'else', 'finally', 'in', 'exit'
+            ),
+
+        // named operators
+        3 => array(
+            'fn', 'via'
+            ),
+
+        // variable/function/object definers
+        4 => array(
+            'def', 'bind', 'var'
+            ),
+
+        // object definition subsidiary keywords
+        5 => array(
+            'extends', 'as', 'implements', 'guards', 'match', 'to', 'method'
+            ),
+
+        // builtin nouns in safeEnv
+        6 => array(
+            'null', 'false', 'true', 'throw', '__loop', '__makeList',
+            '__makeMap', '__makeProtocolDesc', '__makeMessageDesc',
+            '__makeParamDesc', 'any', 'void', 'boolean', '__makeOrderedSpace',
+            'ValueGuard', '__MatchContext', 'require', '__makeVerbFacet', 'NaN',
+            'Infinity', '__identityFunc', '__makeInt', '__makeFinalSlot',
+            '__makeVarSlot', '__makeGuardedSlot', '__makeGuard', '__makeTwine',
+            '__makeSourceSpan', '__auditedBy', 'Guard', 'near', 'pbc',
+            'PassByCopy', 'DeepPassByCopy', 'Data', 'Persistent', 'DeepFrozen',
+            'int', 'float64', 'char', 'String', 'Twine', 'TextWriter', 'List',
+            'Map', 'nullOk', 'Tuple', '__Portrayal', 'notNull', 'vow', 'rcvr',
+            'SturdyRef', 'simple__quasiParser', 'twine__quasiParser',
+            'rx__quasiParser', 'e__quasiParser', 'epatt__quasiParser',
+            'sml__quasiParser', 'term__quasiParser', 'traceln', '__equalizer',
+            '__comparer', 'Ref', 'E', 'promiseAllFulfilled', 'EIO', 'help',
+            'safeScope', '__eval', 'resource__uriGetter', 'type__uriGetter',
+            'import__uriGetter', 'elib__uriGetter', 'elang__uriGetter',
+            'opaque__uriGetter'
+            ),
+
+        // builtin nouns in privilegedEnv
+        7 => array(
+            'file__uriGetter', 'fileURL__uriGetter', 'jar__uriGetter',
+            'http__uriGetter', 'ftp__uriGetter', 'gopher__uriGetter',
+            'news__uriGetter', 'cap__uriGetter', 'makeCommand', 'stdout',
+            'stderr', 'stdin', 'print', 'println', 'interp', 'entropy', 'timer',
+            'introducer', 'identityMgr', 'makeSturdyRef', 'timeMachine',
+            'unsafe__uriGetter', 'currentVat', 'rune', 'awt__uriGetter',
+            'swing__uriGetter', 'JPanel__quasiParser', 'swt__uriGetter',
+            'currentDisplay', 'swtGrid__quasiParser', 'swtGrid`',
+            'privilegedScope'
+            ),
+
+        // reserved keywords
+        8 => array(
+            'abstract', 'an', 'assert', 'attribute', 'be', 'begin', 'behalf',
+            'belief', 'believe', 'believes', 'case', 'class', 'const',
+            'constructor', 'declare', 'default', 'define', 'defmacro',
+            'delicate', 'deprecated', 'dispatch', 'do', 'encapsulate',
+            'encapsulated', 'encapsulates', 'end', 'ensure', 'enum', 'eventual',
+            'eventually', 'export', 'facet', 'forall', 'function', 'given',
+            'hidden', 'hides', 'inline', 'is', 'know', 'knows', 'lambda', 'let',
+            'methods', 'module', 'namespace', 'native', 'obeys', 'octet',
+            'oneway', 'operator', 'package', 'private', 'protected', 'public',
+            'raises', 'reliance', 'reliant', 'relies', 'rely', 'reveal', 'sake',
+            'signed', 'static', 'struct', 'suchthat', 'supports', 'suspect',
+            'suspects', 'synchronized', 'this', 'transient', 'truncatable',
+            'typedef', 'unsigned', 'unum', 'uses', 'using', 'utf8', 'utf16',
+            'virtual', 'volatile', 'wstring'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '%', '=', '<', '>', '!', '^', '&', '|', '?', ':', ';', ','
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #b1b100;',
+            3 => 'color: #b1b100;',
+            4 => 'color: #b1b100;',
+            5 => 'color: #b1b100;',
+            6 => 'color: #b1b100;',
+            7 => 'color: #b1b100;',
+            8 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(
+        1 => 'http://wiki.erights.org/wiki/{FNAME}',
+        2 => 'http://wiki.erights.org/wiki/{FNAME}',
+        3 => 'http://wiki.erights.org/wiki/{FNAME}',
+        4 => 'http://wiki.erights.org/wiki/{FNAME}',
+        5 => 'http://wiki.erights.org/wiki/{FNAME}',
+        6 => 'http://wiki.erights.org/wiki/{FNAME}',
+        7 => 'http://wiki.erights.org/wiki/{FNAME}',
+        8 => 'http://wiki.erights.org/wiki/{FNAME}'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '<-',
+        3 => '::'
+        ),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/ecmascript.php b/application/libraries/geshi/ecmascript.php
new file mode 100644
index 000000000..e220c839b
--- /dev/null
+++ b/application/libraries/geshi/ecmascript.php
@@ -0,0 +1,210 @@
+ 'ECMAScript',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    // Regular Expression Literals
+    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\x[\da-fA-F]{2}#",
+        //Hexadecimal Char Specs
+        3 => "#\\\\u[\da-fA-F]{4}#",
+        //Hexadecimal Char Specs
+        4 => "#\\\\U[\da-fA-F]{8}#",
+        //Octal Char Specs
+        5 => "#\\\\[0-7]{1,3}#"
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array( // Reserved literals
+            'false', 'true',
+            'null'
+            ),
+        2 => array( // Main keywords
+            'break', 'case', 'catch', 'continue', 'default', 'delete', 'do', 'else',
+            'finally', 'for', 'function', 'if', 'in', 'instanceof', 'new', 'return',
+            'switch', 'this', 'throw', 'try', 'typeof', 'var', 'void', 'while',
+            'with'
+            ),
+        3 => array( // Extra keywords or keywords reserved for future use
+            'abstract', 'as', 'boolean', 'byte', 'char', 'class', 'const', 'debugger',
+            'double', 'enum', 'export', 'extends', 'final', 'float', 'goto', 'implements',
+            'import', 'int', 'interface', 'is', 'long', 'native', 'namespace', 'package',
+            'private', 'protected', 'public', 'short', 'static', 'super', 'synchronized', 'throws',
+            'transient', 'use', 'volatile'
+            ),
+        4 => array( // Operators
+            'get', 'set'
+            ),
+        5 => array( // Built-in object classes
+            'Array', 'Boolean', 'Date', 'EvalError', 'Error', 'Function', 'Math', 'Number',
+            'Object', 'RangeError', 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError'
+            ),
+        6 => array( // Global properties
+            'Infinity', 'NaN', 'undefined'
+            ),
+        7 => array( // Global methods
+            'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent',
+            'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt',
+            // The escape and unescape functions do not work properly for non-ASCII characters and have been deprecated.
+            // In JavaScript 1.5 and later, use encodeURI, decodeURI, encodeURIComponent, and decodeURIComponent.
+            'escape', 'unescape'
+            ),
+        8 => array( // Function's arguments
+            'arguments'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}',
+        '+', '-', '*', '/', '%',
+        '!', '.', '&', '|', '^',
+        '<', '>', '=', '~',
+        ',', ';', '?', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #009999;',
+            2 => 'color: #1500C8;',
+            3 => 'color: #1500C8;',
+            4 => 'color: #1500C8;',
+            5 => 'color: #1500C8;',
+            6 => 'color: #1500C8;',
+            7 => 'color: #1500C8;',
+            8 => 'color: #1500C8;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #CC0000;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #3366CC;',
+            1 => 'color: #3366CC;',
+            2 => 'color: #3366CC;',
+            3 => 'color: #3366CC;',
+            4 => 'color: #3366CC;',
+            5 => 'color: #3366CC;',
+            'HARD' => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #008800;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #9900FF;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF00FF;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #FF00FF;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #FF00FF;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #FF00FF;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color: #FF00FF;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color: #FF00FF;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color: #FF00FF;',
+            GESHI_NUMBER_FLT_NONSCI => 'color: #FF00FF;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #660066;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/eiffel.php b/application/libraries/geshi/eiffel.php
index fa293c074..66427acc7 100644
--- a/application/libraries/geshi/eiffel.php
+++ b/application/libraries/geshi/eiffel.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Zoran Simic (zsimic@axarosenberg.com)
  * Copyright: (c) 2005 Zoran Simic
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/06/30
  *
  * Eiffel language file for GeSHi.
diff --git a/application/libraries/geshi/email.php b/application/libraries/geshi/email.php
index a902433bf..68f875499 100644
--- a/application/libraries/geshi/email.php
+++ b/application/libraries/geshi/email.php
@@ -4,7 +4,7 @@
  * ---------------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/10/19
  *
  * Email (mbox \ eml \ RFC format) language file for GeSHi.
@@ -51,14 +51,14 @@ $language_data = array (
             'HTTP', 'SMTP', 'ASMTP', 'ESMTP'
             ),
         2 => array(
-            'Authentication-Results','Content-Description','Content-Type',
+            'Authentication-Results','Comment','Content-Description','Content-Type',
             'Content-Disposition','Content-Transfer-Encoding','Delivered-To',
             'Dkim-Signature','Domainkey-Signature','In-Reply-To','Message-Id',
             'MIME-Version','OpenPGP','Received','Received-SPF','References',
-            'Resend-From','Resend-To','Return-Path','User-Agent'
+            'Reply-To', 'Resend-From','Resend-To','Return-Path','User-Agent'
             ),
         3 => array(
-            'Date','From','Subject','To',
+            'Date','From','Sender','Subject','To','CC'
             ),
         4 => array(
             'by', 'for', 'from', 'id', 'with'
@@ -132,7 +132,7 @@ $language_data = array (
             ),
         //Email-Adresses or Mail-IDs
         2 => array(
-            GESHI_SEARCH => "\b[\w\.\-]+@\w+(?:(?:\.\w+)*\.\w{2,4})?",
+            GESHI_SEARCH => "\b(?\"?)[\w\.\-]+\k@(?!-)[\w\-]+(? "\\0",
             GESHI_MODIFIERS => "mi",
             GESHI_BEFORE => "",
@@ -178,7 +178,7 @@ $language_data = array (
         ),
     'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
     'SCRIPT_DELIMITERS' => array(
-        0 => "/(?P^)[A-Z][a-zA-Z0-9\-]*\s*:\s*(?:.|(?=\n\s)\n)*(?P$)/m"
+        0 => "/(?P^)[A-Za-z][a-zA-Z0-9\-]*\s*:\s*(?:.|(?=\n\s)\n)*(?P$)/m"
     ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
         0 => true,
diff --git a/application/libraries/geshi/epc.php b/application/libraries/geshi/epc.php
new file mode 100644
index 000000000..764461fc2
--- /dev/null
+++ b/application/libraries/geshi/epc.php
@@ -0,0 +1,154 @@
+ 'EPC',
+    'COMMENT_SINGLE' => array('//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //[Sections]
+        //1 => "/^\\[.*\\]/"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(
+        0 => '"',
+        1 => '$'
+        ),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'if', 'then', 'else', 'endif',
+            'and', 'or', 'xor', 'hysteresis'
+            ),
+        2 => array(
+            'read', 'write', 'event',
+            'gettime', 'settime', 'getdate', 'setdate', 'gettimedate', 'settimedate',
+            'hour', 'minute', 'second', 'changehour', 'changeminute', 'changesecond',
+            'date', 'month', 'day', 'dayofweek', 'sun', 'azimuth', 'elevation',
+            'sunrisehour', 'sunriseminute', 'sunsethour', 'sunsetminute',
+            'wtime', 'htime', 'mtime', 'stime',
+            'cwtime', 'chtime', 'cmtime', 'cstime',
+            'delay', 'after', 'cycle',
+            'readflash', 'writeflash',
+            'abs', 'acos', 'asin', 'atan', 'cos', 'ceil', 'average', 'exp', 'floor',
+            'log', 'max', 'min', 'mod', 'pow', 'sqrt', 'sin', 'tan', 'change', 'convert',
+            'eval', 'systemstart', 'random', 'comobject', 'sleep', 'scene', 'storescene', 'callscene',
+            'find', 'stringcast', 'stringset', 'stringformat', 'split', 'size',
+            'readrs232'. 'sendrs232', 'address', 'readknx',
+            'readudp', 'sendudp', 'connecttcp', 'closetcp', 'readtcp', 'sendtcp',
+            'resolve', 'sendmail',
+            'button', 'webbutton', 'chart', 'webchart', 'webdisplay', 'getslider', 'pshifter', 'mpshifter',
+            'getpslider', 'mbutton', 'mbbutton', 'mchart', 'mpchart', 'mpbutton', 'pdisplay', 'pchart',
+            'pbutton', 'setslider', 'setpslider', 'slider', 'pslider', 'page', 'line', 'header',
+            'footer', 'none', 'plink', 'link', 'frame', 'dframe'
+            )
+        ),
+    'SYMBOLS' => array(
+        0 => array(
+            '%', 'b01',
+            ),
+        1 => array(
+            '+', '-', '==', '>=', '=<',
+            ),
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #e63ec3;',
+            2 => 'color: #e63ec3;'
+            ),
+        'COMMENTS' => array(
+            0 => 'color: #0000ff;'
+            //1 => 'color: #ffa500;'
+            ),
+        'ESCAPE_CHAR' => array(
+            1 => 'color: #000099;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #8a0808;',
+            1 => 'color: #6e6e6e;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0b610b;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #0b610b;',
+            1 => 'color: #e63ec3;'
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #0b610b;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        // Numbers, e.g. 255u08
+        1 => "[0-9]*[subf][0136][12468]"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'COMMENTS' => array(
+            'DISALLOWED_BEFORE' => '$'
+        ),
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?  "(?![\.\-a-zA-Z0-9_%=\\/])"
+        )
+    )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/erlang.php b/application/libraries/geshi/erlang.php
index cb7f25bf8..ede55917c 100644
--- a/application/libraries/geshi/erlang.php
+++ b/application/libraries/geshi/erlang.php
@@ -7,7 +7,7 @@
  * - Uwe Dauernheim (uwe@dauernheim.net)
  * - Dan Forest-Barbier (dan@twisted.in)
  * Copyright: (c) 2008 Uwe Dauernheim (http://www.kreisquadratur.de/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008-09-27
  *
  * Erlang language file for GeSHi.
@@ -355,7 +355,7 @@ $language_data = array(
         2 => ':'
         ),
     'REGEXPS' => array(
-        //Macro definitions
+        //�Macro definitions
         0 => array(
             GESHI_SEARCH => '(-define\s*\()([a-zA-Z0-9_]+)(\(|,)',
             GESHI_REPLACE => '\2',
@@ -381,7 +381,7 @@ $language_data = array(
             ),
         // Functions
         3 => array(
-            GESHI_SEARCH => '([a-z][a-zA-Z0-9_]*|\'[a-zA-Z0-9_]*\')\s*(\()',
+            GESHI_SEARCH => '([a-z]\w*|\'\w*\')(\s*\()',
             GESHI_REPLACE => '\1',
             GESHI_MODIFIERS => '',
             GESHI_BEFORE => '',
@@ -397,13 +397,13 @@ $language_data = array(
             ),
         // Variables - With hack to avoid interfering wish GeSHi internals
         5 => array(
-            GESHI_SEARCH => '([([{,<+*-\/=\s!]|<)(?!(?:PIPE|SEMI|DOT|NUM|REG3XP\d*)[^a-zA-Z0-9_])([A-Z_][a-zA-Z0-9_]*)',
+            GESHI_SEARCH => '([([{,<+*-\/=\s!]|<)(?!(?:PIPE|SEMI|DOT|NUM|REG3XP\d*)\W)([A-Z_]\w*)(?!\w)',
             GESHI_REPLACE => '\2',
             GESHI_MODIFIERS => '',
             GESHI_BEFORE => '\1',
             GESHI_AFTER => ''
             ),
-        // ASCIIcodes
+        // ASCII�codes
         6 => '(\$[a-zA-Z0-9_])',
         // Records
         7 => array(
@@ -423,8 +423,8 @@ $language_data = array(
     'PARSER_CONTROL' => array(
         'KEYWORDS' => array(
             3 => array(
-                'DISALLOWED_BEFORE' => '',
-                'DISALLOWED_AFTER' => '(?=\s*\()'
+                'DISALLOWED_BEFORE' => '(? ''//'(?=\s*\()'
             ),
             5 => array(
                 'DISALLOWED_BEFORE' => '(?<=\'|)',
diff --git a/application/libraries/geshi/euphoria.php b/application/libraries/geshi/euphoria.php
new file mode 100644
index 000000000..afd4ad7c4
--- /dev/null
+++ b/application/libraries/geshi/euphoria.php
@@ -0,0 +1,140 @@
+ (1.0.8.9)
+ *  -  First Release
+ *
+ * TODO (updated )
+ * -------------------------
+ * seperate the funtions from the procedures, and have a slight color change for each.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Euphoria',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array(), //Euphoria doesn't support multi-line comments
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array( // keywords
+            'and', 'by', 'constant', 'do', 'else', 'elsif', 'end', 'exit',
+            'for', 'function', 'global', 'if', 'include', 'not', 'or',
+            'procedure', 'return', 'then', 'to', 'type', 'while', 'with',
+            'without', 'xor'
+            ),
+        2 => array( // built-ins
+            'abort', 'and_bits', 'append', 'arctan', 'atom', 'c_func', 'call',
+            'c_proc', 'call_func', 'call_proc', 'clear_screen', 'close', 'compare',
+            'command_line', 'cos', 'date', 'equal', 'find', 'find_from', 'floor',
+            'getc', 'getenv', 'gets', 'get_key', 'get_pixel', 'integer', 'length',
+            'log', 'machine_func', 'machine_proc', 'match', 'match_from',
+            'mem_copy', 'mem_set', 'not_bits', 'object', 'open', 'or_bits', 'peek',
+            'peek4s', 'peek4u', 'pixel', 'platform', 'poke', 'poke4', 'position',
+            'power', 'prepend', 'print', 'printf', 'profile', 'puts', 'rand',
+            'remainder', 'repeat', 'routine_id', 'sequence', 'sin', 'sprintf',
+            'sqrt', 'system', 'system_exec', 'tan', 'task_clock_stop',
+            'task_clock_start', 'task_create', 'task_list', 'task_schedule',
+            'task_self', 'task_status', 'task_suspend', 'task_yield', 'time',
+            'trace', 'xor_bits'
+            ),
+        ),
+    'SYMBOLS' => array(
+        0 => array(
+            '(', ')', '{', '}', '[', ']'
+            ),
+        1 => array(
+            '+', '-', '*', '/', '=', '&', '^'
+            ),
+        2 => array(
+            '&', '?', ','
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff; font-weight: bold;', // keywords
+            2 => 'color: #cc33ff; font-weight: bold;', // builtins
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #ff0000; font-style: italic;',
+            'MULTI' => '' // doesn't exist
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #009900; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #999900; font-weight: bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #00cc00;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc33cc; font-style: italic'
+            ),
+        'METHODS' => array( // Doesn't exist in Euphoria.  Everything is a function =)
+            0 => ''
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #999900;', // brackets
+            1 => 'color: #333333;', // operators
+            2 => 'color: #333333; font-style: bold' // print+concat
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array( // Never included in scripts.
+            )
+        ),
+    'REGEXPS' => array(
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/f1.php b/application/libraries/geshi/f1.php
new file mode 100644
index 000000000..13056b78b
--- /dev/null
+++ b/application/libraries/geshi/f1.php
@@ -0,0 +1,151 @@
+ 'Formula One',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('{' => '}'),
+    'COMMENT_REGEXP' => array(
+        //Nested Comments
+        2 =>  "/(\{(?:\{.*\}|[^\{])*\})/m"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'",'"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[\\\\nrt\'\"?\n]#i",
+        //Hexadecimal Char Specs (Utf16 codes, Unicode versions only)
+        2 => "#\\\\u[\da-fA-F]{4}#",
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE |
+        GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX_0O |
+        GESHI_NUMBER_HEX_PREFIX |
+        GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array(
+            'pred','proc','subr','else','elsif','iff','if','then','false','true',
+            'case','of','use','local','mod','end','list','file','all','one','max','min','rel',
+            'external','Nil','_stdcall','_cdecl','_addressof','_pred','_file','_line'
+            ),
+        2 => array(
+            'Ascii','Bin','I','L','P','R','S','U'
+            ),
+        3 => array(
+            'Append','in','Dupl','Len','Print','_AllDifferent','_AllAscending',
+            '_AllDescending','_Ascending','_Descending'
+            )
+        ),
+    'SYMBOLS' => array(
+        0 => array('(', ')', '[', ']'),
+        1 => array('<', '>','='),
+        2 => array('+', '-', '*', '/'),
+        3 => array('&', '|'),
+        4 => array(':', ';')
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff;',
+            2 => 'color: #000080;',
+            3 => 'color: #000080;',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000; font-style: italic;',
+            2 => 'color: #008000; font-style: italic;',
+            'MULTI' => 'color: #008000; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #009999; font-weight: bold;',
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #800000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000;',
+            1 => 'color: #000000;',
+            2 => 'color: #000000;',
+            3 => 'color: #000000;',
+            4 => 'color: #000000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.f1compiler.com/f1helponline/f1_runtime_library.html#{FNAME}'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/falcon.php b/application/libraries/geshi/falcon.php
new file mode 100644
index 000000000..ce75f2057
--- /dev/null
+++ b/application/libraries/geshi/falcon.php
@@ -0,0 +1,218 @@
+ (1.0.8.10)
+ *  -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Falcon',
+    'COMMENT_SINGLE' => array( 1 => '//' ),
+    'COMMENT_MULTI' => array( '/*' => '*/' ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array( "'", '"' ),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'break','case','catch','class','const','continue','def','default',
+            'dropping','elif','else','end','enum','for','forfirst','forlast',
+            'formiddle','from','function','global','if','init','innerfunc',
+            'launch','loop','object','raise','return','select','state','static',
+            'switch','try','while'
+        ),
+        2 => array(
+            'false','nil','true',
+        ),
+        3 => array(
+            'and','as','eq','fself','in','not','notin','or','provides','self','to'
+        ),
+        4 => array(
+            'directive','export','import','load','macro'
+        ),
+        5 => array(
+            'ArrayType','BooleanType','ClassMethodType','ClassType','DictionaryType',
+            'FunctionType','MemBufType','MethodType','NilType','NumericType','ObjectType',
+            'RangeType','StringType','LBindType'
+        ),
+        6 => array(
+            "CurrentTime","IOStream","InputStream","MemBufFromPtr","OutputStream",
+            "PageDict","ParseRFC2822","abs","acos","all",
+            "allp","any","anyp","argd","argv",
+            "arrayAdd","arrayBuffer","arrayCompact","arrayDel","arrayDelAll",
+            "arrayFill","arrayFind","arrayHead","arrayIns","arrayMerge",
+            "arrayNM","arrayRemove","arrayResize","arrayScan","arraySort",
+            "arrayTail","asin","assert","atan","atan2",
+            "attributes","baseClass","beginCritical","bless","brigade",
+            "broadcast","cascade","ceil","choice","chr",
+            "className","clone","combinations","compare","consume",
+            "cos","deg2rad","deoob","derivedFrom","describe",
+            "deserialize","dictBack","dictBest","dictClear","dictFill",
+            "dictFind","dictFront","dictGet","dictKeys","dictMerge",
+            "dictRemove","dictSet","dictValues","dirChange","dirCurrent",
+            "dirMake","dirMakeLink","dirReadLink","dirRemove","dolist",
+            "endCritical","epoch","eval","exit","exp",
+            "factorial","fileChgroup","fileChmod","fileChown","fileCopy",
+            "fileExt","fileMove","fileName","fileNameMerge","filePath",
+            "fileRemove","fileType","fileUnit","filter","fint",
+            "firstOf","floop","floor","fract","getAssert",
+            "getEnviron","getProperty","getSlot","getSystemEncoding","getenv",
+            "iff","include","input","inspect","int",
+            "isBound","isCallable","isoob","lbind","len",
+            "let","lit","log","map","max",
+            "metaclass","min","numeric","oob","ord",
+            "paramCount","paramIsRef","paramSet","parameter","passvp",
+            "permutations","pow","print","printl","properties",
+            "rad2deg","random","randomChoice","randomDice","randomGrab",
+            "randomPick","randomSeed","randomWalk","readURI","reduce",
+            "retract","round","seconds","serialize","set",
+            "setProperty","setenv","sin","sleep","stdErr",
+            "stdErrRaw","stdIn","stdInRaw","stdOut","stdOutRaw",
+            "strBack","strBackFind","strBackTrim","strBuffer","strCmpIgnoreCase",
+            "strEndsWith","strEscape","strEsq","strFill","strFind",
+            "strFromMemBuf","strFront","strFrontTrim","strLower","strMerge",
+            "strReplace","strReplicate","strSplit","strSplitTrimmed","strStartsWith",
+            "strToMemBuf","strTrim","strUnescape","strUnesq","strUpper",
+            "strWildcardMatch","subscribe","systemErrorDescription","tan","times",
+            "toString","transcodeFrom","transcodeTo","typeOf","unsetenv",
+            "unsubscribe","valof","vmFalconPath","vmIsMain","vmModuleName",
+            "vmModuleVersionInfo","vmSearchPath","vmSystemType","vmVersionInfo","vmVersionName",
+            "writeURI","xmap","yield","yieldOut"
+        ),
+        7 => array(
+            "AccessError","Array","BOM","Base64","Class",
+            "ClassMethod","CloneError","CmdlineParser","CodeError","Continuation",
+            "Dictionary","Directory","Error","FileStat","Format",
+            "Function","GarbagePointer","GenericError","Integer","InterruptedError",
+            "IoError","Iterator","LateBinding","List","MathError",
+            "MemoryBuffer","MessageError","Method","Numeric","Object",
+            "ParamError","ParseError","Path","Range","Semaphore",
+            "Sequence","Set","Stream","String","StringStream",
+            "SyntaxError","Table","TableError","TimeStamp","TimeZone",
+            "Tokenizer","TypeError","URI","VMSlot"
+        ),
+        8 => array(
+            "args","scriptName","scriptPath"
+        ),
+        9 => array(
+            "GC"
+        ),
+    ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => 'http://falconpl.org/project_docs/core/functions.html#typeOf',
+        6 => 'http://falconpl.org/project_docs/core/functions.html#{FNAME}',
+        7 => 'http://falconpl.org/project_docs/core/class_{FNAME}.html',
+        8 => 'http://falconpl.org/project_docs/core/globals.html#{FNAME}',
+        9 => 'http://falconpl.org/project_docs/core/object_{FNAME}.html)'
+    ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true,
+        9 => true
+    ),
+    'SYMBOLS' => array(
+        '(',')','$','%','&','/','{','[',']','=','}','?','+','-','#','*','@',
+        '<','>','|',',',':',';','\\','^'
+    ),
+    'REGEXPS' => array(
+        0 => array(
+            GESHI_SEARCH => '(\[)([a-zA-Z_]|\c{C})(?:[a-zA-Z0-9_]|\p{C})*(\])',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3',
+
+        ),
+    ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array( ' '?>' )
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true
+    ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000080;font-weight:bold;',
+            2 => 'color: #800000;font-weight:bold;',
+            3 => 'color: #800000;font-weight:bold;',
+            4 => 'color: #000080;font-weight:bold;',
+            5 => 'color: #000000;font-weight:bold;',
+            6 => 'font-weight:bold;',
+            7 => 'font-weight:bold;',
+            8 => 'font-weight:bold;'
+        ),
+        'COMMENTS' => array(
+            1 => 'color: #29B900;',
+            'MULTI' => 'color: #008080'
+        ),
+        'STRINGS' => array(
+            0 => 'color: #800000'
+        ),
+        'BRACKETS' => array(
+            0 => 'color: #000000'
+        ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #800000'
+        ),
+        'NUMBERS' => array(
+            0 => 'color: #000000'
+        ),
+        'METHODS' => array(
+            0 => 'color: #000000'
+        ),
+        'SYMBOLS' => array(
+            0 => 'color: #8B0513'
+        ),
+        'SCRIPT' => array(
+            0 => ''
+        ),
+        'REGEXPS' => array(
+            0 => 'color: #FF00FF'
+        )
+    ),
+
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        '.'
+    )
+);
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/fo.php b/application/libraries/geshi/fo.php
index aa4567961..e472f2271 100644
--- a/application/libraries/geshi/fo.php
+++ b/application/libraries/geshi/fo.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Tan-Vinh Nguyen (tvnguyen@web.de)
  * Copyright: (c) 2009 Tan-Vinh Nguyen
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/03/23
  *
  * fo language file for GeSHi.
diff --git a/application/libraries/geshi/fortran.php b/application/libraries/geshi/fortran.php
index 7b390eda7..247e3e4b4 100644
--- a/application/libraries/geshi/fortran.php
+++ b/application/libraries/geshi/fortran.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr)
  * Copyright: (C) 2006 Cetric Arrabie
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/04/22
  *
  * Fortran language file for GeSHi.
diff --git a/application/libraries/geshi/freebasic.php b/application/libraries/geshi/freebasic.php
index faeee92f9..8ac2904eb 100644
--- a/application/libraries/geshi/freebasic.php
+++ b/application/libraries/geshi/freebasic.php
@@ -4,7 +4,7 @@
  * -------------
  * Author: Roberto Rossi
  * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/08/19
  *
  * FreeBasic (http://www.freebasic.net/) language file for GeSHi.
diff --git a/application/libraries/geshi/fsharp.php b/application/libraries/geshi/fsharp.php
index 7743d3643..a900e4b60 100644
--- a/application/libraries/geshi/fsharp.php
+++ b/application/libraries/geshi/fsharp.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: julien ortin (jo_spam-divers@yahoo.fr)
  * Copyright: (c) 2009 julien ortin
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/09/20
  *
  * F# language file for GeSHi.
@@ -43,7 +43,8 @@
 $language_data = array(
     'LANG_NAME' => 'F#',
     'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-    'COMMENT_MULTI' => array('(*' => '*)', '/*' => '*/'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(3 => '/\(\*(?!\)).*?\*\)/'),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
     'HARDQUOTE' => array('@"', '"'),
@@ -153,7 +154,8 @@ $language_data = array(
         'COMMENTS' => array(
             'MULTI' => 'color: #5d478b; font-style: italic;', /* light purple */
             1 => 'color: #5d478b; font-style: italic;',
-            2 => 'color: #5d478b; font-style: italic;' /* light purple */
+            2 => 'color: #5d478b; font-style: italic;', /* light purple */
+            3 => 'color: #5d478b; font-style: italic;' /* light purple */
             ),
         'ESCAPE_CHAR' => array(
             ),
diff --git a/application/libraries/geshi/gambas.php b/application/libraries/geshi/gambas.php
index a848440df..b89db0382 100644
--- a/application/libraries/geshi/gambas.php
+++ b/application/libraries/geshi/gambas.php
@@ -5,7 +5,7 @@
  * Author: Jesus Guardon (jguardon@telefonica.net)
  * Copyright: (c) 2009 Jesus Guardon (http://gambas-es.org),
  *                     Benny Baumann (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/08/20
  *
  * GAMBAS language file for GeSHi.
diff --git a/application/libraries/geshi/gdb.php b/application/libraries/geshi/gdb.php
index 10a35cd38..284b589a0 100644
--- a/application/libraries/geshi/gdb.php
+++ b/application/libraries/geshi/gdb.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Milian Wolff (mail@milianw.de)
  * Copyright: (c) 2009 Milian Wolff
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/06/24
  *
  * GDB language file for GeSHi.
@@ -43,7 +43,7 @@ $language_data = array (
     'COMMENT_MULTI' => array(),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array('"'),
-    'ESCAPE_CHAR' => '',
+    'ESCAPE_CHAR' => '\\',
     'KEYWORDS' => array(
         0 => array(
             'Application',
@@ -54,8 +54,7 @@ $language_data = array (
             '[KCrash Handler]',
             ),
         ),
-    'NUMBERS' =>
-        GESHI_NUMBER_INT_BASIC,
+    'NUMBERS' => false,
     'SYMBOLS' => array(
         ),
     'CASE_SENSITIVE' => array(
@@ -79,7 +78,6 @@ $language_data = array (
             0 => 'color: #933;'
             ),
         'NUMBERS' => array(
-            0 => 'color: #cc66cc;',
             ),
         'METHODS' => array(
             ),
@@ -88,12 +86,14 @@ $language_data = array (
         'REGEXPS' => array(
             0 => 'color: #000066; font-weight:bold;',
             1 => 'color: #006600;',
-            2 => 'color: #000066;',
-            3 => 'color: #0066FF; text-style:italic;',
-            4 => 'color: #80B5FF; text-style:italic;',
-            5 => 'color: #A3007D;',
-            6 => 'color: #FF00BF;',
-            7 => 'font-weight: bold;'
+            2 => 'color: #B07E00;',
+            3 => 'color: #0057AE; text-style:italic;',
+            4 => 'color: #0057AE; text-style:italic;',
+            5 => 'color: #442886;',
+            6 => 'color: #442886; font-weight:bold;',
+            7 => 'color: #FF0000; font-weight:bold;',
+            8 => 'color: #006E26;',
+            9 => 'color: #555;',
             ),
         'SCRIPT' => array(
             )
@@ -132,7 +132,7 @@ $language_data = array (
             ),
         //Files with linenumbers
         3 => array(
-            GESHI_SEARCH => '(at )(.+)(:\d+\s*)$',
+            GESHI_SEARCH => '(at\s+)(.+)(:\d+\s*)$',
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => 'm',
             GESHI_BEFORE => '\\1',
@@ -140,16 +140,14 @@ $language_data = array (
             ),
         //Libs without linenumbers
         4 => array(
-            GESHI_SEARCH => '(from )(.+)(\s*)$',
+            GESHI_SEARCH => '(from\s+)(.+)(\s*)$',
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => 'm',
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => '\\3'
             ),
-        //Hex mem address
-        5 => '0x[a-f0-9]+',
         //Line numbers
-        6 => array(
+        5 => array(
             GESHI_SEARCH => '(:)(\d+)(\s*)$',
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => 'm',
@@ -157,19 +155,44 @@ $language_data = array (
             GESHI_AFTER => '\\3'
             ),
         //Location
+        6 => array(
+            GESHI_SEARCH => '(\s+)(in\s+)?([^ 0-9][^ ]*)([ \n]+\()',
+            GESHI_REPLACE => '\\3',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1\\2',
+            GESHI_AFTER => '\\4'
+            ),
+        // interesting parts: abort, qFatal, assertions, null ptrs, ...
         7 => array(
-            GESHI_SEARCH => '( in )([^ \(\)]+)( \()',
-            GESHI_REPLACE => '\\2',
+            GESHI_SEARCH => '\b((?:\*__GI_)?(?:__assert_fail|abort)|qFatal|0x0)\b([^\.]|$)',
+            GESHI_REPLACE => '\\1',
             GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '\\1',
-            GESHI_AFTER => '\\3'
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\2'
+            ),
+        // Namespace / Classes
+        8 => array(
+            GESHI_SEARCH => '\b(\w+)(::)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'U',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\2'
             ),
+        // make ptr adresses and  uninteresting
+        9 => '\b(?:0x[a-f0-9]{2,}|value\s+optimized\s+out)\b'
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
         ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'NUMBERS' => false
+            ),
         )
 );
 
+// kate: replace-tabs on; indent-width 4;
+
 ?>
diff --git a/application/libraries/geshi/genero.php b/application/libraries/geshi/genero.php
index 0b5611627..1d70d752c 100644
--- a/application/libraries/geshi/genero.php
+++ b/application/libraries/geshi/genero.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Lars Gersmann (lars.gersmann@gmail.com)
  * Copyright: (c) 2007 Lars Gersmann, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/07/01
  *
  * Genero (FOURJ's Genero 4GL) language file for GeSHi.
diff --git a/application/libraries/geshi/genie.php b/application/libraries/geshi/genie.php
new file mode 100644
index 000000000..898f9ef10
--- /dev/null
+++ b/application/libraries/geshi/genie.php
@@ -0,0 +1,157 @@
+ 'Genie',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //Using and Namespace directives (basic support)
+        //Please note that the alias syntax for using is not supported
+        3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'HARDQUOTE' => array('@"', '"'),
+    'HARDESCAPE' => array('""'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'and', 'as', 'abstract', 'break', 'case', 'cast', 'catch', 'const',
+            'construct', 'continue', 'default', 'def', 'delete', 'div',
+            'dynamic', 'do', 'downto', 'else', 'ensures', 'except', 'extern',
+            'false', 'final', 'finally', 'for', 'foreach', 'get', 'if', 'in',
+            'init', 'inline', 'internal', 'implements', 'lock', 'not', 'null',
+            'of', 'or', 'otherwise', 'out', 'override', 'pass', 'raise',
+            'raises', 'readonly', 'ref', 'requires', 'self', 'set', 'static',
+            'super', 'switch', 'to', 'true', 'try', 'unless', 'uses', 'var', 'virtual',
+            'volatile', 'void', 'when', 'while'
+            ),
+//        2 => array(
+//            ),
+        3 => array(
+            'is', 'isa', 'new', 'owned', 'sizeof', 'typeof', 'unchecked',
+            'unowned', 'weak'
+            ),
+        4 => array(
+            'bool', 'byte', 'class', 'char', 'date', 'datetime', 'decimal', 'delegate',
+            'double', 'enum', 'event', 'exception', 'float', 'int', 'interface',
+            'long', 'object', 'prop', 'sbyte', 'short', 'single', 'string',
+            'struct', 'ulong', 'ushort'
+            ),
+//        5 => array(
+//            ),
+        ),
+    'SYMBOLS' => array(
+        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';',
+        '(', ')', '{', '}', '[', ']', '|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+//        2 => false,
+        3 => false,
+        4 => false,
+//        5 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF;',
+//            2 => 'color: #FF8000; font-weight: bold;',
+            3 => 'color: #008000;',
+            4 => 'color: #FF0000;',
+//            5 => 'color: #000000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+//            2 => 'color: #008080;',
+            3 => 'color: #008080;',
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080; font-weight: bold;',
+            'HARD' => 'color: #008080; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #666666;',
+            'HARD' => 'color: #666666;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+//        2 => '',
+        3 => '',
+        4 => '',
+//        5 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?|^])",
+            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
+        )
+    )
+);
+
+?>
diff --git a/application/libraries/geshi/gettext.php b/application/libraries/geshi/gettext.php
index 10201bd1a..1dc8f8d24 100644
--- a/application/libraries/geshi/gettext.php
+++ b/application/libraries/geshi/gettext.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Milian Wolff (mail@milianw.de)
  * Copyright: (c) 2008 Milian Wolff
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/05/25
  *
  * GNU Gettext .po/.pot language file for GeSHi.
diff --git a/application/libraries/geshi/glsl.php b/application/libraries/geshi/glsl.php
index 8f521bfc1..d810db3f0 100644
--- a/application/libraries/geshi/glsl.php
+++ b/application/libraries/geshi/glsl.php
@@ -4,7 +4,7 @@
  * -----
  * Author: Benny Baumann (BenBE@omorphia.de)
  * Copyright: (c) 2008 Benny Baumann (BenBE@omorphia.de)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/03/20
  *
  * glSlang language file for GeSHi.
diff --git a/application/libraries/geshi/gml.php b/application/libraries/geshi/gml.php
index ec7cb5512..57c42d4c8 100644
--- a/application/libraries/geshi/gml.php
+++ b/application/libraries/geshi/gml.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Jos� Jorge Enr�quez (jenriquez@users.sourceforge.net)
  * Copyright: (c) 2005 Jos� Jorge Enr�quez Rodr�guez (http://www.zonamakers.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/06/21
  *
  * GML language file for GeSHi.
diff --git a/application/libraries/geshi/gnuplot.php b/application/libraries/geshi/gnuplot.php
index b4762156c..59b343eb1 100644
--- a/application/libraries/geshi/gnuplot.php
+++ b/application/libraries/geshi/gnuplot.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Milian Wolff (mail@milianw.de)
  * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/07/07
  *
  * Gnuplot script language file for GeSHi.
diff --git a/application/libraries/geshi/go.php b/application/libraries/geshi/go.php
new file mode 100644
index 000000000..a71c2515e
--- /dev/null
+++ b/application/libraries/geshi/go.php
@@ -0,0 +1,375 @@
+ 'Go',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        # Raw strings (escapes and linebreaks ignored)
+        2 => "#`[^`]*`#"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', "'"),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        1 => "#\\\\[abfnrtv\\\\\'\"]#",
+        2 => "#\\\\[0-7]{3}#",
+        3 => "#\\\\x[0-9a-fA-F]{2}#",
+        4 => "#\\\\u[0-9a-fA-F]{4}#",
+        5 => "#\\\\U[0-9a-fA-F]{8}#"
+        ),
+    'NUMBERS' => array(
+        # integer literals (possibly imaginary)
+        0 => '\b([1-9][0-9]*i?|0[0-7]*|0[xX][0-9a-f]+|0[0-9]*i)\b',
+        # real floating point literals
+        1 => '\b((?:\d+\.\d*(?:[Ee][+-]?\d+\b)?|\.\d+(?:[Ee][+-]?\d+)?|\d+[Ee][+-]?\d+)?)\b',
+        # imaginary floating point literals
+        2 => '\b((?:\d+\.\d*(?:[Ee][+-]?\d+)?|\.\d+(?:[Ee][+-]?\d+)?|\d+[Ee][+-]?\d+)?i)\b'
+        ),
+    'KEYWORDS' => array(
+        # statements
+        1 => array(
+            'break', 'case', 'const', 'continue', 'default', 'defer', 'else',
+            'fallthrough', 'for', 'go', 'goto', 'if', 'import', 'package',
+            'range', 'return', 'select', 'switch', 'type', 'var'
+            ),
+        # literals
+        2 => array(
+            'nil', 'true', 'false'
+            ),
+        # built-in functions
+        3 => array(
+            'close', 'closed', 'len', 'cap', 'new', 'make', 'copy', 'cmplx',
+            'real', 'imag', 'panic', 'recover', 'print', 'println'
+            ),
+        # built-in types
+        4 => array(
+            'chan', 'func', 'interface', 'map', 'struct', 'bool', 'uint8',
+            'uint16', 'uint32', 'uint64', 'int8', 'int16', 'int32', 'int64',
+            'float32', 'float64', 'complex64', 'complex128', 'byte', 'uint',
+            'int', 'float', 'complex', 'uintptr', 'string'
+            ),
+        # library types
+        5 => array(
+            'aes.Cipher', 'aes.KeySizeError', 'ascii85.CorruptInputError', 'asn1.BitString',
+            'asn1.RawValue', 'asn1.StructuralError', 'asn1.SyntaxError', 'ast.ChanDir',
+            'ast.Comment', 'ast.CommentGroup', 'ast.Decl', 'ast.Expr', 'ast.Field',
+            'ast.FieldList', 'ast.File', 'ast.Filter', 'ast.MergeMode', 'ast.Node',
+            'ast.ObjKind', 'ast.Object', 'ast.Package', 'ast.Scope', 'ast.Stmt',
+            'ast.Visitor', 'av.Color', 'av.Image', 'av.Window', 'base64.CorruptInputError',
+            'base64.Encoding', 'big.Int', 'big.Word', 'bignum.Integer', 'bignum.Rational',
+            'binary.ByteOrder', 'block.Cipher', 'block.EAXTagError', 'blowfish.Cipher',
+            'blowfish.KeySizeError', 'bufio.BufSizeError', 'bufio.Error', 'bufio.ReadWriter',
+            'bufio.Reader', 'bufio.Writer', 'bytes.Buffer', 'datafmt.Environment',
+            'datafmt.Format', 'datafmt.Formatter', 'datafmt.FormatterMap', 'datafmt.State',
+            'doc.Filter', 'doc.FuncDoc', 'doc.PackageDoc', 'doc.TypeDoc', 'doc.ValueDoc',
+            'draw.Color', 'draw.Context', 'draw.Image', 'draw.Mouse', 'draw.Op',
+            'draw.Point', 'draw.Rectangle', 'dwarf.AddrType', 'dwarf.ArrayType',
+            'dwarf.Attr', 'dwarf.BasicType', 'dwarf.BoolType', 'dwarf.CharType',
+            'dwarf.CommonType', 'dwarf.ComplexType', 'dwarf.Data', 'dwarf.DecodeError',
+            'dwarf.DotDotDotType', 'dwarf.Entry', 'dwarf.EnumType', 'dwarf.EnumValue',
+            'dwarf.Field', 'dwarf.FloatType', 'dwarf.FuncType', 'dwarf.IntType',
+            'dwarf.Offset', 'dwarf.PtrType', 'dwarf.QualType', 'dwarf.Reader',
+            'dwarf.StructField', 'dwarf.StructType', 'dwarf.Tag', 'dwarf.Type',
+            'dwarf.TypedefType', 'dwarf.UcharType', 'dwarf.UintType', 'dwarf.VoidType',
+            'elf.Class', 'elf.Data', 'elf.Dyn32', 'elf.Dyn64', 'elf.DynFlag', 'elf.DynTag',
+            'elf.File', 'elf.FileHeader', 'elf.FormatError', 'elf.Header32', 'elf.Header64',
+            'elf.Machine', 'elf.NType', 'elf.OSABI', 'elf.Prog', 'elf.Prog32', 'elf.Prog64',
+            'elf.ProgFlag', 'elf.ProgHeader', 'elf.ProgType', 'elf.R_386', 'elf.R_ALPHA',
+            'elf.R_ARM', 'elf.R_PPC', 'elf.R_SPARC', 'elf.R_X86_64', 'elf.Rel32',
+            'elf.Rel64', 'elf.Rela32', 'elf.Rela64', 'elf.Section', 'elf.Section32',
+            'elf.Section64', 'elf.SectionFlag', 'elf.SectionHeader', 'elf.SectionIndex',
+            'elf.SectionType', 'elf.Sym32', 'elf.Sym64', 'elf.SymBind', 'elf.SymType',
+            'elf.SymVis', 'elf.Symbol', 'elf.Type', 'elf.Version', 'eval.ArrayType',
+            'eval.ArrayValue', 'eval.BoolValue', 'eval.BoundedType', 'eval.ChanType',
+            'eval.Code', 'eval.Constant', 'eval.Def', 'eval.DivByZeroError',
+            'eval.FloatValue', 'eval.Frame', 'eval.Func', 'eval.FuncDecl', 'eval.FuncType',
+            'eval.FuncValue', 'eval.IMethod', 'eval.IdealFloatValue', 'eval.IdealIntValue',
+            'eval.IndexError', 'eval.IntValue', 'eval.Interface', 'eval.InterfaceType',
+            'eval.InterfaceValue', 'eval.KeyError', 'eval.Map', 'eval.MapType',
+            'eval.MapValue', 'eval.Method', 'eval.MultiType', 'eval.NamedType',
+            'eval.NegativeCapacityError', 'eval.NegativeLengthError', 'eval.NilPointerError',
+            'eval.PtrType', 'eval.PtrValue', 'eval.RedefinitionError', 'eval.Scope',
+            'eval.Slice', 'eval.SliceError', 'eval.SliceType', 'eval.SliceValue',
+            'eval.StringValue', 'eval.StructField', 'eval.StructType', 'eval.StructValue',
+            'eval.Thread', 'eval.Type', 'eval.UintValue', 'eval.Value', 'eval.Variable',
+            'eval.World', 'exec.Cmd', 'expvar.Int', 'expvar.IntFunc', 'expvar.KeyValue',
+            'expvar.Map', 'expvar.String', 'expvar.StringFunc', 'expvar.Var', 'flag.Flag',
+            'flag.Value', 'flate.CorruptInputError', 'flate.InternalError',
+            'flate.ReadError', 'flate.Reader', 'flate.WriteError', 'flate.WrongValueError',
+            'fmt.Formatter', 'fmt.GoStringer', 'fmt.State', 'fmt.Stringer',
+            'git85.CorruptInputError', 'gob.Decoder', 'gob.Encoder', 'gosym.DecodingError',
+            'gosym.Func', 'gosym.LineTable', 'gosym.Obj', 'gosym.Sym', 'gosym.Table',
+            'gosym.UnknownFileError', 'gosym.UnknownLineError', 'gzip.Deflater',
+            'gzip.Header', 'gzip.Inflater', 'hash.Hash', 'hash.Hash32', 'hash.Hash64',
+            'heap.Interface', 'hex.InvalidHexCharError', 'hex.OddLengthInputError',
+            'http.ClientConn', 'http.Conn', 'http.Handler', 'http.HandlerFunc',
+            'http.ProtocolError', 'http.Request', 'http.Response', 'http.ServeMux',
+            'http.ServerConn', 'http.URL', 'http.URLError', 'http.URLEscapeError',
+            'image.Alpha', 'image.AlphaColor', 'image.Color', 'image.ColorImage',
+            'image.ColorModel', 'image.ColorModelFunc', 'image.Image', 'image.NRGBA',
+            'image.NRGBA64', 'image.NRGBA64Color', 'image.NRGBAColor', 'image.Paletted',
+            'image.RGBA', 'image.RGBA64', 'image.RGBA64Color', 'image.RGBAColor',
+            'io.Closer', 'io.Error', 'io.PipeReader', 'io.PipeWriter', 'io.ReadByter',
+            'io.ReadCloser', 'io.ReadSeeker', 'io.ReadWriteCloser', 'io.ReadWriteSeeker',
+            'io.ReadWriter', 'io.Reader', 'io.ReaderAt', 'io.ReaderFrom', 'io.SectionReader',
+            'io.Seeker', 'io.WriteCloser', 'io.WriteSeeker', 'io.Writer', 'io.WriterAt',
+            'io.WriterTo', 'iterable.Func', 'iterable.Group', 'iterable.Grouper',
+            'iterable.Injector', 'iterable.Iterable', 'jpeg.FormatError', 'jpeg.Reader',
+            'jpeg.UnsupportedError', 'json.Decoder', 'json.Encoder',
+            'json.InvalidUnmarshalError', 'json.Marshaler', 'json.MarshalerError',
+            'json.SyntaxError', 'json.UnmarshalTypeError', 'json.Unmarshaler',
+            'json.UnsupportedTypeError', 'list.Element', 'list.List', 'log.Logger',
+            'macho.Cpu', 'macho.File', 'macho.FileHeader', 'macho.FormatError', 'macho.Load',
+            'macho.LoadCmd', 'macho.Regs386', 'macho.RegsAMD64', 'macho.Section',
+            'macho.Section32', 'macho.Section64', 'macho.SectionHeader', 'macho.Segment',
+            'macho.Segment32', 'macho.Segment64', 'macho.SegmentHeader', 'macho.Thread',
+            'macho.Type', 'net.Addr', 'net.AddrError', 'net.Conn', 'net.DNSConfigError',
+            'net.DNSError', 'net.Error', 'net.InvalidAddrError', 'net.InvalidConnError',
+            'net.Listener', 'net.OpError', 'net.PacketConn', 'net.TCPAddr', 'net.TCPConn',
+            'net.TCPListener', 'net.UDPAddr', 'net.UDPConn', 'net.UnixAddr', 'net.UnixConn',
+            'net.UnixListener', 'net.UnknownNetworkError', 'net.UnknownSocketError',
+            'netchan.Dir', 'netchan.Exporter', 'netchan.Importer', 'nntp.Article',
+            'nntp.Conn', 'nntp.Error', 'nntp.Group', 'nntp.ProtocolError', 'ogle.Arch',
+            'ogle.ArchAlignedMultiple', 'ogle.ArchLSB', 'ogle.Breakpoint', 'ogle.Event',
+            'ogle.EventAction', 'ogle.EventHandler', 'ogle.EventHook', 'ogle.FormatError',
+            'ogle.Frame', 'ogle.Goroutine', 'ogle.GoroutineCreate', 'ogle.GoroutineExit',
+            'ogle.NoCurrentGoroutine', 'ogle.NotOnStack', 'ogle.Process',
+            'ogle.ProcessNotStopped', 'ogle.ReadOnlyError', 'ogle.RemoteMismatchError',
+            'ogle.UnknownArchitecture', 'ogle.UnknownGoroutine', 'ogle.UsageError',
+            'os.Errno', 'os.Error', 'os.ErrorString', 'os.File', 'os.FileInfo',
+            'os.LinkError', 'os.PathError', 'os.SyscallError', 'os.Waitmsg', 'patch.Diff',
+            'patch.File', 'patch.GitBinaryLiteral', 'patch.Op', 'patch.Set',
+            'patch.SyntaxError', 'patch.TextChunk', 'patch.Verb', 'path.Visitor',
+            'pdp1.HaltError', 'pdp1.LoopError', 'pdp1.Trapper', 'pdp1.UnknownInstrError',
+            'pdp1.Word', 'pem.Block', 'png.FormatError', 'png.IDATDecodingError',
+            'png.UnsupportedError', 'printer.Config', 'printer.HTMLTag', 'printer.Styler',
+            'proc.Breakpoint', 'proc.Cause', 'proc.Process', 'proc.ProcessExited',
+            'proc.Regs', 'proc.Signal', 'proc.Stopped', 'proc.Thread', 'proc.ThreadCreate',
+            'proc.ThreadExit', 'proc.Word', 'quick.CheckEqualError', 'quick.CheckError',
+            'quick.Config', 'quick.Generator', 'quick.SetupError', 'rand.Rand',
+            'rand.Source', 'rand.Zipf', 'rc4.Cipher', 'rc4.KeySizeError',
+            'reflect.ArrayOrSliceType', 'reflect.ArrayOrSliceValue', 'reflect.ArrayType',
+            'reflect.ArrayValue', 'reflect.BoolType', 'reflect.BoolValue', 'reflect.ChanDir',
+            'reflect.ChanType', 'reflect.ChanValue', 'reflect.Complex128Type',
+            'reflect.Complex128Value', 'reflect.Complex64Type', 'reflect.Complex64Value',
+            'reflect.ComplexType', 'reflect.ComplexValue', 'reflect.Float32Type',
+            'reflect.Float32Value', 'reflect.Float64Type', 'reflect.Float64Value',
+            'reflect.FloatType', 'reflect.FloatValue', 'reflect.FuncType',
+            'reflect.FuncValue', 'reflect.Int16Type', 'reflect.Int16Value',
+            'reflect.Int32Type', 'reflect.Int32Value', 'reflect.Int64Type',
+            'reflect.Int64Value', 'reflect.Int8Type', 'reflect.Int8Value', 'reflect.IntType',
+            'reflect.IntValue', 'reflect.InterfaceType', 'reflect.InterfaceValue',
+            'reflect.MapType', 'reflect.MapValue', 'reflect.Method', 'reflect.PtrType',
+            'reflect.PtrValue', 'reflect.SliceHeader', 'reflect.SliceType',
+            'reflect.SliceValue', 'reflect.StringHeader', 'reflect.StringType',
+            'reflect.StringValue', 'reflect.StructField', 'reflect.StructType',
+            'reflect.StructValue', 'reflect.Type', 'reflect.Uint16Type',
+            'reflect.Uint16Value', 'reflect.Uint32Type', 'reflect.Uint32Value',
+            'reflect.Uint64Type', 'reflect.Uint64Value', 'reflect.Uint8Type',
+            'reflect.Uint8Value', 'reflect.UintType', 'reflect.UintValue',
+            'reflect.UintptrType', 'reflect.UintptrValue', 'reflect.UnsafePointerType',
+            'reflect.UnsafePointerValue', 'reflect.Value', 'regexp.Error', 'regexp.Regexp',
+            'ring.Ring', 'rpc.Call', 'rpc.Client', 'rpc.ClientCodec', 'rpc.InvalidRequest',
+            'rpc.Request', 'rpc.Response', 'rpc.ServerCodec', 'rsa.DecryptionError',
+            'rsa.MessageTooLongError', 'rsa.PKCS1v15Hash', 'rsa.PrivateKey', 'rsa.PublicKey',
+            'rsa.VerificationError', 'runtime.ArrayType', 'runtime.BoolType',
+            'runtime.ChanDir', 'runtime.ChanType', 'runtime.Complex128Type',
+            'runtime.Complex64Type', 'runtime.ComplexType', 'runtime.Error',
+            'runtime.Float32Type', 'runtime.Float64Type', 'runtime.FloatType',
+            'runtime.Func', 'runtime.FuncType', 'runtime.Int16Type', 'runtime.Int32Type',
+            'runtime.Int64Type', 'runtime.Int8Type', 'runtime.IntType',
+            'runtime.InterfaceType', 'runtime.Itable', 'runtime.MapType',
+            'runtime.MemProfileRecord', 'runtime.MemStatsType', 'runtime.PtrType',
+            'runtime.SliceType', 'runtime.StringType', 'runtime.StructType', 'runtime.Type',
+            'runtime.TypeAssertionError', 'runtime.Uint16Type', 'runtime.Uint32Type',
+            'runtime.Uint64Type', 'runtime.Uint8Type', 'runtime.UintType',
+            'runtime.UintptrType', 'runtime.UnsafePointerType', 'scanner.Error',
+            'scanner.ErrorHandler', 'scanner.ErrorVector', 'scanner.Position',
+            'scanner.Scanner', 'script.Close', 'script.Closed', 'script.Event',
+            'script.ReceivedUnexpected', 'script.Recv', 'script.RecvMatch', 'script.Send',
+            'script.SetupError', 'signal.Signal', 'signal.UnixSignal', 'sort.Interface',
+            'srpc.Client', 'srpc.Errno', 'srpc.Handler', 'srpc.RPC', 'strconv.NumError',
+            'strings.Reader', 'sync.Mutex', 'sync.RWMutex',
+            'syscall.ByHandleFileInformation', 'syscall.Cmsghdr', 'syscall.Dirent',
+            'syscall.EpollEvent', 'syscall.Fbootstraptransfer_t', 'syscall.FdSet',
+            'syscall.Filetime', 'syscall.Flock_t', 'syscall.Fstore_t', 'syscall.Iovec',
+            'syscall.Kevent_t', 'syscall.Linger', 'syscall.Log2phys_t', 'syscall.Msghdr',
+            'syscall.Overlapped', 'syscall.PtraceRegs', 'syscall.Radvisory_t',
+            'syscall.RawSockaddr', 'syscall.RawSockaddrAny', 'syscall.RawSockaddrInet4',
+            'syscall.RawSockaddrInet6', 'syscall.RawSockaddrUnix', 'syscall.Rlimit',
+            'syscall.Rusage', 'syscall.Sockaddr', 'syscall.SockaddrInet4',
+            'syscall.SockaddrInet6', 'syscall.SockaddrUnix', 'syscall.Stat_t',
+            'syscall.Statfs_t', 'syscall.Sysinfo_t', 'syscall.Time_t', 'syscall.Timespec',
+            'syscall.Timeval', 'syscall.Timex', 'syscall.Tms', 'syscall.Ustat_t',
+            'syscall.Utimbuf', 'syscall.Utsname', 'syscall.WaitStatus',
+            'syscall.Win32finddata', 'syslog.Priority', 'syslog.Writer', 'tabwriter.Writer',
+            'tar.Header', 'tar.Reader', 'tar.Writer', 'template.Error',
+            'template.FormatterMap', 'template.Template', 'testing.Benchmark',
+            'testing.Regexp', 'testing.Test', 'time.ParseError', 'time.Ticker', 'time.Time',
+            'tls.CASet', 'tls.Certificate', 'tls.Config', 'tls.Conn', 'tls.ConnectionState',
+            'tls.Listener', 'token.Position', 'token.Token', 'unicode.CaseRange',
+            'unicode.Range', 'unsafe.ArbitraryType', 'vector.LessInterface',
+            'websocket.Conn', 'websocket.Draft75Handler', 'websocket.Handler',
+            'websocket.ProtocolError', 'websocket.WebSocketAddr', 'x509.Certificate',
+            'x509.ConstraintViolationError', 'x509.KeyUsage', 'x509.Name',
+            'x509.PublicKeyAlgorithm', 'x509.SignatureAlgorithm',
+            'x509.UnhandledCriticalExtension', 'x509.UnsupportedAlgorithmError', 'xml.Attr',
+            'xml.EndElement', 'xml.Name', 'xml.Parser', 'xml.ProcInst', 'xml.StartElement',
+            'xml.SyntaxError', 'xml.Token', 'xml.UnmarshalError', 'xtea.Cipher',
+            'xtea.KeySizeError'
+            )
+        ),
+    'SYMBOLS' => array(
+        # delimiters
+        1 => array(
+            '(', ')', '{', '}', '[', ']', ',', ':', ';'
+            ),
+        # assignments
+        2 => array(
+            '<<=', '!=', '%=', '&=', '&^=', '*=', '+=', '-=', '/=', ':=', '>>=',
+            '^=', '|=', '=', '++', '--'
+            ),
+        # operators
+        3 => array(
+            '<=', '<', '==', '>', '>=', '&&', '!', '||', '&', '&^', '|', '^',
+            '>>', '<<', '*', '%', '+', '-', '.', '/', '<-'),
+        # vararg
+        4 => array(
+            '...'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            # statements
+            1 => 'color: #b1b100; font-weight: bold;',
+            # literals
+            2 => 'color: #000000; font-weight: bold;',
+            # built-in functions
+            3 => 'color: #000066;',
+            # built-in types
+            4 => 'color: #993333;',
+            # library types
+            5 => 'color: #003399;'
+            ),
+        'COMMENTS' => array(
+            # single-line comments
+            1 => 'color: #666666; font-style: italic;',
+            # raw strings
+            2 => 'color: #0000ff;',
+            # multi-line comments
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            # simple escape
+            1 => 'color: #000099; font-weight: bold;',
+            # octal escape
+            2 => 'color: #000099;',
+            # hex escape
+            3 => 'color: #000099;',
+            # unicode escape
+            4 => 'color: #000099;',
+            # long unicode escape
+            5 => 'color: #000099;'
+            ),
+        'BRACKETS' => array(
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;',
+            0 => 'color: #cc66cc;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            # delimiters
+            1 => 'color: #339933;',
+            # assignments
+            2 => 'color: #339933;',
+            # operators
+            3 => 'color: #339933;',
+            # vararg (highlighted as a keyword)
+            4 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            # If CSS classes are enabled, these would be highlighted as numbers (nu0)
+            # integer literals (possibly imaginary)
+            //0 => 'color: #cc66cc;',
+            # real floating point literals
+            //1 => 'color: #cc66cc;',
+            # imaginary floating point literals
+            //2 => 'color: #cc66cc;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => 'http://golang.org/search?q={FNAME}'
+        ),
+    'REGEXPS' => array(
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(1 => '.'),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'BRACKETS' => GESHI_NEVER, # handled by symbols
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/groovy.php b/application/libraries/geshi/groovy.php
index 0270d0135..8a250245a 100644
--- a/application/libraries/geshi/groovy.php
+++ b/application/libraries/geshi/groovy.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Ivan F. Villanueva B. (geshi_groovy@artificialidea.com)
  * Copyright: (c) 2006 Ivan F. Villanueva B.(http://www.artificialidea.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/04/29
  *
  * Groovy language file for GeSHi.
@@ -983,15 +983,15 @@ $language_data = array (
             )
         ),
     'URLS' => array(
-        1 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAMEL}',
-        2 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAMEL}',
+        1 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAMEL}',
+        2 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAMEL}',
         3 => 'http://www.google.de/search?as_q={FNAME}&num=100&hl=en&as_occt=url&as_sitesearch=java.sun.com%2Fj2se%2F1%2E5%2E0%2Fdocs%2Fapi%2F',
-        4 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-        5 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-        6 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-        7 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-        8 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-        9 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}'
+        4 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
+        5 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
+        6 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
+        7 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
+        8 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}',
+        9 => 'http://www.google.de/search?q=site%3Agroovy.codehaus.org/%20{FNAME}'
         ),
     'OOLANG' => true,
     'OBJECT_SPLITTERS' => array(
diff --git a/application/libraries/geshi/gwbasic.php b/application/libraries/geshi/gwbasic.php
new file mode 100644
index 000000000..e35a322a4
--- /dev/null
+++ b/application/libraries/geshi/gwbasic.php
@@ -0,0 +1,153 @@
+ 'GwBasic',
+    'COMMENT_SINGLE' => array(1 => "'", 2=> "REM"),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+    /* Statements */
+        1 => array('END','FOR','NEXT','DATA','INPUT','DIM','READ','LET',
+            'GOTO','RUN','IF','RESTORE','GOSUB','RETURN','REM',
+            'STOP','PRINT','CLEAR','LIST','NEW','ON','WAIT','DEF',
+            'POKE','CONT','OUT','LPRINT','LLIST','WIDTH','ELSE',
+            'TRON','TROFF','SWAP','ERASE','EDIT','ERROR','RESUME',
+            'DELETE','AUTO','RENUM','DEFSTR','DEFINT','DEFSNG',
+            'DEFDBL','LINE','WHILE','WEND','CALL','WRITE','OPTION',
+            'RANDOMIZE','OPEN','CLOSE','LOAD','MERGE','SAVE',
+            'COLOR','CLS','MOTOR','BSAVE','BLOAD','SOUND','BEEP',
+            'PSET','PRESET','SCREEN','KEY','LOCATE','TO','THEN',
+            'STEP','USR','FN','SPC','NOT','ERL','ERR','STRING',
+            'USING','INSTR','VARPTR','CSRLIN','POINT','OFF',
+            'FILES','FIELD','SYSTEM','NAME','LSET','RSET','KILL',
+            'PUT','GET','RESET','COMMON','CHAIN','PAINT','COM',
+            'CIRCLE','DRAW','PLAY','TIMER','IOCTL','CHDIR','MKDIR',
+            'RMDIR','SHELL','VIEW','WINDOW','PMAP','PALETTE','LCOPY',
+            'CALLS','PCOPY','LOCK','UNLOCK','RANDOM','APPEND',
+            ),
+        2 => array(
+            /* Functions */
+            'CVI','CVS','CVD','MKI','MKS','MKD','ENVIRON',
+            'LEFT','RIGHT','MID','SGN','INT','ABS',
+            'SQR','SIN','LOG','EXP','COS','TAN','ATN',
+            'FRE','INP','POS','LEN','STR','VAL','ASC',
+            'CHR','PEEK','SPACE','OCT','HEX','LPOS',
+            'CINT','CSNG','CDBL','FIX','PEN','STICK',
+            'STRIG','EOF','LOC','LOF'
+            ),
+        3 => array(
+            /* alpha Operators */
+            'AND','OR','XOR','EQV','IMP','MOD'
+            ),
+        4 => array(
+            /* parameterless functions */
+            'INKEY','DATE','TIME','ERDEV','RND'
+            )
+        ),
+    'SYMBOLS' => array(
+        0 => array(
+            '>','=','<','+','-','*','/','^','\\'
+            ),
+        1 => array(
+            '?'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+            GESHI_COMMENTS => false,
+            1 => false,
+            2 => false,
+            3 => false,
+            4 => false
+            ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00a1a1;font-weight: bold',
+            2 => 'color: #000066;font-weight: bold',
+            3 => 'color: #00a166;font-weight: bold',
+            4 => 'color: #0066a1;font-weight: bold'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080;',
+            2 => 'color: #808080;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+        /* Same as KEYWORDS[3] (and, or, not...) */
+            0 => 'color: #00a166;font-weight: bold',
+            1 => 'color: #00a1a1;font-weight: bold',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #708090'
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        1 => '^[0-9]+ '
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/haskell.php b/application/libraries/geshi/haskell.php
index 024382deb..ce1b3bf69 100644
--- a/application/libraries/geshi/haskell.php
+++ b/application/libraries/geshi/haskell.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Jason Dagit (dagit@codersbase.com) based on ocaml.php by Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/08/27
  *
  * Haskell language file for GeSHi.
@@ -41,7 +41,10 @@ $language_data = array (
     'LANG_NAME' => 'Haskell',
     'COMMENT_SINGLE' => array( 1 => '--'),
     'COMMENT_MULTI' => array('{-' => '-}'),
-    'COMMENT_REGEXP' => array(2 => "/-->/"),
+    'COMMENT_REGEXP' => array(
+        2 => "/-->/",
+        3 => "/{-(?:(?R)|.)-}/s", //Nested Comments
+        ),
     'CASE_KEYWORDS' => 0,
     'QUOTEMARKS' => array('"'),
     'ESCAPE_CHAR' => "\\",
@@ -146,7 +149,8 @@ $language_data = array (
         'COMMENTS' => array(
             1 => 'color: #5d478b; font-style: italic;',
             2 => 'color: #339933; font-weight: bold;',
-            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purpHle */
+            3 => 'color: #5d478b; font-style: italic;', /* light purple */
+            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
             ),
         'ESCAPE_CHAR' => array(
             0 => 'background-color: #3cb371; font-weight: bold;'
@@ -195,4 +199,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/hicest.php b/application/libraries/geshi/hicest.php
new file mode 100644
index 000000000..67d8d114a
--- /dev/null
+++ b/application/libraries/geshi/hicest.php
@@ -0,0 +1,108 @@
+ 'HicEst',
+    'COMMENT_SINGLE' => array(1 => '!'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', '\''),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            '$cmd_line', 'abs', 'acos', 'alarm', 'alias', 'allocate', 'appendix', 'asin', 'atan', 'axis', 'beep',
+            'call', 'ceiling', 'char', 'character', 'com', 'continue', 'cos', 'cosh', 'data', 'diffeq', 'dimension', 'dlg', 'dll',
+            'do', 'edit', 'else', 'elseif', 'end', 'enddo', 'endif', 'exp', 'floor', 'function', 'fuz', 'goto', 'iand', 'ichar',
+            'ieor', 'if', 'index', 'init', 'int', 'intpol', 'ior', 'key', 'len', 'len_trim', 'line', 'lock', 'log', 'max', 'maxloc',
+            'min', 'minloc', 'mod', 'nint', 'not', 'open', 'pop', 'ran', 'read', 'real', 'return', 'rgb', 'roots', 'sign', 'sin',
+            'sinh', 'solve', 'sort', 'subroutine', 'sum', 'system', 'tan', 'tanh', 'then', 'time', 'use', 'window', 'write', 'xeq'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '(', ')', '+', '-', '*', '/', '=', '<', '>', '!', '^', ':', ','
+            ),
+        2 => array(
+            '$', '$$'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #ff0000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;',
+            2 => 'color: #ff0000;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(1 => ''),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/hq9plus.php b/application/libraries/geshi/hq9plus.php
index 89af3bee8..2cce643df 100644
--- a/application/libraries/geshi/hq9plus.php
+++ b/application/libraries/geshi/hq9plus.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/10/31
  *
  * HQ9+ language file for GeSHi.
diff --git a/application/libraries/geshi/html4strict.php b/application/libraries/geshi/html4strict.php
index 08c7f30c7..68ba72328 100644
--- a/application/libraries/geshi/html4strict.php
+++ b/application/libraries/geshi/html4strict.php
@@ -4,7 +4,7 @@
  * ---------------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/07/10
  *
  * HTML 4.01 strict language file for GeSHi.
@@ -59,41 +59,23 @@ $language_data = array (
     'KEYWORDS' => array(
         2 => array(
             'a', 'abbr', 'acronym', 'address', 'applet',
-
             'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
-
             'caption', 'center', 'cite', 'code', 'colgroup', 'col',
-
             'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
-
             'em',
-
             'fieldset', 'font', 'form', 'frame', 'frameset',
-
             'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
-
             'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
-
             'kbd',
-
             'label', 'legend', 'link', 'li',
-
             'map', 'meta',
-
             'noframes', 'noscript',
-
             'object', 'ol', 'optgroup', 'option',
-
             'param', 'pre', 'p',
-
             'q',
-
             'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
-
             'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
-
             'ul', 'u',
-
             'var',
             ),
         3 => array(
@@ -151,6 +133,7 @@ $language_data = array (
             0 => 'color: #66cc66;'
             ),
         'SCRIPT' => array(
+            -2 => 'color: #404040;', // CDATA
             -1 => 'color: #808080; font-style: italic;', // comments
             0 => 'color: #00bbdd;',
             1 => 'color: #ddbb00;',
@@ -170,6 +153,9 @@ $language_data = array (
         ),
     'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
     'SCRIPT_DELIMITERS' => array(
+        -2 => array(
+            ' ']]>'
+            ),
         -1 => array(
             ''
             ),
@@ -184,6 +170,7 @@ $language_data = array (
             )
     ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
+        -2 => false,
         -1 => false,
         0 => false,
         1 => false,
@@ -200,4 +187,4 @@ $language_data = array (
     )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/html5.php b/application/libraries/geshi/html5.php
new file mode 100644
index 000000000..7ffd4a05d
--- /dev/null
+++ b/application/libraries/geshi/html5.php
@@ -0,0 +1,212 @@
+ 'HTML',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        2 => array(
+            'a', 'abbr', 'address', 'article', 'aside', 'audio'.
+
+            'base', 'bdo', 'blockquote', 'body', 'br', 'button', 'b',
+
+            'caption', 'cite', 'code', 'colgroup', 'col', 'canvas', 'command', 'datalist', 'details',
+
+            'dd', 'del', 'dfn', 'div', 'dl', 'dt',
+
+            'em', 'embed',
+
+            'fieldset', 'form', 'figcaption', 'figure', 'footer',
+
+            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html', 'header', 'hgroup',
+
+            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
+
+            'kbd', 'keygen',
+
+            'label', 'legend', 'link', 'li',
+
+            'map', 'meta', 'mark', 'meter',
+
+            'noscript', 'nav',
+
+            'object', 'ol', 'optgroup', 'option', 'output',
+
+            'param', 'pre', 'p', 'progress',
+
+            'q',
+
+            'rp', 'rt', 'ruby',
+
+            'samp', 'script', 'select', 'small', 'span', 'strong', 'style', 'sub', 'sup', 's', 'section', 'source', 'summary',
+
+            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'time',
+
+            'ul',
+
+            'var', 'video',
+
+            'wbr',
+            ),
+        3 => array(
+            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis', 'autocomplete', 'autofocus',
+            'background', 'bgcolor', 'border',
+            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords', 'contenteditable', 'contextmenu',
+            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled', 'draggable', 'dropzone',
+            'enctype',
+            'face', 'for', 'frame', 'frameborder', 'form', 'formaction', 'formenctype', 'formmethod', 'formnovalidate', 'formtarget',
+            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv', 'hidden',
+            'id', 'ismap',
+            'label', 'lang', 'language', 'link', 'longdesc',
+            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple', 'min', 'max',
+            'name', 'nohref', 'noresize', 'noshade', 'nowrap', 'novalidate',
+            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onselect', 'onsubmit', 'onunload', 'onafterprint', 'onbeforeprint', 'onbeforeonload', 'onerror', 'onhaschange', 'onmessage', 'onoffline', 'ononline', 'onpagehide', 'onpageshow', 'onpopstate', 'onredo', 'onresize', 'onstorage', 'onundo', 'oncontextmenu', 'onformchange', 'onforminput', 'oninput', 'oninvalid', 'ondrag', 'ondragend', 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart', 'ondrop', 'onmousewheel', 'onscroll', 'oncanplay', 'oncanplaythrough', 'ondurationchange', 'onemptied', 'onended', 'onloadeddata', 'onloadedmetadata', 'onloadstart', 'onpause', 'onplay', 'onplaying', 'onprogress', 'onratechange', 'onreadystatechange', 'onseeked', 'onseeking', 'onstalled', 'onsuspend', 'ontimeupdate', 'onvolumechange', 'onwaiting',
+            'profile', 'prompt', 'pattern', 'placeholder',
+            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules', 'required',
+            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary', 'spellcheck', 'step',
+            'tabindex', 'target', 'text', 'title', 'type',
+            'usemap',
+            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+            'width'
+            )
+        ),
+    'SYMBOLS' => array(
+        '/', '='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            -2 => 'color: #404040;', // CDATA
+            -1 => 'color: #808080; font-style: italic;', // comments
+            0 => 'color: #00bbdd;',
+            1 => 'color: #ddbb00;',
+            2 => 'color: #009900;'
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        2 => 'http://december.com/html/4/element/{FNAMEL}.html',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+    'SCRIPT_DELIMITERS' => array(
+        -2 => array(
+            ' ']]>'
+            ),
+        -1 => array(
+            ''
+            ),
+        0 => array(
+            ' '>'
+            ),
+        1 => array(
+            '&' => ';'
+            ),
+        2 => array(
+            '<' => '>'
+            )
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        -2 => false,
+        -1 => false,
+        0 => false,
+        1 => false,
+        2 => true
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            2 => array(
+                'DISALLOWED_BEFORE' => '(?<=<|<\/)',
+                'DISALLOWED_AFTER' => '(?=\s|\/|>)',
+            )
+        )
+    )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/icon.php b/application/libraries/geshi/icon.php
new file mode 100644
index 000000000..e68c2f17f
--- /dev/null
+++ b/application/libraries/geshi/icon.php
@@ -0,0 +1,212 @@
+ 'Icon',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', '\''),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'break', 'case', 'continue', 'create', 'default', 'do', 'else',
+            'end', 'every', 'fail', 'for', 'if', 'import', 'initial',
+            'initially', 'invocable', 'link', 'next', 'not', 'of', 'package',
+            'procedure', 'record', 'repeat', 'return', 'switch', 'suspend',
+            'then', 'to', 'until', 'while'
+            ),
+        2 => array(
+            'global', 'local', 'static'
+            ),
+        3 => array(
+            'allocated', 'ascii', 'clock', 'collections',
+            'column', 'cset', 'current', 'date', 'dateline', 'digits',
+            'dump', 'e', 'error', 'errornumber', 'errortext',
+            'errorvalue', 'errout', 'eventcode', 'eventsource', 'eventvalue',
+            'fail', 'features', 'file', 'host', 'input', 'lcase',
+            'letters', 'level', 'line', 'main', 'now', 'null',
+            'output', 'phi', 'pi', 'pos', 'progname', 'random',
+            'regions', 'source', 'storage', 'subject', 'syserr', 'time',
+            'trace', 'ucase', 'version', 'col', 'control', 'interval',
+            'ldrag', 'lpress', 'lrelease', 'mdrag', 'meta', 'mpress',
+            'mrelease', 'rdrag', 'resize', 'row', 'rpress', 'rrelease',
+            'shift', 'window', 'x', 'y'
+            ),
+        4 => array(
+            'abs', 'acos', 'any', 'args', 'asin', 'atan', 'bal', 'center', 'char',
+            'chmod', 'close', 'cofail', 'collect', 'copy', 'cos', 'cset', 'ctime', 'delay', 'delete',
+            'detab', 'display', 'dtor', 'entab', 'errorclear', 'event', 'eventmask', 'EvGet', 'exit',
+            'exp', 'fetch', 'fieldnames', 'find', 'flock', 'flush', 'function', 'get', 'getch',
+            'getche', 'getenv', 'gettimeofday', 'globalnames', 'gtime', 'iand', 'icom', 'image',
+            'insert', 'integer', 'ior', 'ishift', 'ixor', 'key', 'left', 'list', 'load', 'loadfunc',
+            'localnames', 'log', 'many', 'map', 'match', 'member', 'mkdir', 'move', 'name', 'numeric',
+            'open', 'opmask', 'ord', 'paramnames', 'parent', 'pipe', 'pop', 'pos', 'proc', 'pull',
+            'push', 'put', 'read', 'reads', 'real', 'receive', 'remove', 'rename', 'repl', 'reverse',
+            'right', 'rmdir', 'rtod', 'runerr', 'seek', 'select', 'send', 'seq', 'serial', 'set',
+            'setenv', 'sort', 'sortf', 'sql', 'sqrt', 'stat', 'stop', 'string', 'system', 'tab',
+            'table', 'tan', 'trap', 'trim', 'truncate', 'type', 'upto', 'utime', 'variable', 'where',
+            'write', 'writes'
+            ),
+        5 => array(
+            'Active', 'Alert', 'Bg', 'Clip', 'Clone', 'Color', 'ColorValue',
+            'CopyArea', 'Couple', 'DrawArc', 'DrawCircle', 'DrawCurve', 'DrawCylinder', 'DrawDisk',
+            'DrawImage', 'DrawLine', 'DrawPoint', 'DrawPolygon', 'DrawRectangle', 'DrawSegment',
+            'DrawSphere', 'DrawString', 'DrawTorus', 'EraseArea', 'Event', 'Fg', 'FillArc',
+            'FillCircle', 'FillPolygon', 'FillRectangle', 'Font', 'FreeColor', 'GotoRC', 'GotoXY',
+            'IdentifyMatrix', 'Lower', 'MatrixMode', 'NewColor', 'PaletteChars', 'PaletteColor',
+            'PaletteKey', 'Pattern', 'Pending', 'Pixel', 'PopMatrix', 'PushMatrix', 'PushRotate',
+            'PushScale', 'PushTranslate', 'QueryPointer', 'Raise', 'ReadImage', 'Refresh', 'Rotate',
+            'Scale', 'Texcoord', 'TextWidth', 'Texture', 'Translate', 'Uncouple', 'WAttrib',
+            'WDefault', 'WFlush', 'WindowContents', 'WriteImage', 'WSync'
+            ),
+        6 => array(
+            'define', 'include', 'ifdef', 'ifndef', 'else', 'endif', 'error',
+            'line', 'undef'
+            ),
+        7 => array(
+            '_V9', '_AMIGA', '_ACORN', '_CMS', '_MACINTOSH', '_MSDOS_386',
+            '_MS_WINDOWS_NT', '_MSDOS', '_MVS', '_OS2', '_POR', 'T', '_UNIX', '_POSIX', '_DBM',
+            '_VMS', '_ASCII', '_EBCDIC', '_CO_EXPRESSIONS', '_CONSOLE_WINDOW', '_DYNAMIC_LOADING',
+            '_EVENT_MONITOR', '_EXTERNAL_FUNCTIONS', '_KEYBOARD_FUNCTIONS', '_LARGE_INTEGERS',
+            '_MULTITASKING', '_PIPES', '_RECORD_IO', '_SYSTEM_FUNCTION', '_MESSAGING', '_GRAPHICS',
+            '_X_WINDOW_SYSTEM', '_MS_WINDOWS', '_WIN32', '_PRESENTATION_MGR', '_ARM_FUNCTIONS',
+            '_DOS_FUNCTIONS'
+            ),
+        8 => array(
+            'line'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '\\', '%', '=', '<', '>', '!', '^',
+            '&', '|', '?', ':', ';', ',', '.', '~', '@'
+            ),
+        2 => array(
+            '$(', '$)', '$<', '$>', '$'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #b1b100;',
+            3 => 'color: #b1b100;',
+            4 => 'color: #b1b100;',
+            5 => 'color: #b1b100;',
+            6 => 'color: #b1b100;',
+            7 => 'color: #b1b100;',
+            8 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;',
+            2 => 'color: #b1b100;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(1 => '.'),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            3 => array(
+                'DISALLOWED_BEFORE' => '(?<=&)'
+                ),
+            4 => array(
+                'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\"\'])"
+                ),
+            6 => array(
+                'DISALLOWED_BEFORE' => '(?<=\$)'
+                ),
+            8 => array(
+                'DISALLOWED_BEFORE' => '(?<=#)'
+                )
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/idl.php b/application/libraries/geshi/idl.php
index 64472140a..84e57f30b 100644
--- a/application/libraries/geshi/idl.php
+++ b/application/libraries/geshi/idl.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Cedric Bosdonnat (cedricbosdo@openoffice.org)
  * Copyright: (c) 2006 Cedric Bosdonnat
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/08/20
  *
  * Unoidl language file for GeSHi.
diff --git a/application/libraries/geshi/ini.php b/application/libraries/geshi/ini.php
index ae0e81ec4..2ca7feb0b 100644
--- a/application/libraries/geshi/ini.php
+++ b/application/libraries/geshi/ini.php
@@ -4,7 +4,7 @@
  * --------
  * Author: deguix (cevo_deguix@yahoo.com.br)
  * Copyright: (c) 2005 deguix
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/03/27
  *
  * INI language file for GeSHi.
diff --git a/application/libraries/geshi/inno.php b/application/libraries/geshi/inno.php
index 6d1b97965..b0878e298 100644
--- a/application/libraries/geshi/inno.php
+++ b/application/libraries/geshi/inno.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Thomas Klingler (hotline@theratech.de) based on delphi.php from J�rja Norbert (jnorbi@vipmail.hu)
  * Copyright: (c) 2004 J�rja Norbert, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/07/29
  *
  * Inno Script language inkl. Delphi (Object Pascal) language file for GeSHi.
diff --git a/application/libraries/geshi/intercal.php b/application/libraries/geshi/intercal.php
index 958f886ce..06fd2b41b 100644
--- a/application/libraries/geshi/intercal.php
+++ b/application/libraries/geshi/intercal.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/10/31
  *
  * INTERCAL language file for GeSHi.
diff --git a/application/libraries/geshi/io.php b/application/libraries/geshi/io.php
index eb4d8646e..3d6341fee 100644
--- a/application/libraries/geshi/io.php
+++ b/application/libraries/geshi/io.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2006 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/09/23
  *
  * Io language file for GeSHi. Thanks to Johnathan Wright for the suggestion and help
diff --git a/application/libraries/geshi/j.php b/application/libraries/geshi/j.php
new file mode 100644
index 000000000..5d464c922
--- /dev/null
+++ b/application/libraries/geshi/j.php
@@ -0,0 +1,190 @@
+ 'J',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        1 => '/(? '/(?<=\bNote\b).*?$\s+\)(?:(?!\n)\s)*$/sm',   //multiline comments in Note
+        3 => "/'[^']*?$/m"                        //incomplete strings/open quotes
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("'"),
+    'HARDCHAR' => "'",
+    'NUMBERS' => array(
+        0 => '\b(?:_?\d+(?:\.\d+)?(?:x|[bejprx]_?[\da-z]+(?:\.[\da-z]+)?)?|__?)(?![\w\.\:])',
+        ),
+    'KEYWORDS' => array(
+        //Control words
+        1 => array(
+            'assert.', 'break.', 'case.', 'catch.', 'catcht.', 'continue.', 'do.',
+            'else.', 'elseif.', 'end.', 'fcase.', 'for.', 'goto.', 'if.', 'label.',
+            'return.', 'select.', 'throw.', 'trap.', 'try.', 'while.', 'whilst.'
+            ),
+        //Arguments
+        2 => array(
+            'm', 'n', 'u', 'v', 'x', 'y'
+            ),
+        ),
+    'SYMBOLS' => array(
+        //Punctuation
+        0 => array(
+            '(', ')'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        //6 => true,
+        //7 => true,
+        //8 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff; font-weight: bold;',
+            2 => 'color: #0000cc; font-weight: bold;',
+            //6 => 'color: #000000; font-weight: bold;',
+            //7 => 'color: #000000; font-weight: bold;',
+            //8 => 'color: #000000; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #666666; font-style: italic; font-weight: bold;',
+            3 => 'color: #ff00ff; ',                      //open quote
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            'HARD' => 'font-weight: bold;',
+            0 => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            'HARD' => 'color: #ff0000;',
+            0 => 'color: #ff0000;',
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #009999; font-weight: bold;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #009900; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff; font-weight: bold;',   //for_xyz. - same as kw1
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '', //'http://www.jsoftware.com/help/dictionary/ctrl.htm',
+        2 => '',
+        //6 => '', //'http://www.jsoftware.com/jwiki/Vocabulary',
+        //7 => '', //'http://www.jsoftware.com/jwiki/Vocabulary',
+        //8 => '', //'http://www.jsoftware.com/jwiki/Vocabulary',
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        0 => '\b(for|goto|label)_[a-zA-Z]\w*\.',   //for_xyz. - should be kw1
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'BRACKETS' => GESHI_NEVER,
+            ),
+        'NUMBERS' => array(
+            'PRECHECK_RX' => '#[\d_]#',            // underscore is valid number
+            ),
+        'KEYWORDS' => array(
+            //Control words
+            2 => array(
+                'DISALLOWED_BEFORE' => '(? '(?![\w\.\:])',
+                ),
+            //Primtives starting with a symbol (except . or :)
+            6 => array(
+                'DISALLOWED_BEFORE' => '(?!K)',    // effect should be to allow anything
+                'DISALLOWED_AFTER' => '(?=.*)',
+                ),
+            //Primtives starting with a letter
+            7 => array(
+                'DISALLOWED_BEFORE' => '(? '(?=.*)',
+                ),
+            //Primtives starting with symbol . or :
+            8 => array(
+                'DISALLOWED_BEFORE' => '(?<=\s)',
+                'DISALLOWED_AFTER' => '(?=.*)',
+                ),
+            )
+        )
+);
+
+?>
diff --git a/application/libraries/geshi/java.php b/application/libraries/geshi/java.php
index b4080f7ac..2f3d9fb96 100644
--- a/application/libraries/geshi/java.php
+++ b/application/libraries/geshi/java.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/07/10
  *
  * Java language file for GeSHi.
diff --git a/application/libraries/geshi/java5.php b/application/libraries/geshi/java5.php
index 4abffc663..6163995f8 100644
--- a/application/libraries/geshi/java5.php
+++ b/application/libraries/geshi/java5.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/07/10
  *
  * Java language file for GeSHi.
@@ -56,7 +56,7 @@ $language_data = array (
     'COMMENT_MULTI' => array('/*' => '*/'),
     'COMMENT_REGEXP' => array(
         //Import and Package directives (Basic Support only)
-        2 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
+        2 => '/(?:(?<=import[\\n\\s](?!static))|(?<=import[\\n\\s]static[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
         // javadoc comments
         3 => '#/\*\*(?![\*\/]).*\*/#sU'
         ),
@@ -1025,6 +1025,12 @@ $language_data = array (
     'SCRIPT_DELIMITERS' => array(
         ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => '(?|^&"\'])',
+            'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-;"\'])'
+            )
         )
 );
 
diff --git a/application/libraries/geshi/javascript.php b/application/libraries/geshi/javascript.php
index 96c345477..93997a70c 100644
--- a/application/libraries/geshi/javascript.php
+++ b/application/libraries/geshi/javascript.php
@@ -4,7 +4,7 @@
  * --------------
  * Author: Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Ben Keen (ben.keen@gmail.com), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/20
  *
  * JavaScript language file for GeSHi.
@@ -45,8 +45,10 @@ $language_data = array (
     'LANG_NAME' => 'Javascript',
     'COMMENT_SINGLE' => array(1 => '//'),
     'COMMENT_MULTI' => array('/*' => '*/'),
-    //Regular Expressions
-    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
+    'COMMENT_REGEXP' => array(
+        //Regular Expressions
+        2 => "/(?<=[\\s^])(s|tr|y)\\/(?!\*)(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(? GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
     'ESCAPE_CHAR' => '\\',
@@ -147,4 +149,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/jquery.php b/application/libraries/geshi/jquery.php
index b4264cb1c..9374ec1ca 100644
--- a/application/libraries/geshi/jquery.php
+++ b/application/libraries/geshi/jquery.php
@@ -4,7 +4,7 @@
  * --------------
  * Author: Rob Loach (http://www.robloach.net)
  * Copyright: (c) 2009 Rob Loach (http://www.robloach.net)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/07/20
  *
  * jQuery 1.3 language file for GeSHi.
diff --git a/application/libraries/geshi/kixtart.php b/application/libraries/geshi/kixtart.php
index 3d37f8ce6..f3f29e2e3 100644
--- a/application/libraries/geshi/kixtart.php
+++ b/application/libraries/geshi/kixtart.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Riley McArdle (riley@glyff.net)
  * Copyright: (c) 2007 Riley McArdle (http://www.glyff.net/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/08/31
  *
  * PHP language file for GeSHi.
diff --git a/application/libraries/geshi/klonec.php b/application/libraries/geshi/klonec.php
index 24f32dbc3..553763d61 100644
--- a/application/libraries/geshi/klonec.php
+++ b/application/libraries/geshi/klonec.php
@@ -4,7 +4,7 @@
  * --------
  * Author: AUGER Mickael
  * Copyright: Synchronic
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/04/16
  *
  * KLone with C language file for GeSHi.
diff --git a/application/libraries/geshi/klonecpp.php b/application/libraries/geshi/klonecpp.php
index ad2844c6d..6fe0df1ef 100644
--- a/application/libraries/geshi/klonecpp.php
+++ b/application/libraries/geshi/klonecpp.php
@@ -4,7 +4,7 @@
  * --------
  * Author: AUGER Mickael
  * Copyright: Synchronic
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/04/16
  *
  * KLone with C++ language file for GeSHi.
diff --git a/application/libraries/geshi/latex.php b/application/libraries/geshi/latex.php
index ae7f0b3c5..91c034236 100644
--- a/application/libraries/geshi/latex.php
+++ b/application/libraries/geshi/latex.php
@@ -4,7 +4,7 @@
  * -----
  * Author: efi, Matthias Pospiech (matthias@pospiech.eu)
  * Copyright: (c) 2006 efi, Matthias Pospiech (matthias@pospiech.eu), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/09/23
  *
  * LaTeX language file for GeSHi.
@@ -147,7 +147,7 @@ $language_data = array (
             ),
         // [options]
         2 => array(
-            GESHI_SEARCH => "(?<=\[).+(?=\])",
+            GESHI_SEARCH => "(?<=\[).*(?=\])",
             GESHI_REPLACE => '\0',
             GESHI_MODIFIERS => 'Us',
             GESHI_BEFORE => '',
@@ -185,7 +185,7 @@ $language_data = array (
         8 => "\\\\(?:end|begin)(?=[^a-zA-Z])",
         // {parameters}
         9 => array(
-            GESHI_SEARCH => "(?<=\\{)(?!<\|!REG3XP5!>).*(?=\\})",
+            GESHI_SEARCH => "(?<=\\{)(?!<\|!REG3XP5!>).*?(?=\\})",
             GESHI_REPLACE => '\0',
             GESHI_MODIFIERS => 'Us',
             GESHI_BEFORE => '',
diff --git a/application/libraries/geshi/lb.php b/application/libraries/geshi/lb.php
new file mode 100644
index 000000000..390fe19a9
--- /dev/null
+++ b/application/libraries/geshi/lb.php
@@ -0,0 +1,162 @@
+ 'Liberty BASIC',
+    'COMMENT_SINGLE' => array(1 => '\''),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'and', 'append', 'as', 'beep', 'bmpbutton', 'bmpsave', 'boolean',
+            'button', 'byref', 'call', 'callback', 'calldll', 'callfn', 'case',
+            'checkbox', 'close', 'cls', 'colordialog', 'combobox', 'confirm',
+            'cursor', 'data', 'dialog', 'dim', 'dll', 'do', 'double', 'dump',
+            'dword', 'else', 'end', 'error', 'exit', 'field', 'filedialog',
+            'files', 'fontdialog', 'for', 'function', 'get', 'gettrim',
+            'global', 'gosub', 'goto', 'graphicbox', 'graphics', 'groupbox',
+            'if', 'input', 'kill', 'let', 'line', 'listbox', 'loadbmp',
+            'locate', 'long', 'loop', 'lprint', 'mainwin', 'maphandle', 'menu',
+            'mod', 'name', 'next', 'nomainwin', 'none', 'notice', 'on',
+            'oncomerror', 'or', 'open', 'out', 'output', 'password', 'playmidi',
+            'playwave', 'popupmenu', 'print', 'printerdialog', 'prompt', 'ptr',
+            'put', 'radiobutton', 'random', 'randomize', 'read', 'readjoystick',
+            'redim', 'rem', 'restore', 'resume', 'return', 'run', 'scan',
+            'seek', 'select', 'short', 'sort', 'statictext', 'stop', 'stopmidi',
+            'struct', 'stylebits', 'sub', 'text', 'textbox', 'texteditor',
+            'then', 'timer', 'titlebar', 'to', 'trace', 'ulong', 'unloadbmp',
+            'until', 'ushort', 'void', 'wait', 'window', 'wend', 'while',
+            'word', 'xor'
+            ),
+        2 => array(
+            'abs', 'acs', 'asc', 'asn', 'atn', 'chr$', 'cos', 'date$',
+            'dechex$', 'eof', 'eval', 'eval$', 'exp', 'hbmp', 'hexdec', 'hwnd',
+            'inp', 'input$', 'inputto$', 'instr', 'int', 'left$', 'len', 'lof',
+            'log', 'lower$', 'max', 'midipos', 'mid$', 'min', 'mkdir', 'not',
+            'right$', 'rmdir', 'rnd', 'sin', 'space$', 'sqr', 'str$', 'tab',
+            'tan', 'time$', 'trim$', 'txcount', 'upper$', 'using', 'val',
+            'winstring', 'word$'
+            ),
+        3 => array(
+            'BackgroundColor$', 'Com', 'ComboboxColor$', 'ComError', 'ComErrorNumber',
+            'CommandLine$', 'ComPortNumber', 'DefaultDir$',
+            'DisplayHeight', 'DisplayWidth', 'Drives$', 'Err', 'Err$',
+            'ForegroundColor$', 'Inkey$', 'Joy1x', 'Joy1y', 'Joy1z',
+            'Joy1button1', 'Joy1button2', 'Joy2x', 'Joy2y', 'Joy2z',
+            'Joy2button1', 'Joy2button2', 'ListboxColor$', 'MouseX', 'MouseY', 'Platform$',
+            'PrintCollate', 'PrintCopies', 'PrinterFont$', 'PrinterName$', 'StartupDir$',
+            'TextboxColor$', 'TexteditorColor$', 'Version$', 'WindowHeight',
+            'WindowWidth', 'UpperLeftX', 'UpperLeftY'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '(', ')', '[', ']', '+', '-', '*', '/', '%', '=', '<', '>', ':', ',', '#'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #AD0080;',
+            3 => 'color: #008080;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #008000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            2 => array(
+                //In LB, the second keyword list is a list of built-in functions,
+                //and their names should not be highlighted unless being used
+                //as a function name.
+                'DISALLOWED_AFTER' => '(?=\s*\()'
+                )
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/lisp.php b/application/libraries/geshi/lisp.php
index 3ca20fdc5..82aa7f69b 100644
--- a/application/libraries/geshi/lisp.php
+++ b/application/libraries/geshi/lisp.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/08/30
  *
  * Generic Lisp language file for GeSHi.
@@ -73,7 +73,7 @@ $language_data = array (
             'rem','min','max','abs','sin','cos','tan','expt','exp','sqrt',
             'random','logand','logior','logxor','lognot','bignums','logeqv',
             'lognand','lognor','logorc2','logtest','logbitp','logcount',
-            'integer','nil','parse-integer'
+            'integer','nil','parse-integer','make-list','print','write'
             )
         ),
     'SYMBOLS' => array(
@@ -141,4 +141,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/llvm.php b/application/libraries/geshi/llvm.php
new file mode 100644
index 000000000..f58be2da8
--- /dev/null
+++ b/application/libraries/geshi/llvm.php
@@ -0,0 +1,385 @@
+ 'LLVM Intermediate Representation',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(),
+    'HARDQUOTE' => array("\"", "\""),
+    'HARDESCAPE' => array("\"", "\\"),
+    'HARDCHAR' => "\\",
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        // 1 => "#\\\\[nfrtv\$\"\n\\\\]#i",
+        //Hexadecimal Char Specs
+        // 2 => "#\\\\x[\da-fA-F]{1,2}#i",
+        //Octal Char Specs
+        // 3 => "#\\\\[0-7]{1,3}#",
+        //String Parsing of Variable Names
+        // 4 => "#\\$[a-z0-9_]+(?:\\[[a-z0-9_]+\\]|->[a-z0-9_]+)?|(?:\\{\\$|\\$\\{)[a-z0-9_]+(?:\\[('?)[a-z0-9_]*\\1\\]|->[a-z0-9_]+)*\\}#i",
+        //Experimental extension supporting cascaded {${$var}} syntax
+        // 5 => "#\$[a-z0-9_]+(?:\[[a-z0-9_]+\]|->[a-z0-9_]+)?|(?:\{\$|\$\{)[a-z0-9_]+(?:\[('?)[a-z0-9_]*\\1\]|->[a-z0-9_]+)*\}|\{\$(?R)\}#i",
+        //Format String support in ""-Strings
+        // 6 => "#%(?:%|(?:\d+\\\\\\\$)?\\+?(?:\x20|0|'.)?-?(?:\d+|\\*)?(?:\.\d+)?[bcdefFosuxX])#"
+        ),
+    'NUMBERS' =>
+    GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        0 => array(
+            'to', 'nuw', 'nsw', 'align', 'inbounds', 'entry', 'return'
+            ),
+        //Terminator Instructions
+        1 => array(
+            'ret', 'br', 'switch', 'indirectbr', 'invoke', 'unwind', 'unreachable'
+            ),
+        //Binary Operations
+        2 => array(
+            'add', 'fadd', 'sub', 'fsub', 'mul', 'fmul', 'udiv', 'sdiv', 'fdiv', 'urem', 'frem', 'srem'
+            ),
+        //Bitwise Binary Operations
+        3 => array(
+            'shl', 'lshr', 'ashr', 'and', 'or', 'xor'
+            ),
+        //Vector Operations
+        4 => array(
+            'extractelement', 'insertelement', 'shufflevector'
+            ),
+        //Aggregate Operations
+        5 => array(
+            'extractvalue', 'insertvalue'
+            ),
+        //Memory Access and Addressing Operations
+        6 => array(
+            'alloca', 'load', 'store', 'getelementptr'
+            ),
+        //Conversion Operations
+        7 => array(
+            'trunc', 'zext', 'sext', 'fptrunc', 'fpext', 'fptoui', 'fptosi',
+            'uitofp', 'sitofp', 'ptrtoint', 'inttoptr', 'bitcast'
+            ),
+        //Other Operations
+        8 => array(
+            'icmp', 'fcmp', 'phi', 'select', 'call', 'va_arg'
+            ),
+        //Linkage Types
+        9 => array(
+            'private', 'linker_private', 'linker_private_weak', 'linker_private_weak_def_auto',
+            'internal', 'available_externally', 'linkonce', 'common', 'weak', 'appending',
+            'extern_weak', 'linkonce_odr', 'weak_odr', 'externally visible', 'dllimport', 'dllexport',
+            ),
+        //Calling Conventions
+        10 => array(
+            'ccc', 'fastcc', 'coldcc', 'cc 10'
+            ),
+        //Named Types
+        11 => array(
+            'type'
+            ),
+        //Parameter Attributes
+        12 => array(
+            'zeroext', 'signext', 'inreg', 'byval', 'sret', 'noalias', 'nocapture', 'nest'
+            ),
+        //Function Attributes
+        13 => array(
+            'alignstack', 'alwaysinline', 'inlinehint', 'naked', 'noimplicitfloat', 'noinline', 'noredzone', 'noreturn',
+            'nounwind', 'optsize', 'readnone', 'readonly', 'ssp', 'sspreq',
+            ),
+        //Module-Level Inline Assembly
+        14 => array(
+            'module asm'
+            ),
+        //Data Layout
+        15 => array(
+            'target datalayout'
+            ),
+        //Primitive Types
+        16 => array(
+            'x86mmx',
+            'void',
+            'label',
+            'metadata',
+            'opaque'
+            ),
+        //Floating Point Types
+        17 => array(
+            'float', 'double', 'fp128', 'x86_fp80', 'ppc_fp128',
+            ),
+        //Simple Constants
+        18 => array(
+            'false', 'true', 'null'
+            ),
+        //Global Variable and Function Addresses
+        19 => array(
+            'global', 'addrspace', 'constant', 'section'
+            ),
+        //Functions
+        20 => array(
+            'declare', 'define'
+            ),
+        //Complex Constants
+        21 => array(
+            'zeroinitializer'
+            ),
+        //Undefined Values
+        22 => array(
+            'undef'
+            ),
+        //Addresses of Basic Blocks
+        23 => array(
+            'blockaddress'
+            ),
+        //Visibility Styles
+        24 => array(
+            'default', 'hidden', 'protected'
+            ),
+        25 => array(
+            'volatile'
+            ),
+        26 => array(
+            'tail'
+            ),
+        ),
+    'SYMBOLS' => array(
+        0 => array(
+            '(', ')', '[', ']', '{', '}',
+            '!', '@', '%', '&', '|', '/',
+            '<', '>',
+            '=', '-', '+', '*',
+            '.', ':', ',', ';'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true,
+        9 => true,
+        10 => true,
+        11 => true,
+        12 => true,
+        13 => true,
+        14 => true,
+        15 => true,
+        16 => true,
+        17 => true,
+        18 => true,
+        19 => true,
+        20 => true,
+        21 => true,
+        22 => true,
+        23 => true,
+        24 => true,
+        25 => true,
+        26 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            0 => 'color: #209090;',
+            1 => 'color: #0000F0;',
+            2 => 'color: #00F000; font-weight: bold;',
+            3 => 'color: #F00000;',
+            4 => 'color: #00F0F0; font-weight: bold;',
+            5 => 'color: #F000F0; font-weight: bold;',
+            6 => 'color: #403020; font-weight: bold;',
+            7 => 'color: #909090; font-weight: bold;',
+            8 => 'color: #009090; font-weight: bold;',
+            9 => 'color: #900090; font-weight: bold;',
+            10 => 'color: #909000; font-weight: bold;',
+            11 => 'color: #000090; font-weight: bold;',
+            12 => 'color: #900000; font-weight: bold;',
+            13 => 'color: #009000; font-weight: bold;',
+            14 => 'color: #F0F090; font-weight: bold;',
+            15 => 'color: #F090F0; font-weight: bold;',
+            16 => 'color: #90F0F0; font-weight: bold;',
+            17 => 'color: #9090F0; font-weight: bold;',
+            18 => 'color: #90F090; font-weight: bold;',
+            19 => 'color: #F09090; font-weight: bold;',
+            20 => 'color: #4040F0; font-weight: bold;',
+            21 => 'color: #40F040; font-weight: bold;',
+            22 => 'color: #F04040; font-weight: bold;',
+            23 => 'color: #F0F040; font-weight: bold;',
+            24 => 'color: #F040F0; font-weight: bold;',
+            25 => 'color: #40F0F0; font-weight: bold;',
+            26 => 'color: #904040; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #006699; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold; font-style: italic;',
+            6 => 'color: #009933; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;',
+            'HARD' => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            ),
+        'METHODS' => array(
+            1 => 'color: #004000;',
+            2 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;',
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #007088;',
+            1 => 'color: #007088;',
+            // 2 => 'color: #000088;',
+            3 => 'color: #700088;',
+            4 => 'color: #010088;',
+            // 5 => 'color: #610088;',
+            // 6 => 'color: #616088;',
+            // 7 => 'color: #616988;',
+            // 8 => 'color: #616908;',
+            9 => 'color: #6109F8;',
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => '',
+            4 => '',
+            5 => ''
+            )
+        ),
+    'URLS' => array(
+        0 => '',
+        1 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
+        2 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
+        3 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
+        4 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
+        5 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
+        6 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
+        7 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
+        8 => 'http://llvm.org/docs/LangRef.html#i_{FNAME}',
+        9 => 'http://llvm.org/docs/LangRef.html#linkage_{FNAME}',
+        10 => 'http://llvm.org/docs/LangRef.html#callingconv',
+        11 => 'http://llvm.org/docs/LangRef.html#namedtypes',
+        12 => 'http://llvm.org/docs/LangRef.html#paramattrs',
+        13 => 'http://llvm.org/docs/LangRef.html#fnattrs',
+        14 => 'http://llvm.org/docs/LangRef.html#moduleasm',
+        15 => 'http://llvm.org/docs/LangRef.html#datalayout',
+        16 => 'http://llvm.org/docs/LangRef.html#t_{FNAME}',
+        17 => 'http://llvm.org/docs/LangRef.html#t_floating',
+        18 => 'http://llvm.org/docs/LangRef.html#simpleconstants',
+        19 => 'http://llvm.org/docs/LangRef.html#globalvars',
+        20 => 'http://llvm.org/docs/LangRef.html#functionstructure',
+        21 => 'http://llvm.org/docs/LangRef.html#complexconstants',
+        22 => 'http://llvm.org/docs/LangRef.html#undefvalues',
+        23 => 'http://llvm.org/docs/LangRef.html#blockaddress',
+        24 => 'http://llvm.org/docs/LangRef.html#visibility',
+        25 => 'http://llvm.org/docs/LangRef.html#volatile',
+        26 => 'http://llvm.org/docs/LangRef.html#i_call',
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Variables
+        0 => '%[-a-zA-Z$\._][-a-zA-Z$\._0-9]*',
+        //Labels
+        // 1 => '[-a-zA-Z$\._0-9]+:',
+        1 => '(?]*<)',
+        //Strings
+        // 2 => '"[^"]+"',
+        //Unnamed variable slots
+        3 => '%[-]?[0-9]+',
+        //Integer Types
+        4 => array(
+            GESHI_SEARCH => '(? '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        //Comments
+        // 5 => ';.*',
+        //Integer literals
+        // 6 => '\\b[-]?[0-9]+\\b',
+        //Floating point constants
+        // 7 => '\\b[-+]?[0-9]+\.[0-9]*\([eE][-+]?[0-9]+\)?\\b',
+        //Hex constants
+        // 8 => '\\b0x[0-9A-Fa-f]+\\b',
+        //Global variables
+        9 => array(
+            GESHI_SEARCH => '@[-a-zA-Z$\._][-a-zA-Z$\._0-9]*',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true
+        ),
+    'SCRIPT_DELIMITERS' => array(),
+    'TAB_WIDTH' => 4
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/locobasic.php b/application/libraries/geshi/locobasic.php
index e0cceea3d..55aacc263 100644
--- a/application/libraries/geshi/locobasic.php
+++ b/application/libraries/geshi/locobasic.php
@@ -4,7 +4,7 @@
  * -------------
  * Author: Nacho Cabanes
  * Copyright: (c) 2009 Nacho Cabanes (http://www.nachocabanes.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/03/22
  *
  * Locomotive Basic (Amstrad CPC series) language file for GeSHi.
diff --git a/application/libraries/geshi/logtalk.php b/application/libraries/geshi/logtalk.php
index 3321e0de4..b4eba764c 100644
--- a/application/libraries/geshi/logtalk.php
+++ b/application/libraries/geshi/logtalk.php
@@ -4,14 +4,25 @@
  * -----------
  *
  * Author: Paulo Moura (pmoura@logtalk.org)
- * Copyright: (c) 2009 Paulo Moura (http://logtalk.org/)
- * Release Version: 1.0.8.6
+ * Copyright: (c) 2009-2011 Paulo Moura (http://logtalk.org/)
+ * Release Version: 1.0.8.10
  * Date Started: 2009/10/24
  *
  * Logtalk language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2011/01/18 (1.1.4)
+ *  -  Added syntax coloring of ignore/1
+ * 2010/11/28 (1.1.3)
+ *  -  Added syntax coloring of conforms_to_protocol/2-3
+ * 2010/09/14 (1.1.2)
+ *  -  Added syntax coloring of coinductive/1
+ * 2010/06/23 (1.1.1)
+ *  -  Added syntax coloring of e/0 and pi/0
+ *  -  Added syntax coloring of ground/1, numbervars/3, keysort/2, and sort/2
+ * 2010/05/15 (1.1.0)
+ *  -  Added syntax coloring of callable/1 and compare/3
  * 2009/10/28 (1.0.0)
  *  -  First Release
  *
@@ -76,7 +87,7 @@ $language_data = array(
             // entity directives
             'calls', 'initialization', 'op', 'uses',
             // predicate directives
-            'alias', 'discontiguous', 'dynamic', 'mode', 'info', 'meta_predicate', 'multifile', 'synchronized',
+            'alias', 'coinductive', 'discontiguous', 'dynamic', 'mode', 'info', 'meta_predicate', 'multifile', 'synchronized',
             // module directives
             'export', 'module', 'reexport', 'use_module'
             ),
@@ -111,7 +122,7 @@ $language_data = array(
             'current_category', 'current_object', 'current_protocol',
             'category_property', 'object_property', 'protocol_property',
             // entity relations
-            'complements_object',
+            'complements_object', 'conforms_to_protocol',
             'extends_category', 'extends_object', 'extends_protocol',
             'implements_protocol', 'imports_category',
             'instantiates_class', 'specializes_class',
@@ -125,7 +136,7 @@ $language_data = array(
             // database
             'abolish', 'asserta', 'assertz', 'clause', 'retract', 'retractall',
             // control
-            'call', 'catch', 'once', 'throw',
+            'call', 'catch', 'ignore', 'once', 'throw',
             // all solutions predicates
             'bagof', 'findall', 'forall', 'setof',
             // multi-threading meta-predicates
@@ -139,9 +150,11 @@ $language_data = array(
             'number_chars', 'number_codes',
             'char_code',
             // term creation and decomposition
-            'arg', 'copy_term', 'functor',
+            'arg', 'copy_term', 'functor', 'numbervars',
             // term testing
-            'atom', 'atomic', 'compound', 'float', 'integer', 'nonvar', 'number', 'sub_atom', 'var',
+            'atom', 'atomic', 'callable', 'compound', 'float', 'ground', 'integer', 'nonvar', 'number', 'sub_atom', 'var',
+            // term comparison
+            'compare',
             // stream selection and control
             'current_input', 'current_output', 'set_input', 'set_output',
             'open', 'close', 'flush_output', 'stream_property',
@@ -156,8 +169,10 @@ $language_data = array(
             'write', 'writeq', 'write_canonical', 'write_term',
             'read', 'read_term',
             'char_conversion', 'current_char_conversion',
-            //
-            'halt'
+            // hooks
+            'halt',
+            // sorting
+            'keysort', 'sort'
             ),
         // Built-in predicates (no arguments)
         5 => array(
@@ -180,7 +195,7 @@ $language_data = array(
             ),
         // Evaluable functors (no arguments)
         7 => array(
-            'mod', 'rem'
+            'e', 'pi', 'mod', 'rem'
             ),
         ),
     'SYMBOLS' => array(
diff --git a/application/libraries/geshi/lolcode.php b/application/libraries/geshi/lolcode.php
index 26e486d3a..bcbad11c6 100644
--- a/application/libraries/geshi/lolcode.php
+++ b/application/libraries/geshi/lolcode.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/10/31
  *
  * LOLcode language file for GeSHi.
diff --git a/application/libraries/geshi/lotusformulas.php b/application/libraries/geshi/lotusformulas.php
index 67fd4fa0a..5b755e55a 100644
--- a/application/libraries/geshi/lotusformulas.php
+++ b/application/libraries/geshi/lotusformulas.php
@@ -4,7 +4,7 @@
  * ------------------------
  * Author: Richard Civil (info@richardcivil.net)
  * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/04/12
  *
  * @Formula/@Command language file for GeSHi.
diff --git a/application/libraries/geshi/lotusscript.php b/application/libraries/geshi/lotusscript.php
index 5c1d61f92..c2b2f45f5 100644
--- a/application/libraries/geshi/lotusscript.php
+++ b/application/libraries/geshi/lotusscript.php
@@ -4,7 +4,7 @@
  * ------------------------
  * Author: Richard Civil (info@richardcivil.net)
  * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/04/12
  *
  * LotusScript language file for GeSHi.
diff --git a/application/libraries/geshi/lscript.php b/application/libraries/geshi/lscript.php
index 33cd0163d..51852414b 100644
--- a/application/libraries/geshi/lscript.php
+++ b/application/libraries/geshi/lscript.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Arendedwinter (admin@arendedwinter.com)
  * Copyright: (c) 2008 Beau McGuigan (http://www.arendedwinter.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 15/11/2008
  *
  * Lightwave Script language file for GeSHi.
diff --git a/application/libraries/geshi/lsl2.php b/application/libraries/geshi/lsl2.php
index 8b62fc219..828e2b91c 100644
--- a/application/libraries/geshi/lsl2.php
+++ b/application/libraries/geshi/lsl2.php
@@ -4,7 +4,7 @@
  * --------
  * Author: William Fry (william.fry@nyu.edu)
  * Copyright: (c) 2009 William Fry
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/02/04
  *
  * Linden Scripting Language (LSL2) language file for GeSHi.
diff --git a/application/libraries/geshi/lua.php b/application/libraries/geshi/lua.php
index 2a630b2c8..2ec6c0b88 100644
--- a/application/libraries/geshi/lua.php
+++ b/application/libraries/geshi/lua.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/07/10
  *
  * LUA language file for GeSHi.
@@ -46,13 +46,29 @@ $language_data = array (
     'LANG_NAME' => 'Lua',
     'COMMENT_SINGLE' => array(1 => "--"),
     'COMMENT_MULTI' => array('--[[' => ']]'),
+    'COMMENT_REGEXP' => array(2 => "/\[(=*)\[.*?\]\1\]/s"),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
-    'ESCAPE_CHAR' => '\\',
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[\\\\abfnrtv\'\"]#i",
+        //Octal Char Specs
+        2 => "#\\\\\\d{1,3}#"
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_HEX_PREFIX |
+        GESHI_NUMBER_FLT_NONSCI | GESHI_NUMBER_FLT_NONSCI_F |
+        GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
     'KEYWORDS' => array(
         1 => array(
-            'and','break','do','else','elseif','end','false','for','function','if',
-            'in','local','nil','not','or','repeat','return','then','true','until','while',
+            'break','do','else','elseif','end','for','function','if',
+            'local','repeat','return','then','until','while'
+            ),
+        2 => array(
+            'and','in','not','or'
+            ),
+        3 => array(
             '_VERSION','assert','collectgarbage','dofile','error','gcinfo','loadfile','loadstring',
             'print','tonumber','tostring','type','unpack',
             '_ALERT','_ERRORMESSAGE','_INPUT','_PROMPT','_OUTPUT',
@@ -79,37 +95,57 @@ $language_data = array (
             'os.clock','os.date','os.difftime','os.execute','os.exit','os.getenv','os.remove','os.rename',
             'os.setlocale','os.time','os.tmpname',
             'string','table','math','coroutine','io','os','debug'
+            ),
+        4 => array(
+            'nil', 'false', 'true'
+            ),
+        5 => array(
+            'Nil', 'Boolean', 'Number', 'String', 'Userdata', 'Thread', 'Table'
             )
         ),
     'SYMBOLS' => array(
-        '(', ')', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>', '=', ';'
+        '+', '-', '*', '/', '%', '^', '#',
+        '==', '~=', '<=', '>=', '<', '>', '=',
+        '(', ')', '{', '}', '[', ']',
+        ';', ':', ',', '.', '..', '...'
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
-        1 => true
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true
         ),
     'STYLES' => array(
         'KEYWORDS' => array(
-            1 => 'color: #b1b100;'
+            1 => 'color: #aa9900; font-weight: bold;',
+            2 => 'color: #aa9900; font-weight: bold;',
+            3 => 'color: #0000aa;',
+            4 => 'color: #aa9900;',
+            5 => 'color: #aa9900;'
             ),
         'COMMENTS' => array(
             1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #ff0000;',
             'MULTI' => 'color: #808080; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
-            0 => 'color: #000099; font-weight: bold;'
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #000099; font-weight: bold;'
             ),
         'BRACKETS' => array(
             0 => 'color: #66cc66;'
             ),
         'STRINGS' => array(
-            0 => 'color: #ff0000;'
+            0 => 'color: #ff6666;'
             ),
         'NUMBERS' => array(
             0 => 'color: #cc66cc;'
             ),
         'METHODS' => array(
-            0 => 'color: #b1b100;'
+            0 => 'color: #aa9900;'
             ),
         'SYMBOLS' => array(
             0 => 'color: #66cc66;'
@@ -120,7 +156,11 @@ $language_data = array (
             )
         ),
     'URLS' => array(
-        1 => ''
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => ''
         ),
     'OOLANG' => false,
     'OBJECT_SPLITTERS' => array(
@@ -134,4 +174,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/m68k.php b/application/libraries/geshi/m68k.php
index 9aae868af..081578158 100644
--- a/application/libraries/geshi/m68k.php
+++ b/application/libraries/geshi/m68k.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Benny Baumann (BenBE@omorphia.de)
  * Copyright: (c) 2007 Benny Baumann (http://www.omorphia.de/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/02/06
  *
  * Motorola 68000 Assembler language file for GeSHi.
diff --git a/application/libraries/geshi/magiksf.php b/application/libraries/geshi/magiksf.php
new file mode 100644
index 000000000..b6f431ea8
--- /dev/null
+++ b/application/libraries/geshi/magiksf.php
@@ -0,0 +1,193 @@
+ null,
+    'LANG_NAME' => 'MagikSF',
+    'COMMENT_SINGLE' => array(1 => '##', 2 => '#%', 3 => '#'),
+    'COMMENT_MULTI' => array("_pragma(" => ")"),
+    //Multiline-continued single-line comments
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            '_block', '_endblock', '_proc', '_endproc', '_loop', '_endloop',
+            '_method', '_endmethod',
+            '_protect', '_endprotect', '_protection', '_locking',
+            '_continue',
+            ),
+        2 => array(
+            '_self', '_thisthread', '_pragma', '_private', '_abstract',
+            '_local', '_global', '_dynamic', '_package', '_constant',
+            '_import', '_iter', '_lock', '_optional', '_recursive', '_super'
+            ),
+        3 => array(
+            '_if', '_endif', '_then', '_else', '_elif', '_orif', '_andif', '_for', '_over',
+            '_try', '_endtry', '_when', '_throw', '_catch', '_endcatch', '_handling',
+            '_finally', '_loopbody', '_return', '_leave', '_with'
+            ),
+        4 => array(
+            '_false', '_true', '_maybe', '_unset', '_no_way'
+            ),
+        5 => array(
+            '_mod', '_div', '_or', '_and', '_cf', '_is', '_isnt', '_not', '_gather', '_scatter',
+            '_allresults', '_clone', '_xor'
+            ),
+        6 => array(
+            'def_slotted_exemplar', 'write_string', 'write', 'condition',
+            'record_transaction', 'gis_program_manager', 'perform', 'define_shared_constant',
+            'property_list', 'rope', 'def_property', 'def_mixin'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']',
+        '+', '-', '*', '/', '**',
+        '=', '<', '>', '<<', '>>',
+        ',', '$',
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #ff3f3f;',
+            3 => 'color: #3f7f3f; font-weight: bold;',
+            4 => 'color: #cc66cc;',
+            5 => 'color: #ff3fff; font-weight: bold;',
+            6 => 'font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #339933; font-weight: bold;',
+            2 => 'color: #993333;',
+            3 => 'color: #339933;',
+            'MULTI' => 'color: #7f7f7f; font-style: italic',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #ff3f3f;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;',
+            2 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #ff3f3f;'
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #3f3fff;',
+            2 => 'color: #3f3fff;',
+            3 => 'color: #cc66cc;',
+            4 => 'color: #7f3f7f; font-style: italic;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        1 => array(
+            GESHI_SEARCH => '\b[a-zA-Z0-9_]+:', // package identifiers
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        2 => array(
+            GESHI_SEARCH => ':(?:[a-zA-Z0-9!?_]+|(?:[].*?[]))*', //symbols
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        3 => array(
+            GESHI_SEARCH => '%space|%tab|%newline|%.', //characters
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        4 => array(
+            GESHI_SEARCH => '@(?:[a-zA-Z0-9!?_]+|(?:[].*?[]))*', //symbols
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/make.php b/application/libraries/geshi/make.php
index 021265548..2d5d73425 100644
--- a/application/libraries/geshi/make.php
+++ b/application/libraries/geshi/make.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Neil Bird 
  * Copyright: (c) 2008 Neil Bird
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/08/26
  *
  * make language file for GeSHi.
diff --git a/application/libraries/geshi/mapbasic.php b/application/libraries/geshi/mapbasic.php
index 74be1f673..7d365263d 100644
--- a/application/libraries/geshi/mapbasic.php
+++ b/application/libraries/geshi/mapbasic.php
@@ -4,7 +4,7 @@
  * ------
  * Author: Tomasz Berus (t.berus@gisodkuchni.pl)
  * Copyright: (c) 2009 Tomasz Berus (http://sourceforge.net/projects/mbsyntax/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/11/25
  *
  * MapBasic language file for GeSHi.
diff --git a/application/libraries/geshi/matlab.php b/application/libraries/geshi/matlab.php
index f3ad34968..5c64a0d49 100644
--- a/application/libraries/geshi/matlab.php
+++ b/application/libraries/geshi/matlab.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: Florian Knorn (floz@gmx.de)
  * Copyright: (c) 2004 Florian Knorn (http://www.florian-knorn.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/02/09
  *
  * Matlab M-file language file for GeSHi.
@@ -215,7 +215,7 @@ $language_data = array (
         ),
     'REGEXPS' => array(
         //Complex numbers
-        0 => '(? '(?html)'
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
@@ -224,4 +224,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/mirc.php b/application/libraries/geshi/mirc.php
index a27c6c265..e9e0346e6 100644
--- a/application/libraries/geshi/mirc.php
+++ b/application/libraries/geshi/mirc.php
@@ -4,7 +4,7 @@
  * -----
  * Author: Alberto 'Birckin' de Areba (Birckin@hotmail.com)
  * Copyright: (c) 2006 Alberto de Areba
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/05/29
  *
  * mIRC Scripting language file for GeSHi.
diff --git a/application/libraries/geshi/mmix.php b/application/libraries/geshi/mmix.php
index efdb932f1..8e57ad7b9 100644
--- a/application/libraries/geshi/mmix.php
+++ b/application/libraries/geshi/mmix.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/10/16
  *
  * MMIX Assembler language file for GeSHi.
diff --git a/application/libraries/geshi/modula2.php b/application/libraries/geshi/modula2.php
new file mode 100644
index 000000000..131543baa
--- /dev/null
+++ b/application/libraries/geshi/modula2.php
@@ -0,0 +1,136 @@
+ 'Modula-2',
+    'COMMENT_MULTI' => array('(*' => '*)'),
+    'COMMENT_SINGLE' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("''"),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array( /* reserved words */
+            'AND', 'ARRAY', 'BEGIN', 'BY', 'CASE', 'CONST', 'DEFINITION',
+            'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'EXIT', 'EXPORT', 'FOR',
+            'FROM', 'IF', 'IMPLEMENTATION', 'IMPORT', 'IN', 'LOOP', 'MOD',
+            'MODULE', 'NOT', 'OF', 'OR', 'POINTER', 'PROCEDURE', 'QUALIFIED',
+            'RECORD', 'REPEAT', 'RETURN', 'SET', 'THEN', 'TO', 'TYPE',
+            'UNTIL', 'VAR', 'WHILE', 'WITH'
+            ),
+        2 => array( /* pervasive constants */
+            'NIL', 'FALSE', 'TRUE',
+            ),
+        3 => array( /* pervasive types */
+            'BITSET', 'CAP', 'CHR', 'DEC', 'DISPOSE', 'EXCL', 'FLOAT',
+            'HALT', 'HIGH', 'INC', 'INCL', 'MAX', 'MIN', 'NEW', 'ODD', 'ORD',
+            'SIZE', 'TRUNC', 'VAL'
+            ),
+        4 => array( /* pervasive functions and macros */
+            'ABS', 'BOOLEAN', 'CARDINAL', 'CHAR', 'INTEGER',
+            'LONGCARD', 'LONGINT', 'LONGREAL', 'PROC', 'REAL'
+            ),
+        ),
+    'SYMBOLS' => array(
+        ',', ':', '=', '+', '-', '*', '/', '#', '~'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;',
+            4 => 'color: #000066; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            'HARD' => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0066ee;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        1 => ''
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/modula3.php b/application/libraries/geshi/modula3.php
index caff92788..21b2e255d 100644
--- a/application/libraries/geshi/modula3.php
+++ b/application/libraries/geshi/modula3.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: mbishop (mbishop@esoteriq.org)
  * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/01/21
  *
  * Modula-3 language file for GeSHi.
diff --git a/application/libraries/geshi/mpasm.php b/application/libraries/geshi/mpasm.php
index d97f0b17f..70f12de48 100644
--- a/application/libraries/geshi/mpasm.php
+++ b/application/libraries/geshi/mpasm.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Bakalex (bakalex@gmail.com)
  * Copyright: (c) 2004 Bakalex, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/12/6
  *
  * Microchip Assembler language file for GeSHi.
diff --git a/application/libraries/geshi/mxml.php b/application/libraries/geshi/mxml.php
index a2073d3ab..72a071aae 100644
--- a/application/libraries/geshi/mxml.php
+++ b/application/libraries/geshi/mxml.php
@@ -4,7 +4,7 @@
  * -------
  * Author: David Spurr
  * Copyright: (c) 2007 David Spurr (http://www.defusion.org.uk/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/10/04
  *
  * MXML language file for GeSHi. Based on the XML file by Nigel McNie
diff --git a/application/libraries/geshi/mysql.php b/application/libraries/geshi/mysql.php
index 3bc6f9504..b85377d1c 100644
--- a/application/libraries/geshi/mysql.php
+++ b/application/libraries/geshi/mysql.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Marjolein Katsma (marjolein.is.back@gmail.com)
  * Copyright: (c) 2008 Marjolein Katsma (http://blog.marjoleinkatsma.com/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008-12-12
  *
  * MySQL language file for GeSHi.
diff --git a/application/libraries/geshi/newlisp.php b/application/libraries/geshi/newlisp.php
index ee2589a07..508f116b7 100644
--- a/application/libraries/geshi/newlisp.php
+++ b/application/libraries/geshi/newlisp.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: cormullion (cormullion@mac.com) Sept 2009
  * Copyright: (c) 2009 Cormullion (http://unbalanced-parentheses.nfshost.com/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/09/30
  *
  * newLISP language file for GeSHi.
diff --git a/application/libraries/geshi/nsis.php b/application/libraries/geshi/nsis.php
index d5f631101..ab05ed82b 100644
--- a/application/libraries/geshi/nsis.php
+++ b/application/libraries/geshi/nsis.php
@@ -4,7 +4,7 @@
  * --------
  * Author: deguix (cevo_deguix@yahoo.com.br), Tux (http://tux.a4.cz/)
  * Copyright: (c) 2005 deguix, 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/12/03
  *
  * Nullsoft Scriptable Install System language file for GeSHi.
diff --git a/application/libraries/geshi/oberon2.php b/application/libraries/geshi/oberon2.php
index 35152b55f..33b828df5 100644
--- a/application/libraries/geshi/oberon2.php
+++ b/application/libraries/geshi/oberon2.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: mbishop (mbishop@esoteriq.org)
  * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/02/10
  *
  * Oberon-2 language file for GeSHi.
diff --git a/application/libraries/geshi/objc.php b/application/libraries/geshi/objc.php
index 084be7124..3b2c593ef 100644
--- a/application/libraries/geshi/objc.php
+++ b/application/libraries/geshi/objc.php
@@ -5,7 +5,7 @@
  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
  * Contributors: Quinn Taylor (quinntaylor@mac.com)
  * Copyright: (c) 2008 Quinn Taylor, 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/04
  *
  * Objective-C language file for GeSHi.
diff --git a/application/libraries/geshi/objeck.php b/application/libraries/geshi/objeck.php
new file mode 100644
index 000000000..5ab3642e5
--- /dev/null
+++ b/application/libraries/geshi/objeck.php
@@ -0,0 +1,116 @@
+ 'Objeck Programming Language',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array('#~' => '~#'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'virtual', 'if', 'else', 'do', 'while', 'use', 'bundle', 'native',
+            'static', 'public', 'private', 'class', 'function', 'method',
+            'select', 'other', 'enum', 'for', 'each', 'label', 'return', 'from'
+            ),
+        2 => array(
+            'Byte', 'Int', 'Nil', 'Float', 'Char', 'Bool', 'String'
+            ),
+        3 => array(
+            'true', 'false'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '%', '=', '<', '>', '&', '|', ':', ';', ',', '+=', '-=', '*=', '/=',
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #b1b100;',
+            3 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '->'
+        ),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/ocaml-brief.php b/application/libraries/geshi/ocaml-brief.php
index d9e3124f0..d988409e8 100644
--- a/application/libraries/geshi/ocaml-brief.php
+++ b/application/libraries/geshi/ocaml-brief.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/08/27
  *
  * OCaml (Objective Caml) language file for GeSHi.
diff --git a/application/libraries/geshi/ocaml.php b/application/libraries/geshi/ocaml.php
index a14d2dec1..4e36f3c30 100644
--- a/application/libraries/geshi/ocaml.php
+++ b/application/libraries/geshi/ocaml.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/08/27
  *
  * OCaml (Objective Caml) language file for GeSHi.
@@ -43,6 +43,7 @@ $language_data = array (
     'LANG_NAME' => 'OCaml',
     'COMMENT_SINGLE' => array(),
     'COMMENT_MULTI' => array('(*' => '*)'),
+    'COMMENT_REGEXP' => array(1 => '/\(\*(?:(?R)|.)+?\*\)/s'),
     'CASE_KEYWORDS' => 0,
     'QUOTEMARKS' => array('"'),
     'ESCAPE_CHAR' => "",
@@ -58,13 +59,17 @@ $language_data = array (
             ),
         /* define names of main librarys, so we can link to it */
         2 => array(
-            'Arg', 'Arith_status', 'Array', 'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback',
-            'CamlinternalOO', 'Char', 'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event',
-            'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11', 'Hashtbl', 'Int32', 'Int64',
-            'Lazy', 'Lexing', 'List', 'ListLabels', 'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint',
-            'Num', 'Obj', 'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue', 'Random', 'Scanf',
-            'Set', 'Sort', 'Stack', 'StdLabels', 'Str', 'Stream', 'String', 'StringLabels', 'Sys', 'Thread',
-            'ThreadUnix', 'Tk'
+            'Arg', 'Arith_status', 'Array', //'Array1', 'Array2', 'Array3',
+            'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback',
+            'CamlinternalLazy', 'CamlinternalMod', 'CamlinternalOO', 'Char',
+            'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event',
+            'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11',
+            'Hashtbl', 'Int32', 'Int64', 'Lazy', 'Lexing', 'List', 'ListLabels',
+            'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint', 'Num', 'Obj',
+            'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue',
+            'Random', 'Scanf', 'Set', 'Sort', 'Stack', 'StdLabels', 'Str',
+            'Stream', 'String', 'StringLabels', 'Sys', 'Thread', 'ThreadUnix',
+            'Tk', 'Unix', 'UnixLabels', 'Weak'
             ),
         /* just link to the Pervasives functions library, cause it's the default opened library when starting OCaml */
         3 => array(
@@ -93,7 +98,9 @@ $language_data = array (
             ),
         /* here Pervasives Types */
         4 => array (
-            'fpclass', 'in_channel', 'out_channel', 'open_flag', 'Sys_error', 'format'
+            'array','bool','char','exn','file_descr','format','fpclass',
+            'in_channel','int','int32','int64','list','nativeint','open_flag',
+            'out_channel','string','Sys_error','unit'
             ),
         /* finally Pervasives Exceptions */
         5 => array (
@@ -102,8 +109,9 @@ $language_data = array (
         ),
     /* highlighting symbols is really important in OCaml */
     'SYMBOLS' => array(
+        '+.', '-.', '*.', '/.', '[<', '>]',
         ';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+',
-        '>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
+        '>', '<', '(', ')', '[', ']', '&', '|', '#', "'",
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -122,12 +130,13 @@ $language_data = array (
             5 => 'color: #06c; font-weight: bold;' /* nice blue */
             ),
         'COMMENTS' => array(
-            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
+            'MULTI' => 'color: #5d478b; font-style: italic;', /* light purple */
+            1 => 'color: #5d478b; font-style: italic;' /* light purple */
             ),
         'ESCAPE_CHAR' => array(
             ),
         'BRACKETS' => array(
-            0 => 'color: #6c6;'
+            0 => 'color: #a52a2a;'
             ),
         'STRINGS' => array(
             0 => 'color: #3cb371;' /* nice green */
@@ -139,6 +148,8 @@ $language_data = array (
             1 => 'color: #060;' /* dark green */
             ),
         'REGEXPS' => array(
+            1 => 'font-weight:bold; color:#339933;',
+            2 => 'font-weight:bold; color:#993399;'
             ),
         'SYMBOLS' => array(
             0 => 'color: #a52a2a;' /* maroon */
@@ -158,11 +169,13 @@ $language_data = array (
         /* link to Pervasives exceptions */
         5 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#EXCEPTION{FNAME}'
         ),
-    'OOLANG' => true,
+    'OOLANG' => false,
     'OBJECT_SPLITTERS' => array(
         1 => '.'
         ),
     'REGEXPS' => array(
+        1 => '~\w+',
+        2 => '`(?=(?-i:[a-z]))\w*',
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
@@ -171,4 +184,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/oobas.php b/application/libraries/geshi/oobas.php
index b3a5a0b6d..f4e15893a 100644
--- a/application/libraries/geshi/oobas.php
+++ b/application/libraries/geshi/oobas.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/08/30
  *
  * OpenOffice.org Basic language file for GeSHi.
diff --git a/application/libraries/geshi/oracle11.php b/application/libraries/geshi/oracle11.php
index 08c25b66d..bd3d30501 100644
--- a/application/libraries/geshi/oracle11.php
+++ b/application/libraries/geshi/oracle11.php
@@ -6,7 +6,7 @@
  * Contributions:
  * - Updated for 11i by Simon Redhead
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/04
  *
  * Oracle 11i language file for GeSHi.
diff --git a/application/libraries/geshi/oracle8.php b/application/libraries/geshi/oracle8.php
index 5ac18786d..bc80735c4 100644
--- a/application/libraries/geshi/oracle8.php
+++ b/application/libraries/geshi/oracle8.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: Guy Wicks (Guy.Wicks@rbs.co.uk)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/04
  *
  * Oracle 8 language file for GeSHi.
diff --git a/application/libraries/geshi/oxygene.php b/application/libraries/geshi/oxygene.php
new file mode 100644
index 000000000..cfab3d34f
--- /dev/null
+++ b/application/libraries/geshi/oxygene.php
@@ -0,0 +1,152 @@
+ 'Oxygene (Delphi Prism)',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
+    //Compiler directives
+    'COMMENT_REGEXP' => array(2 => '/{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'),
+    'CASE_KEYWORDS' => 0,
+    'QUOTEMARKS' => array("'"),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'and',   'begin', 'case', 'const',  'div', 'do', 'downto', 'else',
+            'end',  'for',  'function', 'if', 'in', 'mod', 'not', 'of', 'or',
+            'procedure', 'repeat', 'record', 'set', 'shl', 'shr', 'then', 'to',
+            'type', 'until', 'uses', 'var','while', 'with', 'xor', 'exit', 'break',
+            'class', 'constructor', 'inherited', 'private', 'public', 'protected',
+            'property', 'As', 'Is', 'Unit', 'Continue', 'Try', 'Except', 'Forward',
+            'Interface','Implementation', 'nil', 'out', 'loop', 'namespace', 'true',
+            'false', 'new', 'ensure', 'require', 'on', 'event', 'delegate', 'method',
+            'raise', 'assembly', 'module', 'using','locking', 'old', 'invariants', 'operator',
+            'self', 'async', 'finalizer', 'where', 'yield', 'nullable', 'Future',
+            'From',  'Finally', 'dynamic'
+            ),
+        2 => array(
+            'override', 'virtual', 'External', 'read', 'add', 'remove','final', 'abstract',
+            'empty', 'global', 'locked', 'sealed', 'reintroduce', 'implements', 'each',
+            'default', 'partial', 'finalize', 'enum', 'flags', 'result', 'readonly', 'unsafe',
+            'pinned', 'matching', 'static', 'has', 'step', 'iterator', 'inline', 'nested',
+            'Implies', 'Select', 'Order', 'By', 'Desc', 'Asc', 'Group', 'Join', 'Take',
+            'Skip', 'Concat', 'Union', 'Reverse', 'Distinct', 'Into', 'Equals', 'params',
+            'sequence', 'index', 'notify', 'Parallel', 'create', 'array', 'Queryable', 'Aspect',
+            'volatile'
+            ),
+        3 => array(
+            'chr', 'ord', 'inc', 'dec', 'assert', 'iff', 'assigned','futureAssigned', 'length', 'low', 'high', 'typeOf', 'sizeOf', 'disposeAndNil', 'Coalesce', 'unquote'
+            ),
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+//        4 => false,
+        ),
+    'SYMBOLS' => array(
+        0 => array('(', ')', '[', ']'),
+        1 => array('.', ',', ':', ';'),
+        2 => array('@', '^'),
+        3 => array('=', '+', '-', '*', '/')
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;',
+//            4 => 'color: #000066; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #008000; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #ff0000; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000066;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #000000;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #9ac;',
+            1 => 'color: #ff0000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000066;',
+            1 => 'color: #000066;',
+            2 => 'color: #000066;',
+            3 => 'color: #000066;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+//        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        //Hex numbers
+        0 => '\$[0-9a-fA-F]+',
+        //Characters
+        1 => '\#\$?[0-9]{1,3}'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 2
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/oz.php b/application/libraries/geshi/oz.php
new file mode 100644
index 000000000..f371a6457
--- /dev/null
+++ b/application/libraries/geshi/oz.php
@@ -0,0 +1,144 @@
+ 'OZ',
+    'COMMENT_SINGLE' => array(1 => '%'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"','\''),
+    'ESCAPE_CHAR' => '\\',
+    'NUMBERS' => array(),
+    'KEYWORDS' => array(
+        1 => array(
+            'declare','local','in','end','proc','fun','functor','require','prepare',
+            'import','export','define','at','case','then','else','of','elseof',
+            'elsecase','if','elseif','class','from','prop','attr','feat','meth',
+            'self','true','false','unit','div','mod','andthen','orelse','cond','or',
+            'dis','choice','not','thread','try','catch','finally','raise','lock',
+            'skip','fail','for','do'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true
+        ),
+    'SYMBOLS' => array(
+        '@', '!', '|', '<-', ':=', '<', '>', '=<', '>=', '<=', '#', '~', '.',
+        '*', '-', '+', '/', '<:', '>:', '=:', '=<:', '>=:', '\\=', '\\=:', ',',
+        '!!', '...', '==', '::', ':::'
+        ),
+    'STYLES' => array(
+        'REGEXPS' => array(
+            1 => 'color: #0000ff;',
+            2 => 'color: #00a030;',
+            3 => 'color: #bc8f8f;',
+            4 => 'color: #0000ff;',
+            5 => 'color: #a020f0;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #bc8f8f;'
+            ),
+        'KEYWORDS' => array(
+            1 => 'color: #a020f0;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #B22222;',
+            'MULTI' => 'color: #B22222;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #bc8f8f;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #a020f0;'
+            ),
+        'BRACKETS' => array(),
+        'NUMBERS' => array(),
+        'METHODS' => array(),
+        'SCRIPT' => array()
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'URLS' => array(
+        1 => ''
+        ),
+    'REGEXPS' => array(
+        // function and procedure definition
+        1 => array(
+            GESHI_SEARCH => "(proc|fun)([^{}\n\)]*)(\\{)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)",
+            GESHI_REPLACE => '\4',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\1\2\3',
+            GESHI_AFTER => ''
+            ),
+        // class definition
+        2 => array(
+            GESHI_SEARCH => "(class)([^A-Z\$]*)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)",
+            GESHI_REPLACE => '\3\4',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\1\2',
+            GESHI_AFTER => ''
+            ),
+        // single character
+        3 => array(
+            GESHI_SEARCH => "&.",
+            GESHI_REPLACE => '\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        // method definition
+        4 => array(
+            GESHI_SEARCH => "(meth)([^a-zA-Z]+)([a-zA-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9]*)",
+            GESHI_REPLACE => '\3',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\1\2',
+            GESHI_AFTER => ''
+            ),
+        // highlight "[]"
+        // ([] is actually a keyword, but that causes problems in validation; putting it into symbols doesn't work.)
+        5 => array(
+            GESHI_SEARCH => "\[\]",
+            GESHI_REPLACE => '\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/pascal.php b/application/libraries/geshi/pascal.php
index 948c00ce4..2252a11de 100644
--- a/application/libraries/geshi/pascal.php
+++ b/application/libraries/geshi/pascal.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Tux (tux@inamil.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/07/26
  *
  * Pascal language file for GeSHi.
diff --git a/application/libraries/geshi/pcre.php b/application/libraries/geshi/pcre.php
new file mode 100644
index 000000000..1944bfdb3
--- /dev/null
+++ b/application/libraries/geshi/pcre.php
@@ -0,0 +1,188 @@
+ 'PCRE',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(
+        ),
+    'COMMENT_REGEXP' => array(
+        // Non-matching groups
+        1 => "/(?<=\()\?(?::|(?=\())/",
+
+        // Modifier groups
+        2 => "/(?<=\()\?[cdegimopsuxUX\-]+(?::|(?=\)))/",
+
+        // Look-Aheads
+        3 => "/(?<=\()\?[!=]/",
+
+        // Look-Behinds
+        4 => "/(?<=\()\?<[!=]/",
+
+        // Forward Matching
+        5 => "/(?<=\()\?>/",
+
+        // Recursive Matching
+        6 => "/(?<=\()\?R(?=\))/",
+
+        // Named Subpattern
+        7 => "/(?<=\()\?(?:P?<\w+>|\d+(?=\))|P[=>]\w+(?=\)))/",
+
+        // Back Reference
+        8 => "/\\\\(?:[1-9]\d?|g\d+|g\{(?:-?\d+|\w+)\}|k<\w+>|k'\w+'|k\{\w+\})/",
+
+        // Byte sequence: Octal
+        9 => "/\\\\[0-7]{2,3}/",
+
+        // Byte sequence: Hex
+        10 => "/\\\\x[0-9a-fA-F]{2}/",
+
+        // Byte sequence: Hex
+        11 => "/\\\\u[0-9a-fA-F]{4}/",
+
+        // Byte sequence: Hex
+        12 => "/\\\\U[0-9a-fA-F]{8}/",
+
+        // Byte sequence: Unicode
+        13 => "/\\\\[pP]\{[^}\n]+\}/",
+
+        // One-Char Escapes
+        14 => "/\\\\[abdefnrstvwzABCDGSWXZ\\\\\\.\[\]\(\)\{\}\^\\\$\?\+\*]/",
+
+        // Byte sequence: Control-X sequence
+        15 => "/\\\\c./",
+
+        // Quantifier
+        16 => "/\{(?:\d+,?|\d*,\d+)\}/",
+
+        // Comment Subpattern
+        17 => "/(?<=\()\?#[^\)]*/",
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        0 => array('.'),
+        1 => array('(', ')'),
+        2 => array('[', ']', '|'),
+        3 => array('^', '$'),
+        4 => array('?', '+', '*'),
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #993333; font-weight: bold;',
+            2 => 'color: #cc3300; font-weight: bold;',
+            3 => 'color: #cc0066; font-weight: bold;',
+            4 => 'color: #cc0066; font-weight: bold;',
+            5 => 'color: #cc6600; font-weight: bold;',
+            6 => 'color: #cc00cc; font-weight: bold;',
+            7 => 'color: #cc9900; font-weight: bold; font-style: italic;',
+            8 => 'color: #cc9900; font-style: italic;',
+            9 => 'color: #669933; font-style: italic;',
+            10 => 'color: #339933; font-style: italic;',
+            11 => 'color: #339966; font-style: italic;',
+            12 => 'color: #339999; font-style: italic;',
+            13 => 'color: #663399; font-style: italic;',
+            14 => 'color: #999933; font-style: italic;',
+            15 => 'color: #993399; font-style: italic;',
+            16 => 'color: #333399; font-style: italic;',
+            17 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #333399; font-weight: bold;',
+            1 => 'color: #993333; font-weight: bold;',
+            2 => 'color: #339933; font-weight: bold;',
+            3 => 'color: #333399; font-weight: bold;',
+            4 => 'color: #333399; font-style: italic;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'BRACKETS' => GESHI_NEVER,
+            'NUMBERS' => GESHI_NEVER
+        )
+    )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/per.php b/application/libraries/geshi/per.php
index 06cf2e41b..9819c03f5 100644
--- a/application/libraries/geshi/per.php
+++ b/application/libraries/geshi/per.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Lars Gersmann (lars.gersmann@gmail.com)
  * Copyright: (c) 2007 Lars Gersmann
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/06/03
  *
  * Per (forms) (FOURJ's Genero 4GL) language file for GeSHi.
diff --git a/application/libraries/geshi/perl.php b/application/libraries/geshi/perl.php
index 57b8971e8..487fd0515 100644
--- a/application/libraries/geshi/perl.php
+++ b/application/libraries/geshi/perl.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/08/20
  *
  * Perl language file for GeSHi.
diff --git a/application/libraries/geshi/perl6.php b/application/libraries/geshi/perl6.php
index 1c04098c0..701e0b59c 100644
--- a/application/libraries/geshi/perl6.php
+++ b/application/libraries/geshi/perl6.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Kodi Arfer (kodiarfer {at} warpmail {period} net); forked from perl.php 1.0.8 by Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2009 Kodi Arfer, (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/11/07
  *
  * Perl 6 language file for GeSHi.
diff --git a/application/libraries/geshi/pf.php b/application/libraries/geshi/pf.php
new file mode 100644
index 000000000..a89e97ff0
--- /dev/null
+++ b/application/libraries/geshi/pf.php
@@ -0,0 +1,178 @@
+ 'OpenBSD Packet Filter',
+    'COMMENT_SINGLE' => array('#'),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        1 => "/\\$\\{[^\\n\\}]*?\\}/i",
+        2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+        3 => "/\\\\['\"]/siU"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("\'"),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        1 => "#\\\\[nfrtv\\$\\\"\n]#i",
+        2 => "#\\$[a-z_][a-z0-9_]*#i",
+        3 => "/\\$\\{[^\\n\\}]*?\\}/i",
+        4 => "/\\$\\([^\\n\\)]*?\\)/i",
+        5 => "/`[^`]*`/"
+        ),
+    'KEYWORDS' => array(
+        1 => array(
+            'pass'
+        ),
+        2 => array(
+            'block'
+            ),
+        3 => array(
+            'quick','keep','state','antispoof','table','persist','file','scrub',
+            'set','skip','flags','on'
+            ),
+        4 => array(
+            'in','out','proto'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`','='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #009900; font-weight: bold;',
+            2 => 'color: #990000; font-weight: bold;',
+            3 => 'color: #7a0874;',
+            4 => 'color: #336699;'
+            ),
+        'COMMENTS' => array(
+            0 => 'color: #666666; font-style: italic;',
+            1 => 'color: #800000;',
+            2 => 'color: #cc0000; font-style: italic;',
+            3 => 'color: #000000; font-weight: bold;'
+            ),
+        'ESCAPE_CHAR' => array(
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #007800;',
+            3 => 'color: #007800;',
+            4 => 'color: #007800;',
+            5 => 'color: #780078;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #7a0874; font-weight: bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #CC0000;',
+            'HARD' => 'color: #CC0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff00cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #007800;',
+            1 => 'color: #007800;',
+            2 => 'color: #007800;',
+            4 => 'color: #007800;',
+            5 => 'color: #660033;',
+            6 => 'color: #000099; font-weight: bold;',
+            7 => 'color: #0000ff;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Variables (will be handled by comment_regexps)
+        0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}",
+        //Variables without braces
+        1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*",
+        //Variable assignment
+        2 => "(? "\\$[*#\$\\-\\?!]",
+        //Parameters of commands
+        5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)",
+        //IPs
+        6 => "([0-9]{1,3}\.){3}[0-9]{1,3}",
+        //Tables
+        7 => "(<(.*)>)"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'COMMENTS' => array(
+            'DISALLOWED_BEFORE' => '$'
+        ),
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?  "(?![\.\-a-zA-Z0-9_%\\/])"
+        )
+    )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/php-brief.php b/application/libraries/geshi/php-brief.php
index ceaf423af..d47737883 100644
--- a/application/libraries/geshi/php-brief.php
+++ b/application/libraries/geshi/php-brief.php
@@ -4,7 +4,7 @@
  * -------------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/02
  *
  * PHP (brief version) language file for GeSHi.
diff --git a/application/libraries/geshi/php.php b/application/libraries/geshi/php.php
index 9b0bc822d..b36544213 100644
--- a/application/libraries/geshi/php.php
+++ b/application/libraries/geshi/php.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/20
  *
  * PHP language file for GeSHi.
diff --git a/application/libraries/geshi/pic16.php b/application/libraries/geshi/pic16.php
index 88d4a6745..94e098293 100644
--- a/application/libraries/geshi/pic16.php
+++ b/application/libraries/geshi/pic16.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Phil Mattison (mattison@ohmikron.com)
  * Copyright: (c) 2008 Ohmikron Corp. (http://www.ohmikron.com/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/07/30
  *
  * PIC16 Assembler language file for GeSHi.
diff --git a/application/libraries/geshi/pike.php b/application/libraries/geshi/pike.php
index e67975fe2..a3de9082e 100644
--- a/application/libraries/geshi/pike.php
+++ b/application/libraries/geshi/pike.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Rick E. (codeblock@eighthbit.net)
  * Copyright: (c) 2009 Rick E.
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/12/10
  *
  * Pike language file for GeSHi.
diff --git a/application/libraries/geshi/pixelbender.php b/application/libraries/geshi/pixelbender.php
index d19754f3e..b9fe1aff2 100644
--- a/application/libraries/geshi/pixelbender.php
+++ b/application/libraries/geshi/pixelbender.php
@@ -4,7 +4,7 @@
  * ----------------
  * Author: Richard Olsson (r@richardolsson.se)
  * Copyright: (c) 2008 Richard Olsson (richardolsson.se)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/11/16
  *
  * Pixel Bender 1.0 language file for GeSHi.
diff --git a/application/libraries/geshi/pli.php b/application/libraries/geshi/pli.php
new file mode 100644
index 000000000..1d6eefd9b
--- /dev/null
+++ b/application/libraries/geshi/pli.php
@@ -0,0 +1,200 @@
+ 'PL/I',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', '\''),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'abnormal', 'abs', 'acos', 'acosf', 'add', 'addbuff', 'addr',
+            'addrdata', 'alias', 'aligned', 'all', 'alloc', 'allocate',
+            'allocation', 'allocn', 'allocsize', 'any', 'anycondition', 'area',
+            'ascii', 'asin', 'asinf', 'asm', 'asmtdli', 'assembler',
+            'assignable', 'atan', 'atand', 'atanf', 'atanh', 'attach',
+            'attention', 'attn', 'auto', 'automatic', 'availablearea',
+            'backwards', 'based', 'begin', 'bigendian', 'bin', 'binary',
+            'binaryvalue', 'bind', 'binvalue', 'bit', 'bitloc', 'bitlocation',
+            'bkwd', 'blksize', 'bool', 'buf', 'buffered', 'buffers', 'bufnd',
+            'bufni', 'bufoff', 'bufsp', 'builtin', 'bx', 'by', 'byaddr', 'byte',
+            'byvalue', 'b4', 'call', 'cast', 'cds', 'ceil', 'center',
+            'centerleft', 'centerright', 'centre', 'centreleft', 'centreright',
+            'char', 'character', 'charg', 'chargraphic', 'charval', 'check',
+            'checkstg', 'close', 'cmpat', 'cobol', 'col', 'collate', 'column',
+            'comment', 'compare', 'compiledate', 'compiletime', 'completion',
+            'complex', 'cond', 'condition', 'conjg', 'conn', 'connected',
+            'consecutive', 'controlled', 'conv', 'conversion', 'copy', 'cos',
+            'cosd', 'cosf', 'cosh', 'count', 'counter', 'cpln', 'cplx', 'cs',
+            'cstg', 'ctl', 'ctlasa', 'ctl360', 'currentsize', 'currentstorage',
+            'data', 'datafield', 'date', 'datetime', 'days', 'daystodate',
+            'daystosecs', 'db', 'dcl', 'dec', 'decimal', 'declare', 'def',
+            'default', 'define', 'defined', 'delay', 'delete', 'descriptor',
+            'descriptors', 'detach', 'dft', 'dim', 'dimacross', 'dimension',
+            'direct', 'display', 'divide', 'do', 'downthru', 'edit', 'else',
+            'empty', 'end', 'endfile', 'endpage', 'entry', 'entryaddr', 'env',
+            'environment', 'epsilon', 'erf', 'erfc', 'error', 'event', 'excl',
+            'exclusive', 'exit', 'exp', 'expf', 'exponent', 'exports', 'ext',
+            'external', 'fb', 'fbs', 'fetch', 'file', 'fileddint', 'fileddtest',
+            'fileddword', 'fileid', 'fileopen', 'fileread', 'fileseek',
+            'filetell', 'filewrite', 'finish', 'first', 'fixed', 'fixedbin',
+            'fixeddec', 'fixedoverflow', 'float', 'floatbin', 'floatdec',
+            'floor', 'flush', 'fofl', 'format', 'fortran', 'free', 'from',
+            'fromalien', 'fs', 'gamma', 'generic', 'genkey', 'get', 'getenv',
+            'go', 'goto', 'graphic', 'gx', 'handle', 'hbound', 'hex', 'hexadec',
+            'heximage', 'high', 'huge', 'iand', 'ieee', 'ieor', 'if', 'ignore',
+            'imag', 'in', 'index', 'indexarea', 'indexed', 'init', 'initial',
+            'inline', 'inonly', 'inot', 'inout', 'input', 'int', 'inter',
+            'internal', 'into', 'invalidop', 'ior', 'irred', 'irreducible',
+            'isfinite', 'isigned', 'isinf', 'isll', 'ismain', 'isnan',
+            'isnormal', 'isrl', 'iszero', 'iunsigned', 'key', 'keyed',
+            'keyfrom', 'keylength', 'keyloc', 'keyto', 'label', 'last',
+            'lbound', 'leave', 'left', 'length', 'like', 'limited', 'line',
+            'lineno', 'linesize', 'linkage', 'list', 'littleendian', 'loc',
+            'locate', 'location', 'log', 'logf', 'loggamma', 'log10', 'log10f',
+            'log2', 'low', 'lowercase', 'lower2', 'maccol', 'maclmar',
+            'macname', 'macrmar', 'main', 'max', 'maxexp', 'maxlength',
+            'memconvert', 'memcu12', 'memcu14', 'memcu21', 'memcu24', 'memcu41',
+            'memcu42', 'memindex', 'memsearch', 'memsearchr', 'memverify',
+            'memverifyr', 'min', 'minexp', 'mod', 'mpstr', 'multiply', 'name',
+            'native', 'ncp', 'new', 'nocharg', 'nochargraphic', 'nocheck',
+            'nocmpat', 'noconv', 'noconversion', 'nodescriptor', 'noexecops',
+            'nofixedoverflow', 'nofofl', 'noinline', 'nolock', 'nomap',
+            'nomapin', 'nomapout', 'nonasgn', 'nonassignable', 'nonconnected',
+            'nonnative', 'noofl', 'nooverflow', 'norescan', 'normal', 'nosize',
+            'nostrg', 'nostringrange', 'nostringsize', 'nostrz', 'nosubrg',
+            'nosubscriptrange', 'noufl', 'nounderflow', 'nowrite', 'nozdiv',
+            'nozerodivide', 'null', 'offset', 'offsetadd', 'offsetdiff',
+            'offsetsubtract', 'offsetvalue', 'ofl', 'omitted', 'on', 'onarea',
+            'onchar', 'oncode', 'oncondcond', 'oncondid', 'oncount', 'onfile',
+            'ongsource', 'onkey', 'online', 'onloc', 'onoffset', 'onsource',
+            'onsubcode', 'onwchar', 'onwsource', 'open', 'optional', 'options',
+            'order', 'ordinal', 'ordinalname', 'ordinalpred', 'ordinalsucc',
+            'other', 'otherwise', 'outonly', 'output', 'overflow', 'package',
+            'packagename', 'page', 'pageno', 'pagesize', 'parameter', 'parmset',
+            'password', 'pending', 'pic', 'picspec', 'picture', 'places',
+            'pliascii', 'plicanc', 'plickpt', 'plidelete', 'plidump',
+            'pliebcdic', 'plifill', 'plifree', 'plimove', 'pliover', 'plirest',
+            'pliretc', 'pliretv', 'plisaxa', 'plisaxb', 'plisaxc', 'plisaxd',
+            'plisrta', 'plisrtb', 'plisrtc', 'plisrtd', 'plitdli', 'plitran11',
+            'plitran12', 'plitran21', 'plitran22', 'pointer', 'pointeradd',
+            'pointerdiff', 'pointersubtract', 'pointervalue', 'poly', 'pos',
+            'position', 'prec', 'precision', 'pred', 'present', 'print',
+            'priority', 'proc', 'procedure', 'procedurename', 'procname',
+            'prod', 'ptr', 'ptradd', 'ptrdiff', 'ptrsubtract', 'ptrvalue',
+            'put', 'putenv', 'quote', 'radix', 'raise2', 'random', 'range',
+            'rank', 'read', 'real', 'record', 'recsize', 'recursive', 'red',
+            'reducible', 'reentrant', 'refer', 'regional', 'reg12', 'release',
+            'rem', 'reorder', 'repattern', 'repeat', 'replaceby2', 'reply',
+            'reread', 'rescan', 'reserved', 'reserves', 'resignal', 'respec',
+            'retcode', 'return', 'returns', 'reuse', 'reverse', 'revert',
+            'rewrite', 'right', 'round', 'rounddec', 'samekey', 'scalarvarying',
+            'scale', 'search', 'searchr', 'secs', 'secstodate', 'secstodays',
+            'select', 'seql', 'sequential', 'serialize4', 'set', 'sign',
+            'signal', 'signed', 'sin', 'sind', 'sinf', 'sinh', 'sis', 'size',
+            'skip', 'snap', 'sourcefile', 'sourceline', 'sqrt', 'sqrtf',
+            'stackaddr', 'statement', 'static', 'status', 'stg', 'stmt', 'stop',
+            'storage', 'stream', 'strg', 'string', 'stringrange', 'stringsize',
+            'structure', 'strz', 'subrg', 'subscriptrange', 'substr',
+            'subtract', 'succ', 'sum', 'suppress', 'sysin', 'sysnull',
+            'sysparm', 'sysprint', 'system', 'sysversion', 'tally', 'tan',
+            'tand', 'tanf', 'tanh', 'task', 'then', 'thread', 'threadid',
+            'time', 'tiny', 'title', 'to', 'total', 'tpk', 'tpm', 'transient',
+            'translate', 'transmit', 'trim', 'trkofl', 'trunc', 'type', 'ufl',
+            'ulength', 'ulength16', 'ulength8', 'unal', 'unaligned',
+            'unallocated', 'unbuf', 'unbuffered', 'undefinedfile', 'underflow',
+            'undf', 'unlock', 'unsigned', 'unspec', 'until', 'update', 'upos',
+            'uppercase', 'upthru', 'usubstr', 'usurrogate', 'uvalid', 'uwidth',
+            'valid', 'validdate', 'value', 'var', 'varglist', 'vargsize',
+            'variable', 'varying', 'varyingz', 'vb', 'vbs', 'verify', 'verifyr',
+            'vs', 'vsam', 'wait', 'wchar', 'wcharval', 'weekday', 'when',
+            'whigh', 'while', 'widechar', 'wlow', 'write', 'xmlchar', 'y4date',
+            'y4julian', 'y4year', 'zdiv', 'zerodivide'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '+', '-', '*', '/', '=', '<', '>', '&', '^', '|', ':', '(', ')', ';', ','
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(1 => ''),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(1 => '.'),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/plsql.php b/application/libraries/geshi/plsql.php
index 0779ca04f..8428ff4b6 100644
--- a/application/libraries/geshi/plsql.php
+++ b/application/libraries/geshi/plsql.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Victor Engmark 
  * Copyright: (c) 2006 Victor Engmark (http://l0b0.net/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/10/26
  *
  * Oracle 9.2 PL/SQL language file for GeSHi.
diff --git a/application/libraries/geshi/postgresql.php b/application/libraries/geshi/postgresql.php
new file mode 100644
index 000000000..0245b33ad
--- /dev/null
+++ b/application/libraries/geshi/postgresql.php
@@ -0,0 +1,288 @@
+ 2010-05-03
+ * Copyright: (c) 2007 Christophe Chauvet (http://kryskool.org/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.10
+ * Date Started: 2007/07/20
+ *
+ * PostgreSQL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/07/20 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2007/07/20)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'PostgreSQL',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"', '`'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        //Put PostgreSQL reserved keywords here.  I like mine uppercase.
+        1 => array(
+            'ABORT','ABSOLUTE','ACCESS','ACTION','ADD','ADMIN','AFTER',
+            'AGGREGATE','ALL','ALSO','ALTER','ALWAYS','ANALYSE','ANALYZE','AND',
+            'ANY','AS','ASC,','ASSERTION','ASSIGNMENT','ASYMMETRIC','AT',
+            'AUTHORIZATION','BACKWARD','BEFORE','BEGIN','BETWEEN','BOTH','BY',
+            'CACHE','CALLED','CASCADE','CASCADED','CASE','CAST','CATALOG',
+            'CHAIN','CHARACTERISTICS','CHECK','CHECKPOINT','CLASS','CLOSE',
+            'CLUSTER','COALESCE','COLLATE','COLUMN','COMMENT','COMMIT',
+            'COMMITTED','CONCURRENTLY','CONFIGURATION','CONNECTION',
+            'CONSTRAINT','CONSTRAINTS','CONTENT','CONTINUE','CONVERSION','COPY',
+            'COST','CREATE','CREATEDB','CREATEROLE','CREATEUSER','CROSS','CSV',
+            'CURRENT','CURRENT_CATALOG','CURRENT_DATE','CURRENT_ROLE',
+            'CURRENT_SCHEMA','CURRENT_TIME','CURRENT_TIMESTAMP','CURRENT_USER',
+            'CURSOR','CYCLE','DATA','DATABASE','DAY','DEALLOCATE','DEC',
+            'DECLARE','DEFAULT','DEFAULTS','DEFERRABLE','DEFERRED','DEFINER',
+            'DELETE','DELIMITER','DELIMITERS','DESC','DICTIONARY','DISABLE',
+            'DISCARD','DISTINCT','DO','DOCUMENT','DOMAIN','DOUBLE','DROP',
+            'EACH','ELSE','ENABLE','ENCODING','ENCRYPTED','END','ESCAPE',
+            'EXCEPT','EXCLUDING','EXCLUSIVE','EXECUTE','EXISTS','EXPLAIN',
+            'EXTERNAL','EXTRACT','FALSE','FAMILY','FETCH','FIRST','FOLLOWING',
+            'FOR','FORCE','FOREIGN','FORWARD','FREEZE','FROM','FULL','FUNCTION',
+            'GLOBAL','GRANT','GRANTED','GREATEST','GROUP','HANDLER','HAVING',
+            'HEADER','HOLD','HOUR','IDENTITY','IF','ILIKE','IMMEDIATE',
+            'IMMUTABLE','IMPLICIT','IN','INCLUDING','INCREMENT','INDEX',
+            'INDEXES','INHERIT','INHERITS','INITIALLY','INNER','INOUT','INPUT',
+            'INSENSITIVE','INSERT','INSTEAD','INTERSECT','INTO','INVOKER','IS',
+            'ISNULL','ISOLATION','JOIN','KEY','LANCOMPILER','LANGUAGE','LARGE',
+            'LAST','LC_COLLATE','LC_CTYPE','LEADING','LEAST','LEFT','LEVEL',
+            'LIKE','LIMIT','LISTEN','LOAD','LOCAL','LOCALTIME','LOCALTIMESTAMP',
+            'LOCATION','LOCK','LOGIN','LOOP','MAPPING','MATCH','MAXVALUE',
+            'MINUTE','MINVALUE','MODE','MONTH','MOVE','NAME','NAMES','NATIONAL',
+            'NATURAL','NEW','NEXT','NO','NOCREATEDB','NOCREATEROLE',
+            'NOCREATEUSER','NOINHERIT','NOLOGIN','NONE','NOSUPERUSER','NOT',
+            'NOTHING','NOTIFY','NOTNULL','NOWAIT','NULL','NULLIF','NULLS',
+            'NUMERIC','OBJECT','OF','OFF','OFFSET','OIDS','OLD','ON','ONLY',
+            'OPERATOR','OPTION','OPTIONS','OR','ORDER','OUT','OUTER','OVER',
+            'OVERLAPS','OVERLAY','OWNED','OWNER','PARSER','PARTIAL','PARTITION',
+            'PASSWORD','PLACING','PLANS','POSITION','PRECEDING','PRECISION',
+            'PREPARE','PREPARED','PRESERVE','PRIMARY','PRIOR','PRIVILEGES',
+            'PROCEDURAL','PROCEDURE','QUOTE','RANGE','READ','REASSIGN',
+            'RECHECK','RECURSIVE','REFERENCES','REINDEX','RELATIVE','RELEASE',
+            'RENAME','REPEATABLE','REPLACE','REPLICA','RESET','RESTART',
+            'RESTRICT','RETURN','RETURNING','RETURNS','REVOKE','RIGHT','ROLE',
+            'ROLLBACK','ROW','ROWS','RULE','SAVEPOINT','SCHEMA','SCROLL',
+            'SEARCH','SECOND',
+            'SECURITY','SELECT','SEQUENCE','SERIALIZABLE','SERVER','SESSION',
+            'SESSION_USER','SET','SETOF','SHARE','SHOW','SIMILAR','SIMPLE',
+            'SOME','STABLE','STANDALONE','START','STATEMENT','STATISTICS',
+            'STDIN','STDOUT','STORAGE','STRICT','STRIP','SUPERUSER',
+            'SYMMETRIC','SYSID','SYSTEM','TABLE','TABLESPACE','TEMP','TEMPLATE',
+            'TEMPORARY','THEN','TO','TRAILING','TRANSACTION','TREAT','TRIGGER',
+            'TRUE','TRUNCATE','TRUSTED','TYPE','UNBOUNDED','UNCOMMITTED',
+            'UNENCRYPTED','UNION','UNIQUE','UNKNOWN','UNLISTEN','UNTIL',
+            'UPDATE','USER','USING','VACUUM','VALID','VALIDATOR','VALUE',
+            'VALUES','VARIADIC','VERBOSE','VERSION','VIEW','VOLATILE','WHEN',
+            'WHERE','WHILE','WHITESPACE','WINDOW','WITH','WITHOUT','WORK','WRAPPER',
+            'WRITE','XMLATTRIBUTES','XMLCONCAT','XMLELEMENT','XMLFOREST',
+            'XMLPARSE','XMLPI','XMLROOT','XMLSERIALIZE','YEAR','YES','ZONE'
+            ),
+
+        //Put functions here
+        3 => array(
+            // mathematical functions
+            'ABS','CBRT','CEIL','CEILING','DEGREES','DIV','EXP','FLOOR','LN',
+            'LOG','MOD','PI','POWER','RADIANS','RANDOM','ROUND','SETSEED',
+            'SIGN','SQRT','TRUNC','WIDTH_BUCKET',
+            // trigonometric functions
+            'ACOS','ASIN','ATAN','ATAN2','COS','COT','SIN','TAN',
+            // string functions
+            'BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH','LOWER',
+            'OCTET_LENGTH','POSITION','SUBSTRING','TRIM','UPPER',
+            // other string functions
+            'ASCII','BTRIM','CHR','CONVERT','CONVERT_FROM','CONVERT_TO',
+            'DECODE','ENCODE','INITCAP','LENGTH','LPAD','LTRIM','MD5',
+            'PG_CLIENT_ENCODING','QUOTE_IDENT','QUOTE_LITERAL','QUOTE_NULLABLE',
+            'REGEXP_MATCHES','REGEXP_REPLACE','REGEXP_SPLIT_TO_ARRAY',
+            'REGEXP_SPLIT_TO_TABLE','REPEAT','RPAD','RTRIM','SPLIT_PART',
+            'STRPOS','SUBSTR','TO_ASCII','TO_HEX','TRANSLATE',
+            // binary string functions
+            'GET_BIT','GET_BYTE','SET_BIT','SET_BYTE',
+            // data type formatting functions
+            'TO_CHAR','TO_DATE','TO_NUMBER','TO_TIMESTAMP',
+            // date/time functions
+            'AGE','CLOCK_TIMESTAMP','DATE_PART','DATE_TRUNC','EXTRACT',
+            'ISFINITE','JUSTIFY_DAYS','JUSTIFY_HOURS','JUSTIFY_INTERVAL','NOW',
+            'STATEMENT_TIMESTAMP','TIMEOFDAY','TRANSACTION_TIMESTAMP',
+            // enum support functions
+            'ENUM_FIRST','ENUM_LAST','ENUM_RANGE',
+            // geometric functions
+            'AREA','CENTER','DIAMETER','HEIGHT','ISCLOSED','ISOPEN','NPOINTS',
+            'PCLOSE','POPEN','RADIUS','WIDTH',
+            'BOX','CIRCLE','LSEG','PATH','POINT','POLYGON',
+            // cidr and inet functions
+            'ABBREV','BROADCAST','FAMILY','HOST','HOSTMASK','MASKLEN','NETMASK',
+            'NETWORK','SET_MASKLEN',
+            // text search functions
+            'TO_TSVECTOR','SETWEIGHT','STRIP','TO_TSQUERY','PLAINTO_TSQUERY',
+            'NUMNODE','QUERYTREE','TS_RANK','TS_RANK_CD','TS_HEADLINE',
+            'TS_REWRITE','GET_CURRENT_TS_CONFIG','TSVECTOR_UPDATE_TRIGGER',
+            'TSVECTOR_UPDATE_TRIGGER_COLUMN',
+            'TS_DEBUG','TS_LEXISE','TS_PARSE','TS_TOKEN_TYPE','TS_STAT',
+            // XML functions
+            'XMLCOMMENT','XMLCONCAT','XMLELEMENT','XMLFOREST','XMLPI','XMLROOT',
+            'XMLAGG','XPATH','TABLE_TO_XMLSCHEMA','QUERY_TO_XMLSCHEMA',
+            'CURSOR_TO_XMLSCHEMA','TABLE_TO_XML_AND_XMLSCHEMA',
+            'QUERY_TO_XML_AND_XMLSCHEMA','SCHEMA_TO_XML','SCHEMA_TO_XMLSCHEMA',
+            'SCHEMA_TO_XML_AND_XMLSCHEMA','DATABASE_TO_XML',
+            'DATABASE_TO_XMLSCHEMA','DATABASE_TO_XML_AND_XMLSCHEMA',
+            // sequence manipulating functions
+            'CURRVAL','LASTVAL','NEXTVAL','SETVAL',
+            // conditional expressions
+            'COALESCE','NULLIF','GREATEST','LEAST',
+            // array functions
+            'ARRAY_APPEND','ARRAY_CAT','ARRAY_NDIMS','ARRAY_DIMS','ARRAY_FILL',
+            'ARRAY_LENGTH','ARRAY_LOWER','ARRAY_PREPEND','ARRAY_TO_STRING',
+            'ARRAY_UPPER','STRING_TO_ARRAY','UNNEST',
+            // aggregate functions
+            'ARRAY_AGG','AVG','BIT_AND','BIT_OR','BOOL_AND','BOOL_OR','COUNT',
+            'EVERY','MAX','MIN','STRING_AGG','SUM',
+            // statistic aggregate functions
+            'CORR','COVAR_POP','COVAR_SAMP','REGR_AVGX','REGR_AVGY',
+            'REGR_COUNT','REGR_INTERCEPT','REGR_R2','REGR_SLOPE','REGR_SXX',
+            'REGR_SXY','REGR_SYY','STDDEV','STDDEV_POP','STDDEV_SAMP',
+            'VARIANCE','VAR_POP','VAR_SAMP',
+            // window functions
+            'ROW_NUMBER','RANK','DENSE_RANK','PERCENT_RANK','CUME_DIST','NTILE',
+            'LAG','LEAD','FIRST_VALUE','LAST_VALUE','NTH_VALUE',
+            // set returning functions
+            'GENERATE_SERIES','GENERATE_SUBSCRIPTS'
+            // system information functions not currently included
+            ),
+
+        //Put your postgresql var
+        4 => array(
+            'client_encoding',
+            'standard_conforming_strings'
+            ),
+
+        //Put your data types here
+        5 => array(
+            'ARRAY','ABSTIME','BIGINT','BIGSERIAL','BINARY','BIT','BIT VARYING',
+            'BOOLEAN','BOX','BYTEA','CHAR','CHARACTER','CHARACTER VARYING',
+            'CIDR','CIRCLE','DATE','DECIMAL','DOUBLE PRECISION','ENUM','FLOAT',
+            'INET','INT','INTEGER','INTERVAL','NCHAR','REAL','SMALLINT','TEXT',
+            'TIME','TIMESTAMP','VARCHAR','XML',
+            ),
+
+        //        //Put your package names here
+        //        6 => array(
+        //            ),
+
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '=', '<', '>', '|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        3 => false,
+        4 => false,
+        5 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            // regular keywords
+            1 => 'color: #000000; font-weight: bold; text-transform: uppercase;',
+            // inbuilt functions
+            3 => 'color: #333399; font-weight: bold; text-transform: uppercase;',
+            // postgresql var(?)
+            4 => 'color: #993333; font-weight: bold; text-transform: uppercase;',
+            // data types
+            5 => 'color: #993333; font-weight: bold; text-transform: uppercase;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #ff0000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        3 => '',
+        4 => 'http://paste.postgresql.fr/wiki/desc.php?def={FNAME}',
+        5 => '',
+        ),
+
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            1 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+
+            3 => array(
+                'DISALLOWED_AFTER' => '(?=\()'
+                ),
+
+            4 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+
+            5 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+            )
+        )
+
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/povray.php b/application/libraries/geshi/povray.php
index 80bf5a478..eeda49f49 100644
--- a/application/libraries/geshi/povray.php
+++ b/application/libraries/geshi/povray.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Carl Fürstenberg (azatoth@gmail.com)
  * Copyright: © 2007 Carl Fürstenberg
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/07/11
  *
  * Povray language file for GeSHi.
diff --git a/application/libraries/geshi/powerbuilder.php b/application/libraries/geshi/powerbuilder.php
index e276d85ee..f978f3f5b 100644
--- a/application/libraries/geshi/powerbuilder.php
+++ b/application/libraries/geshi/powerbuilder.php
@@ -4,7 +4,7 @@
  * ------
  * Author: Doug Porter (powerbuilder.geshi@gmail.com)
  * Copyright: (c) 2009 Doug Porter
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/07/13
  *
  * PowerBuilder (PowerScript) language file for GeSHi.
diff --git a/application/libraries/geshi/powershell.php b/application/libraries/geshi/powershell.php
index fe8a5da07..1d9003030 100644
--- a/application/libraries/geshi/powershell.php
+++ b/application/libraries/geshi/powershell.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Frode Aarebrot (frode@aarebrot.net)
  * Copyright: (c) 2008 Frode Aarebrot (http://www.aarebrot.net)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/06/20
  *
  * PowerShell language file for GeSHi.
@@ -49,7 +49,7 @@
 $language_data = array (
     'LANG_NAME' => 'PowerShell',
     'COMMENT_SINGLE' => array(1 => '#'),
-    'COMMENT_MULTI' => array(),
+    'COMMENT_MULTI' => array('<#' => '#>'),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
     'ESCAPE_CHAR' => '`',
diff --git a/application/libraries/geshi/proftpd.php b/application/libraries/geshi/proftpd.php
new file mode 100644
index 000000000..dd57d9b0a
--- /dev/null
+++ b/application/libraries/geshi/proftpd.php
@@ -0,0 +1,374 @@
+ 'ProFTPd configuration',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        /*keywords*/
+        1 => array(
+            //mod_auth
+            'AccessDenyMsg', 'AccessGrantMsg', 'AnonRejectePasswords',
+            'AnonRequirePassword', 'AuthAliasOnly', 'AuthUsingAlias',
+            'CreateHome', 'DefaultChdir', 'DefaultRoot', 'GroupPassword',
+            'LoginPasswordPrompt', 'MaxClients', 'MaxClientsPerClass',
+            'MaxClientsPerHost', 'MaxClientsPerUser', 'MaxConnectionsPerHost',
+            'MaxHostsPerUser', 'MaxLoginAttempts', 'RequireValidShell',
+            'RootLogin', 'RootRevoke', 'TimeoutLogin', 'TimeoutSession',
+            'UseFtpUsers', 'UserAlias', 'UserDirRoot', 'UserPassword',
+
+            //mod_auth_file
+            'AuthGroupFile', 'AuthUserFile',
+
+            //mod_auth_pam
+            'AuthPAM', 'AuthPAMConfig',
+
+            //mod_auth_unix
+            'PersistentPasswd',
+
+            //mod_ban
+            'BanControlsACLs', 'BanEngine', 'BanLog', 'BanMessage', 'BanOnEvent',
+            'BanTable',
+
+            //mod_cap
+            'CapabilitiesEngine', 'CapabilitiesSet',
+
+            //mod_core
+            'Allow', 'AllowAll', 'AllowClass', 'AllowFilter',
+            'AllowForeignAddress', 'AllowGroup', 'AllowOverride',
+            'AllowRetrieveRestart', 'AllowStoreRestart', 'AllowUser',
+            'AnonymousGroup', 'AuthOrder', 'Bind', 'CDPath', 'Class', 'Classes',
+            'CommandBufferSize', 'DebugLevel', 'DefaultAddress',
+            'DefaultServer', 'DefaultTransferMode', 'DeferWelcome', 'Define',
+            'Deny', 'DenyAll', 'DenyClass', 'DenyFilter', 'DenyGroup',
+            'DenyUser', 'DisplayChdir', 'DisplayConnect', 'DisplayFirstChdir',
+            'DisplayGoAway', 'DisplayLogin', 'DisplayQuit', 'From', 'Group',
+            'GroupOwner', 'HideFiles', 'HideGroup', 'HideNoAccess', 'HideUser',
+            'IdentLookups', 'IgnoreHidden', 'Include', 'MasqueradeAddress',
+            'MaxConnectionRate', 'MaxInstances', 'MultilineRFC2228', 'Order',
+            'PassivePorts', 'PathAllowFilter', 'PathDenyFilter', 'PidFile',
+            'Port', 'RLimitCPU', 'RLimitMemory', 'RLimitOpenFiles', 'Satisfy',
+            'ScoreboardFile', 'ServerAdmin', 'ServerIdent', 'ServerName',
+            'ServerType', 'SetEnv', 'SocketBindTight', 'SocketOptions',
+            'SyslogFacility', 'SyslogLevel', 'tcpBackLog', 'tcpNoDelay',
+            'TimeoutIdle', 'TimeoutLinger', 'TimesGMT', 'TransferLog', 'Umask',
+            'UnsetEnv', 'UseIPv6', 'User', 'UseReverseDNS', 'UserOwner',
+            'UseUTF8', 'WtmpLog',
+
+            //mod_ctrls_admin
+            'AdminControlsACLs', 'AdminControlsEngine',
+
+            //mod_delay
+            'DelayEngine', 'DelayTable',
+
+            //mod_dynmasq
+            'DynMasqRefresh',
+
+            //mod_exec
+            'ExecBeforeCommand', 'ExecEngine', 'ExecEnviron', 'ExecLog',
+            'ExecOnCommand', 'ExecOnConnect', 'ExecOnError', 'ExecOnEvent',
+            'ExecOnExit', 'ExecOnRestart', 'ExecOptions', 'ExecTimeout',
+
+            //mod_ldap
+            'LDAPAliasDereference', 'LDAPAttr', 'LDAPAuthBinds',
+            'LDAPDefaultAuthScheme', 'LDAPDefaultGID', 'LDAPDefaultUID',
+            'LDAPDNInfo', 'LDAPDoAuth', 'LDAPDoGIDLookups',
+            'LDAPDoQuotaLookups', 'LDAPDoUIDLookups',
+            'LDAPForceGeneratedHomedir', 'LDAPForceHomedirOnDemand',
+            'LDAPGenerateHomedir', 'LDAPGenerateHomedirPrefix',
+            'LDAPGenerateHomedirPrefixNoUsername', 'LDAPHomedirOnDemand',
+            'LDAPHomedirOnDemandPrefix', 'LDAPHomedirOnDemandPrefixNoUsername',
+            'LDAPHomedirOnDemandSuffix', 'LDAPNegativeCache',
+            'LDAPProtocolVersion', 'LDAPQueryTimeout', 'LDAPSearchScope',
+            'LDAPServer',
+
+            //mod_load
+            'MaxLoad',
+
+            //mod_log
+            'AllowLogSymlinks', 'ExtendedLog', 'LogFormat', 'ServerLog',
+            'SystemLog',
+
+            //mod_ls'
+            'DirFakeGroup', 'DirFakeMode', 'DirFakeUser', 'ListOptions',
+            'ShowSymlinks', 'UseGlobbing',
+
+            //mod_quotatab
+            'QuotaDirectoryTally', 'QuotaDisplayUnits', 'QuotaEngine',
+            'QuotaExcludeFilter', 'QuotaLimitTable', 'QuotaLock', 'QuotaLog',
+            'QuotaOptions', 'QuotaShowQuotas', 'QuotaTallyTable',
+
+            //mod_quotatab_file
+
+            //mod_quotatab_ldap
+
+            //mod_quotatab_sql
+
+            //mod_radius
+            'RadiusAcctServer', 'RadiusAuthServer', 'RadiusEngine',
+            'RadiusGroupInfo', 'RadiusLog', 'RadiusNASIdentifier',
+            'RadiusQuotaInfo', 'RadiusRealm', 'RadiusUserInfo', 'RadiusVendor',
+
+            //mod_ratio
+            'AnonRatio', 'ByteRatioErrMsg', 'CwdRatioMsg', 'FileRatioErrMsg',
+            'GroupRatio', 'HostRatio', 'LeechRatioMsg', 'RatioFile', 'Ratios',
+            'RatioTempFile', 'SaveRatios', 'UserRatio',
+
+            //mod_readme
+            'DisplayReadme',
+
+            //mod_rewrite
+            'RewriteCondition', 'RewriteEngine', 'RewriteLock', 'RewriteLog',
+            'RewriteMap', 'RewriteRule',
+
+            //mod_sftp
+            'SFTPAcceptEnv', 'SFTPAuthMethods', 'SFTPAuthorizedHostKeys',
+            'SFTPAuthorizedUserKeys', 'SFTPCiphers', 'SFTPClientMatch',
+            'SFTPCompression', 'SFTPCryptoDevice', 'SFTPDHParamFile',
+            'SFTPDigests', 'SFTPDisplayBanner', 'SFTPEngine', 'SFTPExtensions',
+            'SFTPHostKey', 'SFTPKeyBlacklist', 'SFTPKeyExchanges', 'SFTPLog',
+            'SFTPMaxChannels', 'SFTPOptions', 'SFTPPassPhraseProvider',
+            'SFTPRekey', 'SFTPTrafficPolicy',
+
+            //mod_sftp_pam
+            'SFTPPAMEngine', 'SFTPPAMOptions', 'SFTPPAMServiceName',
+
+            //mod_sftp_sql
+
+            //mod_shaper
+            'ShaperAll', 'ShaperControlsACLs', 'ShaperEngine', 'ShaperLog',
+            'ShaperSession', 'ShaperTable',
+
+            //mod_sql
+            'SQLAuthenticate', 'SQLAuthTypes', 'SQLBackend', 'SQLConnectInfo',
+            'SQLDefaultGID', 'SQLDefaultHomedir', 'SQLDefaultUID', 'SQLEngine',
+            'SQLGroupInfo', 'SQLGroupWhereClause', 'SQLHomedirOnDemand',
+            'SQLLog', 'SQLLogFile', 'SQLMinID', 'SQLMinUserGID',
+            'SQLMinUserUID', 'SQLNamedQuery', 'SQLNegativeCache', 'SQLOptions',
+            'SQLRatios', 'SQLRatioStats', 'SQLShowInfo', 'SQLUserInfo',
+            'SQLUserWhereClause',
+
+            //mod_sql_passwd
+            'SQLPasswordEncoding', 'SQLPasswordEngine', 'SQLPasswordSaltFile',
+            'SQLPasswordUserSalt',
+
+            //mod_tls
+            'TLSCACertificateFile', 'TLSCACertificatePath',
+            'TLSCARevocationFile', 'TLSCARevocationPath',
+            'TLSCertificateChainFile', 'TLSCipherSuite', 'TLSControlsACLs',
+            'TLSCryptoDevice', 'TLSDHParamFile', 'TLSDSACertificateFile',
+            'TLSDSACertificateKeyFile', 'TLSEngine', 'TLSLog', 'TLSOptions',
+            'TLSPKCS12File', 'TLSPassPhraseProvider', 'TLSProtocol',
+            'TLSRandomSeed', 'TLSRenegotiate', 'TLSRequired',
+            'TLSRSACertificateFile', 'TLSRSACertificateKeyFile',
+            'TLSSessionCache', 'TLSTimeoutHandshake', 'TLSVerifyClient',
+            'TLSVerifyDepth', 'TLSVerifyOrder',
+
+            //mod_tls_shmcache
+
+            //mod_unique_id
+            'UniqueIDEngine',
+
+            //mod_wrap
+            'TCPAccessFiles', 'TCPAccessSyslogLevels', 'TCPGroupAccessFiles',
+            'TCPServiceName', 'TCPUserAccessFiles',
+
+            //mod_wrap2
+            'WrapAllowMsg', 'WrapDenyMsg', 'WrapEngine', 'WrapGroupTables',
+            'WrapLog', 'WrapServiceName', 'WrapTables', 'WrapUserTables',
+
+            //mod_wrap2_file
+
+            //mod_wrap2_sql
+
+            //mod_xfer
+            'AllowOverwrite', 'DeleteAbortedStores', 'DisplayFileTransfer',
+            'HiddenStor', 'HiddenStores', 'MaxRetrieveFileSize',
+            'MaxStoreFileSize', 'StoreUniquePrefix', 'TimeoutNoTransfer',
+            'TimeoutStalled', 'TransferRate', 'UseSendfile',
+
+            //unknown
+            'ScoreboardPath', 'ScoreboardScrub'
+            ),
+        /*keywords 3*/
+        3 => array(
+            //mod_core
+            'Anonymous',
+            'Class',
+            'Directory',
+            'IfDefine',
+            'IfModule',
+            'Limit',
+            'VirtualHost',
+
+            //mod_ifsession
+            'IfClass', 'IfGroup', 'IfUser',
+
+            //mod_version
+            'IfVersion'
+            ),
+        /*permissions*/
+        4 => array(
+            //mod_core
+            'ALL',
+            'CDUP',
+            'CMD',
+            'CWD',
+            'DELE',
+            'DIRS',
+            'LOGIN',
+            'MKD',
+            'READ',
+            'RETR',
+            'RMD',
+            'RNFR',
+            'RNTO',
+            'STOR',
+            'WRITE',
+            'XCWD',
+            'XMKD',
+            'XRMD',
+
+            //mod_copy
+            'SITE_CPFR', 'SITE_CPTO',
+
+            //mod_quotatab
+            'SITE_QUOTA',
+
+            //mod_site
+            'SITE_HELP', 'SITE_CHMOD', 'SITE_CHGRP',
+
+            //mod_site_misc
+            'SITE_MKDIR', 'SITE_RMDIR', 'SITE_SYMLINK', 'SITE_UTIME',
+            ),
+        /*keywords 2*/
+        2 => array(
+            'all','on','off','yes','no',
+            'standalone', 'inetd',
+            'default', 'auth', 'write',
+            'internet', 'local', 'limit', 'ip',
+            'from'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '+', '-'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00007f;',
+            2 => 'color: #0000ff;',
+            3 => 'color: #000000; font-weight:bold;',
+            4 => 'color: #000080; font-weight:bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #339933;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #7f007f;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://www.google.com/search?hl=en&q={FNAMEL}+site:www.proftpd.org+inurl:docs&btnI=I%27m%20Feeling%20Lucky',
+        2 => '',
+        3 => 'http://www.google.com/search?hl=en&q={FNAMEL}+site:www.proftpd.org+inurl:docs&btnI=I%27m%20Feeling%20Lucky',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'BRACKETS' => GESHI_NEVER,
+            'SYMBOLS' => GESHI_NEVER
+        ),
+        'KEYWORDS' => array(
+            2 => array(
+                'DISALLOWED_BEFORE' => '(?<=\s)(? '(?!\+)(?!\w)',
+            ),
+            3 => array(
+                'DISALLOWED_BEFORE' => '(?<=<|<\/)',
+                'DISALLOWED_AFTER' => '(?=\s|\/|>)',
+            ),
+            4 => array(
+                'DISALLOWED_BEFORE' => '(?<=\s)(? '(?!\+)(?=\/|(?:\s+\w+)*\s*>)',
+            )
+        )
+    )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/progress.php b/application/libraries/geshi/progress.php
index 3824e7b0b..affb62000 100644
--- a/application/libraries/geshi/progress.php
+++ b/application/libraries/geshi/progress.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Marco Aurelio de Pasqual (marcop@hdi.com.br)
  * Copyright: (c) 2008 Marco Aurelio de Pasqual, Benny Baumann (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/07/11
  *
  * Progress language file for GeSHi.
diff --git a/application/libraries/geshi/prolog.php b/application/libraries/geshi/prolog.php
index 1f35a1b82..74d03374c 100644
--- a/application/libraries/geshi/prolog.php
+++ b/application/libraries/geshi/prolog.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/10/02
  *
  * Prolog language file for GeSHi.
@@ -130,7 +130,7 @@ $language_data = array (
         ),
     'REGEXPS' => array(
         //Variables
-        0 => "(? "(? GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
@@ -140,4 +140,4 @@ $language_data = array (
     'TAB_WIDTH' => 4
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/properties.php b/application/libraries/geshi/properties.php
index 231dd6e8b..08ba9a419 100644
--- a/application/libraries/geshi/properties.php
+++ b/application/libraries/geshi/properties.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Edy Hinzen
  * Copyright: (c) 2009 Edy Hinzen
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/04/03
  *
  * Property language file for GeSHi.
diff --git a/application/libraries/geshi/providex.php b/application/libraries/geshi/providex.php
index aaa02e797..b7232873a 100644
--- a/application/libraries/geshi/providex.php
+++ b/application/libraries/geshi/providex.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Jeff Wilder (jeff@coastallogix.com)
  * Copyright:  (c) 2008 Coastal Logix (http://www.coastallogix.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/10/18
  *
  * ProvideX language file for GeSHi.
diff --git a/application/libraries/geshi/purebasic.php b/application/libraries/geshi/purebasic.php
index b644af3fe..213868d74 100644
--- a/application/libraries/geshi/purebasic.php
+++ b/application/libraries/geshi/purebasic.php
@@ -4,7 +4,7 @@
  * -------
  * Author: GuShH
  * Copyright: (c) 2009 Gustavo Julio Fiorenza
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 13/06/2009
  *
  * PureBasic language file for GeSHi.
diff --git a/application/libraries/geshi/pycon.php b/application/libraries/geshi/pycon.php
new file mode 100644
index 000000000..141d521f9
--- /dev/null
+++ b/application/libraries/geshi/pycon.php
@@ -0,0 +1,64 @@
+>>).*?$(?:\n\.\.\..*?$)*($)/m';
+$language_data['HIGHLIGHT_STRICT_BLOCK'][-1] = true;
+
+$language_data['STYLES']['SCRIPT'][-1] = 'color: #222222;';
+
+if(!isset($language_data['COMMENT_REGEXP'])) {
+    $language_data['COMMENT_REGEXP'] = array();
+}
+
+$language_data['COMMENT_REGEXP'][-1] = '/(?:^|\A\s)(?:>>>|\.\.\.)/m';
+$language_data['STYLES']['COMMENTS'][-1] = 'color: #444444;';
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/python.php b/application/libraries/geshi/python.php
index a482d6928..38d9a0b02 100644
--- a/application/libraries/geshi/python.php
+++ b/application/libraries/geshi/python.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/08/30
  *
  * Python language file for GeSHi.
@@ -49,8 +49,13 @@ $language_data = array (
     'COMMENT_MULTI' => array(),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     //Longest quotemarks ALWAYS first
-    'QUOTEMARKS' => array('"""', '"', "'"),
+    'QUOTEMARKS' => array('"""', "'''", '"', "'"),
     'ESCAPE_CHAR' => '\\',
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX_0O | GESHI_NUMBER_HEX_PREFIX |
+        GESHI_NUMBER_FLT_NONSCI | GESHI_NUMBER_FLT_NONSCI_F |
+        GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
     'KEYWORDS' => array(
 
         /*
@@ -60,7 +65,7 @@ $language_data = array (
         1 => array(
             'and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from', 'lambda', 'return', 'break',
             'else', 'global', 'not', 'try', 'class', 'except', 'if', 'or', 'while', 'continue', 'exec',
-            'import', 'pass', 'yield', 'def', 'finally', 'in', 'print', 'with', 'as'
+            'import', 'pass', 'yield', 'def', 'finally', 'in', 'print', 'with', 'as', 'nonlocal'
             ),
 
         /*
@@ -172,7 +177,9 @@ $language_data = array (
             )
         ),
     'SYMBOLS' => array(
-            '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '`'
+        '<', '>', '=', '!', '<=', '>=',             //·comparison·operators
+        '~', '@',                                   //·unary·operators
+        ';', ','                                    //·statement·separator
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -234,4 +241,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/q.php b/application/libraries/geshi/q.php
new file mode 100644
index 000000000..e4bb92da8
--- /dev/null
+++ b/application/libraries/geshi/q.php
@@ -0,0 +1,149 @@
+)
+ * -------------------------
+ *  - Fix the handling of single line comments
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME'                 => 'q/kdb+',
+    'COMMENT_SINGLE'            => array(1 => '//'),
+    'COMMENT_MULTI'             => array(),
+    'COMMENT_REGEXP'            => array(
+        2 => '/ \s\/.*/',         # This needs to get fixed up, since it won't catch some instances
+        # Multi line comments (Moved from REGEXPS)
+        3 => '/^\/\s*?\n.*?\n\\\s*?\n/smi'
+        ),
+    'CASE_KEYWORDS'             => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS'                => array('"'),
+    'ESCAPE_CHAR'               => '\\',
+    'OOLANG'                    => false,
+    'OBJECT_SPLITTERS'          => array(),
+    'STRICT_MODE_APPLIES'       => GESHI_NEVER,
+    'SCRIPT_DELIMITERS'         => array(),
+    'HIGHLIGHT_STRICT_BLOCK'    => array(),
+    'TAB_WIDTH'                 => 4,
+    'KEYWORDS' => array(
+        1 => array(
+            'abs', 'acos', 'all', 'and', 'any', 'asc', 'asin', 'asof', 'atan', 'attr', 'avg', 'avgs', 'bin', 'ceiling',
+            'cols', 'cor', 'cos', 'count', 'cov', 'cross', 'cut', 'deltas', 'desc', 'dev', 'differ', 'distinct',
+            'div', 'each', 'enlist', 'eval', 'except', 'exec', 'exit', 'exp', 'fills', 'first', 'flip', 'floor',
+            'fkeys', 'get', 'getenv', 'group', 'gtime', 'hclose', 'hcount', 'hdel', 'hopen', 'hsym', 'iasc', 'idesc',
+            'in', 'insert', 'inter', 'inv', 'joins', 'key', 'keys', 'last', 'like', 'load', 'log', 'lower',
+            'lsq', 'ltime', 'ltrim', 'mavg', 'max', 'maxs', 'mcount', 'md5', 'mdev', 'med', 'meta', 'min', 'mins',
+            'mmax', 'mmin', 'mmu', 'mod', 'msum', 'neg', 'next', 'not', 'null', 'or', 'over', 'parse', 'peach',
+            'plist', 'prd', 'prds', 'prev', 'rand', 'rank', 'ratios', 'raze', 'read0', 'read1', 'reciprocal',
+            'reverse', 'rload', 'rotate', 'rsave', 'rtrim', 'save', 'scan', 'set', 'setenv', 'show', 'signum',
+            'sin', 'sqrt', 'ss', 'ssr', 'string', 'sublist', 'sum', 'sums', 'sv', 'system', 'tables', 'tan', 'til', 'trim',
+            'txf', 'type', 'ungroup', 'union', 'upper', 'upsert', 'value', 'var', 'view', 'views', 'vs',
+            'wavg', 'within', 'wsum', 'xasc', 'xbar', 'xcol', 'xcols', 'xdesc', 'xexp', 'xgroup', 'xkey',
+            'xlog', 'xprev', 'xrank'
+            ),
+        # kdb database template keywords
+        2 => array(
+            'aj', 'by', 'delete', 'fby', 'from', 'ij', 'lj', 'pj', 'select', 'uj', 'update', 'where', 'wj',
+            ),
+        ),
+    'SYMBOLS' => array(
+        '?', '#', ',', '_', '@', '.', '^', '~', '$', '!', '\\', '\\', '/:', '\:', "'", "':", '::', '+', '-', '%', '*'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #009900; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #666666; font-style: italic;',
+            3 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #660099; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold;',
+            'HARD' => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #990000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000dd;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;',
+            2 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            2   => 'color: #999900;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'REGEXPS' => array(
+        # Symbols
+        2 => '`[^\s"]*',
+        ),
+    'URLS'  => array(
+        1   => '',
+        2   => '',
+        ),
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/qbasic.php b/application/libraries/geshi/qbasic.php
index c83cb188e..ff61449d0 100644
--- a/application/libraries/geshi/qbasic.php
+++ b/application/libraries/geshi/qbasic.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/20
  *
  * QBasic/QuickBASIC language file for GeSHi.
diff --git a/application/libraries/geshi/rails.php b/application/libraries/geshi/rails.php
index 777fdd814..0e825040e 100644
--- a/application/libraries/geshi/rails.php
+++ b/application/libraries/geshi/rails.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Moises Deniz
  * Copyright: (c) 2005 Moises Deniz
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/03/21
  *
  * Ruby (with Ruby on Rails Framework) language file for GeSHi.
diff --git a/application/libraries/geshi/rebol.php b/application/libraries/geshi/rebol.php
index 1a2e95824..1e5dff626 100644
--- a/application/libraries/geshi/rebol.php
+++ b/application/libraries/geshi/rebol.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Lecanu Guillaume (Guillaume@LyA.fr)
  * Copyright: (c) 2004-2005 Lecanu Guillaume (Guillaume@LyA.fr)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/12/22
  *
  * Rebol language file for GeSHi.
diff --git a/application/libraries/geshi/reg.php b/application/libraries/geshi/reg.php
index d70189cc9..9878f42f6 100644
--- a/application/libraries/geshi/reg.php
+++ b/application/libraries/geshi/reg.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Sean Hanna (smokingrope@gmail.com)
  * Copyright: (c) 2006 Sean Hanna
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 03/15/2006
  *
  * Microsoft Registry Editor language file for GeSHi.
diff --git a/application/libraries/geshi/robots.php b/application/libraries/geshi/robots.php
index 82ff18f4f..c0713a64c 100644
--- a/application/libraries/geshi/robots.php
+++ b/application/libraries/geshi/robots.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Christian Lescuyer (cl@goelette.net)
  * Copyright: (c) 2006 Christian Lescuyer http://xtian.goelette.info
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/02/17
  *
  * robots.txt language file for GeSHi.
diff --git a/application/libraries/geshi/rpmspec.php b/application/libraries/geshi/rpmspec.php
new file mode 100644
index 000000000..243df94c7
--- /dev/null
+++ b/application/libraries/geshi/rpmspec.php
@@ -0,0 +1,133 @@
+ 'RPM Specification File',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'QUOTEMARKS' => array('"','`'),
+    'ESCAPE_CHAR' => '\\',
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        ),
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        '<', '>', '=',
+        '!', '@', '~', '&', '|', '^',
+        '+','-', '*', '/', '%',
+        ',', ';', '?', '.', ':'
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #0000ff;',
+            2 => 'color: #009999;',
+            3 => 'color: #000000; font-weight: bold;',
+            4 => 'color: #ff6600; font-style: italic;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'REGEXPS' => array(
+        1 => array(
+            // search for generic macros
+            GESHI_SEARCH => '(%{?[a-zA-Z0-9_]+}?)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '',
+            ),
+        2 => array(
+            // search for special macros
+            GESHI_SEARCH => '(%(?:define|patch\d*|mklibname|mkrel|configure\S+|makeinstall\S+|make_session|make|defattr|config|doc|setup))',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '',
+            ),
+        3 => array (
+            // special definitions
+            GESHI_SEARCH => '((?:summary|license|buildroot|buildrequires|provides|version|release|source\d*|group|buildarch|autoreqprov|provides|obsoletes|vendor|distribution|suggests|autoreq|autoprov|conflicts|name|url|requires|patch\d*):)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '',
+            ),
+        4 => array (
+            // section delimiting words
+            GESHI_SEARCH => '(%(?:description|package|prep|build|install|clean|postun|preun|post|pre|files|changelog))',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '',
+            ),
+        ),
+    'URLS' => array(),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/rsplus.php b/application/libraries/geshi/rsplus.php
index 10fa5a89e..41cdd158b 100644
--- a/application/libraries/geshi/rsplus.php
+++ b/application/libraries/geshi/rsplus.php
@@ -6,7 +6,7 @@
  * Contributors:
  *  - Benilton Carvalho (beniltoncarvalho@gmail.com)
  * Copyright: (c) 2009 Ron Fredericks (http://www.LectureMaker.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/03/28
  *
  * R language file for GeSHi.
diff --git a/application/libraries/geshi/ruby.php b/application/libraries/geshi/ruby.php
index 57d379d66..c38d5a218 100644
--- a/application/libraries/geshi/ruby.php
+++ b/application/libraries/geshi/ruby.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Moises Deniz
  * Copyright: (c) 2007 Moises Deniz
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/03/21
  *
  * Ruby language file for GeSHi.
@@ -40,6 +40,10 @@ $language_data = array (
     'LANG_NAME' => 'Ruby',
     'COMMENT_SINGLE' => array(1 => "#"),
     'COMMENT_MULTI' => array("=begin" => "=end"),
+    'COMMENT_REGEXP' => array(
+        //Heredoc
+        4 => '/<<\s*?(\w+)\\n.*?\\n\\1(?![a-zA-Z0-9])/si',
+        ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array('"', '`','\''),
     'ESCAPE_CHAR' => '\\',
@@ -145,6 +149,7 @@ $language_data = array (
             ),
         'COMMENTS' => array(
             1 => 'color:#008000; font-style:italic;',
+            4 => 'color: #cc0000; font-style: italic;',
             'MULTI' => 'color:#000080; font-style:italic;'
             ),
         'ESCAPE_CHAR' => array(
diff --git a/application/libraries/geshi/sas.php b/application/libraries/geshi/sas.php
index 16617b58e..6f4ce285e 100644
--- a/application/libraries/geshi/sas.php
+++ b/application/libraries/geshi/sas.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Galen Johnson (solitaryr@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/12/27
  *
  * SAS language file for GeSHi. Based on the sas vim file.
@@ -44,7 +44,7 @@
 $language_data = array (
     'LANG_NAME' => 'SAS',
     'COMMENT_SINGLE' => array(),
-    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_MULTI' => array('/*' => '*/', '*' => ';'),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
     'ESCAPE_CHAR' => '\\',
@@ -287,4 +287,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/scala.php b/application/libraries/geshi/scala.php
index 5ebe9ed96..12462cf3b 100644
--- a/application/libraries/geshi/scala.php
+++ b/application/libraries/geshi/scala.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Franco Lombardo (franco@francolombardo.net)
  * Copyright: (c) 2008 Franco Lombardo, Benny Baumann
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/02/08
  *
  * Scala language file for GeSHi.
diff --git a/application/libraries/geshi/scheme.php b/application/libraries/geshi/scheme.php
index dac7c6f06..f687e79a7 100644
--- a/application/libraries/geshi/scheme.php
+++ b/application/libraries/geshi/scheme.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Jon Raphaelson (jonraphaelson@gmail.com)
  * Copyright: (c) 2005 Jon Raphaelson, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/08/30
  *
  * Scheme language file for GeSHi.
diff --git a/application/libraries/geshi/scilab.php b/application/libraries/geshi/scilab.php
index 9bd0658db..cd1ca70f1 100644
--- a/application/libraries/geshi/scilab.php
+++ b/application/libraries/geshi/scilab.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Christophe David (geshi@christophedavid.org)
  * Copyright: (c) 2008 Christophe David (geshi@christophedavid.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/08/04
  *
  * SciLab language file for GeSHi.
diff --git a/application/libraries/geshi/sdlbasic.php b/application/libraries/geshi/sdlbasic.php
index 1f1440bf5..27aaf522b 100644
--- a/application/libraries/geshi/sdlbasic.php
+++ b/application/libraries/geshi/sdlbasic.php
@@ -4,7 +4,7 @@
  * ------------
  * Author: Roberto Rossi
  * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/08/19
  *
  * sdlBasic (http://sdlbasic.sf.net) language file for GeSHi.
diff --git a/application/libraries/geshi/smalltalk.php b/application/libraries/geshi/smalltalk.php
index 9bc351d8e..008bfcd1d 100644
--- a/application/libraries/geshi/smalltalk.php
+++ b/application/libraries/geshi/smalltalk.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Bananeweizen (Bananeweizen@gmx.de)
  * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/03/27
  *
  * Smalltalk language file for GeSHi.
diff --git a/application/libraries/geshi/smarty.php b/application/libraries/geshi/smarty.php
index f59d9fbf3..1d8199936 100644
--- a/application/libraries/geshi/smarty.php
+++ b/application/libraries/geshi/smarty.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/07/10
  *
  * Smarty template language file for GeSHi.
diff --git a/application/libraries/geshi/sql.php b/application/libraries/geshi/sql.php
index ea2965a8e..6f7870196 100644
--- a/application/libraries/geshi/sql.php
+++ b/application/libraries/geshi/sql.php
@@ -3,14 +3,18 @@
  * sql.php
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
+ * Contributors:
+ *  - Jürgen Thomas (Juergen.Thomas@vs-polis.de)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/04
  *
  * SQL language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2010/07/19 (1.0.8.9)
+ *  -  Added many more keywords
  * 2008/05/23 (1.0.7.22)
  *  -  Added additional symbols for highlighting
  * 2004/11/27 (1.0.3)
@@ -58,30 +62,51 @@ $language_data = array (
     'ESCAPE_CHAR' => '\\',
     'KEYWORDS' => array(
         1 => array(
-            'ADD', 'ALL', 'ALTER', 'AND', 'AS', 'ASC',
-            'AUTO_INCREMENT', 'BETWEEN', 'BINARY', 'BOOLEAN',
-            'BOTH', 'BY', 'CHANGE', 'CHECK', 'COLUMN', 'COLUMNS',
-            'CREATE', 'CROSS', 'DATA', 'DATABASE', 'DATABASES',
-            'DEFAULT', 'DELAYED', 'DELETE', 'DESC', 'DESCRIBE',
-            'DISTINCT', 'DROP', 'ENCLOSED', 'ESCAPED', 'EXISTS',
-            'EXPLAIN', 'FIELD', 'FIELDS', 'FLUSH', 'FOR',
-            'FOREIGN', 'FROM', 'FULL', 'FUNCTION', 'GRANT',
-            'GROUP', 'HAVING', 'IDENTIFIED', 'IF', 'IGNORE',
-            'IN', 'INDEX', 'INFILE', 'INNER', 'INSERT', 'INTO',
-            'IS', 'JOIN', 'KEY', 'KEYS', 'KILL', 'LANGUAGE',
-            'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LOAD',
-            'LOCAL', 'LOCK', 'LOW_PRIORITY', 'MODIFY', 'NATURAL',
-            'NEXTVAL', 'NOT', 'NULL', 'ON', 'OPTIMIZE', 'OPTION',
-            'OPTIONALLY', 'OR', 'ORDER', 'OUTER', 'OUTFILE',
-            'PRIMARY', 'PROCEDURAL', 'PROCEEDURE', 'READ',
-            'REFERENCES', 'REGEXP', 'RENAME', 'REPLACE',
-            'RETURN', 'REVOKE', 'RIGHT', 'RLIKE', 'SELECT',
-            'SET', 'SETVAL', 'SHOW', 'SONAME', 'STATUS',
-            'STRAIGHT_JOIN', 'TABLE', 'TABLES', 'TEMINATED',
-            'TEMPORARY', 'TO', 'TRAILING', 'TRIGGER', 'TRUNCATE',
-            'TRUSTED', 'UNION', 'UNIQUE', 'UNLOCK', 'UNSIGNED',
-            'UPDATE', 'USE', 'USING', 'VALUES', 'VARIABLES',
-            'VIEW', 'WHERE', 'WITH', 'WRITE', 'XOR', 'ZEROFILL'
+            'ADD', 'ALL', 'ALTER', 'AND', 'AS', 'ASC', 'AUTO_INCREMENT',
+            'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', 'BLOB', 'BOOLEAN', 'BOTH', 'BY',
+            'CALL', 'CASE', 'CAST', 'CEIL', 'CEILING', 'CHANGE', 'CHAR', 'CHAR_LENGTH', 'CHARACTER',
+            'CHARACTER_LENGTH', 'CHECK', 'CLOB', 'COALESCE', 'COLLATE', 'COLUMN', 'COLUMNS',
+            'CONNECT', 'CONSTRAINT', 'CONVERT', 'COUNT', 'CREATE', 'CROSS', 'CURRENT',
+            'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
+            'DATA', 'DATABASE', 'DATABASES', 'DATE', 'DAY', 'DEC', 'DECIMAL', 'DECLARE',
+            'DEFAULT', 'DELAYED', 'DELETE', 'DESC', 'DESCRIBE', 'DISTINCT', 'DOUBLE',
+            'DOMAIN', 'DROP',
+            'ELSE', 'ENCLOSED', 'END', 'ESCAPED', 'EXCEPT', 'EXEC', 'EXECUTE', 'EXISTS', 'EXP',
+            'EXPLAIN', 'EXTRACT',
+            'FALSE', 'FIELD', 'FIELDS', 'FILTER', 'FIRST', 'FLOAT', 'FLOOR', 'FLUSH', 'FOR',
+            'FOREIGN', 'FROM', 'FULL', 'FUNCTION',
+            'GET', 'GROUP', 'GROUPING', 'GO', 'GOTO', 'GRANT', 'GRANTED',
+            'HAVING', 'HOUR',
+            'IDENTIFIED', 'IDENTITY', 'IF', 'IGNORE', 'IN', 'INCREMENT', 'INDEX', 'INFILE', 'INNER',
+            'INOUT', 'INPUT', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERSECTION', 'INTERVAL',
+            'INTO', 'IS',
+            'JOIN',
+            'KEY', 'KEYS', 'KILL',
+            'LANGUAGE', 'LARGE', 'LAST', 'LEADING', 'LEFT', 'LENGTH', 'LIKE', 'LIMIT', 'LINES', 'LOAD',
+            'LOCAL', 'LOCK', 'LOW_PRIORITY', 'LOWER',
+            'MATCH', 'MAX', 'MERGE', 'MIN', 'MINUTE', 'MOD', 'MODIFIES', 'MODIFY', 'MONTH',
+            'NATIONAL', 'NATURAL', 'NCHAR', 'NEW', 'NEXT', 'NEXTVAL', 'NONE', 'NOT',
+            'NULL', 'NULLABLE', 'NULLIF', 'NULLS', 'NUMBER', 'NUMERIC',
+            'OF', 'OLD', 'ON', 'ONLY', 'OPEN', 'OPTIMIZE', 'OPTION',
+            'OPTIONALLY', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTFILE', 'OVER',
+            'POSITION', 'POWER', 'PRECISION', 'PREPARE', 'PRIMARY', 'PROCEDURAL', 'PROCEDURE',
+            'READ', 'REAL', 'REF', 'REFERENCES', 'REFERENCING', 'REGEXP', 'RENAME', 'REPLACE',
+            'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'RLIKE', 'ROLLBACK', 'ROW',
+            'ROW_NUMBER', 'ROWS', 'RESTRICT', 'ROLE', 'ROUTINE', 'ROW_COUNT',
+            'SAVEPOINT', 'SEARCH', 'SECOND', 'SECTION', 'SELECT', 'SELF', 'SEQUENCE',
+            'SESSION', 'SET', 'SETVAL', 'SHOW', 'SIMILAR', 'SIZE', 'SMALLINT', 'SOME',
+            'SONAME', 'SOURCE', 'SPACE', 'SQL', 'SQRT', 'START', 'STATUS',
+            'STRAIGHT_JOIN', 'STRUCTURE', 'STYLE', 'SUBSTRING', 'SUM',
+            'TABLE', 'TABLE_NAME', 'TABLES', 'TERMINATED', 'TEMPORARY', 'THEN', 'TIME',
+            'TIMESTAMP', 'TO', 'TRAILING', 'TRANSACTION', 'TRIGGER', 'TRIM', 'TRUE', 'TRUNCATE',
+            'TRUSTED', 'TYPE',
+            'UNDER', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSIGNED',
+            'UPDATE', 'UPPER', 'USE', 'USER', 'USING',
+            'VALUE', 'VALUES', 'VARCHAR', 'VARIABLES', 'VARYING', 'VIEW',
+            'WHEN', 'WHERE', 'WITH', 'WITHIN', 'WITHOUT', 'WORK', 'WRITE',
+            'XOR',
+            'YEAR',
+            'ZEROFILL'
             )
         ),
     'SYMBOLS' => array(
diff --git a/application/libraries/geshi/systemverilog.php b/application/libraries/geshi/systemverilog.php
index 832769f9e..142fd117b 100644
--- a/application/libraries/geshi/systemverilog.php
+++ b/application/libraries/geshi/systemverilog.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Sean O'Boyle
  * Copyright: (C) 2008 IntelligentDV
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/06/25
  *
  * SystemVerilog IEEE 1800-2009(draft8) language file for GeSHi.
@@ -52,9 +52,9 @@
  *        Project:  SyntaxFiles
  *
  * File: systemverilog.php
- * $LastChangedBy: seanoboyle $
- * $LastChangedDate: 2009-07-22 22:20:25 -0700 (Wed, 22 Jul 2009) $
- * $LastChangedRevision: 17 $
+ * $LastChangedBy: benbe $
+ * $LastChangedDate: 2011-02-11 20:31:50 +0100 (Fr, 11. Feb 2011) $
+ * $LastChangedRevision: 2430 $
  *
  ************************************************************************/
 
diff --git a/application/libraries/geshi/tcl.php b/application/libraries/geshi/tcl.php
index 0b52a2687..c948ff261 100644
--- a/application/libraries/geshi/tcl.php
+++ b/application/libraries/geshi/tcl.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Reid van Melle (rvanmelle@gmail.com)
  * Copyright: (c) 2004 Reid van Melle (sorry@nowhere)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/05/05
  *
  * TCL/iTCL language file for GeSHi.
@@ -54,7 +54,7 @@ $language_data = array (
     'COMMENT_MULTI' => array(),
     'COMMENT_REGEXP' => array(
         1 => '/(? '/{[^}\n]+}/'
+        //2 => '/{[^}\n]+}/'
         ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array('"', "'"),
@@ -138,7 +138,7 @@ $language_data = array (
             ),
         'COMMENTS' => array(
             1 => 'color: #808080; font-style: italic;',
-            2 => 'color: #483d8b;',
+//            2 => 'color: #483d8b;',
             'MULTI' => 'color: #808080; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
@@ -191,4 +191,4 @@ $language_data = array (
     )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/teraterm.php b/application/libraries/geshi/teraterm.php
index b4ac619df..510ad04c4 100644
--- a/application/libraries/geshi/teraterm.php
+++ b/application/libraries/geshi/teraterm.php
@@ -4,23 +4,29 @@
  * --------
  * Author: Boris Maisuradze (boris at logmett.com)
  * Copyright: (c) 2008 Boris Maisuradze (http://logmett.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/09/26
  *
  * Tera Term Macro language file for GeSHi.
  *
  *
- * This version of ttl.php was created for Tera Term 4.60 and LogMeTT 2.9.4.
+ * This version of teraterm.php was created for Tera Term 4.62 and LogMeTT 2.9.4.
  * Newer versions of these application can contain additional Macro commands
- * and/or keywords that are not listed here. The latest release of ttl.php
+ * and/or keywords that are not listed here. The latest release of teraterm.php
  * can be downloaded from Download section of LogMeTT.com
  *
  * CHANGES
  * -------
- * 2008/09/26 (1.0.8)
+ * 2008/09/26 (1.0.0)
  *   -  First Release for Tera Term 4.60 and below.
+ * 2009/03/22 (1.1.0)
+ *   -  First Release for Tera Term 4.62 and below.
+ * 2009/04/25 (1.1.1)
+ *   -  Second Release for Tera Term 4.62 and below.
+ * 2010/09/12 (1.1.2)
+ *   -  Second Release for Tera Term 4.67, LogMeTT 2.97, TTLEditor 1.2.1 and below.
  *
- * TODO (updated 2008/09/26)
+ * TODO (updated 2010/09/12)
  * -------------------------
  * *
  *
@@ -57,27 +63,29 @@ $language_data = array (
             'Beep',
             'BplusRecv',
             'BplusSend',
-            'Break',            // (version 4.53 or later)
+            'Break',
             'Call',
-            'CallMenu',         // (version 4.56 or later)
+            'CallMenu',
             'ChangeDir',
             'ClearScreen',
-            'Clipb2Var',        //(version 4.46 or later)
+            'Clipb2Var',
             'ClosesBox',
             'CloseTT',
             'Code2Str',
             'Connect',
-            'CRC32',            // (version 4.60 or later)
-            'CRC32File',        // (version 4.60 or later)
-            'CygConnect',       // (version 4.57 or later)
+            'CRC32',
+            'CRC32File',
+            'CygConnect',
             'DelPassword',
             'Disconnect',
-            'Do',               // (version 4.56 or later)
+            'DispStr',
+            'Do',
             'Else',
+            'ElseIf',
             'EnableKeyb',
             'End',
             'EndIf',
-            'EndUntil',         // (version 4.56 or later)
+            'EndUntil',
             'EndWhile',
             'Exec',
             'ExecCmnd',
@@ -88,32 +96,37 @@ $language_data = array (
             'FileCreate',
             'FileDelete',
             'FileMarkPtr',
-            'FilenameBox',      //(version 4.54 or later)
+            'FileNameBox',
             'FileOpen',
             'FileRead',
-            'FileReadln',       // (version 4.48 or later)
+            'FileReadln',
             'FileRename',
             'FileSearch',
             'FileSeek',
             'FileSeekBack',
+            'FileStat',
             'FileStrSeek',
             'FileStrSeek2',
+            'FileTruncate',
             'FileWrite',
-            'FileWriteln',
-            'FindOperations',
+            'FileWriteLn',
+            'FindClose',
+            'FindFirst',
+            'FindNext',
             'FlushRecv',
-            'ForNext',
+            'For',
             'GetDate',
-            'GetDir',           //(version 4.46 or later)
+            'GetDir',
             'GetEnv',
+            'GetHostname',
             'GetPassword',
             'GetTime',
             'GetTitle',
-            'GetVer',           //(version 4.58 or later)
+            'GetTTDir',
+            'Getver',
             'GoTo',
             'If',
-            'IfDefined',        // (version 4.46 or later)
-            'IfThenElseIf',
+            'IfDefined',
             'Include',
             'InputBox',
             'Int2Str',
@@ -121,73 +134,91 @@ $language_data = array (
             'KmtGet',
             'KmtRecv',
             'KmtSend',
-            'LoadKeyMap',
+            'LoadKeymap',
             'LogClose',
             'LogOpen',
             'LogPause',
             'LogStart',
             'LogWrite',
-            'Loop',             // (version 4.56 or later)
+            'Loop',
             'MakePath',
             'MessageBox',
-            'MPause',           // (version 4.27 or later)
+            'MPause',
+            'Next',
             'PasswordBox',
             'Pause',
-            'QuickvanRecv',
-            'QuickvanSend',
-            'Random',           //(version 4.27 or later)
-            'Recvln',
+            'QuickVANRecv',
+            'QuickVANSend',
+            'Random',
+            'RecvLn',
             'RestoreSetup',
             'Return',
-            'RotateLeft',       //(version 4.54 or later)
-            'RotateRight',      //(version 4.54 or later)
-            'ScpRecv',          // (version 4.57 or later)
-            'ScpSend',          // (version 4.57 or later)
+            'RotateLeft',
+            'RotateRight',
+            'ScpRecv',
+            'ScpSend',
             'Send',
             'SendBreak',
+            'SendBroadcast',
             'SendFile',
-            'SendKcode',
-            'Sendln',
-            'SetBaud',          // (version 4.58 or later)
+            'SendKCode',
+            'SendLn',
+            'SendLnBroadcast',
+            'SendMulticast',
+            'SetBaud',
             'SetDate',
+            'SetDebug',
             'SetDir',
             'SetDlgPos',
-            'SetDTR',           // (version 4.59 or later)
-            'SetRTS',           // (version 4.59 or later)
-            'SetEnv',           // (version 4.54 or later)
+            'SetDTR',
             'SetEcho',
+            'SetEnv',
             'SetExitCode',
+            'SetMulticastName',
+            'SetRTS',
             'SetSync',
             'SetTime',
             'SetTitle',
             'Show',
             'ShowTT',
-            'Sprintf',          // (version 4.52 or later)
+            'SPrintF',
+            'SPrintF2',
             'StatusBox',
             'Str2Code',
             'Str2Int',
             'StrCompare',
             'StrConcat',
             'StrCopy',
+            'StrInsert',
+            'StrJoin',
             'StrLen',
-            'StrMatch',         // (version 4.59 or later)
+            'StrMatch',
+            'StrRemove',
+            'StrReplace',
             'StrScan',
-            'Testlink',
+            'StrSpecial',
+            'StrSplit',
+            'StrTrim',
+            'TestLink',
             'Then',
-            'ToLower',          //(version 4.53 or later)
-            'ToUpper',          //(version 4.53 or later)
-            'Unlink',
-            'Until',            // (version 4.56 or later)
-            'Var2Clipb',        //(version 4.46 or later)
+            'ToLower',
+            'ToUpper',
+            'UnLink',
+            'Until',
+            'Var2Clipb',
             'Wait',
+            'Wait4All',
             'WaitEvent',
-            'Waitln',
+            'WaitLn',
+            'WaitN',
             'WaitRecv',
-            'WaitRegex',        // (version 4.21 or later)
+            'WaitRegEx',
             'While',
             'XmodemRecv',
             'XmodemSend',
             'YesNoBox',
+            'YmodemRecv',
+            'YmodemSend',
             'ZmodemRecv',
             'ZmodemSend'
             ),
@@ -204,6 +235,7 @@ $language_data = array (
             'groupmatchstr9',
             'inputstr',
             'matchstr',
+            'mtimeout',
             'param2',
             'param3',
             'param4',
@@ -225,11 +257,14 @@ $language_data = array (
             '$[6]',
             '$[7]',
             '$[8]',
+            '$[9]',
+            '$branch$',
+            '$computername$',
             '$connection$',
             '$email$',
             '$logdir$',
             '$logfilename$',
-            '$logit$',
+            '$lttfilename$',
             '$mobile$',
             '$name$',
             '$pager$',
@@ -239,7 +274,7 @@ $language_data = array (
             '$ttdir$',
             '$user$',
             '$windir$',
-            ),
+        ),
         /* Keyword Symbols */
         4 => array(
             'and',
@@ -249,9 +284,11 @@ $language_data = array (
             )
         ),
     'SYMBOLS' => array(
-        '(', ')', '[', ']',
-        '~', '!', '+', '-', '*', '/', '%', '>>', '<<', '<<<', '>>>', '&', '^', '|',
-        '<>', '<=', '>=', '=', '==', '<>', '!=', '&&', '||'
+        '(', ')', '[', ']', '{', '}',
+        '+', '-', '*', '/', '%',
+        '!', '&', '|', '^',
+        '<', '>', '=',
+        '?', ':', ';',
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -314,4 +351,4 @@ $language_data = array (
     'TAB_WIDTH' => 4
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/text.php b/application/libraries/geshi/text.php
index 24d3f10ee..dd219f599 100644
--- a/application/libraries/geshi/text.php
+++ b/application/libraries/geshi/text.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Sean Hanna (smokingrope@gmail.com)
  * Copyright: (c) 2006 Sean Hanna
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 04/23/2006
  *
  * Standard Text File (No Syntax Highlighting).
diff --git a/application/libraries/geshi/thinbasic.php b/application/libraries/geshi/thinbasic.php
index 6a0b72f9f..c496cea6f 100644
--- a/application/libraries/geshi/thinbasic.php
+++ b/application/libraries/geshi/thinbasic.php
@@ -4,7 +4,7 @@
  * ------
  * Author: Eros Olmi (eros.olmi@thinbasic.com)
  * Copyright: (c) 2006 Eros Olmi (http://www.thinbasic.com), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/05/12
  *
  * thinBasic language file for GeSHi.
diff --git a/application/libraries/geshi/tsql.php b/application/libraries/geshi/tsql.php
index 4750997a3..dddf51934 100644
--- a/application/libraries/geshi/tsql.php
+++ b/application/libraries/geshi/tsql.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Duncan Lock (dunc@dflock.co.uk)
  * Copyright: (c) 2006 Duncan Lock (http://dflock.co.uk/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/11/22
  *
  * T-SQL language file for GeSHi.
@@ -43,7 +43,7 @@ $language_data = array (
     'COMMENT_MULTI' => array('/*' => '*/'),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
-    'ESCAPE_CHAR' => '\\',
+    'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(
         1 => array(
             // Datatypes
diff --git a/application/libraries/geshi/typoscript.php b/application/libraries/geshi/typoscript.php
index be809e856..c1e380689 100644
--- a/application/libraries/geshi/typoscript.php
+++ b/application/libraries/geshi/typoscript.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Jan-Philipp Halle (typo3@jphalle.de)
  * Copyright: (c) 2005 Jan-Philipp Halle (http://www.jphalle.de/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.9
  * Date Started: 2005/07/29
  *
  * TypoScript language file for GeSHi.
diff --git a/application/libraries/geshi/unicon.php b/application/libraries/geshi/unicon.php
new file mode 100644
index 000000000..42fffc886
--- /dev/null
+++ b/application/libraries/geshi/unicon.php
@@ -0,0 +1,210 @@
+ 'Unicon (Unified Extended Dialect of Icon)',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', '\''),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'break', 'case', 'class', 'continue', 'create', 'default', 'do',
+            'else', 'end', 'every', 'fail', 'for', 'if', 'import', 'initial', 'initially',
+            'invocable', 'link', 'method', 'next', 'not', 'of', 'package', 'procedure', 'record',
+            'repeat', 'return', 'switch', 'suspend', 'then', 'to', 'until', 'while'
+            ),
+        2 => array(
+            'global', 'local', 'static'
+            ),
+        3 => array(
+            'allocated', 'ascii', 'clock', 'collections',
+            'column', 'cset', 'current', 'date', 'dateline', 'digits',
+            'dump', 'e', 'error', 'errornumber', 'errortext',
+            'errorvalue', 'errout', 'eventcode', 'eventsource', 'eventvalue',
+            'fail', 'features', 'file', 'host', 'input', 'lcase',
+            'letters', 'level', 'line', 'main', 'now', 'null',
+            'output', 'phi', 'pi', 'pos', 'progname', 'random',
+            'regions', 'source', 'storage', 'subject', 'syserr', 'time',
+            'trace', 'ucase', 'version', 'col', 'control', 'interval',
+            'ldrag', 'lpress', 'lrelease', 'mdrag', 'meta', 'mpress',
+            'mrelease', 'rdrag', 'resize', 'row', 'rpress', 'rrelease',
+            'shift', 'window', 'x', 'y'
+            ),
+        4 => array(
+            'abs', 'acos', 'any', 'args', 'asin', 'atan', 'bal', 'center', 'char',
+            'chmod', 'close', 'cofail', 'collect', 'copy', 'cos', 'cset', 'ctime', 'dbcolumns',
+            'dbdriver', 'dbkeys', 'dblimits', 'dbproduction', 'dbtables', 'delay', 'delete', 'detab',
+            'display', 'dtor', 'entab', 'errorclear', 'event', 'eventmask', 'EvGet', 'exit', 'exp',
+            'fetch', 'fieldnames', 'find', 'flock', 'flush', 'function', 'get', 'getch', 'getche',
+            'getenv', 'gettimeofday', 'globalnames', 'gtime', 'iand', 'icom', 'image', 'insert',
+            'integer', 'ior', 'ishift', 'ixor', 'key', 'left', 'list', 'load', 'loadfunc',
+            'localnames', 'log', 'many', 'map', 'match', 'member', 'mkdir', 'move', 'name', 'numeric',
+            'open', 'opmask', 'ord', 'paramnames', 'parent', 'pipe', 'pop', 'pos', 'proc', 'pull',
+            'push', 'put', 'read', 'reads', 'real', 'receive', 'remove', 'rename', 'repl', 'reverse',
+            'right', 'rmdir', 'rtod', 'runerr', 'seek', 'select', 'send', 'seq', 'serial', 'set',
+            'setenv', 'sort', 'sortf', 'sql', 'sqrt', 'stat', 'staticnames', 'stop', 'string', 'system', 'tab',
+            'table', 'tan', 'trap', 'trim', 'truncate', 'type', 'upto', 'utime', 'variable', 'where',
+            'write', 'writes'
+            ),
+        5 => array(
+            'Active', 'Alert', 'Bg', 'Clip', 'Clone', 'Color', 'ColorValue',
+            'CopyArea', 'Couple', 'DrawArc', 'DrawCircle', 'DrawCurve', 'DrawCylinder', 'DrawDisk',
+            'DrawImage', 'DrawLine', 'DrawPoint', 'DrawPolygon', 'DrawRectangle', 'DrawSegment',
+            'DrawSphere', 'DrawString', 'DrawTorus', 'EraseArea', 'Event', 'Fg', 'FillArc',
+            'FillCircle', 'FillPolygon', 'FillRectangle', 'Font', 'FreeColor', 'GotoRC', 'GotoXY',
+            'IdentifyMatrix', 'Lower', 'MatrixMode', 'NewColor', 'PaletteChars', 'PaletteColor',
+            'PaletteKey', 'Pattern', 'Pending', 'Pixel', 'PopMatrix', 'PushMatrix', 'PushRotate',
+            'PushScale', 'PushTranslate', 'QueryPointer', 'Raise', 'ReadImage', 'Refresh', 'Rotate',
+            'Scale', 'Texcoord', 'TextWidth', 'Texture', 'Translate', 'Uncouple', 'WAttrib',
+            'WDefault', 'WFlush', 'WindowContents', 'WriteImage', 'WSync'
+            ),
+        6 => array(
+            'define', 'include', 'ifdef', 'ifndef', 'else', 'endif', 'error',
+            'line', 'undef'
+            ),
+        7 => array(
+            '_V9', '_AMIGA', '_ACORN', '_CMS', '_MACINTOSH', '_MSDOS_386',
+            '_MS_WINDOWS_NT', '_MSDOS', '_MVS', '_OS2', '_POR', 'T', '_UNIX', '_POSIX', '_DBM',
+            '_VMS', '_ASCII', '_EBCDIC', '_CO_EXPRESSIONS', '_CONSOLE_WINDOW', '_DYNAMIC_LOADING',
+            '_EVENT_MONITOR', '_EXTERNAL_FUNCTIONS', '_KEYBOARD_FUNCTIONS', '_LARGE_INTEGERS',
+            '_MULTITASKING', '_PIPES', '_RECORD_IO', '_SYSTEM_FUNCTION', '_MESSAGING', '_GRAPHICS',
+            '_X_WINDOW_SYSTEM', '_MS_WINDOWS', '_WIN32', '_PRESENTATION_MGR', '_ARM_FUNCTIONS',
+            '_DOS_FUNCTIONS'
+            ),
+        8 => array(
+            'line')
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '\\', '%', '=', '<', '>', '!', '^',
+            '&', '|', '?', ':', ';', ',', '.', '~', '@'
+            ),
+        2 => array(
+            '$(', '$)', '$<', '$>'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #b1b100;',
+            3 => 'color: #b1b100;',
+            4 => 'color: #b1b100;',
+            5 => 'color: #b1b100;',
+            6 => 'color: #b1b100;',
+            7 => 'color: #b1b100;',
+            8 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(1 => '.'),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            3 => array(
+                'DISALLOWED_BEFORE' => '(?<=&)'
+                ),
+            4 => array(
+                'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\"\'])"
+                ),
+            6 => array(
+                'DISALLOWED_BEFORE' => '(?<=\$)'
+                ),
+            8 => array(
+                'DISALLOWED_BEFORE' => '(?<=#)'
+                )
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/uscript.php b/application/libraries/geshi/uscript.php
new file mode 100644
index 000000000..e06aa8ca7
--- /dev/null
+++ b/application/libraries/geshi/uscript.php
@@ -0,0 +1,299 @@
+ 'Unreal Script',
+    'COMMENT_SINGLE' => array(
+            1 => '//',
+            2 => '#'
+            ),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(        //declaration keywords
+            'simulated', 'state', 'class', 'function', 'event', 'var', 'local',
+            'ignores', 'globalconfig', 'config', 'abstract', 'nativereplication', 'native',
+            'auto', 'coerce', 'const', 'default',
+            'defaultproperties',
+            'enum', 'extends', 'expands', 'final', 'guid', 'latent', 'localized',
+            'new', 'noexport', 'operator', 'preoperator', 'optional', 'out',
+            'private', 'public', 'protected', 'reliable', 'replication',
+            'singular', 'static', 'struct', 'transient', 'unreliable',
+            'hidedropdown', 'cacheexempt', 'exec', 'delegate', 'import', 'placeable', 'exportstructs'
+            ),
+        2 => array(        //control flow keywords
+            'for', 'while', 'do', 'if', 'else', 'switch', 'case', 'return', 'break', 'continue',
+            'begin', 'loop', 'assert',
+            'foreach', 'AllActors', 'DynamicActors', 'ChildActors', 'BasedActors', 'TouchingActors',
+            'TraceActors', 'RadiusActors', 'VisibleActors', 'CollidingActors', 'VisibleCollidingActors'
+            ),
+        3 => array(        //global (object) functions
+            'log', 'warn', 'rot', 'vect', 'Rand', 'Min', 'Max', 'Clamp', 'Abs', 'Sin', 'ASin',
+            'Cos', 'ACos', 'Tan', 'ATan', 'Exp', 'Loge', 'Sqrt', 'Square', 'FRand', 'FMin', 'FMax', 'FClamp',
+            'Lerp', 'Smerp', 'Ceil', 'Round', 'VSize', 'Normal', 'Invert', 'VRand', 'MirrorVectorByNormal',
+            'GetAxes', 'GetUnAxes', 'RotRand', 'OrthoRotation', 'Normalize', 'ClockwiseFrom',
+            'Len', 'InStr', 'Mid', 'Left', 'Right', 'Caps', 'Chr', 'Asc', 'Locs',
+            'Divide', 'Split', 'StrCmp', 'Repl', 'Eval',
+            'InterpCurveEval', 'InterpCurveGetOutputRange', 'InterpCurveGetInputDomain',
+            'QuatProduct', 'QuatInvert', 'QuatRotateVector', 'QuatFindBetween', 'QuatFromAxisAndAngle',
+            'QuatFromRotator', 'QuatToRotator', 'QuatSlerp',
+            'Localize', 'GotoState', 'IsInState', 'GetStateName',
+            'ClassIsChildOf', 'IsA', 'Enable', 'Disable',
+            'GetPropertyText', 'SetPropertyText', 'GetEnum', 'DynamicLoadObject', 'FindObject',
+            'SaveConfig', 'ClearConfig', 'StaticSaveConfig', 'ResetConfig', 'StaticClearConfig',
+            'GetPerObjectNames', 'RandRange', 'StopWatch', 'IsOnConsole', 'IsSoaking',
+            'PlatformIsMacOS', 'PlatformIsUnix', 'PlatformIsWindows', 'PlatformIs64Bit',
+            'BeginState', 'EndState', 'Created', 'AllObjects', 'GetReferencers', 'GetItemName',
+            'ReplaceText', 'EatStr'
+            ),
+        4 => array(        //common almost-global (actor) functions
+            'ClientMessage', 'ConsoleCommand', 'CopyObjectToClipboard', 'TextToSpeech',
+            'Error', 'Sleep', 'SetCollision', 'SetCollisionSize', 'SetDrawScale', 'SetDrawScale3D',
+            'SetStaticMesh', 'SetDrawType', 'Move', 'SetLocation', 'SetRotation',
+            'SetRelativeLocation', 'SetRelativeRotation', 'MoveSmooth', 'AutonomousPhysics',
+            'SetBase', 'SetOwner', 'IsJoinedTo', 'GetMeshName', 'PlayAnim', 'LoopAnim', 'TweenAnim',
+            'IsAnimating', 'FinishAnim', 'HasAnim', 'StopAnimating', 'FreezeFrameAt', 'SetAnimFrame',
+            'IsTweening', 'AnimStopLooping', 'AnimEnd', 'LinkSkelAnim', 'LinkMesh', 'BoneRefresh',
+            'GetBoneCoords', 'GetBoneRotation', 'GetRootLocation', 'GetRootRotation', 'AttachToBone',
+            'DetachFromBone', 'SetBoneScale', 'UpdateURL', 'GetURLOption', 'SetPhysics', 'KAddImpulse',
+            'KImpact', 'KApplyForce', 'Clock', 'UnClock', 'Destroyed', 'GainedChild', 'LostChild',
+            'Tick', 'PostNetReceive', 'ClientTrigger', 'Trigger', 'UnTrigger', 'BeginEvent', 'EndEvent',
+            'Timer', 'HitWall', 'Falling', 'Landed', 'ZoneChange', 'PhysicsVolumeChange', 'Touch',
+            'PostTouch', 'UnTouch', 'Bump', 'BaseChange', 'Attach', 'Detach', 'SpecialHandling',
+            'EncroachingOn', 'EncroachedBy', 'RanInto', 'FinishedInterpolation', 'EndedRotation',
+            'UsedBy', 'FellOutOfWorld', 'KilledBy', 'TakeDamage', 'HealDamage', 'Trace', 'FastTrace',
+            'TraceThisActor', 'spawn', 'Destroy', 'TornOff', 'SetTimer', 'PlaySound', 'PlayOwnedSound',
+            'GetSoundDuration', 'MakeNoise', 'BeginPlay', 'GetAllInt', 'RenderOverlays', 'RenderTexture',
+            'PreBeginPlay', 'PostBeginPlay', 'PostNetBeginPlay', 'HurtRadius', 'Reset', 'Crash'
+            ),
+        5 => array(        //data types
+            'none', 'null',
+            'float', 'int', 'bool', 'byte', 'char', 'double', 'iterator', 'name', 'string',    //primitive
+            'plane', 'rotator', 'vector', 'spline',    'coords', 'Quat', 'Range', 'RangeVector', //structs
+            'Scale', 'Color', 'Box', 'IntBox', 'FloatBox', 'BoundingVolume', 'Matrix', 'InterpCurvePoint',
+            'InterpCurve', 'CompressedPosition', 'TMultiMap', 'PointRegion',
+            'KRigidBodyState', 'KSimParams', 'AnimRep', 'FireProperties',
+            'lodmesh', 'skeletalmesh', 'mesh', 'StaticMesh', 'MeshInstance',    //3d resources
+            'sound',    //sound resources
+            'material', 'texture', 'combiner', 'modifier', 'ColorModifier', 'FinalBlend',    //2d resources
+            'MaterialSequence', 'MaterialSwitch', 'OpacityModifier', 'TexModifier', 'TexEnvMap',
+            'TexCoordSource', 'TexMatrix', 'TexOscillator', 'TexPanner', 'TexRotator', 'TexScaler',
+            'RenderedMaterial', 'BitmapMaterial', 'ScriptedTexture', 'ShadowBitmapMaterial', 'Cubemap',
+            'FractalTexture', 'FireTexture', 'IceTexture', 'WaterTexture', 'FluidTexture', 'WaveTexture',
+            'WetTexture', 'ConstantMaterial', 'ConstantColor', 'FadeColor', 'ParticleMaterial',
+            'ProjectorMaterial', 'Shader', 'TerrainMaterial', 'VertexColor'
+            ),
+        6 => array(        //misc keywords
+            'false', 'true', 'self', 'super', 'MaxInt', 'Pi'
+            ),
+        7 => array(        //common actor enums & variables
+            'DT_None', 'DT_Sprite', 'DT_Mesh', 'DT_Brush', 'DT_RopeSprite',
+            'DT_VerticalSprite', 'DT_TerraForm', 'DT_SpriteAnimOnce', 'DT_StaticMesh', 'DT_DrawType',
+            'DT_Particle', 'DT_AntiPortal', 'DT_FluidSurface',
+            'PHYS_None', 'PHYS_Walking', 'PHYS_Falling', 'PHYS_Swimming', 'PHYS_Flying',
+            'PHYS_Rotating', 'PHYS_Projectile', 'PHYS_Interpolating', 'PHYS_MovingBrush', 'PHYS_Spider',
+            'PHYS_Trailer', 'PHYS_Ladder', 'PHYS_RootMotion', 'PHYS_Karma', 'PHYS_KarmaRagDoll',
+            'PHYS_Hovering', 'PHYS_CinMotion',
+            'ROLE_None', 'ROLE_DumbProxy', 'ROLE_SimulatedProxy',
+            'ROLE_AutonomousProxy', 'ROLE_Authority',
+            'STY_None', 'STY_Normal', 'STY_Masked', 'STY_Translucent', 'STY_Modulated', 'STY_Alpha',
+            'STY_Additive', 'STY_Subtractive', 'STY_Particle', 'STY_AlphaZ',
+            'OCCLUSION_None', 'OCCLUSION_BSP', 'OCCLUSION_Default', 'OCCLUSION_StaticMeshes',
+            'SLOT_None', 'SLOT_Misc', 'SLOT_Pain', 'SLOT_Interact', 'SLOT_Ambient', 'SLOT_Talk',
+            'SLOT_Interface', 'MTRAN_None', 'MTRAN_Instant', 'MTRAN_Segue', 'MTRAN_Fade',
+            'MTRAN_FastFade', 'MTRAN_SlowFade',
+
+            'DrawType', 'Physics', 'Owner', 'Base', 'Level', 'Game', 'Instigator', 'RemoteRole', 'Role',
+            'LifeSpan', 'Tag', 'Event', 'Location', 'Rotation', 'Velocity', 'Acceleration',
+            'RelativeLocation', 'RelativeRotation', 'DrawScale', 'DrawScale3D', 'Skins', 'Style',
+            'SoundVolume', 'SoundPitch', 'SoundRadius', 'TransientSoundVolume', 'TransientSoundRadius',
+            'CollisionRadius', 'CollisionHeight', 'Mass', 'Buoyancy', 'RotationRate', 'DesiredRotation'
+            ),
+        8 => array(        //common non-actor uscript classes
+            'Object',
+            'CacheManager', 'CameraEffect', 'Canvas', 'CheatManager', 'Commandlet', 'DecoText', 'GUI',
+            'InteractionMaster', 'Interactions', 'Interaction', 'KarmaParamsCollision', 'KarmaParamsRBFull',
+            'KarmaParamsSkel', 'KarmaParams', 'LevelSummary', 'Locale', 'Manifest', 'MaterialFactory',
+            'MeshObject', 'ObjectPool', 'Pallete',
+            'ParticleEmitter', 'MeshEmitter', 'BeamEmitter', 'SpriteEmitter', 'SparkEmitter', 'TrailEmitter',
+            'Player', 'PlayerInput', 'PlayInfo', 'ReachSpec', 'Resource', 'LatentScriptedAction', 'ScriptedAction',
+            'speciesType', 'StreamBase', 'Stream', 'EditorEngine', 'Engine', 'Time', 'WeaponFire',
+            'WebApplication', 'WebRequest', 'WebResponse', 'WebSkin', 'xPawnGibGroup', 'xPawnSoundGroup',
+            'xUtil'
+            ),
+        9 => array(        //common actor-based uscript classes
+            'Actor',
+            'Controller', 'AIController', 'ScriptedController', 'Bot', 'xBot',
+            'PlayerController', 'UnrealPlayer', 'xPlayer',
+            'DamageType', 'WeaponDamageType', 'Effects', 'Emitter', 'NetworkEmitter',
+            'Gib', 'HUD', 'HudBase', 'Info', 'FluidSurfaceInfo', 'Combo',
+            'GameInfo', 'UnrealMPGameInfo', 'DeathMatch', 'TeamGame', 'CTFGame',
+            'xCTFGame', 'xBombingRun', 'xDoubleDom', 'xTeamGame',
+            'ASGameInfo', 'Invasion', 'ONSOnslaughtGame', 'xDeathmatch',
+            'Mutator', 'Inventory', 'Ammunition', 'KeyInventory', 'Powerups', 'Armor', 'Weapon',
+            'InventoryAttachment', 'WeaponAttachment',
+            'KActor', 'KConstraint', 'KBSJoint', 'KCarWheelJoint', 'KConeLimit', 'KHinge', 'KTire',
+            'KVehicleFactory', 'Keypoint', 'AIScript', 'ScriptedSequence', 'ScriptedTrigger',
+            'AmbientSound', 'Light', 'SpotLight', 'SunLight', 'TriggerLight',
+            'MeshEffect', 'NavigationPoint', 'GameObjective', 'DestroyableObjective',
+            'PathNode', 'FlyingPathNode', 'RoadPathNode', 'InventorySpot', 'PlayerStart',
+            'Pawn', 'Vehicle', 'UnrealPawn', 'xPawn', 'Monster', 'ASVehicle', 'KVehicle', 'KCar',
+            'ONSWeaponPawn', 'SVehicle', 'ONSVehicle', 'ONSChopperCraft', 'ONSHoverCraft',
+            'ONSPlaneCraft', 'ONSTreadCraft', 'ONSWheeledCraft',
+            'Pickup', 'Ammo', 'UTAmmoPickup', 'ArmorPickup', 'KeyPickup', 'TournamentPickup',
+            'Projectile', 'Projector', 'DynamicProjector', 'ShadowProjector', 'xScorch',
+            'xEmitter', 'xPickupBase', 'xProcMesh', 'xWeatherEffect', 'PhysicsVolume', 'Volume'
+            ),
+        10 => array(    //symbol-like operators
+            'dot','cross'
+            )
+        ),
+    'SYMBOLS' => array(
+        '+','-','=','/','*','-','%','>','<','&','^','!','|','`','(',')','[',']','{','}',
+        '<<','>>','$','@'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false,
+        7 => false,
+        8 => false,
+        9 => false,
+        10 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;',
+            3 => 'color: #0066AA;',
+            4 => 'color: #0088FF;',
+            5 => 'color: #E000E0;',
+            6 => 'color: #900000;',
+            7 => 'color: #888800;',
+            8 => 'color: #AA6600;',
+            9 => 'color: #FF8800;',
+            10 => 'color: #0000FF;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+            2 => 'color: #000000; font-weight: bold;',
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => ''
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #999999;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #669966;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #E000E0;',
+            1 => 'color: #E000E0;'
+            ),
+        'SCRIPT' => array(
+            0 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => 'http://wiki.beyondunreal.com/wiki?search={FNAME}',
+        9 => 'http://wiki.beyondunreal.com/wiki?search={FNAME}',
+        10 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array('.'),
+    'REGEXPS' => array(            //handle template-style variable definitions
+        0 => array(
+            GESHI_SEARCH => '(class\s*)<(\s*(\w+)\s*)>',
+            GESHI_REPLACE => "\${1}",
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => "< \${3} >"
+            ),
+        1 => array(
+            GESHI_SEARCH => '(array\s*)<(\s*(\w+)\s*)>',
+            GESHI_REPLACE => "\${1}",
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => "< \${3} >"
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            10 => array(
+                'DISALLOWED_BEFORE' => '(?)'
+                )
+            )
+        )
+);
+
+?>
diff --git a/application/libraries/geshi/vala.php b/application/libraries/geshi/vala.php
new file mode 100644
index 000000000..a9d6b0745
--- /dev/null
+++ b/application/libraries/geshi/vala.php
@@ -0,0 +1,151 @@
+ 'Vala',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //Using and Namespace directives (basic support)
+        //Please note that the alias syntax for using is not supported
+        3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'HARDQUOTE' => array('"""'),
+    'HARDESCAPE' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'as', 'abstract', 'base', 'break', 'case', 'catch', 'const',
+            'construct', 'continue', 'default', 'delete', 'dynamic', 'do',
+            'else', 'ensures', 'extern', 'false', 'finally', 'for', 'foreach',
+            'get', 'if', 'in', 'inline', 'internal', 'lock', 'namespace',
+            'null', 'out', 'override', 'private', 'protected', 'public', 'ref',
+            'requires', 'return', 'set', 'static', 'switch', 'this', 'throw',
+            'throws', 'true', 'try', 'using', 'value', 'var', 'virtual',
+            'volatile', 'void', 'yield', 'yields', 'while'
+            ),
+        2 => array(
+            '#elif', '#endif', '#else', '#if'
+            ),
+        3 => array(
+            'is', 'new', 'owned', 'sizeof', 'typeof', 'unchecked', 'unowned', 'weak'
+            ),
+        4 => array(
+            'bool', 'char', 'class', 'delegate', 'double', 'enum',
+            'errordomain', 'float', 'int', 'int8', 'int16', 'int32', 'int64',
+            'interface', 'long', 'short', 'signal', 'size_t', 'ssize_t',
+            'string', 'struct', 'uchar', 'uint', 'uint8', 'uint16', 'uint32',
+            'ulong', 'unichar', 'ushort'
+            )
+        ),
+    'SYMBOLS' => array(
+        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';',
+        '(', ')', '{', '}', '[', ']', '|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF;',
+            2 => 'color: #FF8000; font-weight: bold;',
+            3 => 'color: #008000;',
+            4 => 'color: #FF0000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+            3 => 'color: #008080;',
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080; font-weight: bold;',
+            'HARD' => 'color: #008080; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #666666;',
+            'HARD' => 'color: #666666;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?|^])",
+            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
+        )
+    )
+);
+
+?>
diff --git a/application/libraries/geshi/vb.php b/application/libraries/geshi/vb.php
index 9849b3e86..dd6545eb5 100644
--- a/application/libraries/geshi/vb.php
+++ b/application/libraries/geshi/vb.php
@@ -5,7 +5,7 @@
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org),
  *                     Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/08/30
  *
  * Visual Basic language file for GeSHi.
@@ -57,34 +57,53 @@ $language_data = array (
     'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(
         1 => array(
-            'AddressOf', 'Alias', 'And', 'Append', 'As', 'BF', 'Binary',
-            'Boolean', 'ByRef', 'Byte', 'ByVal', 'Call', 'Case', 'CBool',
-            'CByte', 'CCur', 'CDate', 'CDbl', 'CDec', 'CInt', 'CLng',
-            'Close', 'Collection', 'Const', 'Control', 'CSng', 'CStr',
-            'Currency', 'CVar', 'Date', 'Declare', 'Dim', 'Do', 'Double',
-            'Each', 'Else', 'ElseIf', 'End', 'Enum', 'Erase', 'Error',
-            'Event', 'Exit', 'Explicit', 'False', 'For', 'Friend',
-            'Function', 'Get', 'GoSub', 'Goto', 'If', 'Implements', 'In',
-            'Input', 'Integer', 'Is', 'LBound', 'Let', 'Lib', 'Like',
-            'Line', 'Long', 'Loop', 'Mod', 'New', 'Next', 'Not',
-            'Nothing', 'Object', 'On', 'Open', 'Option', 'Optional',
-            'Or', 'Output', 'ParamArray', 'Preserve', 'Print', 'Private',
-            'Property', 'Public', 'RaiseEvent', 'Random', 'ReDim',
-            'Resume', 'Select', 'Set', 'Single', 'Static', 'Step',
-            'Stop', 'String', 'Sub', 'Then', 'To', 'True', 'Type',
-            'TypeOf', 'UBound', 'Until', 'Variant', 'While', 'With',
-            'WithEvents', 'Xor'
-            )
+            'Binary', 'Boolean', 'Byte', 'Currency', 'Date', 'Decimal', 'Double',
+            'String', 'Enum', 'Integer', 'Long', 'Object', 'Single', 'Variant'
+            ),
+        2 => array(
+            'CreateObject', 'GetObject', 'New', 'Option', 'Function',
+            'Call', 'Private', 'Public', 'Sub', 'Explicit', 'Compare', 'Exit'
+            ),
+        3 => array(
+            'And', 'Case', 'Do', 'Each', 'Else', 'ElseIf', 'For',
+            'Goto', 'If', 'Is', 'Loop', 'Next', 'Not', 'Or', 'Select', 'Step',
+            'Then', 'To', 'Until', 'While', 'With', 'Xor', 'WithEvents',
+            'DoEvents', 'Close', 'Like', 'In', 'End'
+            ),
+        4 => array(
+            'As', 'Dim', 'Get', 'Set', 'ReDim', 'Error',
+            'Resume', 'Declare', 'Let', 'ByRef', 'ByVal',
+            'Optional', 'Property', 'Control', 'UBound', 'Mod',
+            'GoSub', 'Implements', 'Input', 'LBound', 'Static', 'Stop',
+            'Type', 'TypeOf', 'On', 'Open', 'Output', 'ParamArray',
+            'Preserve', 'Print', 'RaiseEvent', 'Random', 'Line'
+            ),
+        5 => array(
+            'Nothing', 'False', 'True', 'Null', 'Empty'
+            ),
+        6 => array(
+            'ErrorHandler','ExitProc', 'PublishReport'
+            ),
         ),
     'SYMBOLS' => array(
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
-        1 => false
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false
         ),
     'STYLES' => array(
         'KEYWORDS' => array(
-            1 => 'color: #000080;'
+            1 => 'color: #F660AB; font-weight: bold;',
+            2 => 'color: #E56717; font-weight: bold;',
+            3 => 'color: #8D38C9; font-weight: bold;',
+            4 => 'color: #151B8D; font-weight: bold;',
+            5 => 'color: #00C2FF; font-weight: bold;',
+            6 => 'color: #3EA99F; font-weight: bold;'
             ),
         'COMMENTS' => array(
             1 => 'color: #008000;'
@@ -109,7 +128,12 @@ $language_data = array (
             )
         ),
     'URLS' => array(
-        1 => ''
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => ''
         ),
     'OOLANG' => false,
     'OBJECT_SPLITTERS' => array(
diff --git a/application/libraries/geshi/vbnet.php b/application/libraries/geshi/vbnet.php
index 683b744f9..563bb993a 100644
--- a/application/libraries/geshi/vbnet.php
+++ b/application/libraries/geshi/vbnet.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/06/04
  *
  * VB.NET language file for GeSHi.
diff --git a/application/libraries/geshi/verilog.php b/application/libraries/geshi/verilog.php
index 6fc469487..9e4211eb9 100644
--- a/application/libraries/geshi/verilog.php
+++ b/application/libraries/geshi/verilog.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: G�nter Dannoritzer 
  * Copyright: (C) 2008 Guenter Dannoritzer
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/05/28
  *
  * Verilog language file for GeSHi.
diff --git a/application/libraries/geshi/vhdl.php b/application/libraries/geshi/vhdl.php
index ea93cf87b..f6ce941d4 100644
--- a/application/libraries/geshi/vhdl.php
+++ b/application/libraries/geshi/vhdl.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Alexander 'E-Razor' Krause (admin@erazor-zone.de)
  * Copyright: (c) 2005 Alexander Krause
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2005/06/15
  *
  * VHDL (VHSICADL, very high speed integrated circuit HDL) language file for GeSHi.
diff --git a/application/libraries/geshi/vim.php b/application/libraries/geshi/vim.php
index a95dc244c..68abc272e 100644
--- a/application/libraries/geshi/vim.php
+++ b/application/libraries/geshi/vim.php
@@ -1,5 +1,4 @@
  'Vim Script',
     'COMMENT_SINGLE' => array(),
     'COMMENT_REGEXP' => array(
-        1 => "/^\s*\"[^\"]*?$/m"
+        1 => "/\s*\"[^\"]*?$/m",
+        //Regular expressions (Ported from perl.php)
+//        2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
         ),
     'COMMENT_MULTI' => array(),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
@@ -65,12 +66,12 @@ $language_data = array(
         1 => array(
             'au', 'augroup', 'autocmd', 'brea', 'break', 'bufadd',
             'bufcreate', 'bufdelete', 'bufenter', 'buffilepost',
-            'buffilepre', 'bufhidden', 'bufleave', 'bufnew', 'bufnewfile',
+            'buffilepre', 'bufleave', 'bufnew', 'bufnewfile',
             'bufread', 'bufreadcmd', 'bufreadpost', 'bufreadpre',
             'bufunload', 'bufwinenter', 'bufwinleave', 'bufwipeout',
             'bufwrite', 'bufwritecmd', 'bufwritepost', 'bufwritepre',
             'call', 'cat', 'catc', 'catch', 'cmd-event', 'cmdwinenter',
-            'cmdwinleave', 'colorscheme', 'con', 'cont', 'conti',
+            'cmdwinleave', 'colorscheme', 'con', 'confirm', 'cont', 'conti',
             'contin', 'continu', 'continue', 'cursorhold', 'cursorholdi',
             'cursormoved', 'cursormovedi', 'ec', 'echo', 'echoe',
             'echoer', 'echoerr', 'echoh', 'echohl', 'echom', 'echoms',
@@ -80,7 +81,7 @@ $language_data = array(
             'endwhil', 'endwhile', 'exe', 'exec', 'execu', 'execut',
             'execute', 'fileappendcmd', 'fileappendpost', 'fileappendpre',
             'filechangedro', 'filechangedshell', 'filechangedshellpost',
-            'fileencoding', 'filereadcmd', 'filereadpost', 'filereadpre',
+            'filereadcmd', 'filereadpost', 'filereadpre',
             'filetype', 'filewritecmd', 'filewritepost', 'filewritepre',
             'filterreadpost', 'filterreadpre', 'filterwritepost',
             'filterwritepre', 'fina', 'final', 'finall', 'finally',
@@ -94,7 +95,7 @@ $language_data = array(
             'shellcmdpost', 'shellfilterpost', 'sourcecmd', 'sourcepre',
             'spellfilemissing', 'stdinreadpost', 'stdinreadpre',
             'swapexists', 'syntax', 'tabenter', 'tableave', 'termchanged',
-            'termresponse', 'th', 'thr', 'thro', 'throw', 'try', 'unl',
+            'termresponse', 'th', 'thr', 'thro', 'throw', 'tr', 'try', 'unl',
             'unle', 'unlet', 'unlo', 'unloc', 'unlock', 'unlockv',
             'unlockva', 'unlockvar', 'user', 'usergettingbored',
             'vimenter', 'vimleave', 'vimleavepre', 'vimresized', 'wh',
@@ -116,17 +117,17 @@ $language_data = array(
             'bdir', 'bdlay', 'beval', 'bex', 'bexpr', 'bg',
             'bh', 'bin', 'binary', 'biosk', 'bioskey',
             'bk', 'bkc', 'bl', 'bomb', 'breakat', 'brk',
-            'browsedir', 'bs', 'bsdir', 'bsk', 'bt', 'bufhidden',
-            'buflisted', 'buftype', 'casemap', 'cb',
+            'bs', 'bsdir', 'bsk', 'bt', 'bufhidden',
+            'buftype', 'casemap', 'cb',
             'ccv', 'cd', 'cdpath', 'cedit', 'cf', 'cfu', 'ch',
-            'charconvert', 'ci', 'cin', 'cindent', 'cink',
+            'charconvert', 'ci', 'cin', 'cink',
             'cinkeys', 'cino', 'cinoptions', 'cinw', 'cinwords',
             'clipboard', 'cmdheight', 'cmdwinheight',
             'cmp', 'cms', 'co', 'columns', 'com',
             'comc', 'comcl', 'comcle', 'comclea', 'comclear', 'comm',
             'comma', 'comman', 'command', 'comments', 'commentstring',
-            'compatible', 'complete', 'completefunc', 'completeopt',
-            'confirm', 'consk', 'conskey', 'copyindent',
+            'compatible', 'completefunc', 'completeopt',
+            'consk', 'conskey', 'copyindent',
             'cot', 'cp', 'cpo', 'cpoptions', 'cpt',
             'cscopepathcomp', 'cscopeprg', 'cscopequickfix', 'cscopetag',
             'cscopetagorder', 'cscopeverbose',
@@ -138,19 +139,18 @@ $language_data = array(
             'diffopt', 'digraph', 'dip', 'dir', 'directory', 'display',
             'dlcomma', 'dy', 'ea', 'ead', 'eadirection',
             'eb', 'ed', 'edcompatible', 'ef', 'efm',
-            'ei', 'ek', 'enc', 'encoding', 'endofline',
+            'ei', 'ek', 'enc', 'encoding', 'endfun', 'endofline',
             'eol', 'ep', 'equalalways', 'equalprg', 'errorbells',
             'errorfile', 'errorformat', 'esckeys', 'et',
             'eventignore', 'ex', 'expandtab', 'exrc', 'fcl',
             'fcs', 'fdc', 'fde', 'fdi', 'fdl', 'fdls', 'fdm',
             'fdn', 'fdo', 'fdt', 'fen', 'fenc', 'fencs', 'fex',
             'ff', 'ffs', 'fileencoding', 'fileencodings', 'fileformat',
-            'fileformats', 'filetype', 'fillchars', 'fk',
+            'fileformats', /*'filetype',*/ 'fillchars', 'fk',
             'fkmap', 'flp', 'fml', 'fmr', 'fo', 'foldclose',
             'foldcolumn', 'foldenable', 'foldexpr', 'foldignore',
-            'foldlevel', 'foldlevelstart', 'foldmarker',
-            'foldmethod', 'foldminlines', 'foldnestmax', 'foldopen',
-            'foldtext', 'formatexpr', 'formatlistpat',
+            'foldlevelstart', 'foldmarker', 'foldmethod', 'foldminlines',
+            'foldnestmax', 'foldopen', 'formatexpr', 'formatlistpat',
             'formatoptions', 'formatprg', 'fp', 'fs', 'fsync', 'ft',
             'gcr', 'gd', 'gdefault', 'gfm', 'gfn', 'gfs', 'gfw',
             'ghr', 'go', 'gp', 'grepformat', 'grepprg', 'gtl',
@@ -255,13 +255,13 @@ $language_data = array(
             'sidescrolloff', 'siso', 'sj', 'slm', 'sm', 'smartcase',
             'smartindent', 'smarttab', 'smc', 'smd', 'sn',
             'so', 'softtabstop', 'sol', 'sp', 'spc', 'spell',
-            'spellcapcheck', 'spellfile', 'spelllang', 'spellsuggest',
+            'spellcapcheck', 'spellfile', 'spelllang',
             'spf', 'spl', 'splitbelow', 'splitright', 'spr',
             'sps', 'sr', 'srr', 'ss', 'ssl', 'ssop', 'st', 'sta',
             'stal', 'startofline', 'statusline', 'stl', 'stmp',
             'sts', 'su', 'sua', 'suffixes', 'suffixesadd', 'sw',
             'swapfile', 'swapsync', 'swb', 'swf', 'switchbuf',
-            'sws', 'sxq', 'syn', 'synmaxcol', 'syntax', 'ta',
+            'sws', 'sxq', 'syn', 'synmaxcol', 'ta',
             'tabline', 'tabpagemax', 'tabstop', 'tag',
             'tagbsearch', 'taglength', 'tagrelative', 'tags', 'tagstack',
             'tal', 'tb', 'tbi', 'tbidi', 'tbis', 'tbs',
@@ -270,7 +270,7 @@ $language_data = array(
             'thesaurus', 'tildeop', 'timeout', 'timeoutlen',
             'title', 'titlelen', 'titleold', 'titlestring',
             'tl', 'tm', 'to', 'toolbar', 'toolbariconsize', 'top',
-            'tpm', 'tr', 'ts', 'tsl', 'tsr', 'ttimeout',
+            'tpm', 'ts', 'tsl', 'tsr', 'ttimeout',
             'ttimeoutlen', 'ttm', 'tty', 'ttybuiltin', 'ttyfast', 'ttym',
             'ttymouse', 'ttyscroll', 'ttytype', 'tw', 'tx', 'uc',
             'ul', 'undolevels', 'updatecount', 'updatetime', 'ut',
@@ -278,7 +278,7 @@ $language_data = array(
             'vfile', 'vi', 'viewdir', 'viewoptions', 'viminfo',
             'virtualedit', 'visualbell', 'vop', 'wa', 'wak',
             'warn', 'wb', 'wc', 'wcm', 'wd', 'weirdinvert', 'wfh',
-            'wfw', 'wh', 'whichwrap', 'wi', 'wig', 'wildchar',
+            'wfw', /*'wh',*/ 'whichwrap', 'wi', 'wig', 'wildchar',
             'wildcharm', 'wildignore', 'wildmenu',
             'wildmode', 'wildoptions', 'wim', 'winaltkeys', 'window',
             'winfixheight', 'winfixwidth', 'winheight',
@@ -315,7 +315,7 @@ $language_data = array(
             'bufexists', 'buflisted', 'bufloaded', 'bufname', 'bufnr',
             'bufwinnr', 'byte2line', 'byteidx', 'ceil', 'changenr',
             'char2nr', 'cindent', 'clearmatches', 'col', 'complete',
-            'complete_add', 'complete_check', 'confirm', 'copy',
+            'complete_add', 'complete_check', 'copy',
             'cos', 'count', 'cscope_connection', 'cursor', 'deepcopy',
             'delete', 'did_filetype', 'diff_filler', 'diff_hlID',
             'empty', 'escape', 'eval', 'eventhandler', 'executable',
@@ -354,10 +354,10 @@ $language_data = array(
             'strridx', 'strtrans', 'submatch', 'substitute',
             'synID', 'synIDattr', 'synIDtrans', 'synstack', 'system',
             'tabpagebuflist', 'tabpagenr', 'tabpagewinnr', 'tagfiles',
-            'taglist', 'tempname', 'tolower', 'toupper', 'tr', 'trunc',
+            'taglist', 'tempname', 'tolower', 'toupper', 'trunc',
             'type', 'values', 'virtcol', 'visualmode', 'winbufnr',
-            'wincol', 'winheight', 'winline', 'winnr', 'winrestcmd',
-            'winrestview', 'winsaveview', 'winwidth', 'writefile'
+            'wincol', 'winline', 'winnr', 'winrestcmd',
+            'winrestview', 'winsaveview', 'writefile'
             )
         ),
     'SYMBOLS' => array(
@@ -375,7 +375,8 @@ $language_data = array(
             0 => 'color: #000000;'
             ),
         'COMMENTS' => array(
-            1 => 'color: #adadad; font-style: italic;'
+            1 => 'color: #adadad; font-style: italic;',
+//            2 => 'color: #009966; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
             0 => ''
@@ -416,4 +417,4 @@ $language_data = array(
     'HIGHLIGHT_STRICT_BLOCK' => array()
 );
 
-?>
\ No newline at end of file
+?>
diff --git a/application/libraries/geshi/visualfoxpro.php b/application/libraries/geshi/visualfoxpro.php
index 4d9f649ce..322f34bae 100644
--- a/application/libraries/geshi/visualfoxpro.php
+++ b/application/libraries/geshi/visualfoxpro.php
@@ -4,7 +4,7 @@
  * ----------------
  * Author: Roberto Armellin (r.armellin@tin.it)
  * Copyright: (c) 2004 Roberto Armellin, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/09/17
  *
  * Visual FoxPro language file for GeSHi.
diff --git a/application/libraries/geshi/visualprolog.php b/application/libraries/geshi/visualprolog.php
index 5c9bbd4d0..a51466dcd 100644
--- a/application/libraries/geshi/visualprolog.php
+++ b/application/libraries/geshi/visualprolog.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Thomas Linder Puls (puls@pdc.dk)
  * Copyright: (c) 2008 Thomas Linder Puls (puls@pdc.dk)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/11/20
  *
  * Visual Prolog language file for GeSHi.
diff --git a/application/libraries/geshi/whitespace.php b/application/libraries/geshi/whitespace.php
index a27a7b920..3e19b60ce 100644
--- a/application/libraries/geshi/whitespace.php
+++ b/application/libraries/geshi/whitespace.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2009/10/31
  *
  * Whitespace language file for GeSHi.
diff --git a/application/libraries/geshi/whois.php b/application/libraries/geshi/whois.php
index 019e91450..ae851cd08 100644
--- a/application/libraries/geshi/whois.php
+++ b/application/libraries/geshi/whois.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/09/14
  *
  * Whois response (RPSL format) language file for GeSHi.
diff --git a/application/libraries/geshi/winbatch.php b/application/libraries/geshi/winbatch.php
index 5b5dcc1df..d27fe070f 100644
--- a/application/libraries/geshi/winbatch.php
+++ b/application/libraries/geshi/winbatch.php
@@ -4,7 +4,7 @@
  * ------------
  * Author: Craig Storey (storey.craig@gmail.com)
  * Copyright: (c) 2004 Craig Storey (craig.xcottawa.ca)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2006/05/19
  *
  * WinBatch language file for GeSHi.
diff --git a/application/libraries/geshi/xbasic.php b/application/libraries/geshi/xbasic.php
new file mode 100644
index 000000000..94a2debf1
--- /dev/null
+++ b/application/libraries/geshi/xbasic.php
@@ -0,0 +1,143 @@
+ 'XBasic',
+    'COMMENT_SINGLE' => array(1 => "'"),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'WHILE', 'UNTIL', 'TRUE', 'TO', 'THEN', 'SUB', 'STOP', 'STEP',
+            'SELECT', 'RETURN', 'PROGRAM', 'NEXT', 'LOOP', 'IFZ',
+            'IFT', 'IFF', 'IF', 'GOTO', 'GOSUB', 'FOR', 'FALSE', 'EXIT',
+            'ENDIF', 'END', 'ELSE', 'DO', 'CASE', 'ALL'
+            ),
+        2 => array(
+            'XMAKE', 'XLONGAT', 'XLONG', 'WRITE', 'VOID', 'VERSION$', 'VERSION',
+            'USHORTAT', 'USHORT', 'UNION', 'ULONGAT', 'ULONG', 'UCASE$',
+            'UBYTEAT', 'UBYTE', 'UBOUND', 'TYPE','TRIM$', 'TAB', 'SWAP',
+            'SUBADDRESS', 'SUBADDR', 'STUFF$', 'STRING', 'STRING$', 'STR$',
+            'STATIC', 'SSHORTAT', 'SSHORT', 'SPACE$', 'SMAKE', 'SLONGAT', 'SLONG',
+            'SIZE', 'SINGLEAT', 'SINGLE', 'SIGNED$', 'SIGN', 'SHELL', 'SHARED',
+            'SGN', 'SFUNCTION', 'SET', 'SEEK', 'SCOMPLEX', 'SBYTEAT', 'SBYTE',
+            'RTRIM$', 'ROTATER', 'ROTATEL', 'RJUST$', 'RINSTRI', 'RINSTR',
+            'RINCHRI', 'RINCHR', 'RIGHT$', 'REDIM', 'READ', 'RCLIP$', 'QUIT',
+            'PROGRAM$', 'PRINT', 'POF', 'OPEN', 'OCTO$', 'OCT$', 'NULL$', 'MIN',
+            'MID$', 'MAX', 'MAKE', 'LTRIM$', 'LOF', 'LJUST$', 'LIBRARY', 'LEN',
+            'LEFT$', 'LCLIP$', 'LCASE$', 'INTERNAL', 'INT', 'INSTRI', 'INSTR',
+            'INLINE$', 'INFILE$', 'INCHRI', 'INCHR', 'INC', 'IMPORT', 'HIGH1',
+            'HIGH0', 'HEXX$', 'HEX$', 'GOADDRESS', 'GOADDR', 'GMAKE', 'GLOW',
+            'GIANTAT', 'GIANT', 'GHIGH', 'FUNCTION', 'FUNCADDRESS', 'FUNCADDR',
+            'FORMAT$', 'FIX', 'EXTU', 'EXTS', 'EXTERNAL', 'ERROR', 'ERROR$',
+            'EOF', 'DOUBLEAT', 'DOUBLE', 'DMAKE', 'DLOW', 'DIM', 'DHIGH',
+            'DECLARE', 'DEC', 'DCOMPLEX', 'CSTRING$', 'CSIZE', 'CSIZE$', 'CLR',
+            'CLOSE', 'CLEAR', 'CJUST$', 'CHR$', 'CFUNCTION', 'BITFIELD', 'BINB$',
+            'BIN$', 'AUTOX', 'AUTOS', 'AUTO', 'ATTACH', 'ASC', 'ABS'
+            ),
+        3 => array(
+            'XOR', 'OR', 'NOT', 'MOD', 'AND'
+            ),
+        4 => array(
+            'TANH', 'TAN', 'SQRT', 'SINH', 'SIN', 'SECH', 'SEC', 'POWER',
+            'LOG10', 'LOG', 'EXP10', 'EXP', 'CSCH', 'CSC', 'COTH', 'COT', 'COSH',
+            'COS', 'ATANH', 'ATAN', 'ASINH', 'ASIN', 'ASECH', 'ASEC', 'ACSCH',
+            'ACSC', 'ACOSH', 'ACOS'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>',
+        '=','+','-'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00a1a1;font-weight: bold',
+            2 => 'color: #000066;font-weight: bold',
+            3 => 'color: #00a166;font-weight: bold',
+            4 => 'color: #0066a1;font-weight: bold'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.xbasic.org',
+        4 => 'http://www.xbasic.org'
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/xml.php b/application/libraries/geshi/xml.php
index 608c99f00..4a420d1b7 100644
--- a/application/libraries/geshi/xml.php
+++ b/application/libraries/geshi/xml.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2004/09/01
  *
  * XML language file for GeSHi. Based on the idea/file by Christian Weiske
diff --git a/application/libraries/geshi/xorg_conf.php b/application/libraries/geshi/xorg_conf.php
index cdb6c36c9..e1fff61b5 100644
--- a/application/libraries/geshi/xorg_conf.php
+++ b/application/libraries/geshi/xorg_conf.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Milian Wolff (mail@milianw.de)
  * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2008/06/18
  *
  * xorg.conf language file for GeSHi.
diff --git a/application/libraries/geshi/xpp.php b/application/libraries/geshi/xpp.php
index 5f009ec8c..d4d7b457d 100644
--- a/application/libraries/geshi/xpp.php
+++ b/application/libraries/geshi/xpp.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Simon Butcher (simon@butcher.name)
  * Copyright: (c) 2007 Simon Butcher (http://simon.butcher.name/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/02/27
  *
  * Axapta/Dynamics Ax X++ language file for GeSHi.
diff --git a/application/libraries/geshi/yaml.php b/application/libraries/geshi/yaml.php
new file mode 100644
index 000000000..1b3ce96f2
--- /dev/null
+++ b/application/libraries/geshi/yaml.php
@@ -0,0 +1,150 @@
+: since PHP offers no variable-width lookbehind,
+ *      these blocks will still be highlighted even when commented out. As it happens,
+ *      any line ending with | or > could result in the unintentional highlighting of
+ *      all remaining lines in the file, just because I couldn't check for this regex
+ *      as a lookbehind:  '/:(\s+)(!!(\w+)(\s+))?/'
+ *      If there is a workaround for that, it needs implemented.
+ *   *  I may be missing some operators. I deliberately omitted inline array notation
+ *      as, in general, it's ugly and tends to conflict with plain-text. Ensuring all
+ *      highlighted list delimiters are not plain text would be as simple as checking
+ *      that they follow a colon directly. Alas, without variable-length lookbehinds,
+ *      if there is a way to do so in GeSHi I am unaware of it.
+ *   *  I kind of whored the comment regexp array. It seemed like a safe bet, so it's
+ *      where I crammed everything. Some of it may need moved elsewhere for neatness.
+ *   *  The !!typename highlight needs not to interfere with ": |" and ": >": Pairing
+ *      key: !!type | value is perfectly legal, but again due to lookbehind issues, I
+ *      can't add a case for that. Also, it is likely that multiple spaces can be put
+ *      between the colon and pipe symbol, which would also break it.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify it
+ *   under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'YAML',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    //Keys
+    'COMMENT_REGEXP' => array( // ENTRY ZERO  SHOULD CHECK FOR (\n(\s*)([^#%]+?):(\s+)(!!(\w+)(\s+))?) AS A LOOKBEHIND, BUT IT CAN'T.
+        0 => '/(?<=\s[\|>]\n)(\s+)(.*)((?=[\n$])(([\n^](\1(.*)|(?=[\n$])))*)|$)/', // Pipe blocks and > blocks.
+        1 => '/#(.*)/', // Blue # comments
+        2 => '/%(.*)/', // Red % comments
+        3 => '/(^|\n)([^#%^\n]+?)(?=: )/',  // Key-value names
+        4 => '/(^|\n)([^#%^\n]+?)(?=:\n)/',// Key-group names
+        5 => '/(?<=^---)(\s*)!(\S+)/',    // Comments after ---
+        6 => '/(?<=: )(\s*)\&(\S+)/',    // References
+        7 => '/(?<=: )(\s*)\*(\S+)/',   // Dereferences
+        8 => '/!!(\w+)/',              // Types
+        //9 => '/(?<=\n)(\s*)-(?!-)/',       // List items: This needs to search within comments 3 and 4, but I don't know how.
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'all','any','none', "yes", "no"
+            ),
+        ),
+    'SYMBOLS' => array(
+        1 => array('---', '...'),
+        2 => array(': ', ">\n", "|\n", '<<:', ":\n") // It'd be nice if I could specify that the colon must
+        //                                              follow comment 3 or 4 to be considered, and the > and |
+        //                                              must follow such a colon.
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            0 => 'color: #303050;background-color: #F5F5F5',
+            1 => 'color: blue;',
+            2 => 'font-weight: bold; color: red;',
+            3 => 'color: green;',
+            4 => 'color: #007F45;',
+            5 => 'color: #7f7fFF;',
+            6 => 'color: #FF7000;',
+            7 => 'color: #FF45C0;',
+            8 => 'font-weight: bold; color: #005F5F;',
+            //9 => 'font-weight: bold; color: #000000;',
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            ),
+        'STRINGS' => array(
+            0 => 'color: #CF00CF;'
+            ),
+        'NUMBERS' => array(
+            // 0 => 'color: #33f;' // Don't highlight numbers, really...
+            ),
+        'METHODS' => array(
+            1 => '',
+            2 => ''
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: cyan;',
+            2 => 'font-weight: bold; color: brown;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => ''
+            )
+        ),
+    'URLS' => array(1 => ''),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array( ),
+    'REGEXPS' => array( ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array( ),
+    'HIGHLIGHT_STRICT_BLOCK' => array( )
+);
+
+?>
\ No newline at end of file
diff --git a/application/libraries/geshi/z80.php b/application/libraries/geshi/z80.php
index b41e80c74..cb92e9692 100644
--- a/application/libraries/geshi/z80.php
+++ b/application/libraries/geshi/z80.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Benny Baumann (BenBE@omorphia.de)
  * Copyright: (c) 2007-2008 Benny Baumann (http://www.omorphia.de/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.10
  * Date Started: 2007/02/06
  *
  * ZiLOG Z80 Assembler language file for GeSHi.
diff --git a/application/libraries/geshi/zxbasic.php b/application/libraries/geshi/zxbasic.php
new file mode 100644
index 000000000..b32b8950a
--- /dev/null
+++ b/application/libraries/geshi/zxbasic.php
@@ -0,0 +1,150 @@
+ 'ZXBasic',
+    'COMMENT_SINGLE' => array(
+        1 => "'",
+        2 => '#',
+        3 => 'REM'
+        ),
+    'COMMENT_MULTI' => array("/'" => "'/"),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER, //GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            "ASM", "BEEP", "BOLD", "BORDER", "BRIGHT", "ByRef", "ByVal", "CAST",
+            "CIRCLE", "CLS", "CONST", "CONTINUE", "DECLARE", "DIM", "DO",
+            "DRAW", "ELSE", "ELSEIF", "END", "EXIT", "FastCall", "FLASH", "FOR",
+            "FUNCTION", "GOTO", "GOSUB", "GO", "IF", "INK", "INVERSE", "ITALIC",
+            "LET", "LOAD", "LOOP", "NEXT", "OVER", "PAPER", "PAUSE", "PI",
+            "PLOT", "POKE", "PRINT", "RANDOMIZE", "REM", "RETURN", "SAVE",
+            "StdCall", "Sub", "THEN", "TO", "UNTIL", "VERIFY", "WEND", "WHILE",
+            ),
+
+        // types
+        2 => array(
+            'byte', 'ubyte', 'integer', 'uinteger', 'long', 'ulong', 'fixed',
+            'float', 'string'
+            ),
+
+        // Functions
+        3 => array(
+            "ABS", "ACS", "ASN", "ATN", "CHR", "CODE", "COS", "CSRLIN", "EXP",
+            "HEX", "HEX16", "INKEY", "INT", "LEN", "LN", "PEEK", "POS", "RND",
+            "SCREEN$", "SGN", "SIN", "SQR", "STR", "TAN", "VAL",
+            ),
+
+        // Operators and modifiers
+        4 => array(
+            "AT", "AS", "AND", "MOD", "NOT", "OR", "SHL", "SHR", "STEP", "XOR"
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000080; font-weight: bold;', // Commands
+            2 => 'color: #800080; font-weight: bold;', // Types
+            3 => 'color: #006000; font-weight: bold;', // Functions
+            4 => 'color: #801010; font-weight: bold;'  // Operators and Modifiers
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #339933;',
+            3 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'BRACKETS' => array(
+            //0 => 'color: #66cc66;'
+            0 => 'color: #007676;'
+            ),
+        'STRINGS' => array(
+            //0 => 'color: #ff0000;'
+            0 => 'color: #A00000; font-style: italic;'
+            ),
+        'NUMBERS' => array(
+            //0 => 'color: #cc66cc;'
+            0 => 'color: #b05103;'// font-weight: bold;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
\ No newline at end of file
-- 
cgit v1.2.3-24-g4f1b