summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
Diffstat (limited to 'application')
-rwxr-xr-xapplication/cache/index.html10
-rw-r--r--application/config/.gitignore1
-rw-r--r--application/config/example/.gitignore1
-rwxr-xr-xapplication/config/example/autoload.php116
-rwxr-xr-xapplication/config/example/config.php383
-rwxr-xr-xapplication/config/example/constants.php43
-rwxr-xr-xapplication/config/example/database.php59
-rwxr-xr-xapplication/config/example/doctypes.php15
-rwxr-xr-xapplication/config/example/foreign_chars.php64
-rwxr-xr-xapplication/config/example/hooks.php16
-rwxr-xr-xapplication/config/example/index.html10
-rw-r--r--application/config/example/memcache.php9
-rwxr-xr-xapplication/config/example/mimes.php105
-rwxr-xr-xapplication/config/example/profiler.php17
-rwxr-xr-xapplication/config/example/routes.php49
-rwxr-xr-xapplication/config/example/smileys.php66
-rwxr-xr-xapplication/config/example/user_agents.php178
-rwxr-xr-xapplication/config/index.html10
-rw-r--r--application/controllers/file.php232
-rw-r--r--application/controllers/index.html10
-rwxr-xr-xapplication/core/index.html10
-rw-r--r--application/errors/error_404.php34
-rw-r--r--application/errors/error_db.php34
-rw-r--r--application/errors/error_general.php34
-rw-r--r--application/errors/error_php.php10
-rw-r--r--application/errors/index.html10
-rw-r--r--application/helpers/filebin_helper.php10
-rw-r--r--application/helpers/index.html10
-rw-r--r--application/hooks/index.html10
-rw-r--r--application/index.html10
-rw-r--r--application/language/english/index.html10
-rw-r--r--application/libraries/MemcacheLibrary.php179
-rw-r--r--application/libraries/contrib/aliased.php124
-rw-r--r--application/libraries/contrib/cssgen.php456
-rw-r--r--application/libraries/contrib/cssgen2.php59
-rw-r--r--application/libraries/contrib/example.php217
-rw-r--r--application/libraries/contrib/langcheck.php766
-rw-r--r--application/libraries/geshi.php4685
-rw-r--r--application/libraries/geshi/4cs.php139
-rw-r--r--application/libraries/geshi/abap.php1409
-rw-r--r--application/libraries/geshi/actionscript.php197
-rw-r--r--application/libraries/geshi/actionscript3.php473
-rw-r--r--application/libraries/geshi/ada.php135
-rw-r--r--application/libraries/geshi/apache.php480
-rw-r--r--application/libraries/geshi/applescript.php157
-rw-r--r--application/libraries/geshi/apt_sources.php144
-rw-r--r--application/libraries/geshi/asm.php225
-rw-r--r--application/libraries/geshi/asp.php164
-rw-r--r--application/libraries/geshi/autohotkey.php373
-rw-r--r--application/libraries/geshi/autoit.php1171
-rw-r--r--application/libraries/geshi/avisynth.php194
-rw-r--r--application/libraries/geshi/awk.php158
-rw-r--r--application/libraries/geshi/bash.php324
-rw-r--r--application/libraries/geshi/basic4gl.php341
-rw-r--r--application/libraries/geshi/bf.php114
-rw-r--r--application/libraries/geshi/bibtex.php183
-rw-r--r--application/libraries/geshi/blitzbasic.php185
-rw-r--r--application/libraries/geshi/bnf.php110
-rw-r--r--application/libraries/geshi/boo.php217
-rw-r--r--application/libraries/geshi/c.php188
-rw-r--r--application/libraries/geshi/c_mac.php212
-rw-r--r--application/libraries/geshi/caddcl.php126
-rw-r--r--application/libraries/geshi/cadlisp.php186
-rw-r--r--application/libraries/geshi/cfdg.php124
-rw-r--r--application/libraries/geshi/cfm.php299
-rw-r--r--application/libraries/geshi/cil.php196
-rw-r--r--application/libraries/geshi/clojure.php134
-rw-r--r--application/libraries/geshi/cmake.php181
-rw-r--r--application/libraries/geshi/cobol.php244
-rw-r--r--application/libraries/geshi/cpp-qt.php550
-rw-r--r--application/libraries/geshi/cpp.php226
-rw-r--r--application/libraries/geshi/csharp.php253
-rw-r--r--application/libraries/geshi/css.php212
-rw-r--r--application/libraries/geshi/cuesheet.php138
-rw-r--r--application/libraries/geshi/d.php272
-rw-r--r--application/libraries/geshi/dcs.php182
-rw-r--r--application/libraries/geshi/delphi.php289
-rw-r--r--application/libraries/geshi/diff.php196
-rw-r--r--application/libraries/geshi/div.php126
-rw-r--r--application/libraries/geshi/dos.php198
-rw-r--r--application/libraries/geshi/dot.php164
-rw-r--r--application/libraries/geshi/eiffel.php395
-rw-r--r--application/libraries/geshi/email.php210
-rw-r--r--application/libraries/geshi/erlang.php441
-rw-r--r--application/libraries/geshi/fo.php327
-rw-r--r--application/libraries/geshi/fortran.php160
-rw-r--r--application/libraries/geshi/freebasic.php141
-rw-r--r--application/libraries/geshi/fsharp.php211
-rw-r--r--application/libraries/geshi/gambas.php214
-rw-r--r--application/libraries/geshi/gdb.php175
-rw-r--r--application/libraries/geshi/genero.php463
-rw-r--r--application/libraries/geshi/gettext.php97
-rw-r--r--application/libraries/geshi/glsl.php205
-rw-r--r--application/libraries/geshi/gml.php506
-rw-r--r--application/libraries/geshi/gnuplot.php296
-rw-r--r--application/libraries/geshi/groovy.php1011
-rw-r--r--application/libraries/geshi/haskell.php198
-rw-r--r--application/libraries/geshi/hq9plus.php104
-rw-r--r--application/libraries/geshi/html4strict.php203
-rw-r--r--application/libraries/geshi/idl.php123
-rw-r--r--application/libraries/geshi/ini.php128
-rw-r--r--application/libraries/geshi/inno.php212
-rw-r--r--application/libraries/geshi/intercal.php122
-rw-r--r--application/libraries/geshi/io.php138
-rw-r--r--application/libraries/geshi/java.php983
-rw-r--r--application/libraries/geshi/java5.php1031
-rw-r--r--application/libraries/geshi/javascript.php150
-rw-r--r--application/libraries/geshi/jquery.php238
-rw-r--r--application/libraries/geshi/kixtart.php329
-rw-r--r--application/libraries/geshi/klonec.php282
-rw-r--r--application/libraries/geshi/klonecpp.php310
-rw-r--r--application/libraries/geshi/latex.php223
-rw-r--r--application/libraries/geshi/lisp.php144
-rw-r--r--application/libraries/geshi/locobasic.php130
-rw-r--r--application/libraries/geshi/logtalk.php330
-rw-r--r--application/libraries/geshi/lolcode.php152
-rw-r--r--application/libraries/geshi/lotusformulas.php318
-rw-r--r--application/libraries/geshi/lotusscript.php191
-rw-r--r--application/libraries/geshi/lscript.php387
-rw-r--r--application/libraries/geshi/lsl2.php898
-rw-r--r--application/libraries/geshi/lua.php137
-rw-r--r--application/libraries/geshi/m68k.php143
-rw-r--r--application/libraries/geshi/make.php151
-rw-r--r--application/libraries/geshi/mapbasic.php908
-rw-r--r--application/libraries/geshi/matlab.php227
-rw-r--r--application/libraries/geshi/mirc.php171
-rw-r--r--application/libraries/geshi/mmix.php173
-rw-r--r--application/libraries/geshi/modula3.php135
-rw-r--r--application/libraries/geshi/mpasm.php164
-rw-r--r--application/libraries/geshi/mxml.php145
-rw-r--r--application/libraries/geshi/mysql.php475
-rw-r--r--application/libraries/geshi/newlisp.php191
-rw-r--r--application/libraries/geshi/nsis.php351
-rw-r--r--application/libraries/geshi/oberon2.php135
-rw-r--r--application/libraries/geshi/objc.php358
-rw-r--r--application/libraries/geshi/ocaml-brief.php112
-rw-r--r--application/libraries/geshi/ocaml.php174
-rw-r--r--application/libraries/geshi/oobas.php135
-rw-r--r--application/libraries/geshi/oracle11.php614
-rw-r--r--application/libraries/geshi/oracle8.php496
-rw-r--r--application/libraries/geshi/pascal.php152
-rw-r--r--application/libraries/geshi/per.php302
-rw-r--r--application/libraries/geshi/perl.php213
-rw-r--r--application/libraries/geshi/perl6.php197
-rw-r--r--application/libraries/geshi/php-brief.php222
-rw-r--r--application/libraries/geshi/php.php1114
-rw-r--r--application/libraries/geshi/pic16.php141
-rw-r--r--application/libraries/geshi/pike.php103
-rw-r--r--application/libraries/geshi/pixelbender.php176
-rw-r--r--application/libraries/geshi/plsql.php256
-rw-r--r--application/libraries/geshi/povray.php199
-rw-r--r--application/libraries/geshi/powerbuilder.php418
-rw-r--r--application/libraries/geshi/powershell.php277
-rw-r--r--application/libraries/geshi/progress.php485
-rw-r--r--application/libraries/geshi/prolog.php143
-rw-r--r--application/libraries/geshi/properties.php127
-rw-r--r--application/libraries/geshi/providex.php299
-rw-r--r--application/libraries/geshi/purebasic.php303
-rw-r--r--application/libraries/geshi/python.php237
-rw-r--r--application/libraries/geshi/qbasic.php158
-rw-r--r--application/libraries/geshi/rails.php406
-rw-r--r--application/libraries/geshi/rebol.php196
-rw-r--r--application/libraries/geshi/reg.php233
-rw-r--r--application/libraries/geshi/robots.php100
-rw-r--r--application/libraries/geshi/rsplus.php483
-rw-r--r--application/libraries/geshi/ruby.php226
-rw-r--r--application/libraries/geshi/sas.php290
-rw-r--r--application/libraries/geshi/scala.php122
-rw-r--r--application/libraries/geshi/scheme.php170
-rw-r--r--application/libraries/geshi/scilab.php295
-rw-r--r--application/libraries/geshi/sdlbasic.php165
-rw-r--r--application/libraries/geshi/smalltalk.php154
-rw-r--r--application/libraries/geshi/smarty.php192
-rw-r--r--application/libraries/geshi/sql.php140
-rw-r--r--application/libraries/geshi/systemverilog.php317
-rw-r--r--application/libraries/geshi/tcl.php194
-rw-r--r--application/libraries/geshi/teraterm.php317
-rw-r--r--application/libraries/geshi/text.php84
-rw-r--r--application/libraries/geshi/thinbasic.php868
-rw-r--r--application/libraries/geshi/tsql.php375
-rw-r--r--application/libraries/geshi/typoscript.php300
-rw-r--r--application/libraries/geshi/vb.php133
-rw-r--r--application/libraries/geshi/vbnet.php201
-rw-r--r--application/libraries/geshi/verilog.php173
-rw-r--r--application/libraries/geshi/vhdl.php144
-rw-r--r--application/libraries/geshi/vim.php419
-rw-r--r--application/libraries/geshi/visualfoxpro.php456
-rw-r--r--application/libraries/geshi/visualprolog.php129
-rw-r--r--application/libraries/geshi/whitespace.php121
-rw-r--r--application/libraries/geshi/whois.php181
-rw-r--r--application/libraries/geshi/winbatch.php369
-rw-r--r--application/libraries/geshi/xml.php157
-rw-r--r--application/libraries/geshi/xorg_conf.php124
-rw-r--r--application/libraries/geshi/xpp.php436
-rw-r--r--application/libraries/geshi/z80.php144
-rw-r--r--application/libraries/index.html10
-rwxr-xr-xapplication/logs/index.html10
-rw-r--r--application/models/file_mod.php419
-rw-r--r--application/models/index.html10
-rwxr-xr-xapplication/third_party/index.html10
-rw-r--r--application/views/file/client.php23
-rw-r--r--application/views/file/delete_form.php9
-rw-r--r--application/views/file/deleted.php3
-rw-r--r--application/views/file/footer.php3
-rw-r--r--application/views/file/header.php15
-rw-r--r--application/views/file/html_footer.php5
-rw-r--r--application/views/file/html_header.php21
-rw-r--r--application/views/file/non_existent.php3
-rw-r--r--application/views/file/show_url.php6
-rw-r--r--application/views/file/too_big.php3
-rw-r--r--application/views/file/upload_error.php6
-rw-r--r--application/views/file/upload_form.php32
-rw-r--r--application/views/index.html10
213 files changed, 52156 insertions, 0 deletions
diff --git a/application/cache/index.html b/application/cache/index.html
new file mode 100755
index 000000000..c942a79ce
--- /dev/null
+++ b/application/cache/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/config/.gitignore b/application/config/.gitignore
new file mode 100644
index 000000000..cde8069e1
--- /dev/null
+++ b/application/config/.gitignore
@@ -0,0 +1 @@
+*.php
diff --git a/application/config/example/.gitignore b/application/config/example/.gitignore
new file mode 100644
index 000000000..f9be8dfe0
--- /dev/null
+++ b/application/config/example/.gitignore
@@ -0,0 +1 @@
+!*
diff --git a/application/config/example/autoload.php b/application/config/example/autoload.php
new file mode 100755
index 000000000..e527bf5cc
--- /dev/null
+++ b/application/config/example/autoload.php
@@ -0,0 +1,116 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/*
+| -------------------------------------------------------------------
+| AUTO-LOADER
+| -------------------------------------------------------------------
+| This file specifies which systems should be loaded by default.
+|
+| In order to keep the framework as light-weight as possible only the
+| absolute minimal resources are loaded by default. For example,
+| the database is not connected to automatically since no assumption
+| is made regarding whether you intend to use it. This file lets
+| you globally define which systems you would like loaded with every
+| request.
+|
+| -------------------------------------------------------------------
+| Instructions
+| -------------------------------------------------------------------
+|
+| These are the things you can load automatically:
+|
+| 1. Packages
+| 2. Libraries
+| 3. Helper files
+| 4. Custom config files
+| 5. Language files
+| 6. Models
+|
+*/
+
+/*
+| -------------------------------------------------------------------
+| Auto-load Packges
+| -------------------------------------------------------------------
+| Prototype:
+|
+| $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared');
+|
+*/
+
+$autoload['packages'] = array(APPPATH.'third_party');
+
+
+/*
+| -------------------------------------------------------------------
+| Auto-load Libraries
+| -------------------------------------------------------------------
+| These are the classes located in the system/libraries folder
+| or in your application/libraries folder.
+|
+| Prototype:
+|
+| $autoload['libraries'] = array('database', 'session', 'xmlrpc');
+*/
+
+$autoload['libraries'] = array('database');
+
+
+/*
+| -------------------------------------------------------------------
+| Auto-load Helper Files
+| -------------------------------------------------------------------
+| Prototype:
+|
+| $autoload['helper'] = array('url', 'file');
+*/
+
+$autoload['helper'] = array('url');
+
+
+/*
+| -------------------------------------------------------------------
+| Auto-load Config files
+| -------------------------------------------------------------------
+| Prototype:
+|
+| $autoload['config'] = array('config1', 'config2');
+|
+| NOTE: This item is intended for use ONLY if you have created custom
+| config files. Otherwise, leave it blank.
+|
+*/
+
+$autoload['config'] = array();
+
+
+/*
+| -------------------------------------------------------------------
+| Auto-load Language files
+| -------------------------------------------------------------------
+| Prototype:
+|
+| $autoload['language'] = array('lang1', 'lang2');
+|
+| NOTE: Do not include the "_lang" part of your file. For example
+| "codeigniter_lang.php" would be referenced as array('codeigniter');
+|
+*/
+
+$autoload['language'] = array();
+
+
+/*
+| -------------------------------------------------------------------
+| Auto-load Models
+| -------------------------------------------------------------------
+| Prototype:
+|
+| $autoload['model'] = array('model1', 'model2');
+|
+*/
+
+$autoload['model'] = array();
+
+
+/* End of file autoload.php */
+/* Location: ./application/config/autoload.php */ \ No newline at end of file
diff --git a/application/config/example/config.php b/application/config/example/config.php
new file mode 100755
index 000000000..f7edc7bf6
--- /dev/null
+++ b/application/config/example/config.php
@@ -0,0 +1,383 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+
+/*
+|--------------------------------------------------------------------------
+| Base Site URL
+|--------------------------------------------------------------------------
+|
+| URL to your CodeIgniter root. Typically this will be your base URL,
+| WITH a trailing slash:
+|
+| http://example.com/
+|
+| If this is not set then CodeIgniter will guess the protocol, domain and
+| path to your installation.
+|
+*/
+$config['base_url'] = '';
+
+/*
+|--------------------------------------------------------------------------
+| Index File
+|--------------------------------------------------------------------------
+|
+| Typically this will be your index.php file, unless you've renamed it to
+| something else. If you are using mod_rewrite to remove the page set this
+| variable so that it is blank.
+|
+*/
+$config['index_page'] = 'index.php';
+
+/*
+|--------------------------------------------------------------------------
+| URI PROTOCOL
+|--------------------------------------------------------------------------
+|
+| This item determines which server global should be used to retrieve the
+| URI string. The default setting of 'AUTO' works for most servers.
+| If your links do not seem to work, try one of the other delicious flavors:
+|
+| 'AUTO' Default - auto detects
+| 'PATH_INFO' Uses the PATH_INFO
+| 'QUERY_STRING' Uses the QUERY_STRING
+| 'REQUEST_URI' Uses the REQUEST_URI
+| 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO
+|
+*/
+$config['uri_protocol'] = 'AUTO';
+
+/*
+|--------------------------------------------------------------------------
+| URL suffix
+|--------------------------------------------------------------------------
+|
+| This option allows you to add a suffix to all URLs generated by CodeIgniter.
+| For more information please see the user guide:
+|
+| http://codeigniter.com/user_guide/general/urls.html
+*/
+
+$config['url_suffix'] = '';
+
+/*
+|--------------------------------------------------------------------------
+| Default Language
+|--------------------------------------------------------------------------
+|
+| This determines which set of language files should be used. Make sure
+| there is an available translation if you intend to use something other
+| than english.
+|
+*/
+$config['language'] = 'english';
+
+/*
+|--------------------------------------------------------------------------
+| Default Character Set
+|--------------------------------------------------------------------------
+|
+| This determines which character set is used by default in various methods
+| that require a character set to be provided.
+|
+*/
+$config['charset'] = 'UTF-8';
+
+/*
+|--------------------------------------------------------------------------
+| Enable/Disable System Hooks
+|--------------------------------------------------------------------------
+|
+| If you would like to use the 'hooks' feature you must enable it by
+| setting this variable to TRUE (boolean). See the user guide for details.
+|
+*/
+$config['enable_hooks'] = FALSE;
+
+
+/*
+|--------------------------------------------------------------------------
+| Class Extension Prefix
+|--------------------------------------------------------------------------
+|
+| This item allows you to set the filename/classname prefix when extending
+| native libraries. For more information please see the user guide:
+|
+| http://codeigniter.com/user_guide/general/core_classes.html
+| http://codeigniter.com/user_guide/general/creating_libraries.html
+|
+*/
+$config['subclass_prefix'] = 'MY_';
+
+
+/*
+|--------------------------------------------------------------------------
+| Allowed URL Characters
+|--------------------------------------------------------------------------
+|
+| This lets you specify with a regular expression which characters are permitted
+| within your URLs. When someone tries to submit a URL with disallowed
+| characters they will get a warning message.
+|
+| As a security measure you are STRONGLY encouraged to restrict URLs to
+| as few characters as possible. By default only these are allowed: a-z 0-9~%.:_-
+|
+| Leave blank to allow all characters -- but only if you are insane.
+|
+| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
+|
+*/
+$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
+
+
+/*
+|--------------------------------------------------------------------------
+| Enable Query Strings
+|--------------------------------------------------------------------------
+|
+| By default CodeIgniter uses search-engine friendly segment based URLs:
+| example.com/who/what/where/
+|
+| By default CodeIgniter enables access to the $_GET array. If for some
+| reason you would like to disable it, set 'allow_get_array' to FALSE.
+|
+| You can optionally enable standard query string based URLs:
+| example.com?who=me&what=something&where=here
+|
+| Options are: TRUE or FALSE (boolean)
+|
+| The other items let you set the query string 'words' that will
+| invoke your controllers and its functions:
+| example.com/index.php?c=controller&m=function
+|
+| Please note that some of the helpers won't work as expected when
+| this feature is enabled, since CodeIgniter is designed primarily to
+| use segment based URLs.
+|
+*/
+$config['allow_get_array'] = TRUE;
+$config['enable_query_strings'] = FALSE;
+$config['controller_trigger'] = 'c';
+$config['function_trigger'] = 'm';
+$config['directory_trigger'] = 'd'; // experimental not currently in use
+
+/*
+|--------------------------------------------------------------------------
+| Error Logging Threshold
+|--------------------------------------------------------------------------
+|
+| If you have enabled error logging, you can set an error threshold to
+| determine what gets logged. Threshold options are:
+| You can enable error logging by setting a threshold over zero. The
+| threshold determines what gets logged. Threshold options are:
+|
+| 0 = Disables logging, Error logging TURNED OFF
+| 1 = Error Messages (including PHP errors)
+| 2 = Debug Messages
+| 3 = Informational Messages
+| 4 = All Messages
+|
+| For a live site you'll usually only enable Errors (1) to be logged otherwise
+| your log files will fill up very fast.
+|
+*/
+$config['log_threshold'] = 0;
+
+/*
+|--------------------------------------------------------------------------
+| Error Logging Directory Path
+|--------------------------------------------------------------------------
+|
+| Leave this BLANK unless you would like to set something other than the default
+| application/logs/ folder. Use a full server path with trailing slash.
+|
+*/
+$config['log_path'] = '';
+
+/*
+|--------------------------------------------------------------------------
+| Date Format for Logs
+|--------------------------------------------------------------------------
+|
+| Each item that is logged has an associated date. You can use PHP date
+| codes to set your own date formatting
+|
+*/
+$config['log_date_format'] = 'Y-m-d H:i:s';
+
+/*
+|--------------------------------------------------------------------------
+| Cache Directory Path
+|--------------------------------------------------------------------------
+|
+| Leave this BLANK unless you would like to set something other than the default
+| system/cache/ folder. Use a full server path with trailing slash.
+|
+*/
+$config['cache_path'] = '';
+
+/*
+|--------------------------------------------------------------------------
+| Encryption Key
+|--------------------------------------------------------------------------
+|
+| If you use the Encryption class or the Session class you
+| MUST set an encryption key. See the user guide for info.
+|
+*/
+$config['encryption_key'] = '';
+
+/*
+|--------------------------------------------------------------------------
+| Session Variables
+|--------------------------------------------------------------------------
+|
+| 'sess_cookie_name' = the name you want for the cookie
+| 'sess_expiration' = the number of SECONDS you want the session to last.
+| by default sessions last 7200 seconds (two hours). Set to zero for no expiration.
+| 'sess_expire_on_close' = Whether to cause the session to expire automatically
+| when the browser window is closed
+| 'sess_encrypt_cookie' = Whether to encrypt the cookie
+| 'sess_use_database' = Whether to save the session data to a database
+| 'sess_table_name' = The name of the session database table
+| 'sess_match_ip' = Whether to match the user's IP address when reading the session data
+| 'sess_match_useragent' = Whether to match the User Agent when reading the session data
+| 'sess_time_to_update' = how many seconds between CI refreshing Session Information
+|
+*/
+$config['sess_cookie_name'] = 'ci_session';
+$config['sess_expiration'] = 7200;
+$config['sess_expire_on_close'] = FALSE;
+$config['sess_encrypt_cookie'] = FALSE;
+$config['sess_use_database'] = FALSE;
+$config['sess_table_name'] = 'ci_sessions';
+$config['sess_match_ip'] = FALSE;
+$config['sess_match_useragent'] = TRUE;
+$config['sess_time_to_update'] = 300;
+
+/*
+|--------------------------------------------------------------------------
+| Cookie Related Variables
+|--------------------------------------------------------------------------
+|
+| 'cookie_prefix' = Set a prefix if you need to avoid collisions
+| 'cookie_domain' = Set to .your-domain.com for site-wide cookies
+| 'cookie_path' = Typically will be a forward slash
+|
+*/
+$config['cookie_prefix'] = '';
+$config['cookie_domain'] = '';
+$config['cookie_path'] = '/';
+
+/*
+|--------------------------------------------------------------------------
+| Global XSS Filtering
+|--------------------------------------------------------------------------
+|
+| Determines whether the XSS filter is always active when GET, POST or
+| COOKIE data is encountered
+|
+*/
+$config['global_xss_filtering'] = FALSE;
+
+/*
+|--------------------------------------------------------------------------
+| Cross Site Request Forgery
+|--------------------------------------------------------------------------
+| Enables a CSRF cookie token to be set. When set to TRUE, token will be
+| checked on a submitted form. If you are accepting user data, it is strongly
+| recommended CSRF protection be enabled.
+|
+| 'csrf_token_name' = The token name
+| 'csrf_cookie_name' = The cookie name
+| 'csrf_expire' = The number in seconds the token should expire.
+*/
+$config['csrf_protection'] = FALSE;
+$config['csrf_token_name'] = 'csrf_test_name';
+$config['csrf_cookie_name'] = 'csrf_cookie_name';
+$config['csrf_expire'] = 7200;
+
+/*
+|--------------------------------------------------------------------------
+| Output Compression
+|--------------------------------------------------------------------------
+|
+| Enables Gzip output compression for faster page loads. When enabled,
+| the output class will test whether your server supports Gzip.
+| Even if it does, however, not all browsers support compression
+| so enable only if you are reasonably sure your visitors can handle it.
+|
+| VERY IMPORTANT: If you are getting a blank page when compression is enabled it
+| means you are prematurely outputting something to your browser. It could
+| even be a line of whitespace at the end of one of your scripts. For
+| compression to work, nothing can be sent before the output buffer is called
+| by the output class. Do not 'echo' any values with compression enabled.
+|
+*/
+$config['compress_output'] = FALSE;
+
+/*
+|--------------------------------------------------------------------------
+| Master Time Reference
+|--------------------------------------------------------------------------
+|
+| Options are 'local' or 'gmt'. This pref tells the system whether to use
+| your server's local time as the master 'now' reference, or convert it to
+| GMT. See the 'date helper' page of the user guide for information
+| regarding date handling.
+|
+*/
+$config['time_reference'] = 'local';
+
+
+/*
+|--------------------------------------------------------------------------
+| Rewrite PHP Short Tags
+|--------------------------------------------------------------------------
+|
+| If your PHP installation does not have short tag support enabled CI
+| can rewrite the tags on-the-fly, enabling you to utilize that syntax
+| in your view files. Options are TRUE or FALSE (boolean)
+|
+*/
+$config['rewrite_short_tags'] = FALSE;
+
+
+/*
+|--------------------------------------------------------------------------
+| Reverse Proxy IPs
+|--------------------------------------------------------------------------
+|
+| If your server is behind a reverse proxy, you must whitelist the proxy IP
+| addresses from which CodeIgniter should trust the HTTP_X_FORWARDED_FOR
+| header in order to properly identify the visitor's IP address.
+| Comma-delimited, e.g. '10.0.1.200,10.0.1.201'
+|
+*/
+$config['proxy_ips'] = '';
+
+/*
+|--------------------------------------------------------------------------
+| Filebin
+|-------------------------------------------------------------------------
+|
+| upload_path should NOT be readable/served by the server, but only by
+| the script
+| sizes are in bytes
+| max_age in seconds
+|
+ */
+
+$config['upload_path'] = FCPATH.'data/uploads';
+$config['upload_max_size'] = 256*1024*1024;
+$config['upload_max_text_size'] = 2*1024*1024;
+
+// 0 disables deletion
+$config['upload_max_age'] = 60*60*24*5; // 5 days
+
+// won't be deleted
+$config['small_upload_size'] = 1024*10; // 10KB
+
+$config['passwordsalt'] = ''; // just enter any string you want here
+
+/* End of file config.php */
+/* Location: ./application/config/config.php */
diff --git a/application/config/example/constants.php b/application/config/example/constants.php
new file mode 100755
index 000000000..1185dbca0
--- /dev/null
+++ b/application/config/example/constants.php
@@ -0,0 +1,43 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+
+putenv('HOME='.FCPATH);
+
+/*
+|--------------------------------------------------------------------------
+| File and Directory Modes
+|--------------------------------------------------------------------------
+|
+| These prefs are used when checking and setting modes when working
+| with the file system. The defaults are fine on servers with proper
+| security, but you may wish (or even need) to change the values in
+| certain environments (Apache running a separate process for each
+| user, PHP under CGI with Apache suEXEC, etc.). Octal values should
+| always be used to set the mode correctly.
+|
+*/
+define('FILE_READ_MODE', 0644);
+define('FILE_WRITE_MODE', 0666);
+define('DIR_READ_MODE', 0755);
+define('DIR_WRITE_MODE', 0777);
+
+/*
+|--------------------------------------------------------------------------
+| File Stream Modes
+|--------------------------------------------------------------------------
+|
+| These modes are used when working with fopen()/popen()
+|
+*/
+
+define('FOPEN_READ', 'rb');
+define('FOPEN_READ_WRITE', 'r+b');
+define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care
+define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE', 'w+b'); // truncates existing file data, use with care
+define('FOPEN_WRITE_CREATE', 'ab');
+define('FOPEN_READ_WRITE_CREATE', 'a+b');
+define('FOPEN_WRITE_CREATE_STRICT', 'xb');
+define('FOPEN_READ_WRITE_CREATE_STRICT', 'x+b');
+
+
+/* End of file constants.php */
+/* Location: ./application/config/constants.php */ \ No newline at end of file
diff --git a/application/config/example/database.php b/application/config/example/database.php
new file mode 100755
index 000000000..4bf16f591
--- /dev/null
+++ b/application/config/example/database.php
@@ -0,0 +1,59 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/*
+| -------------------------------------------------------------------
+| DATABASE CONNECTIVITY SETTINGS
+| -------------------------------------------------------------------
+| This file will contain the settings needed to access your database.
+|
+| For complete instructions please consult the 'Database Connection'
+| page of the User Guide.
+|
+| -------------------------------------------------------------------
+| EXPLANATION OF VARIABLES
+| -------------------------------------------------------------------
+|
+| ['hostname'] The hostname of your database server.
+| ['username'] The username used to connect to the database
+| ['password'] The password used to connect to the database
+| ['database'] The name of the database you want to connect to
+| ['dbdriver'] The database type. ie: mysql. Currently supported:
+ mysql, mysqli, postgre, odbc, mssql, sqlite, oci8
+| ['dbprefix'] You can add an optional prefix, which will be added
+| to the table name when using the Active Record class
+| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
+| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
+| ['cache_on'] TRUE/FALSE - Enables/disables query caching
+| ['cachedir'] The path to the folder where cache files should be stored
+| ['char_set'] The character set used in communicating with the database
+| ['dbcollat'] The character collation used in communicating with the database
+| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
+| ['autoinit'] Whether or not to automatically initialize the database.
+| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
+| - good for ensuring strict SQL while developing
+|
+| The $active_group variable lets you choose which connection group to
+| make active. By default there is only one group (the 'default' group).
+|
+| The $active_record variables lets you determine whether or not to load
+| the active record class
+*/
+
+$active_group = 'default';
+$active_record = TRUE;
+
+$db['default']['hostname'] = "localhost";
+$db['default']['username'] = "";
+$db['default']['password'] = "";
+$db['default']['database'] = "";
+$db['default']['dbdriver'] = "mysqli";
+$db['default']['dbprefix'] = "";
+$db['default']['pconnect'] = TRUE;
+$db['default']['db_debug'] = TRUE;
+$db['default']['cache_on'] = FALSE;
+$db['default']['cachedir'] = "";
+$db['default']['char_set'] = "utf8";
+$db['default']['dbcollat'] = "utf8_bin";
+
+
+/* End of file database.php */
+/* Location: ./application/config/database.php */ \ No newline at end of file
diff --git a/application/config/example/doctypes.php b/application/config/example/doctypes.php
new file mode 100755
index 000000000..f7e1d19a2
--- /dev/null
+++ b/application/config/example/doctypes.php
@@ -0,0 +1,15 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+
+$_doctypes = array(
+ 'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
+ 'xhtml1-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
+ 'xhtml1-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
+ 'xhtml1-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
+ 'html5' => '<!DOCTYPE html>',
+ 'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
+ 'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
+ 'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'
+ );
+
+/* End of file doctypes.php */
+/* Location: ./application/config/doctypes.php */ \ No newline at end of file
diff --git a/application/config/example/foreign_chars.php b/application/config/example/foreign_chars.php
new file mode 100755
index 000000000..14b0d7373
--- /dev/null
+++ b/application/config/example/foreign_chars.php
@@ -0,0 +1,64 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/*
+| -------------------------------------------------------------------
+| Foreign Characters
+| -------------------------------------------------------------------
+| This file contains an array of foreign characters for transliteration
+| conversion used by the Text helper
+|
+*/
+$foreign_characters = array(
+ '/ä|æ|ǽ/' => 'ae',
+ '/ö|œ/' => 'oe',
+ '/ü/' => 'ue',
+ '/Ä/' => 'Ae',
+ '/Ü/' => 'Ue',
+ '/Ö/' => 'Oe',
+ '/À|Ã|Â|Ã|Ä|Ã…|Ǻ|Ä€|Ä‚|Ä„|Ç/' => 'A',
+ '/à|á|â|ã|Ã¥|Ç»|Ä|ă|Ä…|ÇŽ|ª/' => 'a',
+ '/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
+ '/ç|ć|ĉ|Ä‹|Ä/' => 'c',
+ '/Ã|ÄŽ|Ä/' => 'D',
+ '/ð|Ä|Ä‘/' => 'd',
+ '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
+ '/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
+ '/Ĝ|Ğ|Ġ|Ģ/' => 'G',
+ '/Ä|ÄŸ|Ä¡|Ä£/' => 'g',
+ '/Ĥ|Ħ/' => 'H',
+ '/ĥ|ħ/' => 'h',
+ '/ÃŒ|Ã|ÃŽ|Ã|Ĩ|Ī|Ĭ|Ç|Ä®|Ä°/' => 'I',
+ '/ì|í|î|ï|Ä©|Ä«|Ä­|Ç|į|ı/' => 'i',
+ '/Ä´/' => 'J',
+ '/ĵ/' => 'j',
+ '/Ķ/' => 'K',
+ '/Ä·/' => 'k',
+ '/Ĺ|Ä»|Ľ|Ä¿|Å/' => 'L',
+ '/ĺ|ļ|ľ|ŀ|ł/' => 'l',
+ '/Ñ|Ń|Ņ|Ň/' => 'N',
+ '/ñ|ń|ņ|ň|ʼn/' => 'n',
+ '/Ã’|Ó|Ô|Õ|ÅŒ|ÅŽ|Ç‘|Å|Æ |Ø|Ǿ/' => 'O',
+ '/ò|ó|ô|õ|Å|Å|Ç’|Å‘|Æ¡|ø|Ç¿|º/' => 'o',
+ '/Ŕ|Ŗ|Ř/' => 'R',
+ '/Å•|Å—|Å™/' => 'r',
+ '/Ś|Ŝ|Ş|Š/' => 'S',
+ '/Å›|Å|ÅŸ|Å¡|Å¿/' => 's',
+ '/Ţ|Ť|Ŧ/' => 'T',
+ '/ţ|ť|ŧ/' => 't',
+ '/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U',
+ '/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u',
+ '/Ã|Ÿ|Ŷ/' => 'Y',
+ '/ý|ÿ|ŷ/' => 'y',
+ '/Å´/' => 'W',
+ '/ŵ/' => 'w',
+ '/Ź|Ż|Ž/' => 'Z',
+ '/ź|ż|ž/' => 'z',
+ '/Æ|Ǽ/' => 'AE',
+ '/ß/'=> 'ss',
+ '/IJ/' => 'IJ',
+ '/ij/' => 'ij',
+ '/Å’/' => 'OE',
+ '/Æ’/' => 'f'
+);
+
+/* End of file foreign_chars.php */
+/* Location: ./application/config/foreign_chars.php */ \ No newline at end of file
diff --git a/application/config/example/hooks.php b/application/config/example/hooks.php
new file mode 100755
index 000000000..a4ad2be6d
--- /dev/null
+++ b/application/config/example/hooks.php
@@ -0,0 +1,16 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/*
+| -------------------------------------------------------------------------
+| Hooks
+| -------------------------------------------------------------------------
+| This file lets you define "hooks" to extend CI without hacking the core
+| files. Please see the user guide for info:
+|
+| http://codeigniter.com/user_guide/general/hooks.html
+|
+*/
+
+
+
+/* End of file hooks.php */
+/* Location: ./application/config/hooks.php */ \ No newline at end of file
diff --git a/application/config/example/index.html b/application/config/example/index.html
new file mode 100755
index 000000000..c942a79ce
--- /dev/null
+++ b/application/config/example/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/config/example/memcache.php b/application/config/example/memcache.php
new file mode 100644
index 000000000..a5bc7e3a8
--- /dev/null
+++ b/application/config/example/memcache.php
@@ -0,0 +1,9 @@
+<?php
+
+// this file is a config example for the codeigniter-memcache library
+// add this file to the your application's config directory
+$config["MEMCACHE_HOST"] = '127.0.0.1';
+$config["MEMCACHE_PORT"] = 11211;
+
+
+?>
diff --git a/application/config/example/mimes.php b/application/config/example/mimes.php
new file mode 100755
index 000000000..de923c45a
--- /dev/null
+++ b/application/config/example/mimes.php
@@ -0,0 +1,105 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/*
+| -------------------------------------------------------------------
+| MIME TYPES
+| -------------------------------------------------------------------
+| This file contains an array of mime types. It is used by the
+| Upload class to help identify allowed file types.
+|
+*/
+
+$mimes = array( 'hqx' => 'application/mac-binhex40',
+ 'cpt' => 'application/mac-compactpro',
+ 'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
+ 'bin' => 'application/macbinary',
+ 'dms' => 'application/octet-stream',
+ 'lha' => 'application/octet-stream',
+ 'lzh' => 'application/octet-stream',
+ 'exe' => array('application/octet-stream', 'application/x-msdownload'),
+ 'class' => 'application/octet-stream',
+ 'psd' => 'application/x-photoshop',
+ 'so' => 'application/octet-stream',
+ 'sea' => 'application/octet-stream',
+ 'dll' => 'application/octet-stream',
+ 'oda' => 'application/oda',
+ 'pdf' => array('application/pdf', 'application/x-download'),
+ 'ai' => 'application/postscript',
+ 'eps' => 'application/postscript',
+ 'ps' => 'application/postscript',
+ 'smi' => 'application/smil',
+ 'smil' => 'application/smil',
+ 'mif' => 'application/vnd.mif',
+ 'xls' => array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
+ 'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint'),
+ 'wbxml' => 'application/wbxml',
+ 'wmlc' => 'application/wmlc',
+ 'dcr' => 'application/x-director',
+ 'dir' => 'application/x-director',
+ 'dxr' => 'application/x-director',
+ 'dvi' => 'application/x-dvi',
+ 'gtar' => 'application/x-gtar',
+ 'gz' => 'application/x-gzip',
+ 'php' => 'application/x-httpd-php',
+ 'php4' => 'application/x-httpd-php',
+ 'php3' => 'application/x-httpd-php',
+ 'phtml' => 'application/x-httpd-php',
+ 'phps' => 'application/x-httpd-php-source',
+ 'js' => 'application/x-javascript',
+ 'swf' => 'application/x-shockwave-flash',
+ 'sit' => 'application/x-stuffit',
+ 'tar' => 'application/x-tar',
+ 'tgz' => array('application/x-tar', 'application/x-gzip-compressed'),
+ 'xhtml' => 'application/xhtml+xml',
+ 'xht' => 'application/xhtml+xml',
+ 'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
+ 'mid' => 'audio/midi',
+ 'midi' => 'audio/midi',
+ 'mpga' => 'audio/mpeg',
+ 'mp2' => 'audio/mpeg',
+ 'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3'),
+ 'aif' => 'audio/x-aiff',
+ 'aiff' => 'audio/x-aiff',
+ 'aifc' => 'audio/x-aiff',
+ 'ram' => 'audio/x-pn-realaudio',
+ 'rm' => 'audio/x-pn-realaudio',
+ 'rpm' => 'audio/x-pn-realaudio-plugin',
+ 'ra' => 'audio/x-realaudio',
+ 'rv' => 'video/vnd.rn-realvideo',
+ 'wav' => 'audio/x-wav',
+ 'bmp' => 'image/bmp',
+ 'gif' => 'image/gif',
+ 'jpeg' => array('image/jpeg', 'image/pjpeg'),
+ 'jpg' => array('image/jpeg', 'image/pjpeg'),
+ 'jpe' => array('image/jpeg', 'image/pjpeg'),
+ 'png' => array('image/png', 'image/x-png'),
+ 'tiff' => 'image/tiff',
+ 'tif' => 'image/tiff',
+ 'css' => 'text/css',
+ 'html' => 'text/html',
+ 'htm' => 'text/html',
+ 'shtml' => 'text/html',
+ 'txt' => 'text/plain',
+ 'text' => 'text/plain',
+ 'log' => array('text/plain', 'text/x-log'),
+ 'rtx' => 'text/richtext',
+ 'rtf' => 'text/rtf',
+ 'xml' => 'text/xml',
+ 'xsl' => 'text/xml',
+ 'mpeg' => 'video/mpeg',
+ 'mpg' => 'video/mpeg',
+ 'mpe' => 'video/mpeg',
+ 'qt' => 'video/quicktime',
+ 'mov' => 'video/quicktime',
+ 'avi' => 'video/x-msvideo',
+ 'movie' => 'video/x-sgi-movie',
+ 'doc' => 'application/msword',
+ 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+ 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+ 'word' => array('application/msword', 'application/octet-stream'),
+ 'xl' => 'application/excel',
+ 'eml' => 'message/rfc822'
+ );
+
+
+/* End of file mimes.php */
+/* Location: ./application/config/mimes.php */ \ No newline at end of file
diff --git a/application/config/example/profiler.php b/application/config/example/profiler.php
new file mode 100755
index 000000000..f8a5b1a1e
--- /dev/null
+++ b/application/config/example/profiler.php
@@ -0,0 +1,17 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/*
+| -------------------------------------------------------------------------
+| Profiler Sections
+| -------------------------------------------------------------------------
+| This file lets you determine whether or not various sections of Profiler
+| data are displayed when the Profiler is enabled.
+| Please see the user guide for info:
+|
+| http://codeigniter.com/user_guide/general/profiling.html
+|
+*/
+
+
+
+/* End of file profiler.php */
+/* Location: ./application/config/profiler.php */ \ No newline at end of file
diff --git a/application/config/example/routes.php b/application/config/example/routes.php
new file mode 100755
index 000000000..58a6162f0
--- /dev/null
+++ b/application/config/example/routes.php
@@ -0,0 +1,49 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/*
+| -------------------------------------------------------------------------
+| URI ROUTING
+| -------------------------------------------------------------------------
+| This file lets you re-map URI requests to specific controller functions.
+|
+| Typically there is a one-to-one relationship between a URL string
+| and its corresponding controller class/method. The segments in a
+| URL normally follow this pattern:
+|
+| example.com/class/method/id/
+|
+| In some instances, however, you may want to remap this relationship
+| so that a different class/function is called than the one
+| corresponding to the URL.
+|
+| Please see the user guide for complete details:
+|
+| http://codeigniter.com/user_guide/general/routing.html
+|
+| -------------------------------------------------------------------------
+| RESERVED ROUTES
+| -------------------------------------------------------------------------
+|
+| There area two reserved routes:
+|
+| $route['default_controller'] = 'welcome';
+|
+| This route indicates which controller class should be loaded if the
+| URI contains no data. In the above example, the "welcome" class
+| would be loaded.
+|
+| $route['404_override'] = 'errors/page_missing';
+|
+| This route will tell the Router what URI segments to use if those provided
+| in the URL cannot be matched to a valid route.
+|
+*/
+
+$route['default_controller'] = "file";
+$route['scaffolding_trigger'] = "";
+$route['file/(:any)'] = "file/$1";
+$route['(:any)'] = "file/index/$1";
+$route['404_override'] = '';
+
+
+/* End of file routes.php */
+/* Location: ./application/config/routes.php */ \ No newline at end of file
diff --git a/application/config/example/smileys.php b/application/config/example/smileys.php
new file mode 100755
index 000000000..25d28b2c4
--- /dev/null
+++ b/application/config/example/smileys.php
@@ -0,0 +1,66 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/*
+| -------------------------------------------------------------------
+| SMILEYS
+| -------------------------------------------------------------------
+| This file contains an array of smileys for use with the emoticon helper.
+| Individual images can be used to replace multiple simileys. For example:
+| :-) and :) use the same image replacement.
+|
+| Please see user guide for more info:
+| http://codeigniter.com/user_guide/helpers/smiley_helper.html
+|
+*/
+
+$smileys = array(
+
+// smiley image name width height alt
+
+ ':-)' => array('grin.gif', '19', '19', 'grin'),
+ ':lol:' => array('lol.gif', '19', '19', 'LOL'),
+ ':cheese:' => array('cheese.gif', '19', '19', 'cheese'),
+ ':)' => array('smile.gif', '19', '19', 'smile'),
+ ';-)' => array('wink.gif', '19', '19', 'wink'),
+ ';)' => array('wink.gif', '19', '19', 'wink'),
+ ':smirk:' => array('smirk.gif', '19', '19', 'smirk'),
+ ':roll:' => array('rolleyes.gif', '19', '19', 'rolleyes'),
+ ':-S' => array('confused.gif', '19', '19', 'confused'),
+ ':wow:' => array('surprise.gif', '19', '19', 'surprised'),
+ ':bug:' => array('bigsurprise.gif', '19', '19', 'big surprise'),
+ ':-P' => array('tongue_laugh.gif', '19', '19', 'tongue laugh'),
+ '%-P' => array('tongue_rolleye.gif', '19', '19', 'tongue rolleye'),
+ ';-P' => array('tongue_wink.gif', '19', '19', 'tongue wink'),
+ ':P' => array('raspberry.gif', '19', '19', 'raspberry'),
+ ':blank:' => array('blank.gif', '19', '19', 'blank stare'),
+ ':long:' => array('longface.gif', '19', '19', 'long face'),
+ ':ohh:' => array('ohh.gif', '19', '19', 'ohh'),
+ ':grrr:' => array('grrr.gif', '19', '19', 'grrr'),
+ ':gulp:' => array('gulp.gif', '19', '19', 'gulp'),
+ '8-/' => array('ohoh.gif', '19', '19', 'oh oh'),
+ ':down:' => array('downer.gif', '19', '19', 'downer'),
+ ':red:' => array('embarrassed.gif', '19', '19', 'red face'),
+ ':sick:' => array('sick.gif', '19', '19', 'sick'),
+ ':shut:' => array('shuteye.gif', '19', '19', 'shut eye'),
+ ':-/' => array('hmm.gif', '19', '19', 'hmmm'),
+ '>:(' => array('mad.gif', '19', '19', 'mad'),
+ ':mad:' => array('mad.gif', '19', '19', 'mad'),
+ '>:-(' => array('angry.gif', '19', '19', 'angry'),
+ ':angry:' => array('angry.gif', '19', '19', 'angry'),
+ ':zip:' => array('zip.gif', '19', '19', 'zipper'),
+ ':kiss:' => array('kiss.gif', '19', '19', 'kiss'),
+ ':ahhh:' => array('shock.gif', '19', '19', 'shock'),
+ ':coolsmile:' => array('shade_smile.gif', '19', '19', 'cool smile'),
+ ':coolsmirk:' => array('shade_smirk.gif', '19', '19', 'cool smirk'),
+ ':coolgrin:' => array('shade_grin.gif', '19', '19', 'cool grin'),
+ ':coolhmm:' => array('shade_hmm.gif', '19', '19', 'cool hmm'),
+ ':coolmad:' => array('shade_mad.gif', '19', '19', 'cool mad'),
+ ':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'),
+ ':vampire:' => array('vampire.gif', '19', '19', 'vampire'),
+ ':snake:' => array('snake.gif', '19', '19', 'snake'),
+ ':exclaim:' => array('exclaim.gif', '19', '19', 'excaim'),
+ ':question:' => array('question.gif', '19', '19', 'question') // no comma after last item
+
+ );
+
+/* End of file smileys.php */
+/* Location: ./application/config/smileys.php */ \ No newline at end of file
diff --git a/application/config/example/user_agents.php b/application/config/example/user_agents.php
new file mode 100755
index 000000000..e2d3c3af0
--- /dev/null
+++ b/application/config/example/user_agents.php
@@ -0,0 +1,178 @@
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/*
+| -------------------------------------------------------------------
+| USER AGENT TYPES
+| -------------------------------------------------------------------
+| This file contains four arrays of user agent data. It is used by the
+| User Agent Class to help identify browser, platform, robot, and
+| mobile device data. The array keys are used to identify the device
+| and the array values are used to set the actual name of the item.
+|
+*/
+
+$platforms = array (
+ 'windows nt 6.0' => 'Windows Longhorn',
+ 'windows nt 5.2' => 'Windows 2003',
+ 'windows nt 5.0' => 'Windows 2000',
+ 'windows nt 5.1' => 'Windows XP',
+ 'windows nt 4.0' => 'Windows NT 4.0',
+ 'winnt4.0' => 'Windows NT 4.0',
+ 'winnt 4.0' => 'Windows NT',
+ 'winnt' => 'Windows NT',
+ 'windows 98' => 'Windows 98',
+ 'win98' => 'Windows 98',
+ 'windows 95' => 'Windows 95',
+ 'win95' => 'Windows 95',
+ 'windows' => 'Unknown Windows OS',
+ 'os x' => 'Mac OS X',
+ 'ppc mac' => 'Power PC Mac',
+ 'freebsd' => 'FreeBSD',
+ 'ppc' => 'Macintosh',
+ 'linux' => 'Linux',
+ 'debian' => 'Debian',
+ 'sunos' => 'Sun Solaris',
+ 'beos' => 'BeOS',
+ 'apachebench' => 'ApacheBench',
+ 'aix' => 'AIX',
+ 'irix' => 'Irix',
+ 'osf' => 'DEC OSF',
+ 'hp-ux' => 'HP-UX',
+ 'netbsd' => 'NetBSD',
+ 'bsdi' => 'BSDi',
+ 'openbsd' => 'OpenBSD',
+ 'gnu' => 'GNU/Linux',
+ 'unix' => 'Unknown Unix OS'
+ );
+
+
+// The order of this array should NOT be changed. Many browsers return
+// multiple browser types so we want to identify the sub-type first.
+$browsers = array(
+ 'Flock' => 'Flock',
+ 'Chrome' => 'Chrome',
+ 'Opera' => 'Opera',
+ 'MSIE' => 'Internet Explorer',
+ 'Internet Explorer' => 'Internet Explorer',
+ 'Shiira' => 'Shiira',
+ 'Firefox' => 'Firefox',
+ 'Chimera' => 'Chimera',
+ 'Phoenix' => 'Phoenix',
+ 'Firebird' => 'Firebird',
+ 'Camino' => 'Camino',
+ 'Netscape' => 'Netscape',
+ 'OmniWeb' => 'OmniWeb',
+ 'Safari' => 'Safari',
+ 'Mozilla' => 'Mozilla',
+ 'Konqueror' => 'Konqueror',
+ 'icab' => 'iCab',
+ 'Lynx' => 'Lynx',
+ 'Links' => 'Links',
+ 'hotjava' => 'HotJava',
+ 'amaya' => 'Amaya',
+ 'IBrowse' => 'IBrowse'
+ );
+
+$mobiles = array(
+ // legacy array, old values commented out
+ 'mobileexplorer' => 'Mobile Explorer',
+// 'openwave' => 'Open Wave',
+// 'opera mini' => 'Opera Mini',
+// 'operamini' => 'Opera Mini',
+// 'elaine' => 'Palm',
+ 'palmsource' => 'Palm',
+// 'digital paths' => 'Palm',
+// 'avantgo' => 'Avantgo',
+// 'xiino' => 'Xiino',
+ 'palmscape' => 'Palmscape',
+// 'nokia' => 'Nokia',
+// 'ericsson' => 'Ericsson',
+// 'blackberry' => 'BlackBerry',
+// 'motorola' => 'Motorola'
+
+ // Phones and Manufacturers
+ 'motorola' => "Motorola",
+ 'nokia' => "Nokia",
+ 'palm' => "Palm",
+ 'iphone' => "Apple iPhone",
+ 'ipad' => "iPad",
+ 'ipod' => "Apple iPod Touch",
+ 'sony' => "Sony Ericsson",
+ 'ericsson' => "Sony Ericsson",
+ 'blackberry' => "BlackBerry",
+ 'cocoon' => "O2 Cocoon",
+ 'blazer' => "Treo",
+ 'lg' => "LG",
+ 'amoi' => "Amoi",
+ 'xda' => "XDA",
+ 'mda' => "MDA",
+ 'vario' => "Vario",
+ 'htc' => "HTC",
+ 'samsung' => "Samsung",
+ 'sharp' => "Sharp",
+ 'sie-' => "Siemens",
+ 'alcatel' => "Alcatel",
+ 'benq' => "BenQ",
+ 'ipaq' => "HP iPaq",
+ 'mot-' => "Motorola",
+ 'playstation portable' => "PlayStation Portable",
+ 'hiptop' => "Danger Hiptop",
+ 'nec-' => "NEC",
+ 'panasonic' => "Panasonic",
+ 'philips' => "Philips",
+ 'sagem' => "Sagem",
+ 'sanyo' => "Sanyo",
+ 'spv' => "SPV",
+ 'zte' => "ZTE",
+ 'sendo' => "Sendo",
+
+ // Operating Systems
+ 'symbian' => "Symbian",
+ 'SymbianOS' => "SymbianOS",
+ 'elaine' => "Palm",
+ 'palm' => "Palm",
+ 'series60' => "Symbian S60",
+ 'windows ce' => "Windows CE",
+
+ // Browsers
+ 'obigo' => "Obigo",
+ 'netfront' => "Netfront Browser",
+ 'openwave' => "Openwave Browser",
+ 'mobilexplorer' => "Mobile Explorer",
+ 'operamini' => "Opera Mini",
+ 'opera mini' => "Opera Mini",
+
+ // Other
+ 'digital paths' => "Digital Paths",
+ 'avantgo' => "AvantGo",
+ 'xiino' => "Xiino",
+ 'novarra' => "Novarra Transcoder",
+ 'vodafone' => "Vodafone",
+ 'docomo' => "NTT DoCoMo",
+ 'o2' => "O2",
+
+ // Fallback
+ 'mobile' => "Generic Mobile",
+ 'wireless' => "Generic Mobile",
+ 'j2me' => "Generic Mobile",
+ 'midp' => "Generic Mobile",
+ 'cldc' => "Generic Mobile",
+ 'up.link' => "Generic Mobile",
+ 'up.browser' => "Generic Mobile",
+ 'smartphone' => "Generic Mobile",
+ 'cellphone' => "Generic Mobile"
+ );
+
+// There are hundreds of bots but these are the most common.
+$robots = array(
+ 'googlebot' => 'Googlebot',
+ 'msnbot' => 'MSNBot',
+ 'slurp' => 'Inktomi Slurp',
+ 'yahoo' => 'Yahoo',
+ 'askjeeves' => 'AskJeeves',
+ 'fastcrawler' => 'FastCrawler',
+ 'infoseek' => 'InfoSeek Robot 1.0',
+ 'lycos' => 'Lycos'
+ );
+
+/* End of file user_agents.php */
+/* Location: ./application/config/user_agents.php */ \ No newline at end of file
diff --git a/application/config/index.html b/application/config/index.html
new file mode 100755
index 000000000..c942a79ce
--- /dev/null
+++ b/application/config/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/controllers/file.php b/application/controllers/file.php
new file mode 100644
index 000000000..7d97913f2
--- /dev/null
+++ b/application/controllers/file.php
@@ -0,0 +1,232 @@
+<?php
+/*
+ * Copyright 2009-2010 Florian "Bluewind" Pritz <bluewind@server-speed.net>
+ *
+ * Licensed under GPLv3
+ * (see COPYING for full license text)
+ *
+ */
+
+class File extends CI_Controller {
+
+ function __construct()
+ {
+ parent::__construct();
+ $this->load->helper(array('form', 'filebin'));
+ $this->load->model('file_mod');
+ $this->var->cli_client = false;
+ $this->file_mod->var->cli_client =& $this->var->cli_client;
+ $this->var->latest_client = trim(file_get_contents(FCPATH.'data/client/latest'));
+
+ // official client uses "fb-client/$version" as useragent
+ if (strpos($_SERVER['HTTP_USER_AGENT'], 'fb-client') !== false) {
+ $client_version = substr($_SERVER['HTTP_USER_AGENT'], 10);
+ if ($this->var->latest_client != $client_version) {
+ echo "Your are using an old client version. Latest is ".$this->var->latest_client."\n";
+ }
+ $this->var->cli_client = "fb-client";
+ } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'libcurl') !== false) {
+ $this->var->cli_client = "curl";
+ }
+ }
+
+ function index()
+ {
+ // Try to guess what the user would like to do.
+ // File uploads should be checked first because they are usually big and
+ // take quite some time to upload.
+ $id = $this->uri->segment(1);
+ if(isset($_FILES['file'])) {
+ $this->do_upload();
+ } elseif ($this->input->post('content')) {
+ $this->do_paste();
+ } elseif ($id != "file" && $this->file_mod->id_exists($id)) {
+ $this->file_mod->download();
+ } elseif ($this->var->cli_client) {
+ die("No upload or unknown ID requested.\n");
+ } elseif ($id && $id != "file") {
+ $this->file_mod->non_existent();
+ } else {
+ $this->upload_form();
+ }
+ }
+
+ function client()
+ {
+ $data['title'] = 'Client';
+ $data['client_link'] = base_url().'data/client/fb-'.$this->var->latest_client.'.tar.gz';
+ $data['client_link_dir'] = base_url().'data/client/';
+ $data['client_link_deb'] = base_url().'data/client/deb/';
+ $data['client_link_slackware'] = base_url().'data/client/slackware/';
+
+ $this->load->view('file/header', $data);
+ $this->load->view('file/client', $data);
+ $this->load->view('file/footer', $data);
+ }
+
+ function upload_form()
+ {
+ $data = array();
+ $data['title'] = 'Upload';
+ $data['small_upload_size'] = $this->config->item('small_upload_size');
+ $data['max_upload_size'] = $this->config->item('upload_max_size');
+
+ $this->load->view('file/header', $data);
+ $this->load->view('file/upload_form', $data);
+ $this->load->view('file/footer', $data);
+ }
+
+ // Allow CLI clients to query the server for the maxium filesize so they can
+ // stop the upload before wasting time and bandwith
+ function get_max_size()
+ {
+ echo $this->config->item('upload_max_size');
+ }
+
+ // Allow users to delete IDs if their password matches the one used when uploading
+ function delete()
+ {
+ $data = array();
+ $id = $this->uri->segment(3);
+ $password = $this->file_mod->get_password();
+ $data["title"] = "Delete";
+ $data["id"] = $id;
+ if ($password != "NULL") {
+ if ($this->file_mod->delete_id($id)) {
+ if ($this->var->cli_client) {
+ echo $id." deleted\n";
+ die();
+ } else {
+ $this->load->view('file/header', $data);
+ $this->load->view('file/deleted', $data);
+ $this->load->view('file/footer', $data);
+ return;
+ }
+ } else {
+ if ($this->var->cli_client) {
+ echo 'Couldn\'t delete '.$id."\n";
+ die();
+ } else {
+ $data["msg"] = "Deletion failed. Is the password correct?";
+ }
+ }
+ }
+ if ($this->var->cli_client) {
+ die();
+ } else {
+ $this->load->view('file/header', $data);
+ $this->load->view('file/delete_form', $data);
+ $this->load->view('file/footer', $data);
+ }
+ }
+
+ // Take the content from post instead of a file
+ // support textareas on the upload form
+ // XXX: This requires users of suhosin to adjust maxium post and request size
+ // TODO: merge with do_upload()
+ // XXX: this is too vulnerable to bots
+ function do_paste()
+ {
+ // FIXME: disable until bot problem is really fixed
+ return $this->upload_form();
+
+ $data = array();
+ $content = $this->input->post('content')."\n";
+ $extension = $this->input->post('extension');
+ // Try to filter spambots
+ if ($this->input->post("email") != "") return;
+
+ // prevent empty pastes from the upload form
+ if($content === "\n") {
+ $this->upload_form();
+ return;
+ }
+ // TODO: Display nice error for cli clients
+ if(strlen($content) > $this->config->item('upload_max_size')) {
+ $this->load->view('file/header', $data);
+ $this->load->view('file/too_big');
+ $this->load->view('file/footer');
+ return;
+ }
+
+ $id = $this->file_mod->new_id();
+ $hash = md5($content);
+ $folder = $this->file_mod->folder($hash);
+ file_exists($folder) || mkdir ($folder);
+ $file = $this->file_mod->file($hash);
+
+ file_put_contents($file, $content);
+ chmod($file, 0600);
+ $this->file_mod->add_file($hash, $id, 'stdin');
+ $this->file_mod->show_url($id, $extension);
+ }
+
+ // Handles uploaded files
+ // TODO: merge with do_paste()
+ function do_upload()
+ {
+ $data = array();
+ $extension = $this->input->post('extension');
+ // TODO: Display nice error for cli clients
+ if(!isset($_FILES['file'])) {
+ $this->load->view('file/header', $data);
+ $this->load->view('file/upload_error');
+ $this->load->view('file/footer');
+ return;
+ }
+ if ($_FILES['file']['error'] !== 0) {
+ $this->upload_form();
+ return;
+ }
+ $filesize = filesize($_FILES['file']['tmp_name']);
+ // TODO: Display nice error for cli clients
+ if ($filesize > $this->config->item('upload_max_size')) {
+ $this->load->view('file/header', $data);
+ $this->load->view('file/too_big');
+ $this->load->view('file/footer');
+ return;
+ }
+
+ $id = $this->file_mod->new_id();
+ $hash = md5_file($_FILES['file']['tmp_name']);
+ $filename = $_FILES['file']['name'];
+ $folder = $this->file_mod->folder($hash);
+ file_exists($folder) || mkdir ($folder);
+ $file = $this->file_mod->file($hash);
+
+ move_uploaded_file($_FILES['file']['tmp_name'], $file);
+ chmod($file, 0600);
+ $this->file_mod->add_file($hash, $id, $filename);
+ $this->file_mod->show_url($id, $extension);
+ }
+
+ // Removes old files
+ function cron()
+ {
+ if ($this->config->item('upload_max_age') == 0) return;
+
+ $oldest_time = (time()-$this->config->item('upload_max_age'));
+ $small_upload_size = $this->config->item('small_upload_size');
+ $query = $this->db->query('SELECT hash, id FROM files WHERE date < ?',
+ array($oldest_time));
+
+ foreach($query->result_array() as $row) {
+ $file = $this->file_mod->file($row['hash']);
+ if (!file_exists($file)) {
+ $this->db->query('DELETE FROM files WHERE id = ? LIMIT 1', array($row['id']));
+ continue;
+ }
+
+ if (filesize($file) > $small_upload_size) {
+ if (filemtime($file) < $oldest_time) {
+ unlink($file);
+ $this->db->query('DELETE FROM files WHERE hash = ?', array($row['hash']));
+ } else {
+ $this->db->query('DELETE FROM files WHERE id = ? LIMIT 1', array($row['id']));
+ }
+ }
+ }
+ }
+}
+
+# vim: set noet:
diff --git a/application/controllers/index.html b/application/controllers/index.html
new file mode 100644
index 000000000..c942a79ce
--- /dev/null
+++ b/application/controllers/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/core/index.html b/application/core/index.html
new file mode 100755
index 000000000..c942a79ce
--- /dev/null
+++ b/application/core/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/errors/error_404.php b/application/errors/error_404.php
new file mode 100644
index 000000000..1c513a205
--- /dev/null
+++ b/application/errors/error_404.php
@@ -0,0 +1,34 @@
+<html>
+<head>
+<title>404 Page Not Found</title>
+<style type="text/css">
+
+body {
+background-color: #fff;
+margin: 40px;
+font-family: Lucida Grande, Verdana, Sans-serif;
+font-size: 12px;
+color: #000;
+}
+
+#content {
+border: #999 1px solid;
+background-color: #fff;
+padding: 20px 20px 12px 20px;
+}
+
+h1 {
+font-weight: normal;
+font-size: 14px;
+color: #990000;
+margin: 0 0 4px 0;
+}
+</style>
+</head>
+<body>
+ <div id="content">
+ <h1><?php echo $heading; ?></h1>
+ <?php echo $message; ?>
+ </div>
+</body>
+</html> \ No newline at end of file
diff --git a/application/errors/error_db.php b/application/errors/error_db.php
new file mode 100644
index 000000000..1ce52dfc9
--- /dev/null
+++ b/application/errors/error_db.php
@@ -0,0 +1,34 @@
+<html>
+<head>
+<title>Database Error</title>
+<style type="text/css">
+
+body {
+background-color: #fff;
+margin: 40px;
+font-family: Lucida Grande, Verdana, Sans-serif;
+font-size: 12px;
+color: #000;
+}
+
+#content {
+border: #999 1px solid;
+background-color: #fff;
+padding: 20px 20px 12px 20px;
+}
+
+h1 {
+font-weight: normal;
+font-size: 14px;
+color: #990000;
+margin: 0 0 4px 0;
+}
+</style>
+</head>
+<body>
+ <div id="content">
+ <h1><?php echo $heading; ?></h1>
+ <?php echo $message; ?>
+ </div>
+</body>
+</html> \ No newline at end of file
diff --git a/application/errors/error_general.php b/application/errors/error_general.php
new file mode 100644
index 000000000..d8610702b
--- /dev/null
+++ b/application/errors/error_general.php
@@ -0,0 +1,34 @@
+<html>
+<head>
+<title>Error</title>
+<style type="text/css">
+
+body {
+background-color: #fff;
+margin: 40px;
+font-family: Lucida Grande, Verdana, Sans-serif;
+font-size: 12px;
+color: #000;
+}
+
+#content {
+border: #999 1px solid;
+background-color: #fff;
+padding: 20px 20px 12px 20px;
+}
+
+h1 {
+font-weight: normal;
+font-size: 14px;
+color: #990000;
+margin: 0 0 4px 0;
+}
+</style>
+</head>
+<body>
+ <div id="content">
+ <h1><?php echo $heading; ?></h1>
+ <?php echo $message; ?>
+ </div>
+</body>
+</html> \ No newline at end of file
diff --git a/application/errors/error_php.php b/application/errors/error_php.php
new file mode 100644
index 000000000..f085c2037
--- /dev/null
+++ b/application/errors/error_php.php
@@ -0,0 +1,10 @@
+<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
+
+<h4>A PHP Error was encountered</h4>
+
+<p>Severity: <?php echo $severity; ?></p>
+<p>Message: <?php echo $message; ?></p>
+<p>Filename: <?php echo $filepath; ?></p>
+<p>Line Number: <?php echo $line; ?></p>
+
+</div> \ No newline at end of file
diff --git a/application/errors/index.html b/application/errors/index.html
new file mode 100644
index 000000000..c942a79ce
--- /dev/null
+++ b/application/errors/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/helpers/filebin_helper.php b/application/helpers/filebin_helper.php
new file mode 100644
index 000000000..3d6c30b76
--- /dev/null
+++ b/application/helpers/filebin_helper.php
@@ -0,0 +1,10 @@
+<?php
+
+// Source: http://ibnuyahya.com/format-bytes-to-kb-mb-gb/
+function format_bytes($size, $precision = 2){
+ $base = log($size) / log(1024);
+ $suffixes = array('B', 'kB', 'MB', 'GB', 'TB' , 'PB' , 'EB');
+ return round(pow(1024, $base - floor($base)), $precision) . $suffixes[floor($base)];
+}
+
+# vim: set noet:
diff --git a/application/helpers/index.html b/application/helpers/index.html
new file mode 100644
index 000000000..c942a79ce
--- /dev/null
+++ b/application/helpers/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/hooks/index.html b/application/hooks/index.html
new file mode 100644
index 000000000..c942a79ce
--- /dev/null
+++ b/application/hooks/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/index.html b/application/index.html
new file mode 100644
index 000000000..c942a79ce
--- /dev/null
+++ b/application/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/language/english/index.html b/application/language/english/index.html
new file mode 100644
index 000000000..c942a79ce
--- /dev/null
+++ b/application/language/english/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/libraries/MemcacheLibrary.php b/application/libraries/MemcacheLibrary.php
new file mode 100644
index 000000000..dcc08b942
--- /dev/null
+++ b/application/libraries/MemcacheLibrary.php
@@ -0,0 +1,179 @@
+<?php
+
+/**
+* codeigniter-memcache v0.1
+*
+* codeigniter-memcache is a codeigniter library to work with memcached easily.
+*
+*
+* @file MemcacheLibrary.php
+* @copyright 2010 egnity - egnity.com
+* @author Emre Yilmaz <mail@emreyilmaz.me>
+* @license GNU General Public License
+* @version 0.1
+*/
+
+
+class MemcacheLibrary {
+
+ /**
+ * variable that holds memcached backend instance
+ *
+ * @var object
+ * @access public
+ */
+ public $memcachedInstance;
+
+ /**
+ * variable that holds servers for the memcache
+ *
+ * @var array
+ * @access public
+ */
+ public $servers = array();
+
+
+ /**
+ * main CodeIgniter instance
+ *
+ * @var object
+ * @access public
+ */
+ public $CI;
+
+ /**
+ * constructor function for the library
+ */
+ public function __construct() {
+
+ /* initialize memcached instance */
+ if(class_exists("Memcache")) {
+ $this->memcachedInstance = new Memcache();
+ } else {
+ throw new Exception(
+ "Memcached client doesn't exists in your PHP configuration"
+ );
+ }
+
+ /* load super CI instance */
+ $this->CI =& get_instance();
+
+ /* load default server info */
+ $this->CI->config->load("memcache");
+
+ /* connect to default server */
+ if($this->CI->config->item("MEMCACHE_HOST") && $this->CI->config->item("MEMCACHE_PORT") !== false) {
+ $this->addServer($this->CI->config->item("MEMCACHE_HOST"), $this->CI->config->item("MEMCACHE_PORT"));
+ }
+
+ }
+
+ /**
+ * adder function for the memcache servers
+ *
+ * @access public
+ * @return void
+ */
+ public function addServer($server, $port) {
+ $this->servers[] = array(
+ "server" => $server,
+ "port" => $port,
+ );
+
+ $this->memcachedInstance->addServer($server, $port);
+ }
+
+ /**
+ * gets related key from the memcache
+ *
+ * @access public
+ */
+ public function get($key) {
+ $this->logDebugMessage(sprintf("%s key requested from memcache", $key));
+ return $this->memcachedInstance->get($key);
+ }
+
+ /**
+ * sets related key to the memcache
+ *
+ * @access public
+ */
+ public function set($key, $value, $expire = null) {
+ $this->logDebugMessage(
+ sprintf("%s key set to memcache. (expire: %s)",$key, $expire)
+ );
+ return $this->memcachedInstance->set($key, $value, null, $expire);
+ }
+
+ /**
+ * deletes related key from the memcache
+ *
+ * @access public
+ */
+ public function delete($key) {
+ $this->logDebugMessage(sprintf("%s key deleted from memcache.", $key));
+ return $this->memcachedInstance->delete($key);
+ }
+
+ /**
+ * increments related key from the memcache
+ *
+ * @access public
+ */
+ public function increment($key, $offset = 1) {
+ $this->logDebugMessage(sprintf("%s key incremented %s times", $key, $offset));
+ return $this->memcachedInstance->increment($key, $offset);
+ }
+
+ /**
+ * decrements related key from the memcache
+ *
+ * @access public
+ */
+ public function decrement($key, $offset = 1) {
+ $this->logDebugMessage(sprintf("%s key decremented %s times", $key, $offset));
+ return $this->memcachedInstance->decrement($key, $offset);
+ }
+
+ /**
+ * gets running memcached servers.
+ *
+ * @access public
+ * @return array
+ */
+ public function getRunningServers() {
+ return $this->servers;
+ }
+
+ /**
+ * array of server statistics, one entry per server.
+ *
+ * @access public
+ * @return array
+ */
+ public function getStatistics() {
+ return $this->memcachedInstance->getStats();
+ }
+
+ /**
+ * Invalidates all items from the memcache.
+ *
+ * @access public
+ * @return boolean
+ */
+ public function flush($delay = 0) {
+ $this->logDebugMessage(sprintf("memcache flushed! (delay: %s)", $delay));
+ return $this->memcachedInstance->flush($delay);
+ }
+
+ /**
+ * logs the memcache actions to the codeigniter's main logging system.
+ *
+ * @access private
+ */
+ private function logDebugMessage($message) {
+ log_message("debug", $message);
+ }
+}
+
+# vim: set noet:
diff --git a/application/libraries/contrib/aliased.php b/application/libraries/contrib/aliased.php
new file mode 100644
index 000000000..32bec9239
--- /dev/null
+++ b/application/libraries/contrib/aliased.php
@@ -0,0 +1,124 @@
+<?php
+
+/**
+ * Another GeSHi example script
+ *
+ * Configure your Apache server with 'AcceptPathInfo true' and something like
+ * 'Alias /viewmysource /var/www/geshi/contrib/aliased.php'. Don't forget
+ * to protect this alias as necessary.
+ *
+ * Usage - visit /viewmysource/file.name.ext to see that file with syntax
+ * highlighting, where "viewmysource" is the name of the alias you set up.
+ * You can use this without an alias too, just by visiting
+ * aliased.php/file.name.ext.
+ *
+ * @author Ross Golder <ross@golder.org>
+ * @version $Id: aliased.php 785 2006-07-19 10:09:45Z oracleshinoda $
+ */
+
+// Your config here
+define("SOURCE_ROOT", "/var/www/your/source/root/");
+
+// Assume you've put geshi in the include_path already
+require_once("geshi.php");
+
+// Get path info
+$path = SOURCE_ROOT.$_SERVER['PATH_INFO'];
+
+// Check for dickheads trying to use '../' to get to sensitive areas
+$base_path_len = strlen(SOURCE_ROOT);
+$real_path = realpath($path);
+if(strncmp($real_path, SOURCE_ROOT, $base_path_len)) {
+ exit("Stop that.");
+}
+
+// Check file exists
+if(!file_exists($path)) {
+ exit("File not found ($path).");
+}
+
+// Gather contents
+$contents = file_get_contents($path);
+
+// Prepare GeSHi instance
+$geshi =& new GeSHi($contents, "PHP");
+$geshi->set_header_type(GESHI_HEADER_PRE);
+$geshi->enable_classes();
+$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 10);
+$geshi->set_overall_style('color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', true);
+$geshi->set_line_style('font: normal normal 95% \'Courier New\', Courier, monospace; color: #003030;', 'font-weight: bold; color: #006060;', true);
+$geshi->set_code_style('color: #000020;', 'color: #000020;');
+$geshi->set_link_styles(GESHI_LINK, 'color: #000060;');
+$geshi->set_link_styles(GESHI_HOVER, 'background-color: #f0f000;');
+$geshi->set_header_content('Source code viewer');
+$geshi->set_header_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;');
+$geshi->set_footer_content('Parsed in <TIME> seconds, using GeSHi <VERSION>');
+$geshi->set_footer_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-top: 1px solid #d0d0d0; padding: 2px;');
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Source code viewer - <?php echo $path; ?></title>
+ <style type="text/css">
+ <!--
+ <?php
+ // Output the stylesheet. Note it doesn't output the <style> tag
+ echo $geshi->get_stylesheet();
+ ?>
+ html {
+ background-color: #f0f0f0;
+ }
+ body {
+ font-family: Verdana, Arial, sans-serif;
+ margin: 10px;
+ border: 2px solid #e0e0e0;
+ background-color: #fcfcfc;
+ padding: 5px;
+ }
+ h2 {
+ margin: .1em 0 .2em .5em;
+ border-bottom: 1px solid #b0b0b0;
+ color: #b0b0b0;
+ font-weight: normal;
+ font-size: 150%;
+ }
+ h3 {
+ margin: .1em 0 .2em .5em;
+ color: #b0b0b0;
+ font-weight: normal;
+ font-size: 120%;
+ }
+ #footer {
+ text-align: center;
+ font-size: 80%;
+ color: #a9a9a9;
+ }
+ #footer a {
+ color: #9999ff;
+ }
+ textarea {
+ border: 1px solid #b0b0b0;
+ font-size: 90%;
+ color: #333;
+ margin-left: 20px;
+ }
+ select, input {
+ margin-left: 20px;
+ }
+ p {
+ font-size: 90%;
+ margin-left: .5em;
+ }
+ -->
+ </style>
+</head>
+<body>
+<?php
+// The fun part :)
+echo $geshi->parse_code();
+?>
+<hr/>
+</body>
+</html>
diff --git a/application/libraries/contrib/cssgen.php b/application/libraries/contrib/cssgen.php
new file mode 100644
index 000000000..f746b00c3
--- /dev/null
+++ b/application/libraries/contrib/cssgen.php
@@ -0,0 +1,456 @@
+<?php
+/*************************************************************************************
+ * cssgen.php
+ * ----------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/05/20
+ *
+ * Application to generate custom CSS files for GeSHi (based on an idea by Andreas
+ * Gohr)
+ *
+ *************************************************************************************
+ *
+ * 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
+ *
+ ************************************************************************************/
+
+set_magic_quotes_runtime(0);
+//
+// Functions
+//
+
+function make_header ( $title )
+{
+ echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>GeSHi CSS Generator :: ' . $title . ' </title>
+ <style type="text/css" media="screen">
+ <!--
+ html {
+ font-family: Verdana, Arial, sans-serif;
+ font-size: 80%;
+ background-color: #d0d0d0;
+ }
+ body {
+ margin: 10px;
+ padding: 5px;
+ border: 1px solid #f0f0f0;
+ background-color: #f6f6f6;
+ }
+ h1 {
+ border-bottom: 2px solid #e0e0e0;
+ font-weight: normal;
+ font-size: 150%;
+ color: #c0c0c0;
+ }
+ input, textarea {
+ border: 1px solid #d0d0d0;
+ }
+ th {
+ text-align: right;
+ font-weight: normal;
+ }
+ pre {
+ font-size: 110%;
+ color: #202020;
+ }
+ #footer {
+ color: #b0b0b0;
+ text-align: center;
+ font-size: 90%;
+ margin: 0 auto;
+ border-top: 1px solid #e0e0e0;
+ }
+ #footer a {
+ color: #c0c0c0;
+ }
+ -->
+ </style>
+ <script type="text/javascript">
+ function select (state)
+ {
+ var cboxes = document.getElementsByTagName(\'input\');
+ for (var i = 0; i < cboxes.length; i++) {
+ if (cboxes[i].type == "checkbox") {
+ if (state == "true") {
+ cboxes[i].checked = true;
+ } else if (state == "false") {
+ cboxes[i].checked = false;
+ } else if (state == "invert") {
+ cboxes[i].checked = !cboxes[i].checked;
+ }
+ }
+ }
+ }
+ </script>
+</head>
+<body>
+<h1>' . $title . '</h1>
+';
+}
+
+function make_footer ()
+{
+ echo '<div id="footer"><a href="http://qbnz.com/highlighter/">GeSHi</a> &copy; Nigel McNie, 2004, released under the GPL</div></body>
+</html>';
+}
+
+
+function get_var ( $var_name )
+{
+ if ( isset($_GET[$var_name]) )
+ {
+ return str_replace("\'", "'", $_GET[$var_name]);
+ }
+ elseif ( isset($_POST[$var_name]) )
+ {
+ return str_replace("\'", "'", $_POST[$var_name]);
+ }
+ return null;
+}
+
+
+
+//
+// Unset everything
+//
+foreach ( $_REQUEST as $var )
+{
+ unset($$var);
+}
+foreach ( array(
+ '_POST' => 'HTTP_POST_VARS',
+ '_GET' => 'HTTP_GET_VARS',
+ '_COOKIE' => 'HTTP_COOKIE_VARS',
+ '_SERVER' => 'HTTP_SERVER_VARS',
+ '_ENV' => 'HTTP_ENV_VARS',
+ '_FILES' => 'HTTP_POST_FILES') as $array => $other )
+{
+ if ( !isset($$array) )
+ {
+ $$array = $$other;
+ }
+ unset($$other);
+}
+
+
+// Get what step we're up to
+$step = get_var('step');
+
+if ( !$step || $step == 1 )
+{
+ $errors = 0;
+ make_header('Step 1');
+ echo "Welcome to the GeSHi CSS generator.<br /><pre>Searching for GeSHi... ";
+
+ // Find GeSHi
+ $geshi_path = get_var('geshi-path');
+ $geshi_lang_path = get_var('geshi-lang-path');
+
+ if ( !$geshi_path )
+ {
+ $geshi_path = '../geshi.php';
+ }
+ if ( !$geshi_lang_path )
+ {
+ $geshi_lang_path = '../geshi/';
+ }
+
+
+ if ( is_file($geshi_path) && is_readable($geshi_path) )
+ {
+ // Get file contents and see if GeSHi is in here
+ $file = @file($geshi_path);
+ $contents = '';
+ foreach ( $file as $line )
+ {
+ $contents .= $line;
+ }
+ if ( strpos($contents, '<?php
+/**
+ * GeSHi - Generic Syntax Highlighter') !== false )
+ {
+ echo '<span style="color: green;">Found at ' . realpath($geshi_path) . '</span>';
+ }
+ else
+ {
+ ++$errors;
+ $no_geshi_dot_php_error = true;
+ echo '<span style="color: red;">Not found</span>';
+ }
+ }
+ else
+ {
+ ++$errors;
+ $no_geshi_dot_php_error = true;
+ echo '<span style="color: red;">Not found</span>';
+ }
+
+ // Find language files
+ echo "\nSearching for language files... ";
+ if ( is_readable($geshi_lang_path . 'css-gen.cfg') )
+ {
+
+ echo '<span style="color: green;">Found at ' . realpath($geshi_lang_path) . '</span>';
+ }
+ else
+ {
+ ++$errors;
+ $no_lang_dir_error = true;
+ echo '<span style="color: red;">Not found</span>';
+ }
+ echo "</pre>\n";
+
+ if ( $errors > 0 )
+ {
+ // We're gonna have to ask for the paths...
+ echo 'Unfortunately CSSGen could not detect the following paths. Please input them and press &quot;submit&quot; to try again.';
+ echo "
+<form action=\"cssgen.php\" method=\"post\">";
+ if ( $no_geshi_dot_php_error )
+ {
+ echo "
+<br />geshi.php: <input type=\"text\" name=\"geshi-path\" value=\"" . realpath('../geshi.php') . "\" size=\"50\" />";
+ }
+ else
+ {
+ echo '<input type="hidden" name="geshi-path" value="' . htmlspecialchars($geshi_path) . '" />';
+ }
+ if ( $no_lang_dir_error )
+ {
+ echo "
+<br />language files directory: <input type=\"text\" name=\"geshi-lang-path\" value=\"" . realpath('../geshi/') . "/\" size=\"50\" /> (should have a trailing slash)";
+ }
+ else
+ {
+ echo '<input type="hidden" name="geshi-lang-path" value="' . $geshi_lang_path . '" />';
+ }
+
+ echo "
+<br /><input type=\"submit\" value=\"Search\" /></form>";
+ }
+ else
+ {
+ // no errors - echo continue form
+ echo 'Everything seems to be detected successfully. Use the button to continue.
+<br /><br /><form action="cssgen.php?step=2" method="post">
+<input type="hidden" name="geshi-path" value="' . realpath($geshi_path) . '" /><input type="hidden" name="geshi-lang-path" value="' . realpath($geshi_lang_path) . '" />
+<input type="submit" value="Step 2" />';
+ }
+
+ make_footer();
+}
+// Step 2
+elseif ( $step == 2 )
+{
+ make_header('Step 2');
+
+ $geshi_path = get_var('geshi-path');
+ $geshi_lang_path = get_var('geshi-lang-path');
+
+ $dh = opendir($geshi_lang_path);
+ $lang_files = array();
+ $file = readdir($dh);
+ while ( $file !== false )
+ {
+ if ( $file == '.' || $file == '..' || $file == 'CVS' || $file == 'css-gen.cfg' )
+ {
+ $file = readdir($dh);
+ continue;
+ }
+ $lang_files[] = $file;
+ $file = readdir($dh);
+ }
+ closedir($dh);
+ sort($lang_files);
+
+ // Now installed languages are in $lang_files
+
+ echo '<form action="cssgen.php?step=3" method="post" id="step2">
+What languages are you wanting to make this stylesheet for?<br /><br />
+Detected languages:<br />';
+
+ foreach ( $lang_files as $lang )
+ {
+ $lang = substr($lang, 0, strpos($lang, '.'));
+ if ($lang) {
+ echo "<input type=\"checkbox\" name=\"langs[$lang]\" checked=\"checked\" />&nbsp;$lang<br />\n";
+ }
+ }
+
+ echo "Select: <a href=\"javascript:select('true')\">All</a>, <a href=\"javascript:select('false')\">None</a>, <a href=\"javascript:select('invert')\">Invert</a><br />\n";
+
+ echo 'If you\'d like any other languages not detected here to be supported, please enter
+them here, one per line:<br /><textarea rows="4" cols="20" name="extra-langs"></textarea><br />
+';
+
+ echo '<br />Styles:
+<table>
+ <tr><th>Style for the overall code block:</th><td><input type="text" name="overall" value="border: 1px dotted #a0a0a0; font-family: \'Courier New\', Courier, monospace; background-color: #f0f0f0; color: #0000bb;" /></td></tr>
+ <tr><th>Default Styles</th><td><input type="text" name="default-styles" value="font-weight:normal;background:transparent;color:#000; padding-left: 5px;" /></td></tr>
+ <tr><th>Keywords I (if, do, while etc)</th><td><input type="text" name="keywords-1" value="color: #a1a100;" /></td></tr>
+ <tr><th>Keywords II (null, true, false etc)</th><td><input type="text" name="keywords-2" value="color: #000; font-weight: bold;" /></td></tr>
+ <tr><th>Inbuilt Functions (echo, print etc)</th><td><input type="text" name="keywords-3" value="color: #000066;" /></td></tr>
+ <tr><th>Data Types (int, boolean etc)</th><td><input type="text" name="keywords-4" value="color: #f63333;" /></td></tr>
+
+ <tr><th>Comments (//, <!-- --> etc)</th><td><input type="text" name="comments" value="color: #808080;" /></td></tr>
+ <tr><th>Escaped Characters (\n, \t etc)</th><td><input type="text" name="escaped-chars" value="color: #000033; font-weight: bold;" /></td></tr>
+ <tr><th>Brackets ( ([{}]) etc)</th><td><input type="text" name="brackets" value="color: #66cc66;" /></td></tr>
+ <tr><th>Strings ("foo" etc)</th><td><input type="text" name="strings" value="color: #ff0000;" /></td></tr>
+ <tr><th>Numbers (1, -54, 2.5 etc)</th><td><input type="text" name="numbers" value="color: #ff33ff;" /></td></tr>
+ <tr><th>Methods (Foo.bar() etc)</th><td><input type="text" name="methods" value="color: #006600;" /></td></tr>
+</table>';
+
+ echo '<input type="hidden" name="geshi-path" value="' . realpath($geshi_path) . '" /><input type="hidden" name="geshi-lang-path" value="' . realpath($geshi_lang_path) . '" />
+<input type="submit" value="Step 3" /></form>';
+
+ make_footer();
+}
+// Step 3
+elseif ( $step == 3 )
+{
+ make_header('Step 3');
+ echo '<p>Here is your completed stylesheet. Note that it may not be perfect - no regular expression styles are included for one thing,
+you\'ll have to add those yourself (php and xml are just two languages that use them), and line numbers are not included, however
+it includes most of the basic information.</p>';
+
+ // Make the stylesheet
+ $part_selector_1 = '';
+ $part_selector_2 = '';
+ $part_selector_3 = '';
+
+ $langs = get_var('langs');
+ $extra_langs = trim(get_var('extra-langs'));
+ if ( $extra_langs != '' )
+ {
+ $l = explode("\r\n", $extra_langs);
+ foreach ( $l as $lng )
+ {
+ $langs[$lng] = true;
+ }
+ }
+
+
+ foreach ( $langs as $lang => $dummy )
+ {
+ $part_selector_1 .= ".$lang {PART}, ";
+ $part_selector_2 .= ".$lang {PART1}, .$lang {PART2}, ";
+ $part_selector_3 .= ".$lang {PART1}, .$lang {PART2}, .$lang {PART3}, ";
+ }
+ $part_selector_1 = substr($part_selector_1, 0, -2);
+ $part_selector_2 = substr($part_selector_2, 0, -2);
+ $part_selector_3 = substr($part_selector_3, 0, -2);
+
+
+ $default_styles = get_var('default-styles');
+ $ol_selector = str_replace('{PART}', 'ol', $part_selector_1);
+ $overall_styles = get_var('overall');
+ $overall_selector = str_replace('{PART}', '', $part_selector_1);
+
+ $stylesheet = "/* GeSHi (c) Nigel McNie 2004 (http://qbnz.com/highlighter) */";
+
+ if ( $overall != '' )
+ {
+ $stylesheet .= "\n$overall_selector {{$overall_styles}}";
+ }
+ if ( $default_styles != '' )
+ {
+ $default_selector = str_replace(array('{PART1}', '{PART2}'), array('.de1', '.de2'), $part_selector_2);
+ $stylesheet .= "\n$default_selector {{$default_styles}}";
+ }
+
+ // Do keywords
+ $keywords_1 = get_var('keywords-1');
+ $keyword_selector_1 = str_replace('{PART}', '.kw1', $part_selector_1);
+ if ( $keywords_1 != '' )
+ {
+ $stylesheet .= "\n$keyword_selector_1 {{$keywords_1}}";
+ }
+
+ $keywords_2 = get_var('keywords-2');
+ $keyword_selector_2 = str_replace('{PART}', '.kw2', $part_selector_1);
+ if ( $keywords_2 != '' )
+ {
+ $stylesheet .= "\n$keyword_selector_2 {{$keywords_2}}";
+ }
+
+ $keywords_3 = get_var('keywords-3');
+ $keyword_selector_3 = str_replace('{PART}', '.kw3', $part_selector_1);
+ if ( $keywords_3 != '' )
+ {
+ $stylesheet .= "\n$keyword_selector_3 {{$keywords_3}}";
+ }
+
+ $keywords_4 = get_var('keywords-4');
+ $keyword_selector_4 = str_replace('{PART}', '.kw4', $part_selector_1);
+ if ( $keywords_4 != '' )
+ {
+ $stylesheet .= "\n$keyword_selector_4 {{$keywords_4}}";
+ }
+
+ // Do other lexics
+ $comments = get_var('comments');
+ $comment_selector = str_replace(array('{PART1}', '{PART2}', '{PART3}'), array('.co1', '.co2', '.coMULTI'), $part_selector_3);
+ if ( $comments != '' )
+ {
+ $stylesheet .= "\n$comment_selector {{$comments}}";
+ }
+
+ $esc = get_var('escaped-chars');
+ $esc_selector = str_replace('{PART}', '.es0', $part_selector_1);
+ if ( $esc != '' )
+ {
+ $stylesheet .= "\n$esc_selector {{$esc}}";
+ }
+
+ $brackets = get_var('brackets');
+ $brk_selector = str_replace('{PART}', '.br0', $part_selector_1);
+ if ( $brackets != '' )
+ {
+ $stylesheet .= "\n$brk_selector {{$brackets}}";
+ }
+
+ $strings = get_var('strings');
+ $string_selector = str_replace('{PART}', '.st0', $part_selector_1);
+ if ( $strings != '' )
+ {
+ $stylesheet .= "\n$string_selector {{$strings}}";
+ }
+
+ $numbers = get_var('numbers');
+ $num_selector = str_replace('{PART}', '.nu0', $part_selector_1);
+ if ( $numbers != '' )
+ {
+ $stylesheet .= "\n$num_selector {{$numbers}}";
+ }
+
+ $methods = get_var('methods');
+ $method_selector = str_replace('{PART}', '.me0', $part_selector_1);
+ if ( $methods != '' )
+ {
+ $stylesheet .= "\n$method_selector {{$methods}}";
+ }
+
+ echo "<pre>$stylesheet</pre>";
+
+ make_footer();
+}
+
+?>
diff --git a/application/libraries/contrib/cssgen2.php b/application/libraries/contrib/cssgen2.php
new file mode 100644
index 000000000..cc3c39cbf
--- /dev/null
+++ b/application/libraries/contrib/cssgen2.php
@@ -0,0 +1,59 @@
+<?php
+/**
+ * A simple script which outputs the CSS classes for all languages
+ * supported by GeSHi. You can access it directly to download
+ * the CSS file. On *NIX you can also do a simple `php cssgen.php > geshi.css`.
+ *
+ * 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
+ *
+ * @package geshi
+ * @subpackage contrib
+ * @author revulo <revulon@gmail.com>
+ * @copyright 2008 revulo
+ * @license http://gnu.org/copyleft/gpl.html GNU GPL
+ *
+ */
+
+require dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'geshi.php';
+$geshi = new GeSHi;
+
+$languages = array();
+if ($handle = opendir($geshi->language_path)) {
+ while (($file = readdir($handle)) !== false) {
+ $pos = strpos($file, '.');
+ if ($pos > 0 && substr($file, $pos) == '.php') {
+ $languages[] = substr($file, 0, $pos);
+ }
+ }
+ closedir($handle);
+}
+sort($languages);
+
+header('Content-Type: application/octet-stream');
+header('Content-Disposition: attachment; filename="geshi.css"');
+
+echo "/**\n".
+ " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" .
+ " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n".
+ " */\n";
+
+foreach ($languages as $language) {
+ $geshi->set_language($language);
+ // note: the false argument is required for stylesheet generators, see API documentation
+ $css = $geshi->get_stylesheet(false);
+ echo preg_replace('/^\/\*\*.*?\*\//s', '', $css);
+}
diff --git a/application/libraries/contrib/example.php b/application/libraries/contrib/example.php
new file mode 100644
index 000000000..32e6f0c75
--- /dev/null
+++ b/application/libraries/contrib/example.php
@@ -0,0 +1,217 @@
+<?php
+/**
+ * GeSHi example script
+ *
+ * Just point your browser at this script (with geshi.php in the parent directory,
+ * and the language files in subdirectory "../geshi/")
+ *
+ * @author Nigel McNie
+ * @version $Id: example.php 1512 2008-07-21 21:05:40Z benbe $
+ */
+header('Content-Type: text/html; charset=utf-8');
+
+error_reporting(E_ALL);
+
+// Rudimentary checking of where GeSHi is. In a default install it will be in ../, but
+// it could be in the current directory if the include_path is set. There's nowhere else
+// we can reasonably guess.
+if (is_readable('../geshi.php')) {
+ $path = '../';
+} elseif (is_readable('geshi.php')) {
+ $path = './';
+} else {
+ die('Could not find geshi.php - make sure it is in your include path!');
+}
+require $path . 'geshi.php';
+
+$fill_source = false;
+if (isset($_POST['submit'])) {
+ if (get_magic_quotes_gpc()) {
+ $_POST['source'] = stripslashes($_POST['source']);
+ }
+ if (!strlen(trim($_POST['source']))) {
+ $_POST['language'] = preg_replace('#[^a-zA-Z0-9\-_]#', '', $_POST['language']);
+ $_POST['source'] = implode('', @file($path . 'geshi/' . $_POST['language'] . '.php'));
+ $_POST['language'] = 'php';
+ } else {
+ $fill_source = true;
+ }
+
+ // Here's a free demo of how GeSHi works.
+
+ // First the initialisation: source code to highlight and the language to use. Make sure
+ // you sanitise correctly if you use $_POST of course - this very script has had a security
+ // advisory against it in the past because of this. Please try not to use this script on a
+ // live site.
+ $geshi = new GeSHi($_POST['source'], $_POST['language']);
+
+ // Use the PRE_VALID header. This means less output source since we don't have to output &nbsp;
+ // everywhere. Of course it also means you can't set the tab width.
+ // HEADER_PRE_VALID puts the <pre> tag inside the list items (<li>) thus producing valid HTML markup.
+ // HEADER_PRE puts the <pre> tag around the list (<ol>) which is invalid in HTML 4 and XHTML 1
+ // HEADER_DIV puts a <div> tag arount the list (valid!) but needs to replace whitespaces with &nbsp
+ // thus producing much larger overhead. You can set the tab width though.
+ $geshi->set_header_type(GESHI_HEADER_PRE_VALID);
+
+ // Enable CSS classes. You can use get_stylesheet() to output a stylesheet for your code. Using
+ // CSS classes results in much less output source.
+ $geshi->enable_classes();
+
+ // Enable line numbers. We want fancy line numbers, and we want every 5th line number to be fancy
+ $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 5);
+
+ // Set the style for the PRE around the code. The line numbers are contained within this box (not
+ // XHTML compliant btw, but if you are liberally minded about these things then you'll appreciate
+ // the reduced source output).
+ $geshi->set_overall_style('font: normal normal 90% monospace; color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', false);
+
+ // Set the style for line numbers. In order to get style for line numbers working, the <li> element
+ // is being styled. This means that the code on the line will also be styled, and most of the time
+ // you don't want this. So the set_code_style reverts styles for the line (by using a <div> on the line).
+ // So the source output looks like this:
+ //
+ // <pre style="[set_overall_style styles]"><ol>
+ // <li style="[set_line_style styles]"><div style="[set_code_style styles]>...</div></li>
+ // ...
+ // </ol></pre>
+ $geshi->set_line_style('color: #003030;', 'font-weight: bold; color: #006060;', true);
+ $geshi->set_code_style('color: #000020;', true);
+
+ // Styles for hyperlinks in the code. GESHI_LINK for default styles, GESHI_HOVER for hover style etc...
+ // note that classes must be enabled for this to work.
+ $geshi->set_link_styles(GESHI_LINK, 'color: #000060;');
+ $geshi->set_link_styles(GESHI_HOVER, 'background-color: #f0f000;');
+
+ // Use the header/footer functionality. This puts a div with content within the PRE element, so it is
+ // affected by the styles set by set_overall_style. So if the PRE has a border then the header/footer will
+ // appear inside it.
+ $geshi->set_header_content('<SPEED> <TIME> GeSHi &copy; 2004-2007, Nigel McNie, 2007-2008 Benny Baumann. View source of example.php for example of using GeSHi');
+ $geshi->set_header_content_style('font-family: sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;');
+
+ // You can use <TIME> and <VERSION> as placeholders
+ $geshi->set_footer_content('Parsed in <TIME> seconds at <SPEED>, using GeSHi <VERSION>');
+ $geshi->set_footer_content_style('font-family: sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-top: 1px solid #d0d0d0; padding: 2px;');
+} else {
+ // make sure we don't preselect any language
+ $_POST['language'] = null;
+}
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>GeSHi examples</title>
+ <style type="text/css">
+ <!--
+ <?php
+ if (isset($_POST['submit'])) {
+ // Output the stylesheet. Note it doesn't output the <style> tag
+ echo $geshi->get_stylesheet(true);
+ }
+ ?>
+ html {
+ background-color: #f0f0f0;
+ }
+ body {
+ font-family: Verdana, Arial, sans-serif;
+ margin: 10px;
+ border: 2px solid #e0e0e0;
+ background-color: #fcfcfc;
+ padding: 5px;
+ }
+ h2 {
+ margin: .1em 0 .2em .5em;
+ border-bottom: 1px solid #b0b0b0;
+ color: #b0b0b0;
+ font-weight: normal;
+ font-size: 150%;
+ }
+ h3 {
+ margin: .1em 0 .2em .5em;
+ color: #b0b0b0;
+ font-weight: normal;
+ font-size: 120%;
+ }
+ #footer {
+ text-align: center;
+ font-size: 80%;
+ color: #a9a9a9;
+ }
+ #footer a {
+ color: #9999ff;
+ }
+ textarea {
+ border: 1px solid #b0b0b0;
+ font-size: 90%;
+ color: #333;
+ margin-left: 20px;
+ }
+ select, input {
+ margin-left: 20px;
+ }
+ p {
+ font-size: 90%;
+ margin-left: .5em;
+ }
+ -->
+ </style>
+</head>
+<body>
+<h2>GeSHi Example Script</h2>
+<p>To use this script, make sure that <strong>geshi.php</strong> is in the parent directory or in your
+include_path, and that the language files are in a subdirectory of GeSHi's directory called <strong>geshi/</strong>.</p>
+<p>Enter your source and a language to highlight the source in and submit, or just choose a language to
+have that language file highlighted in PHP.</p>
+<?php
+if (isset($_POST['submit'])) {
+ // The fun part :)
+ echo $geshi->parse_code();
+ echo '<hr />';
+}
+?>
+<form action="<?php echo basename($_SERVER['PHP_SELF']); ?>" method="post">
+<h3>Source to highlight</h3>
+<p>
+<textarea rows="10" cols="60" name="source" id="source"><?php echo $fill_source ? htmlspecialchars($_POST['source']) : '' ?></textarea>
+</p>
+<h3>Choose a language</h3>
+<p>
+<select name="language" id="language">
+<?php
+if (!($dir = @opendir(dirname(__FILE__) . '/geshi'))) {
+ if (!($dir = @opendir(dirname(__FILE__) . '/../geshi'))) {
+ echo '<option>No languages available!</option>';
+ }
+}
+$languages = array();
+while ($file = readdir($dir)) {
+ if ( $file[0] == '.' || strpos($file, '.', 1) === false) {
+ continue;
+ }
+ $lang = substr($file, 0, strpos($file, '.'));
+ $languages[] = $lang;
+}
+closedir($dir);
+sort($languages);
+foreach ($languages as $lang) {
+ if (isset($_POST['language']) && $_POST['language'] == $lang) {
+ $selected = 'selected="selected"';
+ } else {
+ $selected = '';
+ }
+ echo '<option value="' . $lang . '" '. $selected .'>' . $lang . "</option>\n";
+}
+
+?>
+</select>
+</p>
+<p>
+<input type="submit" name="submit" value="Highlight Source" />
+<input type="submit" name="clear" onclick="document.getElementById('source').value='';document.getElementById('language').value='';return false" value="clear" />
+</p>
+</form>
+<div id="footer">GeSHi &copy; Nigel McNie, 2004, released under the GNU GPL<br />
+For a better demonstration, check out the <a href="http://qbnz.com/highlighter/demo.php">online demo</a>
+</div>
+</body>
+</html>
diff --git a/application/libraries/contrib/langcheck.php b/application/libraries/contrib/langcheck.php
new file mode 100644
index 000000000..a4ee4f65f
--- /dev/null
+++ b/application/libraries/contrib/langcheck.php
@@ -0,0 +1,766 @@
+<?php
+/**
+ * GeSHi language file validation script
+ *
+ * Just point your browser at this script (with geshi.php in the parent directory)
+ * and the language files in subdirectory "../geshi/" are being validated
+ *
+ * CLI mode is supported
+ *
+ * @author Benny Baumann
+ * @version $Id: langcheck.php 2174 2009-09-10 09:17:40Z benbe $
+ */
+header('Content-Type: text/html; charset=utf-8');
+
+set_time_limit(0);
+error_reporting(E_ALL);
+$time_start = explode(' ', microtime());
+
+function colorize($level, $string) {
+ static $colors, $end;
+ if ( !isset($colors) ) {
+ if ( PHP_SAPI != 'cli' ) {
+ $end = '</span>';
+ $colors = array(
+ TYPE_NOTICE => '<span style="color:#080;font-weight:bold;">',
+ TYPE_WARNING => '<span style="color:#CC0; font-weight: bold;">',
+ TYPE_ERROR => '<span style="color:#F00; font-weight: bold;">',
+ TYPE_OK => '<span style="color: #080; font-weight: bold;">'
+ );
+ } else {
+ $end = chr(27).'[0m';
+ $colors = array(
+ TYPE_NOTICE => chr(27).'[1m',
+ TYPE_WARNING => chr(27).'[1;33m',
+ TYPE_ERROR => chr(27).'[1;31m',
+ TYPE_OK => chr(27).'[1;32m'
+ );
+ }
+ }
+
+ if ( !isset($colors[$level]) ) {
+ trigger_error("no colors for level $level", E_USER_ERROR);
+ }
+
+ return $colors[$level].$string.$end;
+}
+
+define ('TYPE_NOTICE', 0);
+define ('TYPE_WARNING', 1);
+define ('TYPE_ERROR', 2);
+define ('TYPE_OK', 3);
+
+$error_abort = false;
+$error_cache = array();
+function output_error_cache(){
+ global $error_cache, $error_abort;
+
+ if(count($error_cache)) {
+ echo colorize(TYPE_ERROR, "Failed");
+ if ( PHP_SAPI == 'cli' ) {
+ echo "\n\n";
+ } else {
+ echo "<br /><ol>\n";
+ }
+ foreach($error_cache as $error_msg) {
+ if ( PHP_SAPI == 'cli' ) {
+ echo "\n";
+ } else {
+ echo "<li>";
+ }
+ switch($error_msg['t']) {
+ case TYPE_NOTICE:
+ $msg = 'NOTICE';
+ break;
+ case TYPE_WARNING:
+ $msg = 'WARNING';
+ break;
+ case TYPE_ERROR:
+ $msg = 'ERROR';
+ break;
+ }
+ echo colorize($error_msg['t'], $msg);
+ if ( PHP_SAPI == 'cli' ) {
+ echo "\t" . $error_msg['m'];
+ } else {
+ echo " " . $error_msg['m'] . "</li>";
+ }
+ }
+ if ( PHP_SAPI == 'cli' ) {
+ echo "\n";
+ } else {
+ echo "</ol>\n";
+ }
+ } else {
+ echo colorize(TYPE_OK, "OK");
+ if ( PHP_SAPI == 'cli' ) {
+ echo "\n";
+ } else {
+ echo "\n<br />";
+ }
+ }
+ 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 dupfind_strtolower(&$value){
+ $value = strtolower($value);
+}
+
+if ( PHP_SAPI != 'cli' ) { ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>GeSHi Language File Validation Script</title>
+ <style type="text/css">
+ <!--
+ html {
+ background-color: #f0f0f0;
+ }
+ body {
+ font-family: Verdana, Arial, sans-serif;
+ margin: 10px;
+ border: 2px solid #e0e0e0;
+ background-color: #fcfcfc;
+ padding: 5px;
+ font-size: 10pt;
+ }
+ h2 {
+ margin: .1em 0 .2em .5em;
+ border-bottom: 1px solid #b0b0b0;
+ color: #b0b0b0;
+ font-weight: normal;
+ font-size: 150%;
+ }
+ h3 {
+ margin: .1em 0 .2em .5em;
+ color: #b0b0b0;
+ font-weight: normal;
+ font-size: 120%;
+ }
+ #footer {
+ text-align: center;
+ font-size: 80%;
+ color: #a9a9a9;
+ }
+ #footer a {
+ color: #9999ff;
+ }
+ textarea {
+ border: 1px solid #b0b0b0;
+ font-size: 90%;
+ color: #333;
+ margin-left: 20px;
+ }
+ select, input {
+ margin-left: 20px;
+ }
+ p {
+ font-size: 90%;
+ margin-left: .5em;
+ }
+ -->
+ </style>
+</head>
+<body>
+<h2>GeSHi Language File Validation Script</h2>
+<p>To use this script, make sure that <strong>geshi.php</strong> is in the
+parent directory or in your include_path, and that the language files are in a
+subdirectory of GeSHi's directory called <strong>geshi/</strong>.</p>
+<p>Everything else will be done by this script automatically. After the script
+finished you should see messages of what could cause trouble with GeSHi or where
+your language files can be improved. Please be patient, as this might take some time.</p>
+
+<ol>
+<li>Checking where to find GeSHi installation ...<?php
+} else { ?>
+<?php echo colorize(TYPE_NOTICE, "#### GeSHi Language File Validation Script ####") ?>
+
+
+To use this script, make sure that <?php echo colorize(TYPE_NOTICE, "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 <?php echo colorize(TYPE_NOTICE, "geshi/"); ?>.
+
+Everything else will be done by this script automatically. After the script
+finished you should see messages of what could cause trouble with GeSHi or where
+your language files can be improved. Please be patient, as this might take some time.
+
+
+Checking where to find GeSHi installation ...<?php echo "\t";
+}
+
+// Rudimentary checking of where GeSHi is. In a default install it will be in ../, but
+// it could be in the current directory if the include_path is set. There's nowhere else
+// we can reasonably guess.
+if (is_readable('../geshi.php')) {
+ $path = '../';
+} elseif (is_readable('geshi.php')) {
+ $path = './';
+} else {
+ report_error(TYPE_ERROR, 'Could not find geshi.php - make sure it is in your include path!');
+}
+
+if(!$error_abort) {
+ require $path . 'geshi.php';
+
+ if(!class_exists('GeSHi')) {
+ report_error(TYPE_ERROR, 'The GeSHi class was not found, although it seemed we loaded the correct file!');
+ }
+}
+
+if(!$error_abort) {
+ if(!defined('GESHI_LANG_ROOT')) {
+ report_error(TYPE_ERROR, 'There\'s no information present on where to find the language files!');
+ } else if(!is_dir(GESHI_LANG_ROOT)) {
+ report_error(TYPE_ERROR, 'The path "'.GESHI_LANG_ROOT.'" given, does not ressemble a directory!');
+ } else if(!is_readable(GESHI_LANG_ROOT)) {
+ report_error(TYPE_ERROR, 'The path "'.GESHI_LANG_ROOT.'" is not readable to this script!');
+ }
+}
+
+output_error_cache();
+
+if(!$error_abort) {
+ if ( PHP_SAPI == 'cli' ) {
+ echo "Listing available language files ...\t\t";
+ } else {
+ echo "</li>\n<li>Listing available language files ... ";
+ }
+
+ if (!($dir = @opendir(GESHI_LANG_ROOT))) {
+ report_error(TYPE_ERROR, 'Error requesting listing for available language files!');
+ }
+
+ $languages = array();
+
+ if(!$error_abort) {
+ while ($file = readdir($dir)) {
+ if (!$file || $file[0] == '.' || strpos($file, '.') === false) {
+ continue;
+ }
+ $lang = substr($file, 0, strpos($file, '.'));
+ $languages[] = $lang;
+ }
+ closedir($dir);
+ }
+
+ $languages = array_unique($languages);
+ sort($languages);
+
+ if(!count($languages)) {
+ report_error(TYPE_WARNING, 'Unable to locate any usable language files in "'.GESHI_LANG_ROOT.'"!');
+ }
+
+ output_error_cache();
+}
+
+if ( PHP_SAPI == 'cli' ) {
+ if (isset($_SERVER['argv'][1]) && in_array($_SERVER['argv'][1], $languages)) {
+ $languages = array($_SERVER['argv'][1]);
+ }
+} else {
+ if (isset($_REQUEST['show']) && in_array($_REQUEST['show'], $languages)) {
+ $languages = array($_REQUEST['show']);
+ }
+}
+
+if(!$error_abort) {
+ foreach ($languages as $lang) {
+
+ if ( PHP_SAPI == 'cli' ) {
+ echo "Validating language file for '$lang' ...\t\t";
+ } else {
+ echo "</li>\n<li>Validating language file for '$lang' ... ";
+ }
+
+ $langfile = GESHI_LANG_ROOT . $lang . '.php';
+
+ $language_data = array();
+
+ if(!is_file($langfile)) {
+ report_error(TYPE_ERROR, 'The path "' .$langfile. '" does not ressemble a regular file!');
+ } else if(!is_readable($langfile)) {
+ report_error(TYPE_ERROR, 'Cannot read file "' .$langfile. '"!');
+ } else {
+ $langfile_content = file_get_contents($langfile);
+ if(preg_match("/\?>(?:\r?\n|\r(?!\n)){2,}\Z/", $langfile_content)) {
+ report_error(TYPE_ERROR, 'Language file contains trailing empty lines at EOF!');
+ }
+ if(!preg_match("/\?>(?:\r?\n|\r(?!\n))?\Z/", $langfile_content)) {
+ report_error(TYPE_ERROR, 'Language file contains no PHP end marker at EOF!');
+ }
+ if(preg_match("/\t/", $langfile_content)) {
+ report_error(TYPE_NOTICE, 'Language file contains unescaped tabulator chars (probably for indentation)!');
+ }
+ if(preg_match('/^(?: )*(?! )(?! \*) /m', $langfile_content)) {
+ report_error(TYPE_NOTICE, 'Language file contains irregular indentation (other than 4 spaces per indentation level)!');
+ }
+
+ if(!preg_match("/\/\*\*((?!\*\/).)*?Author:((?!\*\/).)*?\*\//s", $langfile_content)) {
+ report_error(TYPE_WARNING, 'Language file does not contain a specification of an author!');
+ }
+ if(!preg_match("/\/\*\*((?!\*\/).)*?Copyright:((?!\*\/).)*?\*\//s", $langfile_content)) {
+ report_error(TYPE_WARNING, 'Language file does not contain a specification of the copyright!');
+ }
+ if(!preg_match("/\/\*\*((?!\*\/).)*?Release Version:((?!\*\/).)*?\*\//s", $langfile_content)) {
+ report_error(TYPE_WARNING, 'Language file does not contain a specification of the release version!');
+ }
+ if(!preg_match("/\/\*\*((?!\*\/).)*?Date Started:((?!\*\/).)*?\*\//s", $langfile_content)) {
+ report_error(TYPE_WARNING, 'Language file does not contain a specification of the date it was started!');
+ }
+ if(!preg_match("/\/\*\*((?!\*\/).)*?This file is part of GeSHi\.((?!\*\/).)*?\*\//s", $langfile_content)) {
+ report_error(TYPE_WARNING, 'Language file does not state that it belongs to GeSHi!');
+ }
+ if(!preg_match("/\/\*\*((?!\*\/).)*?language file for GeSHi\.((?!\*\/).)*?\*\//s", $langfile_content)) {
+ report_error(TYPE_WARNING, 'Language file does not state that it is a language file for GeSHi!');
+ }
+ if(!preg_match("/\/\*\*((?!\*\/).)*?GNU General Public License((?!\*\/).)*?\*\//s", $langfile_content)) {
+ report_error(TYPE_WARNING, 'Language file does not state that it is provided under the terms of the GNU GPL!');
+ }
+
+ unset($langfile_content);
+
+ include $langfile;
+
+ if(!isset($language_data)) {
+ report_error(TYPE_ERROR, 'Language file does not contain a $language_data structure to check!');
+ } else if (!is_array($language_data)) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data structure which is not an array!');
+ }
+ }
+
+ if(!$error_abort) {
+ if(!isset($language_data['LANG_NAME'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'LANG_NAME\'] specification!');
+ } else if (!is_string($language_data['LANG_NAME'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'LANG_NAME\'] specification which is not a string!');
+ }
+
+ if(!isset($language_data['COMMENT_SINGLE'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'COMMENT_SIGNLE\'] structure to check!');
+ } else if (!is_array($language_data['COMMENT_SINGLE'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'COMMENT_SINGLE\'] structure which is not an array!');
+ }
+
+ if(!isset($language_data['COMMENT_MULTI'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'COMMENT_MULTI\'] structure to check!');
+ } else if (!is_array($language_data['COMMENT_MULTI'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'COMMENT_MULTI\'] structure which is not an array!');
+ }
+
+ if(isset($language_data['COMMENT_REGEXP'])) {
+ if (!is_array($language_data['COMMENT_REGEXP'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'COMMENT_REGEXP\'] structure which is not an array!');
+ }
+ }
+
+ if(!isset($language_data['QUOTEMARKS'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'QUOTEMARKS\'] structure to check!');
+ } else if (!is_array($language_data['QUOTEMARKS'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'QUOTEMARKS\'] structure which is not an array!');
+ }
+
+ if(isset($language_data['HARDQUOTE'])) {
+ if (!is_array($language_data['HARDQUOTE'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'HARDQUOTE\'] structure which is not an array!');
+ }
+ }
+
+ if(!isset($language_data['ESCAPE_CHAR'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'ESCAPE_CHAR\'] specification to check!');
+ } else if (!is_string($language_data['ESCAPE_CHAR'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'ESCAPE_CHAR\'] specification which is not a string!');
+ } else if (1 < strlen($language_data['ESCAPE_CHAR'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'ESCAPE_CHAR\'] specification is not empty or exactly one char!');
+ }
+
+ if(!isset($language_data['CASE_KEYWORDS'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'CASE_KEYWORDS\'] specification!');
+ } else if (!is_int($language_data['CASE_KEYWORDS'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'CASE_KEYWORDS\'] specification which is not an integer!');
+ } else if (GESHI_CAPS_NO_CHANGE != $language_data['CASE_KEYWORDS'] &&
+ GESHI_CAPS_LOWER != $language_data['CASE_KEYWORDS'] &&
+ GESHI_CAPS_UPPER != $language_data['CASE_KEYWORDS']) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'CASE_KEYWORDS\'] specification which is neither of GESHI_CAPS_NO_CHANGE, GESHI_CAPS_LOWER nor GESHI_CAPS_UPPER!');
+ }
+
+ if(!isset($language_data['KEYWORDS'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'KEYWORDS\'] structure to check!');
+ } else if (!is_array($language_data['KEYWORDS'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'KEYWORDS\'] structure which is not an array!');
+ } else {
+ foreach($language_data['KEYWORDS'] as $kw_key => $kw_value) {
+ if(!is_integer($kw_key)) {
+ report_error(TYPE_WARNING, "Language file contains an key '$kw_key' in \$language_data['KEYWORDS'] that is not integer!");
+ } else if (!is_array($kw_value)) {
+ report_error(TYPE_ERROR, "Language file contains a \$language_data['CASE_SENSITIVE']['$kw_value'] structure which is not an array!");
+ }
+ }
+ }
+
+ if(!isset($language_data['SYMBOLS'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'SYMBOLS\'] structure to check!');
+ } else if (!is_array($language_data['SYMBOLS'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'SYMBOLS\'] structure which is not an array!');
+ }
+
+ if(!isset($language_data['CASE_SENSITIVE'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'CASE_SENSITIVE\'] structure to check!');
+ } else if (!is_array($language_data['CASE_SENSITIVE'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'CASE_SENSITIVE\'] structure which is not an array!');
+ } else {
+ foreach($language_data['CASE_SENSITIVE'] as $cs_key => $cs_value) {
+ if(!is_integer($cs_key)) {
+ report_error(TYPE_WARNING, "Language file contains an key '$cs_key' in \$language_data['CASE_SENSITIVE'] that is not integer!");
+ } else if (!is_bool($cs_value)) {
+ report_error(TYPE_ERROR, "Language file contains a Case Sensitivity specification for \$language_data['CASE_SENSITIVE']['$cs_value'] which is not a boolean!");
+ }
+ }
+ }
+
+ if(!isset($language_data['URLS'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'URLS\'] structure to check!');
+ } else if (!is_array($language_data['URLS'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'URLS\'] structure which is not an array!');
+ } else {
+ foreach($language_data['URLS'] as $url_key => $url_value) {
+ if(!is_integer($url_key)) {
+ report_error(TYPE_WARNING, "Language file contains an key '$url_key' in \$language_data['URLS'] that is not integer!");
+ } else if (!is_string($url_value)) {
+ report_error(TYPE_ERROR, "Language file contains a Documentation URL specification for \$language_data['URLS']['$url_value'] which is not a string!");
+ } else if (preg_match('#&([^;]*(=|$))#U', $url_value)) {
+ report_error(TYPE_ERROR, "Language file contains unescaped ampersands (&amp;) in \$language_data['URLS']!");
+ }
+ }
+ }
+
+ if(!isset($language_data['OOLANG'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'OOLANG\'] specification!');
+ } else if (!is_int($language_data['OOLANG']) && !is_bool($language_data['OOLANG'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'OOLANG\'] specification which is neither boolean nor integer!');
+ } else if (false !== $language_data['OOLANG'] &&
+ true !== $language_data['OOLANG'] &&
+ 2 !== $language_data['OOLANG']) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'OOLANG\'] specification which is neither of false, true or 2!');
+ }
+
+ if(!isset($language_data['OBJECT_SPLITTERS'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'OBJECT_SPLITTERS\'] structure to check!');
+ } else if (!is_array($language_data['OBJECT_SPLITTERS'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'OBJECT_SPLITTERS\'] structure which is not an array!');
+ }
+
+ if(!isset($language_data['REGEXPS'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'REGEXPS\'] structure to check!');
+ } else if (!is_array($language_data['REGEXPS'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'REGEXPS\'] structure which is not an array!');
+ }
+
+ if(!isset($language_data['STRICT_MODE_APPLIES'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'STRICT_MODE_APPLIES\'] specification!');
+ } else if (!is_int($language_data['STRICT_MODE_APPLIES'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'STRICT_MODE_APPLIES\'] specification which is not an integer!');
+ } else if (GESHI_MAYBE != $language_data['STRICT_MODE_APPLIES'] &&
+ GESHI_ALWAYS != $language_data['STRICT_MODE_APPLIES'] &&
+ GESHI_NEVER != $language_data['STRICT_MODE_APPLIES']) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'STRICT_MODE_APPLIES\'] specification which is neither of GESHI_MAYBE, GESHI_ALWAYS nor GESHI_NEVER!');
+ }
+
+ if(!isset($language_data['SCRIPT_DELIMITERS'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'SCRIPT_DELIMITERS\'] structure to check!');
+ } else if (!is_array($language_data['SCRIPT_DELIMITERS'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'SCRIPT_DELIMITERS\'] structure which is not an array!');
+ }
+
+ if(!isset($language_data['HIGHLIGHT_STRICT_BLOCK'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'HIGHLIGHT_STRICT_BLOCK\'] structure to check!');
+ } else if (!is_array($language_data['HIGHLIGHT_STRICT_BLOCK'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'HIGHLIGHT_STRICT_BLOCK\'] structure which is not an array!');
+ }
+
+ if(isset($language_data['TAB_WIDTH'])) {
+ if (!is_int($language_data['TAB_WIDTH'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'TAB_WIDTH\'] specification which is not an integer!');
+ } else if (1 > $language_data['TAB_WIDTH']) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'TAB_WIDTH\'] specification which is less than 1!');
+ }
+ }
+
+ if(isset($language_data['PARSER_CONTROL'])) {
+ if (!is_array($language_data['PARSER_CONTROL'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'PARSER_CONTROL\'] structure which is not an array!');
+ }
+ }
+
+ if(!isset($language_data['STYLES'])) {
+ report_error(TYPE_ERROR, 'Language file contains no $language_data[\'STYLES\'] structure to check!');
+ } else if (!is_array($language_data['STYLES'])) {
+ report_error(TYPE_ERROR, 'Language file contains a $language_data[\'STYLES\'] structure which is not an array!');
+ } else {
+ $style_arrays = array('KEYWORDS', 'COMMENTS', 'ESCAPE_CHAR',
+ 'BRACKETS', 'STRINGS', 'NUMBERS', 'METHODS', 'SYMBOLS',
+ 'REGEXPS', 'SCRIPT');
+ foreach($style_arrays as $style_kind) {
+ if(!isset($language_data['STYLES'][$style_kind])) {
+ report_error(TYPE_ERROR, "Language file contains no \$language_data['STYLES']['$style_kind'] structure to check!");
+ } else if (!is_array($language_data['STYLES'][$style_kind])) {
+ report_error(TYPE_ERROR, "Language file contains a \$language_data['STYLES\']['$style_kind'] structure which is not an array!");
+ } else {
+ foreach($language_data['STYLES'][$style_kind] as $sk_key => $sk_value) {
+ if(!is_int($sk_key) && ('COMMENTS' != $style_kind && 'MULTI' != $sk_key)
+ && !(('STRINGS' == $style_kind || 'ESCAPE_CHAR' == $style_kind) && 'HARD' == $sk_key)) {
+ report_error(TYPE_WARNING, "Language file contains an key '$sk_key' in \$language_data['STYLES']['$style_kind'] that is not integer!");
+ } else if (!is_string($sk_value)) {
+ report_error(TYPE_WARNING, "Language file contains a CSS specification for \$language_data['STYLES']['$style_kind'][$key] which is not a string!");
+ }
+ }
+ }
+ }
+
+ unset($style_arrays);
+ }
+ }
+
+ if(!$error_abort) {
+ //Initial sanity checks survived? --> Let's dig deeper!
+ foreach($language_data['KEYWORDS'] as $key => $keywords) {
+ if(!isset($language_data['CASE_SENSITIVE'][$key])) {
+ report_error(TYPE_ERROR, "Language file contains no \$language_data['CASE_SENSITIVE'] specification for keyword group $key!");
+ }
+ if(!isset($language_data['URLS'][$key])) {
+ report_error(TYPE_ERROR, "Language file contains no \$language_data['URLS'] specification for keyword group $key!");
+ }
+ if(empty($keywords)) {
+ report_error(TYPE_WARNING, "Language file contains an empty keyword list in \$language_data['KEYWORDS'] for group $key!");
+ }
+ foreach($keywords as $id => $kw) {
+ if(!is_string($kw)) {
+ report_error(TYPE_WARNING, "Language file contains an non-string entry at \$language_data['KEYWORDS'][$key][$id]!");
+ } else if (!strlen($kw)) {
+ report_error(TYPE_ERROR, "Language file contains an empty string entry at \$language_data['KEYWORDS'][$key][$id]!");
+ } else if (preg_match('/^([\(\)\{\}\[\]\^=.,:;\-+\*\/%\$\"\'\?]|&[\w#]\w*;)+$/i', $kw)) {
+ report_error(TYPE_NOTICE, "Language file contains an keyword ('$kw') at \$language_data['KEYWORDS'][$key][$id] which seems to be better suited for the symbols section!");
+ }
+ }
+ if(isset($language_data['CASE_SENSITIVE'][$key]) && !$language_data['CASE_SENSITIVE'][$key]) {
+ array_walk($keywords, 'dupfind_strtolower');
+ }
+ if(count($keywords) != count(array_unique($keywords))) {
+ $kw_diffs = array_count_values($keywords);
+ foreach($kw_diffs as $kw => $kw_count) {
+ if($kw_count > 1) {
+ report_error(TYPE_WARNING, "Language file contains per-group duplicate keyword '$kw' in \$language_data['KEYWORDS'][$key]!");
+ }
+ }
+ }
+ }
+
+ $disallowed_before = "(?<![a-zA-Z0-9\$_\|\#;>|^&";
+ $disallowed_after = "(?![a-zA-Z0-9_\|%\\-&;";
+
+ foreach($language_data['KEYWORDS'] as $key => $keywords) {
+ foreach($language_data['KEYWORDS'] as $key2 => $keywords2) {
+ if($key2 <= $key) {
+ continue;
+ }
+ $kw_diffs = array_intersect($keywords, $keywords2);
+ foreach($kw_diffs as $kw) {
+ if(isset($language_data['PARSER_CONTROL']['KEYWORDS'])) {
+ //Check the precondition\post-cindition for the involved keyword groups
+ $g1_pre = $disallowed_before;
+ $g2_pre = $disallowed_before;
+ $g1_post = $disallowed_after;
+ $g2_post = $disallowed_after;
+ if(isset($language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'])) {
+ $g1_pre = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'];
+ $g2_pre = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'];
+ }
+ if(isset($language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'])) {
+ $g1_post = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'];
+ $g2_post = $language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'];
+ }
+
+ if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_BEFORE'])) {
+ $g1_pre = $language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_BEFORE'];
+ }
+ if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_AFTER'])) {
+ $g1_post = $language_data['PARSER_CONTROL']['KEYWORDS'][$key]['DISALLOWED_AFTER'];
+ }
+
+ if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_BEFORE'])) {
+ $g2_pre = $language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_BEFORE'];
+ }
+ if(isset($language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_AFTER'])) {
+ $g2_post = $language_data['PARSER_CONTROL']['KEYWORDS'][$key2]['DISALLOWED_AFTER'];
+ }
+
+ if($g1_pre != $g2_pre || $g1_post != $g2_post) {
+ continue;
+ }
+ }
+ report_error(TYPE_WARNING, "Language file contains cross-group duplicate keyword '$kw' in \$language_data['KEYWORDS'][$key] and \$language_data['KEYWORDS'][$key2]!");
+ }
+ }
+ }
+ foreach($language_data['CASE_SENSITIVE'] as $key => $keywords) {
+ if(!isset($language_data['KEYWORDS'][$key]) && $key != GESHI_COMMENTS) {
+ report_error(TYPE_WARNING, "Language file contains an superfluous \$language_data['CASE_SENSITIVE'] specification for non-existing keyword group $key!");
+ }
+ }
+ foreach($language_data['URLS'] as $key => $keywords) {
+ if(!isset($language_data['KEYWORDS'][$key])) {
+ report_error(TYPE_WARNING, "Language file contains an superfluous \$language_data['URLS'] specification for non-existing keyword group $key!");
+ }
+ }
+ foreach($language_data['STYLES']['KEYWORDS'] as $key => $keywords) {
+ if(!isset($language_data['KEYWORDS'][$key])) {
+ report_error(TYPE_WARNING, "Language file contains an superfluous \$language_data['STYLES']['KEYWORDS'] specification for non-existing keyword group $key!");
+ }
+ }
+
+ foreach($language_data['COMMENT_SINGLE'] as $ck => $cv) {
+ if(!is_int($ck)) {
+ report_error(TYPE_WARNING, "Language file contains an key '$ck' in \$language_data['COMMENT_SINGLE'] that is not integer!");
+ }
+ if(!is_string($cv)) {
+ report_error(TYPE_WARNING, "Language file contains an non-string entry at \$language_data['COMMENT_SINGLE'][$ck]!");
+ }
+ if(!isset($language_data['STYLES']['COMMENTS'][$ck])) {
+ report_error(TYPE_WARNING, "Language file contains no \$language_data['STYLES']['COMMENTS'] specification for comment group $ck!");
+ }
+ }
+ if(isset($language_data['COMMENT_REGEXP'])) {
+ foreach($language_data['COMMENT_REGEXP'] as $ck => $cv) {
+ if(!is_int($ck)) {
+ report_error(TYPE_WARNING, "Language file contains an key '$ck' in \$language_data['COMMENT_REGEXP'] that is not integer!");
+ }
+ if(!is_string($cv)) {
+ report_error(TYPE_WARNING, "Language file contains an non-string entry at \$language_data['COMMENT_REGEXP'][$ck]!");
+ }
+ if(!isset($language_data['STYLES']['COMMENTS'][$ck])) {
+ report_error(TYPE_WARNING, "Language file contains no \$language_data['STYLES']['COMMENTS'] specification for comment group $ck!");
+ }
+ }
+ }
+ foreach($language_data['STYLES']['COMMENTS'] as $ck => $cv) {
+ if($ck != 'MULTI' && !isset($language_data['COMMENT_SINGLE'][$ck]) &&
+ !isset($language_data['COMMENT_REGEXP'][$ck])) {
+ report_error(TYPE_NOTICE, "Language file contains an superfluous \$language_data['STYLES']['COMMENTS'] specification for Single Line or Regular-Expression Comment key $ck!");
+ }
+ }
+ if (isset($language_data['STYLES']['STRINGS']['HARD'])) {
+ if (empty($language_data['HARDQUOTE'])) {
+ report_error(TYPE_NOTICE, "Language file contains superfluous \$language_data['STYLES']['STRINGS'] specification for key 'HARD', but no 'HARDQUOTE's are defined!");
+ }
+ unset($language_data['STYLES']['STRINGS']['HARD']);
+ }
+ foreach($language_data['STYLES']['STRINGS'] as $sk => $sv) {
+ if($sk && !isset($language_data['QUOTEMARKS'][$sk])) {
+ report_error(TYPE_NOTICE, "Language file contains an superfluous \$language_data['STYLES']['STRINGS'] specification for non-existing quotemark key $sk!");
+ }
+ }
+
+ foreach($language_data['REGEXPS'] as $rk => $rv) {
+ if(!is_int($rk)) {
+ report_error(TYPE_WARNING, "Language file contains an key '$rk' in \$language_data['REGEXPS'] that is not integer!");
+ }
+ if(is_string($rv)) {
+ //Check for unmasked / in regular expressions ...
+ if(empty($rv)) {
+ report_error(TYPE_WARNING, "Language file contains an empty regular expression at \$language_data['REGEXPS'][$rk]!");
+ } else {
+ if(preg_match("/(?<!\\\\)\//s", $rv)) {
+ report_error(TYPE_WARNING, "Language file contains a regular expression with an unmasked / character at \$language_data['REGEXPS'][$rk]!");
+ } elseif (preg_match("/(?<!<)(\\\\\\\\)*\\\\\|(?!>)/s", $rv)) {
+ report_error(TYPE_WARNING, "Language file contains a regular expression with an unescaped match for a pipe character '|' which needs escaping as '&lt;PIPE&gt;' instead at \$language_data['REGEXPS'][$rk]!");
+ }
+ }
+ } elseif(is_array($rv)) {
+ if(!isset($rv[GESHI_SEARCH])) {
+ report_error(TYPE_ERROR, "Language file contains no GESHI_SEARCH entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
+ } elseif(!is_string($rv[GESHI_SEARCH])) {
+ report_error(TYPE_ERROR, "Language file contains a GESHI_SEARCH entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
+ } else {
+ if(preg_match("/(?<!\\\\)\//s", $rv[GESHI_SEARCH])) {
+ report_error(TYPE_WARNING, "Language file contains a regular expression with an unmasked / character at \$language_data['REGEXPS'][$rk]!");
+ } elseif (preg_match("/(?<!<)(\\\\\\\\)*\\\\\|(?!>)/s", $rv[GESHI_SEARCH])) {
+ report_error(TYPE_WARNING, "Language file contains a regular expression with an unescaped match for a pipe character '|' which needs escaping as '&lt;PIPE&gt;' instead at \$language_data['REGEXPS'][$rk]!");
+ }
+ }
+ if(!isset($rv[GESHI_REPLACE])) {
+ report_error(TYPE_WARNING, "Language file contains no GESHI_REPLACE entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
+ } elseif(!is_string($rv[GESHI_REPLACE])) {
+ report_error(TYPE_ERROR, "Language file contains a GESHI_REPLACE entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
+ }
+ if(!isset($rv[GESHI_MODIFIERS])) {
+ report_error(TYPE_WARNING, "Language file contains no GESHI_MODIFIERS entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
+ } elseif(!is_string($rv[GESHI_MODIFIERS])) {
+ report_error(TYPE_ERROR, "Language file contains a GESHI_MODIFIERS entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
+ }
+ if(!isset($rv[GESHI_BEFORE])) {
+ report_error(TYPE_WARNING, "Language file contains no GESHI_BEFORE entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
+ } elseif(!is_string($rv[GESHI_BEFORE])) {
+ report_error(TYPE_ERROR, "Language file contains a GESHI_BEFORE entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
+ }
+ if(!isset($rv[GESHI_AFTER])) {
+ report_error(TYPE_WARNING, "Language file contains no GESHI_AFTER entry in extended regular expression at \$language_data['REGEXPS'][$rk]!");
+ } elseif(!is_string($rv[GESHI_AFTER])) {
+ report_error(TYPE_ERROR, "Language file contains a GESHI_AFTER entry in extended regular expression at \$language_data['REGEXPS'][$rk] which is not a string!");
+ }
+ } else {
+ report_error(TYPE_WARNING, "Language file contains an non-string and non-array entry at \$language_data['REGEXPS'][$rk]!");
+ }
+ if(!isset($language_data['STYLES']['REGEXPS'][$rk])) {
+ report_error(TYPE_WARNING, "Language file contains no \$language_data['STYLES']['REGEXPS'] specification for regexp group $rk!");
+ }
+ }
+ foreach($language_data['STYLES']['REGEXPS'] as $rk => $rv) {
+ if(!isset($language_data['REGEXPS'][$rk])) {
+ report_error(TYPE_NOTICE, "Language file contains an superfluous \$language_data['STYLES']['REGEXPS'] specification for regexp key $rk!");
+ }
+ }
+
+
+ }
+
+ output_error_cache();
+
+ flush();
+
+ if($error_abort) {
+ break;
+ }
+ }
+}
+
+$time_end = explode(' ', microtime());
+$time_diff = $time_end[0] + $time_end[1] - $time_start[0] - $time_start[1];
+
+if ( PHP_SAPI != 'cli' ) {
+?></li>
+</ol>
+
+<p>Validation process completed in <? printf("%.2f", $time_diff); ?> seconds.</p>
+
+<div id="footer">GeSHi &copy; 2004-2007 Nigel McNie, 2007-2008 Benny Baumann, released under the GNU GPL</div>
+</body>
+</html>
+
+<?php } else { ?>
+
+Validation process completed in <? printf("%.2f", $time_diff); ?> seconds.
+
+GeSHi &copy; 2004-2007 Nigel McNie, 2007-2008 Benny Baumann, released under the GNU GPL
+
+<?php } ?> \ No newline at end of file
diff --git a/application/libraries/geshi.php b/application/libraries/geshi.php
new file mode 100644
index 000000000..f6796c9f6
--- /dev/null
+++ b/application/libraries/geshi.php
@@ -0,0 +1,4685 @@
+<?php
+/**
+ * GeSHi - Generic Syntax Highlighter
+ *
+ * The GeSHi class for Generic Syntax Highlighting. Please refer to the
+ * documentation at http://qbnz.com/highlighter/documentation.php for more
+ * information about how to use this class.
+ *
+ * For changes, release notes, TODOs etc, see the relevant files in the docs/
+ * directory.
+ *
+ * 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
+ *
+ * @package geshi
+ * @subpackage core
+ * @author Nigel McNie <nigel@geshi.org>, Benny Baumann <BenBE@omorphia.de>
+ * @copyright (C) 2004 - 2007 Nigel McNie, (C) 2007 - 2008 Benny Baumann
+ * @license http://gnu.org/copyleft/gpl.html GNU GPL
+ *
+ */
+
+//
+// GeSHi Constants
+// You should use these constant names in your programs instead of
+// their values - you never know when a value may change in a future
+// version
+//
+
+/** The version of this GeSHi file */
+define('GESHI_VERSION', '1.0.8.6');
+
+// Define the root directory for the GeSHi code tree
+if (!defined('GESHI_ROOT')) {
+ /** The root directory for GeSHi */
+ define('GESHI_ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR);
+}
+/** The language file directory for GeSHi
+ @access private */
+define('GESHI_LANG_ROOT', GESHI_ROOT . 'geshi' . DIRECTORY_SEPARATOR);
+
+// Define if GeSHi should be paranoid about security
+if (!defined('GESHI_SECURITY_PARANOID')) {
+ /** Tells GeSHi to be paranoid about security settings */
+ define('GESHI_SECURITY_PARANOID', false);
+}
+
+// Line numbers - use with enable_line_numbers()
+/** Use no line numbers when building the result */
+define('GESHI_NO_LINE_NUMBERS', 0);
+/** Use normal line numbers when building the result */
+define('GESHI_NORMAL_LINE_NUMBERS', 1);
+/** Use fancy line numbers when building the result */
+define('GESHI_FANCY_LINE_NUMBERS', 2);
+
+// Container HTML type
+/** Use nothing to surround the source */
+define('GESHI_HEADER_NONE', 0);
+/** Use a "div" to surround the source */
+define('GESHI_HEADER_DIV', 1);
+/** Use a "pre" to surround the source */
+define('GESHI_HEADER_PRE', 2);
+/** Use a pre to wrap lines when line numbers are enabled or to wrap the whole code. */
+define('GESHI_HEADER_PRE_VALID', 3);
+/**
+ * Use a "table" to surround the source:
+ *
+ * <table>
+ * <thead><tr><td colspan="2">$header</td></tr></thead>
+ * <tbody><tr><td><pre>$linenumbers</pre></td><td><pre>$code></pre></td></tr></tbody>
+ * <tfooter><tr><td colspan="2">$footer</td></tr></tfoot>
+ * </table>
+ *
+ * this is essentially only a workaround for Firefox, see sf#1651996 or take a look at
+ * https://bugzilla.mozilla.org/show_bug.cgi?id=365805
+ * @note when linenumbers are disabled this is essentially the same as GESHI_HEADER_PRE
+ */
+define('GESHI_HEADER_PRE_TABLE', 4);
+
+// Capatalisation constants
+/** Lowercase keywords found */
+define('GESHI_CAPS_NO_CHANGE', 0);
+/** Uppercase keywords found */
+define('GESHI_CAPS_UPPER', 1);
+/** Leave keywords found as the case that they are */
+define('GESHI_CAPS_LOWER', 2);
+
+// Link style constants
+/** Links in the source in the :link state */
+define('GESHI_LINK', 0);
+/** Links in the source in the :hover state */
+define('GESHI_HOVER', 1);
+/** Links in the source in the :active state */
+define('GESHI_ACTIVE', 2);
+/** Links in the source in the :visited state */
+define('GESHI_VISITED', 3);
+
+// Important string starter/finisher
+// Note that if you change these, they should be as-is: i.e., don't
+// write them as if they had been run through htmlentities()
+/** The starter for important parts of the source */
+define('GESHI_START_IMPORTANT', '<BEGIN GeSHi>');
+/** The ender for important parts of the source */
+define('GESHI_END_IMPORTANT', '<END GeSHi>');
+
+/**#@+
+ * @access private
+ */
+// When strict mode applies for a language
+/** Strict mode never applies (this is the most common) */
+define('GESHI_NEVER', 0);
+/** Strict mode *might* apply, and can be enabled or
+ disabled by {@link GeSHi->enable_strict_mode()} */
+define('GESHI_MAYBE', 1);
+/** Strict mode always applies */
+define('GESHI_ALWAYS', 2);
+
+// Advanced regexp handling constants, used in language files
+/** The key of the regex array defining what to search for */
+define('GESHI_SEARCH', 0);
+/** The key of the regex array defining what bracket group in a
+ matched search to use as a replacement */
+define('GESHI_REPLACE', 1);
+/** The key of the regex array defining any modifiers to the regular expression */
+define('GESHI_MODIFIERS', 2);
+/** The key of the regex array defining what bracket group in a
+ matched search to put before the replacement */
+define('GESHI_BEFORE', 3);
+/** The key of the regex array defining what bracket group in a
+ matched search to put after the replacement */
+define('GESHI_AFTER', 4);
+/** The key of the regex array defining a custom keyword to use
+ for this regexp's html tag class */
+define('GESHI_CLASS', 5);
+
+/** Used in language files to mark comments */
+define('GESHI_COMMENTS', 0);
+
+/** Used to work around missing PHP features **/
+define('GESHI_PHP_PRE_433', !(version_compare(PHP_VERSION, '4.3.3') === 1));
+
+/** make sure we can call stripos **/
+if (!function_exists('stripos')) {
+ // the offset param of preg_match is not supported below PHP 4.3.3
+ if (GESHI_PHP_PRE_433) {
+ /**
+ * @ignore
+ */
+ function stripos($haystack, $needle, $offset = null) {
+ if (!is_null($offset)) {
+ $haystack = substr($haystack, $offset);
+ }
+ if (preg_match('/'. preg_quote($needle, '/') . '/', $haystack, $match, PREG_OFFSET_CAPTURE)) {
+ return $match[0][1];
+ }
+ return false;
+ }
+ }
+ else {
+ /**
+ * @ignore
+ */
+ function stripos($haystack, $needle, $offset = null) {
+ if (preg_match('/'. preg_quote($needle, '/') . '/', $haystack, $match, PREG_OFFSET_CAPTURE, $offset)) {
+ return $match[0][1];
+ }
+ return false;
+ }
+ }
+}
+
+/** some old PHP / PCRE subpatterns only support up to xxx subpatterns in
+ regular expressions. Set this to false if your PCRE lib is up to date
+ @see GeSHi->optimize_regexp_list()
+ **/
+define('GESHI_MAX_PCRE_SUBPATTERNS', 500);
+/** it's also important not to generate too long regular expressions
+ be generous here... but keep in mind, that when reaching this limit we
+ still have to close open patterns. 12k should do just fine on a 16k limit.
+ @see GeSHi->optimize_regexp_list()
+ **/
+define('GESHI_MAX_PCRE_LENGTH', 12288);
+
+//Number format specification
+/** Basic number format for integers */
+define('GESHI_NUMBER_INT_BASIC', 1); //Default integers \d+
+/** Enhanced number format for integers like seen in C */
+define('GESHI_NUMBER_INT_CSTYLE', 2); //Default C-Style \d+[lL]?
+/** Number format to highlight binary numbers with a suffix "b" */
+define('GESHI_NUMBER_BIN_SUFFIX', 16); //[01]+[bB]
+/** Number format to highlight binary numbers with a prefix % */
+define('GESHI_NUMBER_BIN_PREFIX_PERCENT', 32); //%[01]+
+/** Number format to highlight binary numbers with a prefix 0b (C) */
+define('GESHI_NUMBER_BIN_PREFIX_0B', 64); //0b[01]+
+/** Number format to highlight octal numbers with a leading zero */
+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 suffix of o */
+define('GESHI_NUMBER_OCT_SUFFIX', 1024); //[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 suffix of h */
+define('GESHI_NUMBER_HEX_SUFFIX', 8192); //[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 */
+define('GESHI_NUMBER_FLT_NONSCI_F', 131072); //\d+(\.\d+)?f
+/** Number format to highlight floating-point numbers with support for scientific notation (E) and optional leading zero */
+define('GESHI_NUMBER_FLT_SCI_SHORT', 262144); //\.\d+e\d+
+/** Number format to highlight floating-point numbers with support for scientific notation (E) and required leading digit */
+define('GESHI_NUMBER_FLT_SCI_ZERO', 524288); //\d+(\.\d+)?e\d+
+//Custom formats are passed by RX array
+
+// Error detection - use these to analyse faults
+/** No sourcecode to highlight was specified
+ * @deprecated
+ */
+define('GESHI_ERROR_NO_INPUT', 1);
+/** The language specified does not exist */
+define('GESHI_ERROR_NO_SUCH_LANG', 2);
+/** GeSHi could not open a file for reading (generally a language file) */
+define('GESHI_ERROR_FILE_NOT_READABLE', 3);
+/** The header type passed to {@link GeSHi->set_header_type()} was invalid */
+define('GESHI_ERROR_INVALID_HEADER_TYPE', 4);
+/** The line number type passed to {@link GeSHi->enable_line_numbers()} was invalid */
+define('GESHI_ERROR_INVALID_LINE_NUMBER_TYPE', 5);
+/**#@-*/
+
+
+/**
+ * The GeSHi Class.
+ *
+ * Please refer to the documentation for GeSHi 1.0.X that is available
+ * at http://qbnz.com/highlighter/documentation.php for more information
+ * about how to use this class.
+ *
+ * @package geshi
+ * @author Nigel McNie <nigel@geshi.org>, Benny Baumann <BenBE@omorphia.de>
+ * @copyright (C) 2004 - 2007 Nigel McNie, (C) 2007 - 2008 Benny Baumann
+ */
+class Geshi {
+ /**#@+
+ * @access private
+ */
+ /**
+ * The source code to highlight
+ * @var string
+ */
+ var $source = '';
+
+ /**
+ * The language to use when highlighting
+ * @var string
+ */
+ var $language = '';
+
+ /**
+ * The data for the language used
+ * @var array
+ */
+ var $language_data = array();
+
+ /**
+ * The path to the language files
+ * @var string
+ */
+ var $language_path = GESHI_LANG_ROOT;
+
+ /**
+ * The error message associated with an error
+ * @var string
+ * @todo check err reporting works
+ */
+ var $error = false;
+
+ /**
+ * Possible error messages
+ * @var array
+ */
+ var $error_messages = array(
+ GESHI_ERROR_NO_SUCH_LANG => 'GeSHi could not find the language {LANGUAGE} (using path {PATH})',
+ GESHI_ERROR_FILE_NOT_READABLE => 'The file specified for load_from_file was not readable',
+ GESHI_ERROR_INVALID_HEADER_TYPE => 'The header type specified is invalid',
+ GESHI_ERROR_INVALID_LINE_NUMBER_TYPE => 'The line number type specified is invalid'
+ );
+
+ /**
+ * Whether highlighting is strict or not
+ * @var boolean
+ */
+ var $strict_mode = false;
+
+ /**
+ * Whether to use CSS classes in output
+ * @var boolean
+ */
+ var $use_classes = false;
+
+ /**
+ * The type of header to use. Can be one of the following
+ * values:
+ *
+ * - GESHI_HEADER_PRE: Source is outputted in a "pre" HTML element.
+ * - GESHI_HEADER_DIV: Source is outputted in a "div" HTML element.
+ * - GESHI_HEADER_NONE: No header is outputted.
+ *
+ * @var int
+ */
+ var $header_type = GESHI_HEADER_PRE;
+
+ /**
+ * Array of permissions for which lexics should be highlighted
+ * @var array
+ */
+ var $lexic_permissions = array(
+ 'KEYWORDS' => array(),
+ 'COMMENTS' => array('MULTI' => true),
+ 'REGEXPS' => array(),
+ 'ESCAPE_CHAR' => true,
+ 'BRACKETS' => true,
+ 'SYMBOLS' => false,
+ 'STRINGS' => true,
+ 'NUMBERS' => true,
+ 'METHODS' => true,
+ 'SCRIPT' => true
+ );
+
+ /**
+ * The time it took to parse the code
+ * @var double
+ */
+ var $time = 0;
+
+ /**
+ * The content of the header block
+ * @var string
+ */
+ var $header_content = '';
+
+ /**
+ * The content of the footer block
+ * @var string
+ */
+ var $footer_content = '';
+
+ /**
+ * The style of the header block
+ * @var string
+ */
+ var $header_content_style = '';
+
+ /**
+ * The style of the footer block
+ * @var string
+ */
+ var $footer_content_style = '';
+
+ /**
+ * Tells if a block around the highlighted source should be forced
+ * if not using line numbering
+ * @var boolean
+ */
+ var $force_code_block = false;
+
+ /**
+ * The styles for hyperlinks in the code
+ * @var array
+ */
+ var $link_styles = array();
+
+ /**
+ * Whether important blocks should be recognised or not
+ * @var boolean
+ * @deprecated
+ * @todo REMOVE THIS FUNCTIONALITY!
+ */
+ var $enable_important_blocks = false;
+
+ /**
+ * Styles for important parts of the code
+ * @var string
+ * @deprecated
+ * @todo As above - rethink the whole idea of important blocks as it is buggy and
+ * will be hard to implement in 1.2
+ */
+ var $important_styles = 'font-weight: bold; color: red;'; // Styles for important parts of the code
+
+ /**
+ * Whether CSS IDs should be added to the code
+ * @var boolean
+ */
+ var $add_ids = false;
+
+ /**
+ * Lines that should be highlighted extra
+ * @var array
+ */
+ var $highlight_extra_lines = array();
+
+ /**
+ * Styles of lines that should be highlighted extra
+ * @var array
+ */
+ var $highlight_extra_lines_styles = array();
+
+ /**
+ * Styles of extra-highlighted lines
+ * @var string
+ */
+ var $highlight_extra_lines_style = 'background-color: #ffc;';
+
+ /**
+ * The line ending
+ * If null, nl2br() will be used on the result string.
+ * Otherwise, all instances of \n will be replaced with $line_ending
+ * @var string
+ */
+ var $line_ending = null;
+
+ /**
+ * Number at which line numbers should start at
+ * @var int
+ */
+ var $line_numbers_start = 1;
+
+ /**
+ * The overall style for this code block
+ * @var string
+ */
+ var $overall_style = 'font-family:monospace;';
+
+ /**
+ * The style for the actual code
+ * @var string
+ */
+ var $code_style = 'font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;';
+
+ /**
+ * The overall class for this code block
+ * @var string
+ */
+ var $overall_class = '';
+
+ /**
+ * The overall ID for this code block
+ * @var string
+ */
+ var $overall_id = '';
+
+ /**
+ * Line number styles
+ * @var string
+ */
+ var $line_style1 = 'font-weight: normal; vertical-align:top;';
+
+ /**
+ * Line number styles for fancy lines
+ * @var string
+ */
+ var $line_style2 = 'font-weight: bold; vertical-align:top;';
+
+ /**
+ * Style for line numbers when GESHI_HEADER_PRE_TABLE is chosen
+ * @var string
+ */
+ var $table_linenumber_style = 'width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;';
+
+ /**
+ * Flag for how line numbers are displayed
+ * @var boolean
+ */
+ var $line_numbers = GESHI_NO_LINE_NUMBERS;
+
+ /**
+ * Flag to decide if multi line spans are allowed. Set it to false to make sure
+ * each tag is closed before and reopened after each linefeed.
+ * @var boolean
+ */
+ var $allow_multiline_span = true;
+
+ /**
+ * The "nth" value for fancy line highlighting
+ * @var int
+ */
+ var $line_nth_row = 0;
+
+ /**
+ * The size of tab stops
+ * @var int
+ */
+ var $tab_width = 8;
+
+ /**
+ * Should we use language-defined tab stop widths?
+ * @var int
+ */
+ var $use_language_tab_width = false;
+
+ /**
+ * Default target for keyword links
+ * @var string
+ */
+ var $link_target = '';
+
+ /**
+ * The encoding to use for entity encoding
+ * NOTE: Used with Escape Char Sequences to fix UTF-8 handling (cf. SF#2037598)
+ * @var string
+ */
+ var $encoding = 'utf-8';
+
+ /**
+ * Should keywords be linked?
+ * @var boolean
+ */
+ var $keyword_links = true;
+
+ /**
+ * Currently loaded language file
+ * @var string
+ * @since 1.0.7.22
+ */
+ var $loaded_language = '';
+
+ /**
+ * Wether the caches needed for parsing are built or not
+ *
+ * @var bool
+ * @since 1.0.8
+ */
+ var $parse_cache_built = false;
+
+ /**
+ * Work around for Suhosin Patch with disabled /e modifier
+ *
+ * Note from suhosins author in config file:
+ * <blockquote>
+ * The /e modifier inside <code>preg_replace()</code> allows code execution.
+ * Often it is the cause for remote code execution exploits. It is wise to
+ * deactivate this feature and test where in the application it is used.
+ * The developer using the /e modifier should be made aware that he should
+ * use <code>preg_replace_callback()</code> instead
+ * </blockquote>
+ *
+ * @var array
+ * @since 1.0.8
+ */
+ var $_kw_replace_group = 0;
+ var $_rx_key = 0;
+
+ /**
+ * some "callback parameters" for handle_multiline_regexps
+ *
+ * @since 1.0.8
+ * @access private
+ * @var string
+ */
+ var $_hmr_before = '';
+ var $_hmr_replace = '';
+ var $_hmr_after = '';
+ var $_hmr_key = 0;
+
+ /**#@-*/
+
+ /**
+ * Creates a new GeSHi object, with source and language
+ *
+ * @param string The source code to highlight
+ * @param string The language to highlight the source with
+ * @param string The path to the language file directory. <b>This
+ * is deprecated!</b> I've backported the auto path
+ * detection from the 1.1.X dev branch, so now it
+ * should be automatically set correctly. If you have
+ * renamed the language directory however, you will
+ * still need to set the path using this parameter or
+ * {@link GeSHi->set_language_path()}
+ * @since 1.0.0
+ */
+ function GeSHi($source = '', $language = '', $path = '') {
+ if (!empty($source)) {
+ $this->set_source($source);
+ }
+ if (!empty($language)) {
+ $this->set_language($language);
+ }
+ $this->set_language_path($path);
+ }
+
+ /**
+ * Setter function to initialize vars from within CI
+ * @param array $config to set
+ * @return bool
+ */
+ function initialize($config){
+
+ if(is_array($config)){
+
+ foreach($config as $key=>$value){
+ if(method_exists('Geshi',$key)){
+ $this->$key($value);
+ }else{
+ $this->$key = $value;
+ }
+ }
+ return TRUE;
+ }
+ return FALSE;
+ }
+
+ /**
+ * Returns an error message associated with the last GeSHi operation,
+ * or false if no error has occured
+ *
+ * @return string|false An error message if there has been an error, else false
+ * @since 1.0.0
+ */
+ function error() {
+ if ($this->error) {
+ //Put some template variables for debugging here ...
+ $debug_tpl_vars = array(
+ '{LANGUAGE}' => $this->language,
+ '{PATH}' => $this->language_path
+ );
+ $msg = str_replace(
+ array_keys($debug_tpl_vars),
+ array_values($debug_tpl_vars),
+ $this->error_messages[$this->error]);
+
+ return "<br /><strong>GeSHi Error:</strong> $msg (code {$this->error})<br />";
+ }
+ return false;
+ }
+
+ /**
+ * Gets a human-readable language name (thanks to Simon Patterson
+ * for the idea :))
+ *
+ * @return string The name for the current language
+ * @since 1.0.2
+ */
+ function get_language_name() {
+ if (GESHI_ERROR_NO_SUCH_LANG == $this->error) {
+ return $this->language_data['LANG_NAME'] . ' (Unknown Language)';
+ }
+ return $this->language_data['LANG_NAME'];
+ }
+
+ /**
+ * Sets the source code for this object
+ *
+ * @param string The source code to highlight
+ * @since 1.0.0
+ */
+ function set_source($source) {
+ $this->source = $source;
+ $this->highlight_extra_lines = array();
+ }
+
+ /**
+ * Sets the language for this object
+ *
+ * @note since 1.0.8 this function won't reset language-settings by default anymore!
+ * if you need this set $force_reset = true
+ *
+ * @param string The name of the language to use
+ * @since 1.0.0
+ */
+ function set_language($language, $force_reset = false) {
+ if ($force_reset) {
+ $this->loaded_language = false;
+ }
+
+ //Clean up the language name to prevent malicious code injection
+ $language = preg_replace('#[^a-zA-Z0-9\-_]#', '', $language);
+
+ $language = strtolower($language);
+
+ //Retreive the full filename
+ $file_name = $this->language_path . $language . '.php';
+ if ($file_name == $this->loaded_language) {
+ // this language is already loaded!
+ return;
+ }
+
+ $this->language = $language;
+
+ $this->error = false;
+ $this->strict_mode = GESHI_NEVER;
+
+ //Check if we can read the desired file
+ if (!is_readable($file_name)) {
+ $this->error = GESHI_ERROR_NO_SUCH_LANG;
+ return;
+ }
+
+ // Load the language for parsing
+ $this->load_language($file_name);
+ }
+
+ /**
+ * Sets the path to the directory containing the language files. Note
+ * that this path is relative to the directory of the script that included
+ * geshi.php, NOT geshi.php itself.
+ *
+ * @param string The path to the language directory
+ * @since 1.0.0
+ * @deprecated The path to the language files should now be automatically
+ * detected, so this method should no longer be needed. The
+ * 1.1.X branch handles manual setting of the path differently
+ * so this method will disappear in 1.2.0.
+ */
+ function set_language_path($path) {
+ if(strpos($path,':')) {
+ //Security Fix to prevent external directories using fopen wrappers.
+ if(DIRECTORY_SEPARATOR == "\\") {
+ if(!preg_match('#^[a-zA-Z]:#', $path) || false !== strpos($path, ':', 2)) {
+ return;
+ }
+ } else {
+ return;
+ }
+ }
+ if(preg_match('#[^/a-zA-Z0-9_\.\-\\\s:]#', $path)) {
+ //Security Fix to prevent external directories using fopen wrappers.
+ return;
+ }
+ if(GESHI_SECURITY_PARANOID && false !== strpos($path, '/.')) {
+ //Security Fix to prevent external directories using fopen wrappers.
+ return;
+ }
+ if(GESHI_SECURITY_PARANOID && false !== strpos($path, '..')) {
+ //Security Fix to prevent external directories using fopen wrappers.
+ return;
+ }
+ if ($path) {
+ $this->language_path = ('/' == $path[strlen($path) - 1]) ? $path : $path . '/';
+ $this->set_language($this->language); // otherwise set_language_path has no effect
+ }
+ }
+
+ /**
+ * Sets the type of header to be used.
+ *
+ * If GESHI_HEADER_DIV is used, the code is surrounded in a "div".This
+ * means more source code but more control over tab width and line-wrapping.
+ * GESHI_HEADER_PRE means that a "pre" is used - less source, but less
+ * control. Default is GESHI_HEADER_PRE.
+ *
+ * From 1.0.7.2, you can use GESHI_HEADER_NONE to specify that no header code
+ * should be outputted.
+ *
+ * @param int The type of header to be used
+ * @since 1.0.0
+ */
+ function set_header_type($type) {
+ //Check if we got a valid header type
+ if (!in_array($type, array(GESHI_HEADER_NONE, GESHI_HEADER_DIV,
+ GESHI_HEADER_PRE, GESHI_HEADER_PRE_VALID, GESHI_HEADER_PRE_TABLE))) {
+ $this->error = GESHI_ERROR_INVALID_HEADER_TYPE;
+ return;
+ }
+
+ //Set that new header type
+ $this->header_type = $type;
+ }
+
+ /**
+ * Sets the styles for the code that will be outputted
+ * when this object is parsed. The style should be a
+ * string of valid stylesheet declarations
+ *
+ * @param string The overall style for the outputted code block
+ * @param boolean Whether to merge the styles with the current styles or not
+ * @since 1.0.0
+ */
+ function set_overall_style($style, $preserve_defaults = false) {
+ if (!$preserve_defaults) {
+ $this->overall_style = $style;
+ } else {
+ $this->overall_style .= $style;
+ }
+ }
+
+ /**
+ * Sets the overall classname for this block of code. This
+ * class can then be used in a stylesheet to style this object's
+ * output
+ *
+ * @param string The class name to use for this block of code
+ * @since 1.0.0
+ */
+ function set_overall_class($class) {
+ $this->overall_class = $class;
+ }
+
+ /**
+ * Sets the overall id for this block of code. This id can then
+ * be used in a stylesheet to style this object's output
+ *
+ * @param string The ID to use for this block of code
+ * @since 1.0.0
+ */
+ function set_overall_id($id) {
+ $this->overall_id = $id;
+ }
+
+ /**
+ * Sets whether CSS classes should be used to highlight the source. Default
+ * is off, calling this method with no arguments will turn it on
+ *
+ * @param boolean Whether to turn classes on or not
+ * @since 1.0.0
+ */
+ function enable_classes($flag = true) {
+ $this->use_classes = ($flag) ? true : false;
+ }
+
+ /**
+ * Sets the style for the actual code. This should be a string
+ * containing valid stylesheet declarations. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * Note: Use this method to override any style changes you made to
+ * the line numbers if you are using line numbers, else the line of
+ * code will have the same style as the line number! Consult the
+ * GeSHi documentation for more information about this.
+ *
+ * @param string The style to use for actual code
+ * @param boolean Whether to merge the current styles with the new styles
+ * @since 1.0.2
+ */
+ function set_code_style($style, $preserve_defaults = false) {
+ if (!$preserve_defaults) {
+ $this->code_style = $style;
+ } else {
+ $this->code_style .= $style;
+ }
+ }
+
+ /**
+ * Sets the styles for the line numbers.
+ *
+ * @param string The style for the line numbers that are "normal"
+ * @param string|boolean If a string, this is the style of the line
+ * numbers that are "fancy", otherwise if boolean then this
+ * defines whether the normal styles should be merged with the
+ * new normal styles or not
+ * @param boolean If set, is the flag for whether to merge the "fancy"
+ * styles with the current styles or not
+ * @since 1.0.2
+ */
+ function set_line_style($style1, $style2 = '', $preserve_defaults = false) {
+ //Check if we got 2 or three parameters
+ if (is_bool($style2)) {
+ $preserve_defaults = $style2;
+ $style2 = '';
+ }
+
+ //Actually set the new styles
+ if (!$preserve_defaults) {
+ $this->line_style1 = $style1;
+ $this->line_style2 = $style2;
+ } else {
+ $this->line_style1 .= $style1;
+ $this->line_style2 .= $style2;
+ }
+ }
+
+ /**
+ * Sets whether line numbers should be displayed.
+ *
+ * Valid values for the first parameter are:
+ *
+ * - GESHI_NO_LINE_NUMBERS: Line numbers will not be displayed
+ * - GESHI_NORMAL_LINE_NUMBERS: Line numbers will be displayed
+ * - GESHI_FANCY_LINE_NUMBERS: Fancy line numbers will be displayed
+ *
+ * For fancy line numbers, the second parameter is used to signal which lines
+ * are to be fancy. For example, if the value of this parameter is 5 then every
+ * 5th line will be fancy.
+ *
+ * @param int How line numbers should be displayed
+ * @param int Defines which lines are fancy
+ * @since 1.0.0
+ */
+ function enable_line_numbers($flag, $nth_row = 5) {
+ if (GESHI_NO_LINE_NUMBERS != $flag && GESHI_NORMAL_LINE_NUMBERS != $flag
+ && GESHI_FANCY_LINE_NUMBERS != $flag) {
+ $this->error = GESHI_ERROR_INVALID_LINE_NUMBER_TYPE;
+ }
+ $this->line_numbers = $flag;
+ $this->line_nth_row = $nth_row;
+ }
+
+ /**
+ * Sets wether spans and other HTML markup generated by GeSHi can
+ * span over multiple lines or not. Defaults to true to reduce overhead.
+ * Set it to false if you want to manipulate the output or manually display
+ * the code in an ordered list.
+ *
+ * @param boolean Wether multiline spans are allowed or not
+ * @since 1.0.7.22
+ */
+ function enable_multiline_span($flag) {
+ $this->allow_multiline_span = (bool) $flag;
+ }
+
+ /**
+ * Get current setting for multiline spans, see GeSHi->enable_multiline_span().
+ *
+ * @see enable_multiline_span
+ * @return bool
+ */
+ function get_multiline_span() {
+ return $this->allow_multiline_span;
+ }
+
+ /**
+ * Sets the style for a keyword group. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * @param int The key of the keyword group to change the styles of
+ * @param string The style to make the keywords
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @since 1.0.0
+ */
+ function set_keyword_group_style($key, $style, $preserve_defaults = false) {
+ //Set the style for this keyword group
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['KEYWORDS'][$key] = $style;
+ } else {
+ $this->language_data['STYLES']['KEYWORDS'][$key] .= $style;
+ }
+
+ //Update the lexic permissions
+ if (!isset($this->lexic_permissions['KEYWORDS'][$key])) {
+ $this->lexic_permissions['KEYWORDS'][$key] = true;
+ }
+ }
+
+ /**
+ * Turns highlighting on/off for a keyword group
+ *
+ * @param int The key of the keyword group to turn on or off
+ * @param boolean Whether to turn highlighting for that group on or off
+ * @since 1.0.0
+ */
+ function set_keyword_group_highlighting($key, $flag = true) {
+ $this->lexic_permissions['KEYWORDS'][$key] = ($flag) ? true : false;
+ }
+
+ /**
+ * Sets the styles for comment groups. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * @param int The key of the comment group to change the styles of
+ * @param string The style to make the comments
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @since 1.0.0
+ */
+ function set_comments_style($key, $style, $preserve_defaults = false) {
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['COMMENTS'][$key] = $style;
+ } else {
+ $this->language_data['STYLES']['COMMENTS'][$key] .= $style;
+ }
+ }
+
+ /**
+ * Turns highlighting on/off for comment groups
+ *
+ * @param int The key of the comment group to turn on or off
+ * @param boolean Whether to turn highlighting for that group on or off
+ * @since 1.0.0
+ */
+ function set_comments_highlighting($key, $flag = true) {
+ $this->lexic_permissions['COMMENTS'][$key] = ($flag) ? true : false;
+ }
+
+ /**
+ * Sets the styles for escaped characters. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * @param string The style to make the escape characters
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @since 1.0.0
+ */
+ function set_escape_characters_style($style, $preserve_defaults = false, $group = 0) {
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['ESCAPE_CHAR'][$group] = $style;
+ } else {
+ $this->language_data['STYLES']['ESCAPE_CHAR'][$group] .= $style;
+ }
+ }
+
+ /**
+ * Turns highlighting on/off for escaped characters
+ *
+ * @param boolean Whether to turn highlighting for escape characters on or off
+ * @since 1.0.0
+ */
+ function set_escape_characters_highlighting($flag = true) {
+ $this->lexic_permissions['ESCAPE_CHAR'] = ($flag) ? true : false;
+ }
+
+ /**
+ * Sets the styles for brackets. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * This method is DEPRECATED: use set_symbols_style instead.
+ * This method will be removed in 1.2.X
+ *
+ * @param string The style to make the brackets
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @since 1.0.0
+ * @deprecated In favour of set_symbols_style
+ */
+ function set_brackets_style($style, $preserve_defaults = false) {
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['BRACKETS'][0] = $style;
+ } else {
+ $this->language_data['STYLES']['BRACKETS'][0] .= $style;
+ }
+ }
+
+ /**
+ * Turns highlighting on/off for brackets
+ *
+ * This method is DEPRECATED: use set_symbols_highlighting instead.
+ * This method will be remove in 1.2.X
+ *
+ * @param boolean Whether to turn highlighting for brackets on or off
+ * @since 1.0.0
+ * @deprecated In favour of set_symbols_highlighting
+ */
+ function set_brackets_highlighting($flag) {
+ $this->lexic_permissions['BRACKETS'] = ($flag) ? true : false;
+ }
+
+ /**
+ * Sets the styles for symbols. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * @param string The style to make the symbols
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @param int Tells the group of symbols for which style should be set.
+ * @since 1.0.1
+ */
+ function set_symbols_style($style, $preserve_defaults = false, $group = 0) {
+ // Update the style of symbols
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['SYMBOLS'][$group] = $style;
+ } else {
+ $this->language_data['STYLES']['SYMBOLS'][$group] .= $style;
+ }
+
+ // For backward compatibility
+ if (0 == $group) {
+ $this->set_brackets_style ($style, $preserve_defaults);
+ }
+ }
+
+ /**
+ * Turns highlighting on/off for symbols
+ *
+ * @param boolean Whether to turn highlighting for symbols on or off
+ * @since 1.0.0
+ */
+ function set_symbols_highlighting($flag) {
+ // Update lexic permissions for this symbol group
+ $this->lexic_permissions['SYMBOLS'] = ($flag) ? true : false;
+
+ // For backward compatibility
+ $this->set_brackets_highlighting ($flag);
+ }
+
+ /**
+ * Sets the styles for strings. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * @param string The style to make the escape characters
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @param int Tells the group of strings for which style should be set.
+ * @since 1.0.0
+ */
+ function set_strings_style($style, $preserve_defaults = false, $group = 0) {
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['STRINGS'][$group] = $style;
+ } else {
+ $this->language_data['STYLES']['STRINGS'][$group] .= $style;
+ }
+ }
+
+ /**
+ * Turns highlighting on/off for strings
+ *
+ * @param boolean Whether to turn highlighting for strings on or off
+ * @since 1.0.0
+ */
+ function set_strings_highlighting($flag) {
+ $this->lexic_permissions['STRINGS'] = ($flag) ? true : false;
+ }
+
+ /**
+ * Sets the styles for strict code blocks. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * @param string The style to make the script blocks
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @param int Tells the group of script blocks for which style should be set.
+ * @since 1.0.8.4
+ */
+ function set_script_style($style, $preserve_defaults = false, $group = 0) {
+ // Update the style of symbols
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['SCRIPT'][$group] = $style;
+ } else {
+ $this->language_data['STYLES']['SCRIPT'][$group] .= $style;
+ }
+ }
+
+ /**
+ * Sets the styles for numbers. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * @param string The style to make the numbers
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @param int Tells the group of numbers for which style should be set.
+ * @since 1.0.0
+ */
+ function set_numbers_style($style, $preserve_defaults = false, $group = 0) {
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['NUMBERS'][$group] = $style;
+ } else {
+ $this->language_data['STYLES']['NUMBERS'][$group] .= $style;
+ }
+ }
+
+ /**
+ * Turns highlighting on/off for numbers
+ *
+ * @param boolean Whether to turn highlighting for numbers on or off
+ * @since 1.0.0
+ */
+ function set_numbers_highlighting($flag) {
+ $this->lexic_permissions['NUMBERS'] = ($flag) ? true : false;
+ }
+
+ /**
+ * Sets the styles for methods. $key is a number that references the
+ * appropriate "object splitter" - see the language file for the language
+ * you are highlighting to get this number. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * @param int The key of the object splitter to change the styles of
+ * @param string The style to make the methods
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @since 1.0.0
+ */
+ function set_methods_style($key, $style, $preserve_defaults = false) {
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['METHODS'][$key] = $style;
+ } else {
+ $this->language_data['STYLES']['METHODS'][$key] .= $style;
+ }
+ }
+
+ /**
+ * Turns highlighting on/off for methods
+ *
+ * @param boolean Whether to turn highlighting for methods on or off
+ * @since 1.0.0
+ */
+ function set_methods_highlighting($flag) {
+ $this->lexic_permissions['METHODS'] = ($flag) ? true : false;
+ }
+
+ /**
+ * Sets the styles for regexps. If $preserve_defaults is
+ * true, then styles are merged with the default styles, with the
+ * user defined styles having priority
+ *
+ * @param string The style to make the regular expression matches
+ * @param boolean Whether to merge the new styles with the old or just
+ * to overwrite them
+ * @since 1.0.0
+ */
+ function set_regexps_style($key, $style, $preserve_defaults = false) {
+ if (!$preserve_defaults) {
+ $this->language_data['STYLES']['REGEXPS'][$key] = $style;
+ } else {
+ $this->language_data['STYLES']['REGEXPS'][$key] .= $style;
+ }
+ }
+
+ /**
+ * Turns highlighting on/off for regexps
+ *
+ * @param int The key of the regular expression group to turn on or off
+ * @param boolean Whether to turn highlighting for the regular expression group on or off
+ * @since 1.0.0
+ */
+ function set_regexps_highlighting($key, $flag) {
+ $this->lexic_permissions['REGEXPS'][$key] = ($flag) ? true : false;
+ }
+
+ /**
+ * Sets whether a set of keywords are checked for in a case sensitive manner
+ *
+ * @param int The key of the keyword group to change the case sensitivity of
+ * @param boolean Whether to check in a case sensitive manner or not
+ * @since 1.0.0
+ */
+ function set_case_sensitivity($key, $case) {
+ $this->language_data['CASE_SENSITIVE'][$key] = ($case) ? true : false;
+ }
+
+ /**
+ * Sets the case that keywords should use when found. Use the constants:
+ *
+ * - GESHI_CAPS_NO_CHANGE: leave keywords as-is
+ * - GESHI_CAPS_UPPER: convert all keywords to uppercase where found
+ * - GESHI_CAPS_LOWER: convert all keywords to lowercase where found
+ *
+ * @param int A constant specifying what to do with matched keywords
+ * @since 1.0.1
+ */
+ function set_case_keywords($case) {
+ if (in_array($case, array(
+ GESHI_CAPS_NO_CHANGE, GESHI_CAPS_UPPER, GESHI_CAPS_LOWER))) {
+ $this->language_data['CASE_KEYWORDS'] = $case;
+ }
+ }
+
+ /**
+ * Sets how many spaces a tab is substituted for
+ *
+ * Widths below zero are ignored
+ *
+ * @param int The tab width
+ * @since 1.0.0
+ */
+ function set_tab_width($width) {
+ $this->tab_width = intval($width);
+
+ //Check if it fit's the constraints:
+ if ($this->tab_width < 1) {
+ //Return it to the default
+ $this->tab_width = 8;
+ }
+ }
+
+ /**
+ * Sets whether or not to use tab-stop width specifed by language
+ *
+ * @param boolean Whether to use language-specific tab-stop widths
+ * @since 1.0.7.20
+ */
+ function set_use_language_tab_width($use) {
+ $this->use_language_tab_width = (bool) $use;
+ }
+
+ /**
+ * Returns the tab width to use, based on the current language and user
+ * preference
+ *
+ * @return int Tab width
+ * @since 1.0.7.20
+ */
+ function get_real_tab_width() {
+ if (!$this->use_language_tab_width ||
+ !isset($this->language_data['TAB_WIDTH'])) {
+ return $this->tab_width;
+ } else {
+ return $this->language_data['TAB_WIDTH'];
+ }
+ }
+
+ /**
+ * Enables/disables strict highlighting. Default is off, calling this
+ * method without parameters will turn it on. See documentation
+ * for more details on strict mode and where to use it.
+ *
+ * @param boolean Whether to enable strict mode or not
+ * @since 1.0.0
+ */
+ function enable_strict_mode($mode = true) {
+ if (GESHI_MAYBE == $this->language_data['STRICT_MODE_APPLIES']) {
+ $this->strict_mode = ($mode) ? GESHI_ALWAYS : GESHI_NEVER;
+ }
+ }
+
+ /**
+ * Disables all highlighting
+ *
+ * @since 1.0.0
+ * @todo Rewrite with array traversal
+ * @deprecated In favour of enable_highlighting
+ */
+ function disable_highlighting() {
+ $this->enable_highlighting(false);
+ }
+
+ /**
+ * Enables all highlighting
+ *
+ * The optional flag parameter was added in version 1.0.7.21 and can be used
+ * to enable (true) or disable (false) all highlighting.
+ *
+ * @since 1.0.0
+ * @param boolean A flag specifying whether to enable or disable all highlighting
+ * @todo Rewrite with array traversal
+ */
+ function enable_highlighting($flag = true) {
+ $flag = $flag ? true : false;
+ foreach ($this->lexic_permissions as $key => $value) {
+ if (is_array($value)) {
+ foreach ($value as $k => $v) {
+ $this->lexic_permissions[$key][$k] = $flag;
+ }
+ } else {
+ $this->lexic_permissions[$key] = $flag;
+ }
+ }
+
+ // Context blocks
+ $this->enable_important_blocks = $flag;
+ }
+
+ /**
+ * Given a file extension, this method returns either a valid geshi language
+ * name, or the empty string if it couldn't be found
+ *
+ * @param string The extension to get a language name for
+ * @param array A lookup array to use instead of the default one
+ * @since 1.0.5
+ * @todo Re-think about how this method works (maybe make it private and/or make it
+ * a extension->lang lookup?)
+ * @todo static?
+ */
+ function get_language_name_from_extension( $extension, $lookup = array() ) {
+ if ( !is_array($lookup) || empty($lookup)) {
+ $lookup = array(
+ 'abap' => array('abap'),
+ 'actionscript' => array('as'),
+ 'ada' => array('a', 'ada', 'adb', 'ads'),
+ 'apache' => array('conf'),
+ 'asm' => array('ash', 'asm', 'inc'),
+ 'asp' => array('asp'),
+ 'bash' => array('sh'),
+ 'bf' => array('bf'),
+ 'c' => array('c', 'h'),
+ 'c_mac' => array('c', 'h'),
+ 'caddcl' => array(),
+ 'cadlisp' => array(),
+ 'cdfg' => array('cdfg'),
+ 'cobol' => array('cbl'),
+ 'cpp' => array('cpp', 'hpp', 'C', 'H', 'CPP', 'HPP'),
+ 'csharp' => array('cs'),
+ 'css' => array('css'),
+ 'd' => array('d'),
+ 'delphi' => array('dpk', 'dpr', 'pp', 'pas'),
+ 'diff' => array('diff', 'patch'),
+ 'dos' => array('bat', 'cmd'),
+ 'gdb' => array('kcrash', 'crash', 'bt'),
+ 'gettext' => array('po', 'pot'),
+ 'gml' => array('gml'),
+ 'gnuplot' => array('plt'),
+ 'groovy' => array('groovy'),
+ 'haskell' => array('hs'),
+ 'html4strict' => array('html', 'htm'),
+ 'ini' => array('ini', 'desktop'),
+ 'java' => array('java'),
+ 'javascript' => array('js'),
+ 'klonec' => array('kl1'),
+ 'klonecpp' => array('klx'),
+ 'latex' => array('tex'),
+ 'lisp' => array('lisp'),
+ 'lua' => array('lua'),
+ 'matlab' => array('m'),
+ 'mpasm' => array(),
+ 'mysql' => array('sql'),
+ 'nsis' => array(),
+ 'objc' => array(),
+ 'oobas' => array(),
+ 'oracle8' => array(),
+ 'oracle10' => array(),
+ 'pascal' => array('pas'),
+ 'perl' => array('pl', 'pm'),
+ 'php' => array('php', 'php5', 'phtml', 'phps'),
+ 'povray' => array('pov'),
+ 'providex' => array('pvc', 'pvx'),
+ 'prolog' => array('pl'),
+ 'python' => array('py'),
+ 'qbasic' => array('bi'),
+ 'reg' => array('reg'),
+ 'ruby' => array('rb'),
+ 'sas' => array('sas'),
+ 'scala' => array('scala'),
+ 'scheme' => array('scm'),
+ 'scilab' => array('sci'),
+ 'smalltalk' => array('st'),
+ 'smarty' => array(),
+ 'tcl' => array('tcl'),
+ 'vb' => array('bas'),
+ 'vbnet' => array(),
+ 'visualfoxpro' => array(),
+ 'whitespace' => array('ws'),
+ 'xml' => array('xml', 'svg', 'xrc'),
+ 'z80' => array('z80', 'asm', 'inc')
+ );
+ }
+
+ foreach ($lookup as $lang => $extensions) {
+ if (in_array($extension, $extensions)) {
+ return $lang;
+ }
+ }
+ return '';
+ }
+
+ /**
+ * Given a file name, this method loads its contents in, and attempts
+ * to set the language automatically. An optional lookup table can be
+ * passed for looking up the language name. If not specified a default
+ * table is used
+ *
+ * The language table is in the form
+ * <pre>array(
+ * 'lang_name' => array('extension', 'extension', ...),
+ * 'lang_name' ...
+ * );</pre>
+ *
+ * @param string The filename to load the source from
+ * @param array A lookup array to use instead of the default one
+ * @todo Complete rethink of this and above method
+ * @since 1.0.5
+ */
+ function load_from_file($file_name, $lookup = array()) {
+ if (is_readable($file_name)) {
+ $this->set_source(file_get_contents($file_name));
+ $this->set_language($this->get_language_name_from_extension(substr(strrchr($file_name, '.'), 1), $lookup));
+ } else {
+ $this->error = GESHI_ERROR_FILE_NOT_READABLE;
+ }
+ }
+
+ /**
+ * Adds a keyword to a keyword group for highlighting
+ *
+ * @param int The key of the keyword group to add the keyword to
+ * @param string The word to add to the keyword group
+ * @since 1.0.0
+ */
+ function add_keyword($key, $word) {
+ if (!in_array($word, $this->language_data['KEYWORDS'][$key])) {
+ $this->language_data['KEYWORDS'][$key][] = $word;
+
+ //NEW in 1.0.8 don't recompile the whole optimized regexp, simply append it
+ if ($this->parse_cache_built) {
+ $subkey = count($this->language_data['CACHED_KEYWORD_LISTS'][$key]) - 1;
+ $this->language_data['CACHED_KEYWORD_LISTS'][$key][$subkey] .= '|' . preg_quote($word, '/');
+ }
+ }
+ }
+
+ /**
+ * Removes a keyword from a keyword group
+ *
+ * @param int The key of the keyword group to remove the keyword from
+ * @param string The word to remove from the keyword group
+ * @param bool Wether to automatically recompile the optimized regexp list or not.
+ * Note: if you set this to false and @see GeSHi->parse_code() was already called once,
+ * for the current language, you have to manually call @see GeSHi->optimize_keyword_group()
+ * or the removed keyword will stay in cache and still be highlighted! On the other hand
+ * it might be too expensive to recompile the regexp list for every removal if you want to
+ * remove a lot of keywords.
+ * @since 1.0.0
+ */
+ function remove_keyword($key, $word, $recompile = true) {
+ $key_to_remove = array_search($word, $this->language_data['KEYWORDS'][$key]);
+ if ($key_to_remove !== false) {
+ unset($this->language_data['KEYWORDS'][$key][$key_to_remove]);
+
+ //NEW in 1.0.8, optionally recompile keyword group
+ if ($recompile && $this->parse_cache_built) {
+ $this->optimize_keyword_group($key);
+ }
+ }
+ }
+
+ /**
+ * Creates a new keyword group
+ *
+ * @param int The key of the keyword group to create
+ * @param string The styles for the keyword group
+ * @param boolean Whether the keyword group is case sensitive ornot
+ * @param array The words to use for the keyword group
+ * @since 1.0.0
+ */
+ function add_keyword_group($key, $styles, $case_sensitive = true, $words = array()) {
+ $words = (array) $words;
+ if (empty($words)) {
+ // empty word lists mess up highlighting
+ return false;
+ }
+
+ //Add the new keyword group internally
+ $this->language_data['KEYWORDS'][$key] = $words;
+ $this->lexic_permissions['KEYWORDS'][$key] = true;
+ $this->language_data['CASE_SENSITIVE'][$key] = $case_sensitive;
+ $this->language_data['STYLES']['KEYWORDS'][$key] = $styles;
+
+ //NEW in 1.0.8, cache keyword regexp
+ if ($this->parse_cache_built) {
+ $this->optimize_keyword_group($key);
+ }
+ }
+
+ /**
+ * Removes a keyword group
+ *
+ * @param int The key of the keyword group to remove
+ * @since 1.0.0
+ */
+ function remove_keyword_group ($key) {
+ //Remove the keyword group internally
+ unset($this->language_data['KEYWORDS'][$key]);
+ unset($this->lexic_permissions['KEYWORDS'][$key]);
+ unset($this->language_data['CASE_SENSITIVE'][$key]);
+ unset($this->language_data['STYLES']['KEYWORDS'][$key]);
+
+ //NEW in 1.0.8
+ unset($this->language_data['CACHED_KEYWORD_LISTS'][$key]);
+ }
+
+ /**
+ * compile optimized regexp list for keyword group
+ *
+ * @param int The key of the keyword group to compile & optimize
+ * @since 1.0.8
+ */
+ function optimize_keyword_group($key) {
+ $this->language_data['CACHED_KEYWORD_LISTS'][$key] =
+ $this->optimize_regexp_list($this->language_data['KEYWORDS'][$key]);
+ $space_as_whitespace = false;
+ if(isset($this->language_data['PARSER_CONTROL'])) {
+ if(isset($this->language_data['PARSER_CONTROL']['KEYWORDS'])) {
+ if(isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['SPACE_AS_WHITESPACE'])) {
+ $space_as_whitespace = $this->language_data['PARSER_CONTROL']['KEYWORDS']['SPACE_AS_WHITESPACE'];
+ }
+ if(isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$key]['SPACE_AS_WHITESPACE'])) {
+ if(isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$key]['SPACE_AS_WHITESPACE'])) {
+ $space_as_whitespace = $this->language_data['PARSER_CONTROL']['KEYWORDS'][$key]['SPACE_AS_WHITESPACE'];
+ }
+ }
+ }
+ }
+ if($space_as_whitespace) {
+ foreach($this->language_data['CACHED_KEYWORD_LISTS'][$key] as $rxk => $rxv) {
+ $this->language_data['CACHED_KEYWORD_LISTS'][$key][$rxk] =
+ str_replace(" ", "\\s+", $rxv);
+ }
+ }
+ }
+
+ /**
+ * Alias for parse_code() function
+ * @param none
+ * @return none
+ */
+ function output(){
+ return $this->parse_code();
+ }
+
+ /**
+ * Sets the content of the header block
+ *
+ * @param string The content of the header block
+ * @since 1.0.2
+ */
+ function set_header_content($content) {
+ $this->header_content = $content;
+ }
+
+ /**
+ * Sets the content of the footer block
+ *
+ * @param string The content of the footer block
+ * @since 1.0.2
+ */
+ function set_footer_content($content) {
+ $this->footer_content = $content;
+ }
+
+ /**
+ * Sets the style for the header content
+ *
+ * @param string The style for the header content
+ * @since 1.0.2
+ */
+ function set_header_content_style($style) {
+ $this->header_content_style = $style;
+ }
+
+ /**
+ * Sets the style for the footer content
+ *
+ * @param string The style for the footer content
+ * @since 1.0.2
+ */
+ function set_footer_content_style($style) {
+ $this->footer_content_style = $style;
+ }
+
+ /**
+ * Sets whether to force a surrounding block around
+ * the highlighted code or not
+ *
+ * @param boolean Tells whether to enable or disable this feature
+ * @since 1.0.7.20
+ */
+ function enable_inner_code_block($flag) {
+ $this->force_code_block = (bool)$flag;
+ }
+
+ /**
+ * Sets the base URL to be used for keywords
+ *
+ * @param int The key of the keyword group to set the URL for
+ * @param string The URL to set for the group. If {FNAME} is in
+ * the url somewhere, it is replaced by the keyword
+ * that the URL is being made for
+ * @since 1.0.2
+ */
+ function set_url_for_keyword_group($group, $url) {
+ $this->language_data['URLS'][$group] = $url;
+ }
+
+ /**
+ * Sets styles for links in code
+ *
+ * @param int A constant that specifies what state the style is being
+ * set for - e.g. :hover or :visited
+ * @param string The styles to use for that state
+ * @since 1.0.2
+ */
+ function set_link_styles($type, $styles) {
+ $this->link_styles[$type] = $styles;
+ }
+
+ /**
+ * Sets the target for links in code
+ *
+ * @param string The target for links in the code, e.g. _blank
+ * @since 1.0.3
+ */
+ function set_link_target($target) {
+ if (!$target) {
+ $this->link_target = '';
+ } else {
+ $this->link_target = ' target="' . $target . '"';
+ }
+ }
+
+ /**
+ * Sets styles for important parts of the code
+ *
+ * @param string The styles to use on important parts of the code
+ * @since 1.0.2
+ */
+ function set_important_styles($styles) {
+ $this->important_styles = $styles;
+ }
+
+ /**
+ * Sets whether context-important blocks are highlighted
+ *
+ * @param boolean Tells whether to enable or disable highlighting of important blocks
+ * @todo REMOVE THIS SHIZ FROM GESHI!
+ * @deprecated
+ * @since 1.0.2
+ */
+ function enable_important_blocks($flag) {
+ $this->enable_important_blocks = ( $flag ) ? true : false;
+ }
+
+ /**
+ * Whether CSS IDs should be added to each line
+ *
+ * @param boolean If true, IDs will be added to each line.
+ * @since 1.0.2
+ */
+ function enable_ids($flag = true) {
+ $this->add_ids = ($flag) ? true : false;
+ }
+
+ /**
+ * Specifies which lines to highlight extra
+ *
+ * The extra style parameter was added in 1.0.7.21.
+ *
+ * @param mixed An array of line numbers to highlight, or just a line
+ * number on its own.
+ * @param string A string specifying the style to use for this line.
+ * If null is specified, the default style is used.
+ * If false is specified, the line will be removed from
+ * special highlighting
+ * @since 1.0.2
+ * @todo Some data replication here that could be cut down on
+ */
+ function highlight_lines_extra($lines, $style = null) {
+ if (is_array($lines)) {
+ //Split up the job using single lines at a time
+ foreach ($lines as $line) {
+ $this->highlight_lines_extra($line, $style);
+ }
+ } else {
+ //Mark the line as being highlighted specially
+ $lines = intval($lines);
+ $this->highlight_extra_lines[$lines] = $lines;
+
+ //Decide on which style to use
+ if ($style === null) { //Check if we should use default style
+ unset($this->highlight_extra_lines_styles[$lines]);
+ } else if ($style === false) { //Check if to remove this line
+ unset($this->highlight_extra_lines[$lines]);
+ unset($this->highlight_extra_lines_styles[$lines]);
+ } else {
+ $this->highlight_extra_lines_styles[$lines] = $style;
+ }
+ }
+ }
+
+ /**
+ * Sets the style for extra-highlighted lines
+ *
+ * @param string The style for extra-highlighted lines
+ * @since 1.0.2
+ */
+ function set_highlight_lines_extra_style($styles) {
+ $this->highlight_extra_lines_style = $styles;
+ }
+
+ /**
+ * Sets the line-ending
+ *
+ * @param string The new line-ending
+ * @since 1.0.2
+ */
+ function set_line_ending($line_ending) {
+ $this->line_ending = (string)$line_ending;
+ }
+
+ /**
+ * Sets what number line numbers should start at. Should
+ * be a positive integer, and will be converted to one.
+ *
+ * <b>Warning:</b> Using this method will add the "start"
+ * attribute to the &lt;ol&gt; that is used for line numbering.
+ * This is <b>not</b> valid XHTML strict, so if that's what you
+ * care about then don't use this method. Firefox is getting
+ * support for the CSS method of doing this in 1.1 and Opera
+ * has support for the CSS method, but (of course) IE doesn't
+ * so it's not worth doing it the CSS way yet.
+ *
+ * @param int The number to start line numbers at
+ * @since 1.0.2
+ */
+ function start_line_numbers_at($number) {
+ $this->line_numbers_start = abs(intval($number));
+ }
+
+ /**
+ * Sets the encoding used for htmlspecialchars(), for international
+ * support.
+ *
+ * NOTE: This is not needed for now because htmlspecialchars() is not
+ * being used (it has a security hole in PHP4 that has not been patched).
+ * Maybe in a future version it may make a return for speed reasons, but
+ * I doubt it.
+ *
+ * @param string The encoding to use for the source
+ * @since 1.0.3
+ */
+ function set_encoding($encoding) {
+ if ($encoding) {
+ $this->encoding = strtolower($encoding);
+ }
+ }
+
+ /**
+ * Turns linking of keywords on or off.
+ *
+ * @param boolean If true, links will be added to keywords
+ * @since 1.0.2
+ */
+ function enable_keyword_links($enable = true) {
+ $this->keyword_links = (bool) $enable;
+ }
+
+ /**
+ * Setup caches needed for styling. This is automatically called in
+ * parse_code() and get_stylesheet() when appropriate. This function helps
+ * stylesheet generators as they rely on some style information being
+ * preprocessed
+ *
+ * @since 1.0.8
+ * @access private
+ */
+ function build_style_cache() {
+ //Build the style cache needed to highlight numbers appropriate
+ if($this->lexic_permissions['NUMBERS']) {
+ //First check what way highlighting information for numbers are given
+ if(!isset($this->language_data['NUMBERS'])) {
+ $this->language_data['NUMBERS'] = 0;
+ }
+
+ if(is_array($this->language_data['NUMBERS'])) {
+ $this->language_data['NUMBERS_CACHE'] = $this->language_data['NUMBERS'];
+ } else {
+ $this->language_data['NUMBERS_CACHE'] = array();
+ if(!$this->language_data['NUMBERS']) {
+ $this->language_data['NUMBERS'] =
+ GESHI_NUMBER_INT_BASIC |
+ GESHI_NUMBER_FLT_NONSCI;
+ }
+
+ for($i = 0, $j = $this->language_data['NUMBERS']; $j > 0; ++$i, $j>>=1) {
+ //Rearrange style indices if required ...
+ if(isset($this->language_data['STYLES']['NUMBERS'][1<<$i])) {
+ $this->language_data['STYLES']['NUMBERS'][$i] =
+ $this->language_data['STYLES']['NUMBERS'][1<<$i];
+ unset($this->language_data['STYLES']['NUMBERS'][1<<$i]);
+ }
+
+ //Check if this bit is set for highlighting
+ if($j&1) {
+ //So this bit is set ...
+ //Check if it belongs to group 0 or the actual stylegroup
+ if(isset($this->language_data['STYLES']['NUMBERS'][$i])) {
+ $this->language_data['NUMBERS_CACHE'][$i] = 1 << $i;
+ } else {
+ if(!isset($this->language_data['NUMBERS_CACHE'][0])) {
+ $this->language_data['NUMBERS_CACHE'][0] = 0;
+ }
+ $this->language_data['NUMBERS_CACHE'][0] |= 1 << $i;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Setup caches needed for parsing. This is automatically called in parse_code() when appropriate.
+ * This function makes stylesheet generators much faster as they do not need these caches.
+ *
+ * @since 1.0.8
+ * @access private
+ */
+ function build_parse_cache() {
+ // cache symbol regexp
+ //As this is a costy operation, we avoid doing it for multiple groups ...
+ //Instead we perform it for all symbols at once.
+ //
+ //For this to work, we need to reorganize the data arrays.
+ if ($this->lexic_permissions['SYMBOLS'] && !empty($this->language_data['SYMBOLS'])) {
+ $this->language_data['MULTIPLE_SYMBOL_GROUPS'] = count($this->language_data['STYLES']['SYMBOLS']) > 1;
+
+ $this->language_data['SYMBOL_DATA'] = array();
+ $symbol_preg_multi = array(); // multi char symbols
+ $symbol_preg_single = array(); // single char symbols
+ foreach ($this->language_data['SYMBOLS'] as $key => $symbols) {
+ if (is_array($symbols)) {
+ foreach ($symbols as $sym) {
+ $sym = $this->hsc($sym);
+ if (!isset($this->language_data['SYMBOL_DATA'][$sym])) {
+ $this->language_data['SYMBOL_DATA'][$sym] = $key;
+ if (isset($sym[1])) { // multiple chars
+ $symbol_preg_multi[] = preg_quote($sym, '/');
+ } else { // single char
+ if ($sym == '-') {
+ // don't trigger range out of order error
+ $symbol_preg_single[] = '\-';
+ } else {
+ $symbol_preg_single[] = preg_quote($sym, '/');
+ }
+ }
+ }
+ }
+ } else {
+ $symbols = $this->hsc($symbols);
+ if (!isset($this->language_data['SYMBOL_DATA'][$symbols])) {
+ $this->language_data['SYMBOL_DATA'][$symbols] = 0;
+ if (isset($symbols[1])) { // multiple chars
+ $symbol_preg_multi[] = preg_quote($symbols, '/');
+ } else if ($symbols == '-') {
+ // don't trigger range out of order error
+ $symbol_preg_single[] = '\-';
+ } else { // single char
+ $symbol_preg_single[] = preg_quote($symbols, '/');
+ }
+ }
+ }
+ }
+
+ //Now we have an array with each possible symbol as the key and the style as the actual data.
+ //This way we can set the correct style just the moment we highlight ...
+ //
+ //Now we need to rewrite our array to get a search string that
+ $symbol_preg = array();
+ if (!empty($symbol_preg_multi)) {
+ rsort($symbol_preg_multi);
+ $symbol_preg[] = implode('|', $symbol_preg_multi);
+ }
+ if (!empty($symbol_preg_single)) {
+ rsort($symbol_preg_single);
+ $symbol_preg[] = '[' . implode('', $symbol_preg_single) . ']';
+ }
+ $this->language_data['SYMBOL_SEARCH'] = implode("|", $symbol_preg);
+ }
+
+ // cache optimized regexp for keyword matching
+ // remove old cache
+ $this->language_data['CACHED_KEYWORD_LISTS'] = array();
+ foreach (array_keys($this->language_data['KEYWORDS']) as $key) {
+ if (!isset($this->lexic_permissions['KEYWORDS'][$key]) ||
+ $this->lexic_permissions['KEYWORDS'][$key]) {
+ $this->optimize_keyword_group($key);
+ }
+ }
+
+ // brackets
+ if ($this->lexic_permissions['BRACKETS']) {
+ $this->language_data['CACHE_BRACKET_MATCH'] = array('[', ']', '(', ')', '{', '}');
+ if (!$this->use_classes && isset($this->language_data['STYLES']['BRACKETS'][0])) {
+ $this->language_data['CACHE_BRACKET_REPLACE'] = array(
+ '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#91;|>',
+ '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#93;|>',
+ '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#40;|>',
+ '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#41;|>',
+ '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#123;|>',
+ '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#125;|>',
+ );
+ }
+ else {
+ $this->language_data['CACHE_BRACKET_REPLACE'] = array(
+ '<| class="br0">&#91;|>',
+ '<| class="br0">&#93;|>',
+ '<| class="br0">&#40;|>',
+ '<| class="br0">&#41;|>',
+ '<| class="br0">&#123;|>',
+ '<| class="br0">&#125;|>',
+ );
+ }
+ }
+
+ //Build the parse cache needed to highlight numbers appropriate
+ if($this->lexic_permissions['NUMBERS']) {
+ //Check if the style rearrangements have been processed ...
+ //This also does some preprocessing to check which style groups are useable ...
+ if(!isset($this->language_data['NUMBERS_CACHE'])) {
+ $this->build_style_cache();
+ }
+
+ //Number format specification
+ //All this formats are matched case-insensitively!
+ static $numbers_format = array(
+ GESHI_NUMBER_INT_BASIC =>
+ '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])([1-9]\d*?|0)(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_INT_CSTYLE =>
+ '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])([1-9]\d*?|0)l(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_BIN_SUFFIX =>
+ '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])[01]+?[bB](?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_BIN_PREFIX_PERCENT =>
+ '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])%[01]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_BIN_PREFIX_0B =>
+ '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])0b[01]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_OCT_PREFIX =>
+ '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0[0-7]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_OCT_PREFIX_0O =>
+ '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])0o[0-7]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_OCT_SUFFIX =>
+ '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])[0-7]+?o(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_HEX_PREFIX =>
+ '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0x[0-9a-fA-F]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_HEX_SUFFIX =>
+ '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\d[0-9a-fA-F]*?[hH](?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_FLT_NONSCI =>
+ '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\d+?\.\d+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_FLT_NONSCI_F =>
+ '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])(?:\d+?(?:\.\d*?)?|\.\d+?)f(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_FLT_SCI_SHORT =>
+ '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\.\d+?(?:e[+\-]?\d+?)?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+ GESHI_NUMBER_FLT_SCI_ZERO =>
+ '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])(?:\d+?(?:\.\d*?)?|\.\d+?)(?:e[+\-]?\d+?)?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)'
+ );
+
+ //At this step we have an associative array with flag groups for a
+ //specific style or an string denoting a regexp given its index.
+ $this->language_data['NUMBERS_RXCACHE'] = array();
+ foreach($this->language_data['NUMBERS_CACHE'] as $key => $rxdata) {
+ if(is_string($rxdata)) {
+ $regexp = $rxdata;
+ } else {
+ //This is a bitfield of number flags to highlight:
+ //Build an array, implode them together and make this the actual RX
+ $rxuse = array();
+ for($i = 1; $i <= $rxdata; $i<<=1) {
+ if($rxdata & $i) {
+ $rxuse[] = $numbers_format[$i];
+ }
+ }
+ $regexp = implode("|", $rxuse);
+ }
+
+ $this->language_data['NUMBERS_RXCACHE'][$key] =
+ "/(?<!<\|\/)(?<!<\|!REG3XP)(?<!<\|\/NUM!)(?<!\d\/>)($regexp)(?!(?:<DOT>|[^\<])+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; //
+ }
+ }
+
+ $this->parse_cache_built = true;
+ }
+
+ /**
+ * Returns the code in $this->source, highlighted and surrounded by the
+ * nessecary HTML.
+ *
+ * This should only be called ONCE, cos it's SLOW! If you want to highlight
+ * the same source multiple times, you're better off doing a whole lot of
+ * str_replaces to replace the &lt;span&gt;s
+ *
+ * @since 1.0.0
+ */
+ function parse_code () {
+ // Start the timer
+ $start_time = microtime();
+
+ // Replace all newlines to a common form.
+ $code = str_replace("\r\n", "\n", $this->source);
+ $code = str_replace("\r", "\n", $code);
+
+ // Firstly, if there is an error, we won't highlight
+ if ($this->error) {
+ //Escape the source for output
+ $result = $this->hsc($this->source);
+
+ //This fix is related to SF#1923020, but has to be applied regardless of
+ //actually highlighting symbols.
+ $result = str_replace(array('<SEMI>', '<PIPE>'), array(';', '|'), $result);
+
+ // Timing is irrelevant
+ $this->set_time($start_time, $start_time);
+ $this->finalise($result);
+ return $result;
+ }
+
+ // make sure the parse cache is up2date
+ if (!$this->parse_cache_built) {
+ $this->build_parse_cache();
+ }
+
+ // Initialise various stuff
+ $length = strlen($code);
+ $COMMENT_MATCHED = false;
+ $stuff_to_parse = '';
+ $endresult = '';
+
+ // "Important" selections are handled like multiline comments
+ // @todo GET RID OF THIS SHIZ
+ if ($this->enable_important_blocks) {
+ $this->language_data['COMMENT_MULTI'][GESHI_START_IMPORTANT] = GESHI_END_IMPORTANT;
+ }
+
+ if ($this->strict_mode) {
+ // Break the source into bits. Each bit will be a portion of the code
+ // within script delimiters - for example, HTML between < and >
+ $k = 0;
+ $parts = array();
+ $matches = array();
+ $next_match_pointer = null;
+ // we use a copy to unset delimiters on demand (when they are not found)
+ $delim_copy = $this->language_data['SCRIPT_DELIMITERS'];
+ $i = 0;
+ while ($i < $length) {
+ $next_match_pos = $length + 1; // never true
+ foreach ($delim_copy as $dk => $delimiters) {
+ if(is_array($delimiters)) {
+ foreach ($delimiters as $open => $close) {
+ // make sure the cache is setup properly
+ if (!isset($matches[$dk][$open])) {
+ $matches[$dk][$open] = array(
+ 'next_match' => -1,
+ 'dk' => $dk,
+
+ 'open' => $open, // needed for grouping of adjacent code blocks (see below)
+ 'open_strlen' => strlen($open),
+
+ 'close' => $close,
+ 'close_strlen' => strlen($close),
+ );
+ }
+ // Get the next little bit for this opening string
+ if ($matches[$dk][$open]['next_match'] < $i) {
+ // only find the next pos if it was not already cached
+ $open_pos = strpos($code, $open, $i);
+ if ($open_pos === false) {
+ // no match for this delimiter ever
+ unset($delim_copy[$dk][$open]);
+ continue;
+ }
+ $matches[$dk][$open]['next_match'] = $open_pos;
+ }
+ if ($matches[$dk][$open]['next_match'] < $next_match_pos) {
+ //So we got a new match, update the close_pos
+ $matches[$dk][$open]['close_pos'] =
+ strpos($code, $close, $matches[$dk][$open]['next_match']+1);
+
+ $next_match_pointer =& $matches[$dk][$open];
+ $next_match_pos = $matches[$dk][$open]['next_match'];
+ }
+ }
+ } else {
+ //So we should match an RegExp as Strict Block ...
+ /**
+ * The value in $delimiters is expected to be an RegExp
+ * containing exactly 2 matching groups:
+ * - Group 1 is the opener
+ * - Group 2 is the closer
+ */
+ if(!GESHI_PHP_PRE_433 && //Needs proper rewrite to work with PHP >=4.3.0; 4.3.3 is guaranteed to work.
+ preg_match($delimiters, $code, $matches_rx, PREG_OFFSET_CAPTURE, $i)) {
+ //We got a match ...
+ if(isset($matches_rx['start']) && isset($matches_rx['end']))
+ {
+ $matches[$dk] = array(
+ 'next_match' => $matches_rx['start'][1],
+ 'dk' => $dk,
+
+ 'close_strlen' => strlen($matches_rx['end'][0]),
+ 'close_pos' => $matches_rx['end'][1],
+ );
+ } else {
+ $matches[$dk] = array(
+ 'next_match' => $matches_rx[1][1],
+ 'dk' => $dk,
+
+ 'close_strlen' => strlen($matches_rx[2][0]),
+ 'close_pos' => $matches_rx[2][1],
+ );
+ }
+ } else {
+ // no match for this delimiter ever
+ unset($delim_copy[$dk]);
+ continue;
+ }
+
+ if ($matches[$dk]['next_match'] <= $next_match_pos) {
+ $next_match_pointer =& $matches[$dk];
+ $next_match_pos = $matches[$dk]['next_match'];
+ }
+ }
+ }
+
+ // non-highlightable text
+ $parts[$k] = array(
+ 1 => substr($code, $i, $next_match_pos - $i)
+ );
+ ++$k;
+
+ if ($next_match_pos > $length) {
+ // out of bounds means no next match was found
+ break;
+ }
+
+ // highlightable code
+ $parts[$k][0] = $next_match_pointer['dk'];
+
+ //Only combine for non-rx script blocks
+ if(is_array($delim_copy[$next_match_pointer['dk']])) {
+ // group adjacent script blocks, e.g. <foobar><asdf> should be one block, not three!
+ $i = $next_match_pos + $next_match_pointer['open_strlen'];
+ while (true) {
+ $close_pos = strpos($code, $next_match_pointer['close'], $i);
+ if ($close_pos == false) {
+ break;
+ }
+ $i = $close_pos + $next_match_pointer['close_strlen'];
+ if ($i == $length) {
+ break;
+ }
+ if ($code[$i] == $next_match_pointer['open'][0] && ($next_match_pointer['open_strlen'] == 1 ||
+ substr($code, $i, $next_match_pointer['open_strlen']) == $next_match_pointer['open'])) {
+ // merge adjacent but make sure we don't merge things like <tag><!-- comment -->
+ foreach ($matches as $submatches) {
+ foreach ($submatches as $match) {
+ if ($match['next_match'] == $i) {
+ // a different block already matches here!
+ break 3;
+ }
+ }
+ }
+ } else {
+ break;
+ }
+ }
+ } else {
+ $close_pos = $next_match_pointer['close_pos'] + $next_match_pointer['close_strlen'];
+ $i = $close_pos;
+ }
+
+ if ($close_pos === false) {
+ // no closing delimiter found!
+ $parts[$k][1] = substr($code, $next_match_pos);
+ ++$k;
+ break;
+ } else {
+ $parts[$k][1] = substr($code, $next_match_pos, $i - $next_match_pos);
+ ++$k;
+ }
+ }
+ unset($delim_copy, $next_match_pointer, $next_match_pos, $matches);
+ $num_parts = $k;
+
+ if ($num_parts == 1 && $this->strict_mode == GESHI_MAYBE) {
+ // when we have only one part, we don't have anything to highlight at all.
+ // if we have a "maybe" strict language, this should be handled as highlightable code
+ $parts = array(
+ 0 => array(
+ 0 => '',
+ 1 => ''
+ ),
+ 1 => array(
+ 0 => null,
+ 1 => $parts[0][1]
+ )
+ );
+ $num_parts = 2;
+ }
+
+ } else {
+ // Not strict mode - simply dump the source into
+ // the array at index 1 (the first highlightable block)
+ $parts = array(
+ 0 => array(
+ 0 => '',
+ 1 => ''
+ ),
+ 1 => array(
+ 0 => null,
+ 1 => $code
+ )
+ );
+ $num_parts = 2;
+ }
+
+ //Unset variables we won't need any longer
+ unset($code);
+
+ //Preload some repeatedly used values regarding hardquotes ...
+ $hq = isset($this->language_data['HARDQUOTE']) ? $this->language_data['HARDQUOTE'][0] : false;
+ $hq_strlen = strlen($hq);
+
+ //Preload if line numbers are to be generated afterwards
+ //Added a check if line breaks should be forced even without line numbers, fixes SF#1727398
+ $check_linenumbers = $this->line_numbers != GESHI_NO_LINE_NUMBERS ||
+ !empty($this->highlight_extra_lines) || !$this->allow_multiline_span;
+
+ //preload the escape char for faster checking ...
+ $escaped_escape_char = $this->hsc($this->language_data['ESCAPE_CHAR']);
+
+ // this is used for single-line comments
+ $sc_disallowed_before = "";
+ $sc_disallowed_after = "";
+
+ if (isset($this->language_data['PARSER_CONTROL'])) {
+ if (isset($this->language_data['PARSER_CONTROL']['COMMENTS'])) {
+ if (isset($this->language_data['PARSER_CONTROL']['COMMENTS']['DISALLOWED_BEFORE'])) {
+ $sc_disallowed_before = $this->language_data['PARSER_CONTROL']['COMMENTS']['DISALLOWED_BEFORE'];
+ }
+ if (isset($this->language_data['PARSER_CONTROL']['COMMENTS']['DISALLOWED_AFTER'])) {
+ $sc_disallowed_after = $this->language_data['PARSER_CONTROL']['COMMENTS']['DISALLOWED_AFTER'];
+ }
+ }
+ }
+
+ //Fix for SF#1932083: Multichar Quotemarks unsupported
+ $is_string_starter = array();
+ if ($this->lexic_permissions['STRINGS']) {
+ foreach ($this->language_data['QUOTEMARKS'] as $quotemark) {
+ if (!isset($is_string_starter[$quotemark[0]])) {
+ $is_string_starter[$quotemark[0]] = (string)$quotemark;
+ } else if (is_string($is_string_starter[$quotemark[0]])) {
+ $is_string_starter[$quotemark[0]] = array(
+ $is_string_starter[$quotemark[0]],
+ $quotemark);
+ } else {
+ $is_string_starter[$quotemark[0]][] = $quotemark;
+ }
+ }
+ }
+
+ // Now we go through each part. We know that even-indexed parts are
+ // code that shouldn't be highlighted, and odd-indexed parts should
+ // be highlighted
+ for ($key = 0; $key < $num_parts; ++$key) {
+ $STRICTATTRS = '';
+
+ // If this block should be highlighted...
+ if (!($key & 1)) {
+ // Else not a block to highlight
+ $endresult .= $this->hsc($parts[$key][1]);
+ unset($parts[$key]);
+ continue;
+ }
+
+ $result = '';
+ $part = $parts[$key][1];
+
+ $highlight_part = true;
+ if ($this->strict_mode && !is_null($parts[$key][0])) {
+ // get the class key for this block of code
+ $script_key = $parts[$key][0];
+ $highlight_part = $this->language_data['HIGHLIGHT_STRICT_BLOCK'][$script_key];
+ if ($this->language_data['STYLES']['SCRIPT'][$script_key] != '' &&
+ $this->lexic_permissions['SCRIPT']) {
+ // Add a span element around the source to
+ // highlight the overall source block
+ if (!$this->use_classes &&
+ $this->language_data['STYLES']['SCRIPT'][$script_key] != '') {
+ $attributes = ' style="' . $this->language_data['STYLES']['SCRIPT'][$script_key] . '"';
+ } else {
+ $attributes = ' class="sc' . $script_key . '"';
+ }
+ $result .= "<span$attributes>";
+ $STRICTATTRS = $attributes;
+ }
+ }
+
+ if ($highlight_part) {
+ // Now, highlight the code in this block. This code
+ // is really the engine of GeSHi (along with the method
+ // parse_non_string_part).
+
+ // cache comment regexps incrementally
+ $next_comment_regexp_key = '';
+ $next_comment_regexp_pos = -1;
+ $next_comment_multi_pos = -1;
+ $next_comment_single_pos = -1;
+ $comment_regexp_cache_per_key = array();
+ $comment_multi_cache_per_key = array();
+ $comment_single_cache_per_key = array();
+ $next_open_comment_multi = '';
+ $next_comment_single_key = '';
+ $escape_regexp_cache_per_key = array();
+ $next_escape_regexp_key = '';
+ $next_escape_regexp_pos = -1;
+
+ $length = strlen($part);
+ for ($i = 0; $i < $length; ++$i) {
+ // Get the next char
+ $char = $part[$i];
+ $char_len = 1;
+
+ // update regexp comment cache if needed
+ if (isset($this->language_data['COMMENT_REGEXP']) && $next_comment_regexp_pos < $i) {
+ $next_comment_regexp_pos = $length;
+ foreach ($this->language_data['COMMENT_REGEXP'] as $comment_key => $regexp) {
+ $match_i = false;
+ if (isset($comment_regexp_cache_per_key[$comment_key]) &&
+ ($comment_regexp_cache_per_key[$comment_key]['pos'] >= $i ||
+ $comment_regexp_cache_per_key[$comment_key]['pos'] === false)) {
+ // we have already matched something
+ if ($comment_regexp_cache_per_key[$comment_key]['pos'] === false) {
+ // this comment is never matched
+ continue;
+ }
+ $match_i = $comment_regexp_cache_per_key[$comment_key]['pos'];
+ } else if (
+ //This is to allow use of the offset parameter in preg_match and stay as compatible with older PHP versions as possible
+ (GESHI_PHP_PRE_433 && preg_match($regexp, substr($part, $i), $match, PREG_OFFSET_CAPTURE)) ||
+ (!GESHI_PHP_PRE_433 && preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $i))
+ ) {
+ $match_i = $match[0][1];
+ if (GESHI_PHP_PRE_433) {
+ $match_i += $i;
+ }
+
+ $comment_regexp_cache_per_key[$comment_key] = array(
+ 'key' => $comment_key,
+ 'length' => strlen($match[0][0]),
+ 'pos' => $match_i
+ );
+ } else {
+ $comment_regexp_cache_per_key[$comment_key]['pos'] = false;
+ continue;
+ }
+
+ if ($match_i !== false && $match_i < $next_comment_regexp_pos) {
+ $next_comment_regexp_pos = $match_i;
+ $next_comment_regexp_key = $comment_key;
+ if ($match_i === $i) {
+ break;
+ }
+ }
+ }
+ }
+
+ $string_started = false;
+
+ if (isset($is_string_starter[$char])) {
+ // Possibly the start of a new string ...
+
+ //Check which starter it was ...
+ //Fix for SF#1932083: Multichar Quotemarks unsupported
+ if (is_array($is_string_starter[$char])) {
+ $char_new = '';
+ foreach ($is_string_starter[$char] as $testchar) {
+ if ($testchar === substr($part, $i, strlen($testchar)) &&
+ strlen($testchar) > strlen($char_new)) {
+ $char_new = $testchar;
+ $string_started = true;
+ }
+ }
+ if ($string_started) {
+ $char = $char_new;
+ }
+ } else {
+ $testchar = $is_string_starter[$char];
+ if ($testchar === substr($part, $i, strlen($testchar))) {
+ $char = $testchar;
+ $string_started = true;
+ }
+ }
+ $char_len = strlen($char);
+ }
+
+ if ($string_started && ($i != $next_comment_regexp_pos)) {
+ // Hand out the correct style information for this string
+ $string_key = array_search($char, $this->language_data['QUOTEMARKS']);
+ if (!isset($this->language_data['STYLES']['STRINGS'][$string_key]) ||
+ !isset($this->language_data['STYLES']['ESCAPE_CHAR'][$string_key])) {
+ $string_key = 0;
+ }
+
+ // parse the stuff before this
+ $result .= $this->parse_non_string_part($stuff_to_parse);
+ $stuff_to_parse = '';
+
+ if (!$this->use_classes) {
+ $string_attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][$string_key] . '"';
+ } else {
+ $string_attributes = ' class="st'.$string_key.'"';
+ }
+
+ // now handle the string
+ $string = "<span$string_attributes>" . GeSHi::hsc($char);
+ $start = $i + $char_len;
+ $string_open = true;
+
+ if(empty($this->language_data['ESCAPE_REGEXP'])) {
+ $next_escape_regexp_pos = $length;
+ }
+
+ do {
+ //Get the regular ending pos ...
+ $close_pos = strpos($part, $char, $start);
+ if(false === $close_pos) {
+ $close_pos = $length;
+ }
+
+ if($this->lexic_permissions['ESCAPE_CHAR']) {
+ // update escape regexp cache if needed
+ if (isset($this->language_data['ESCAPE_REGEXP']) && $next_escape_regexp_pos < $start) {
+ $next_escape_regexp_pos = $length;
+ foreach ($this->language_data['ESCAPE_REGEXP'] as $escape_key => $regexp) {
+ $match_i = false;
+ if (isset($escape_regexp_cache_per_key[$escape_key]) &&
+ ($escape_regexp_cache_per_key[$escape_key]['pos'] >= $start ||
+ $escape_regexp_cache_per_key[$escape_key]['pos'] === false)) {
+ // we have already matched something
+ if ($escape_regexp_cache_per_key[$escape_key]['pos'] === false) {
+ // this comment is never matched
+ continue;
+ }
+ $match_i = $escape_regexp_cache_per_key[$escape_key]['pos'];
+ } else if (
+ //This is to allow use of the offset parameter in preg_match and stay as compatible with older PHP versions as possible
+ (GESHI_PHP_PRE_433 && preg_match($regexp, substr($part, $start), $match, PREG_OFFSET_CAPTURE)) ||
+ (!GESHI_PHP_PRE_433 && preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $start))
+ ) {
+ $match_i = $match[0][1];
+ if (GESHI_PHP_PRE_433) {
+ $match_i += $start;
+ }
+
+ $escape_regexp_cache_per_key[$escape_key] = array(
+ 'key' => $escape_key,
+ 'length' => strlen($match[0][0]),
+ 'pos' => $match_i
+ );
+ } else {
+ $escape_regexp_cache_per_key[$escape_key]['pos'] = false;
+ continue;
+ }
+
+ if ($match_i !== false && $match_i < $next_escape_regexp_pos) {
+ $next_escape_regexp_pos = $match_i;
+ $next_escape_regexp_key = $escape_key;
+ if ($match_i === $start) {
+ break;
+ }
+ }
+ }
+ }
+
+ //Find the next simple escape position
+ if('' != $this->language_data['ESCAPE_CHAR']) {
+ $simple_escape = strpos($part, $this->language_data['ESCAPE_CHAR'], $start);
+ if(false === $simple_escape) {
+ $simple_escape = $length;
+ }
+ } else {
+ $simple_escape = $length;
+ }
+ } else {
+ $next_escape_regexp_pos = $length;
+ $simple_escape = $length;
+ }
+
+ if($simple_escape < $next_escape_regexp_pos &&
+ $simple_escape < $length &&
+ $simple_escape < $close_pos) {
+ //The nexxt escape sequence is a simple one ...
+ $es_pos = $simple_escape;
+
+ //Add the stuff not in the string yet ...
+ $string .= $this->hsc(substr($part, $start, $es_pos - $start));
+
+ //Get the style for this escaped char ...
+ if (!$this->use_classes) {
+ $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][0] . '"';
+ } else {
+ $escape_char_attributes = ' class="es0"';
+ }
+
+ //Add the style for the escape char ...
+ $string .= "<span$escape_char_attributes>" .
+ GeSHi::hsc($this->language_data['ESCAPE_CHAR']);
+
+ //Get the byte AFTER the ESCAPE_CHAR we just found
+ $es_char = $part[$es_pos + 1];
+ if ($es_char == "\n") {
+ // don't put a newline around newlines
+ $string .= "</span>\n";
+ $start = $es_pos + 2;
+ } else if (ord($es_char) >= 128) {
+ //This is an non-ASCII char (UTF8 or single byte)
+ //This code tries to work around SF#2037598 ...
+ if(function_exists('mb_substr')) {
+ $es_char_m = mb_substr(substr($part, $es_pos+1, 16), 0, 1, $this->encoding);
+ $string .= $es_char_m . '</span>';
+ } else if (!GESHI_PHP_PRE_433 && 'utf-8' == $this->encoding) {
+ if(preg_match("/[\xC2-\xDF][\x80-\xBF]".
+ "|\xE0[\xA0-\xBF][\x80-\xBF]".
+ "|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}".
+ "|\xED[\x80-\x9F][\x80-\xBF]".
+ "|\xF0[\x90-\xBF][\x80-\xBF]{2}".
+ "|[\xF1-\xF3][\x80-\xBF]{3}".
+ "|\xF4[\x80-\x8F][\x80-\xBF]{2}/s",
+ $part, $es_char_m, null, $es_pos + 1)) {
+ $es_char_m = $es_char_m[0];
+ } else {
+ $es_char_m = $es_char;
+ }
+ $string .= $this->hsc($es_char_m) . '</span>';
+ } else {
+ $es_char_m = $this->hsc($es_char);
+ }
+ $start = $es_pos + strlen($es_char_m) + 1;
+ } else {
+ $string .= $this->hsc($es_char) . '</span>';
+ $start = $es_pos + 2;
+ }
+ } else if ($next_escape_regexp_pos < $length &&
+ $next_escape_regexp_pos < $close_pos) {
+ $es_pos = $next_escape_regexp_pos;
+ //Add the stuff not in the string yet ...
+ $string .= $this->hsc(substr($part, $start, $es_pos - $start));
+
+ //Get the key and length of this match ...
+ $escape = $escape_regexp_cache_per_key[$next_escape_regexp_key];
+ $escape_str = substr($part, $es_pos, $escape['length']);
+ $escape_key = $escape['key'];
+
+ //Get the style for this escaped char ...
+ if (!$this->use_classes) {
+ $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][$escape_key] . '"';
+ } else {
+ $escape_char_attributes = ' class="es' . $escape_key . '"';
+ }
+
+ //Add the style for the escape char ...
+ $string .= "<span$escape_char_attributes>" .
+ $this->hsc($escape_str) . '</span>';
+
+ $start = $es_pos + $escape['length'];
+ } else {
+ //Copy the remainder of the string ...
+ $string .= $this->hsc(substr($part, $start, $close_pos - $start + $char_len)) . '</span>';
+ $start = $close_pos + $char_len;
+ $string_open = false;
+ }
+ } while($string_open);
+
+ if ($check_linenumbers) {
+ // Are line numbers used? If, we should end the string before
+ // the newline and begin it again (so when <li>s are put in the source
+ // remains XHTML compliant)
+ // note to self: This opens up possibility of config files specifying
+ // that languages can/cannot have multiline strings???
+ $string = str_replace("\n", "</span>\n<span$string_attributes>", $string);
+ }
+
+ $result .= $string;
+ $string = '';
+ $i = $start - 1;
+ continue;
+ } else if ($this->lexic_permissions['STRINGS'] && $hq && $hq[0] == $char &&
+ substr($part, $i, $hq_strlen) == $hq && ($i != $next_comment_regexp_pos)) {
+ // The start of a hard quoted string
+ if (!$this->use_classes) {
+ $string_attributes = ' style="' . $this->language_data['STYLES']['STRINGS']['HARD'] . '"';
+ $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR']['HARD'] . '"';
+ } else {
+ $string_attributes = ' class="st_h"';
+ $escape_char_attributes = ' class="es_h"';
+ }
+ // parse the stuff before this
+ $result .= $this->parse_non_string_part($stuff_to_parse);
+ $stuff_to_parse = '';
+
+ // now handle the string
+ $string = '';
+
+ // look for closing quote
+ $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']) {
+ // make sure this quote is not escaped
+ foreach ($this->language_data['HARDESCAPE'] as $hardescape) {
+ if (substr($part, $close_pos - 1, strlen($hardescape)) == $hardescape) {
+ // check wether this quote is escaped or if it is something like '\\'
+ $escape_char_pos = $close_pos - 1;
+ while ($escape_char_pos > 0
+ && $part[$escape_char_pos - 1] == $this->language_data['HARDCHAR']) {
+ --$escape_char_pos;
+ }
+ if (($close_pos - $escape_char_pos) & 1) {
+ // uneven number of escape chars => this quote is escaped
+ continue 2;
+ }
+ }
+ }
+ }
+
+ // found closing quote
+ break;
+ }
+
+ //Found the closing delimiter?
+ if (!$close_pos) {
+ // span till the end of this $part when no closing delimiter is found
+ $close_pos = $length;
+ }
+
+ //Get the actual string
+ $string = substr($part, $i, $close_pos - $i + 1);
+ $i = $close_pos;
+
+ // handle escape chars and encode html chars
+ // (special because when we have escape chars within our string they may not be escaped)
+ if ($this->lexic_permissions['ESCAPE_CHAR'] && $this->language_data['ESCAPE_CHAR']) {
+ $start = 0;
+ $new_string = '';
+ while ($es_pos = strpos($string, $this->language_data['ESCAPE_CHAR'], $start)) {
+ // hmtl escape stuff before
+ $new_string .= $this->hsc(substr($string, $start, $es_pos - $start));
+ // check if this is a hard escape
+ foreach ($this->language_data['HARDESCAPE'] as $hardescape) {
+ if (substr($string, $es_pos, strlen($hardescape)) == $hardescape) {
+ // indeed, this is a hardescape
+ $new_string .= "<span$escape_char_attributes>" .
+ $this->hsc($hardescape) . '</span>';
+ $start = $es_pos + strlen($hardescape);
+ continue 2;
+ }
+ }
+ // not a hard escape, but a normal escape
+ // they come in pairs of two
+ $c = 0;
+ while (isset($string[$es_pos + $c]) && isset($string[$es_pos + $c + 1])
+ && $string[$es_pos + $c] == $this->language_data['ESCAPE_CHAR']
+ && $string[$es_pos + $c + 1] == $this->language_data['ESCAPE_CHAR']) {
+ $c += 2;
+ }
+ if ($c) {
+ $new_string .= "<span$escape_char_attributes>" .
+ str_repeat($escaped_escape_char, $c) .
+ '</span>';
+ $start = $es_pos + $c;
+ } else {
+ // this is just a single lonely escape char...
+ $new_string .= $escaped_escape_char;
+ $start = $es_pos + 1;
+ }
+ }
+ $string = $new_string . $this->hsc(substr($string, $start));
+ } else {
+ $string = $this->hsc($string);
+ }
+
+ if ($check_linenumbers) {
+ // Are line numbers used? If, we should end the string before
+ // the newline and begin it again (so when <li>s are put in the source
+ // remains XHTML compliant)
+ // note to self: This opens up possibility of config files specifying
+ // that languages can/cannot have multiline strings???
+ $string = str_replace("\n", "</span>\n<span$string_attributes>", $string);
+ }
+
+ $result .= "<span$string_attributes>" . $string . '</span>';
+ $string = '';
+ continue;
+ } else {
+ //Have a look for regexp comments
+ if ($i == $next_comment_regexp_pos) {
+ $COMMENT_MATCHED = true;
+ $comment = $comment_regexp_cache_per_key[$next_comment_regexp_key];
+ $test_str = $this->hsc(substr($part, $i, $comment['length']));
+
+ //@todo If remove important do remove here
+ if ($this->lexic_permissions['COMMENTS']['MULTI']) {
+ if (!$this->use_classes) {
+ $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS'][$comment['key']] . '"';
+ } else {
+ $attributes = ' class="co' . $comment['key'] . '"';
+ }
+
+ $test_str = "<span$attributes>" . $test_str . "</span>";
+
+ // Short-cut through all the multiline code
+ if ($check_linenumbers) {
+ // strreplace to put close span and open span around multiline newlines
+ $test_str = str_replace(
+ "\n", "</span>\n<span$attributes>",
+ str_replace("\n ", "\n&nbsp;", $test_str)
+ );
+ }
+ }
+
+ $i += $comment['length'] - 1;
+
+ // parse the rest
+ $result .= $this->parse_non_string_part($stuff_to_parse);
+ $stuff_to_parse = '';
+ }
+
+ // If we haven't matched a regexp comment, try multi-line comments
+ if (!$COMMENT_MATCHED) {
+ // Is this a multiline comment?
+ if (!empty($this->language_data['COMMENT_MULTI']) && $next_comment_multi_pos < $i) {
+ $next_comment_multi_pos = $length;
+ foreach ($this->language_data['COMMENT_MULTI'] as $open => $close) {
+ $match_i = false;
+ if (isset($comment_multi_cache_per_key[$open]) &&
+ ($comment_multi_cache_per_key[$open] >= $i ||
+ $comment_multi_cache_per_key[$open] === false)) {
+ // we have already matched something
+ if ($comment_multi_cache_per_key[$open] === false) {
+ // this comment is never matched
+ continue;
+ }
+ $match_i = $comment_multi_cache_per_key[$open];
+ } else if (($match_i = stripos($part, $open, $i)) !== false) {
+ $comment_multi_cache_per_key[$open] = $match_i;
+ } else {
+ $comment_multi_cache_per_key[$open] = false;
+ continue;
+ }
+ if ($match_i !== false && $match_i < $next_comment_multi_pos) {
+ $next_comment_multi_pos = $match_i;
+ $next_open_comment_multi = $open;
+ if ($match_i === $i) {
+ break;
+ }
+ }
+ }
+ }
+ if ($i == $next_comment_multi_pos) {
+ $open = $next_open_comment_multi;
+ $close = $this->language_data['COMMENT_MULTI'][$open];
+ $open_strlen = strlen($open);
+ $close_strlen = strlen($close);
+ $COMMENT_MATCHED = true;
+ $test_str_match = $open;
+ //@todo If remove important do remove here
+ if ($this->lexic_permissions['COMMENTS']['MULTI'] ||
+ $open == GESHI_START_IMPORTANT) {
+ if ($open != GESHI_START_IMPORTANT) {
+ if (!$this->use_classes) {
+ $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS']['MULTI'] . '"';
+ } else {
+ $attributes = ' class="coMULTI"';
+ }
+ $test_str = "<span$attributes>" . $this->hsc($open);
+ } else {
+ if (!$this->use_classes) {
+ $attributes = ' style="' . $this->important_styles . '"';
+ } else {
+ $attributes = ' class="imp"';
+ }
+
+ // We don't include the start of the comment if it's an
+ // "important" part
+ $test_str = "<span$attributes>";
+ }
+ } else {
+ $test_str = $this->hsc($open);
+ }
+
+ $close_pos = strpos( $part, $close, $i + $open_strlen );
+
+ if ($close_pos === false) {
+ $close_pos = $length;
+ }
+
+ // Short-cut through all the multiline code
+ $rest_of_comment = $this->hsc(substr($part, $i + $open_strlen, $close_pos - $i - $open_strlen + $close_strlen));
+ if (($this->lexic_permissions['COMMENTS']['MULTI'] ||
+ $test_str_match == GESHI_START_IMPORTANT) &&
+ $check_linenumbers) {
+
+ // strreplace to put close span and open span around multiline newlines
+ $test_str .= str_replace(
+ "\n", "</span>\n<span$attributes>",
+ str_replace("\n ", "\n&nbsp;", $rest_of_comment)
+ );
+ } else {
+ $test_str .= $rest_of_comment;
+ }
+
+ if ($this->lexic_permissions['COMMENTS']['MULTI'] ||
+ $test_str_match == GESHI_START_IMPORTANT) {
+ $test_str .= '</span>';
+ }
+
+ $i = $close_pos + $close_strlen - 1;
+
+ // parse the rest
+ $result .= $this->parse_non_string_part($stuff_to_parse);
+ $stuff_to_parse = '';
+ }
+ }
+
+ // If we haven't matched a multiline comment, try single-line comments
+ if (!$COMMENT_MATCHED) {
+ // cache potential single line comment occurances
+ if (!empty($this->language_data['COMMENT_SINGLE']) && $next_comment_single_pos < $i) {
+ $next_comment_single_pos = $length;
+ foreach ($this->language_data['COMMENT_SINGLE'] as $comment_key => $comment_mark) {
+ $match_i = false;
+ if (isset($comment_single_cache_per_key[$comment_key]) &&
+ ($comment_single_cache_per_key[$comment_key] >= $i ||
+ $comment_single_cache_per_key[$comment_key] === false)) {
+ // we have already matched something
+ if ($comment_single_cache_per_key[$comment_key] === false) {
+ // this comment is never matched
+ continue;
+ }
+ $match_i = $comment_single_cache_per_key[$comment_key];
+ } else if (
+ // case sensitive comments
+ ($this->language_data['CASE_SENSITIVE'][GESHI_COMMENTS] &&
+ ($match_i = stripos($part, $comment_mark, $i)) !== false) ||
+ // non case sensitive
+ (!$this->language_data['CASE_SENSITIVE'][GESHI_COMMENTS] &&
+ (($match_i = strpos($part, $comment_mark, $i)) !== false))) {
+ $comment_single_cache_per_key[$comment_key] = $match_i;
+ } else {
+ $comment_single_cache_per_key[$comment_key] = false;
+ continue;
+ }
+ if ($match_i !== false && $match_i < $next_comment_single_pos) {
+ $next_comment_single_pos = $match_i;
+ $next_comment_single_key = $comment_key;
+ if ($match_i === $i) {
+ break;
+ }
+ }
+ }
+ }
+ if ($next_comment_single_pos == $i) {
+ $comment_key = $next_comment_single_key;
+ $comment_mark = $this->language_data['COMMENT_SINGLE'][$comment_key];
+ $com_len = strlen($comment_mark);
+
+ // This check will find special variables like $# in bash
+ // or compiler directives of Delphi beginning {$
+ if ((empty($sc_disallowed_before) || ($i == 0) ||
+ (false === strpos($sc_disallowed_before, $part[$i-1]))) &&
+ (empty($sc_disallowed_after) || ($length <= $i + $com_len) ||
+ (false === strpos($sc_disallowed_after, $part[$i + $com_len]))))
+ {
+ // this is a valid comment
+ $COMMENT_MATCHED = true;
+ if ($this->lexic_permissions['COMMENTS'][$comment_key]) {
+ if (!$this->use_classes) {
+ $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS'][$comment_key] . '"';
+ } else {
+ $attributes = ' class="co' . $comment_key . '"';
+ }
+ $test_str = "<span$attributes>" . $this->hsc($this->change_case($comment_mark));
+ } else {
+ $test_str = $this->hsc($comment_mark);
+ }
+
+ //Check if this comment is the last in the source
+ $close_pos = strpos($part, "\n", $i);
+ $oops = false;
+ if ($close_pos === false) {
+ $close_pos = $length;
+ $oops = true;
+ }
+ $test_str .= $this->hsc(substr($part, $i + $com_len, $close_pos - $i - $com_len));
+ if ($this->lexic_permissions['COMMENTS'][$comment_key]) {
+ $test_str .= "</span>";
+ }
+
+ // Take into account that the comment might be the last in the source
+ if (!$oops) {
+ $test_str .= "\n";
+ }
+
+ $i = $close_pos;
+
+ // parse the rest
+ $result .= $this->parse_non_string_part($stuff_to_parse);
+ $stuff_to_parse = '';
+ }
+ }
+ }
+ }
+
+ // Where are we adding this char?
+ if (!$COMMENT_MATCHED) {
+ $stuff_to_parse .= $char;
+ } else {
+ $result .= $test_str;
+ unset($test_str);
+ $COMMENT_MATCHED = false;
+ }
+ }
+ // Parse the last bit
+ $result .= $this->parse_non_string_part($stuff_to_parse);
+ $stuff_to_parse = '';
+ } else {
+ $result .= $this->hsc($part);
+ }
+ // Close the <span> that surrounds the block
+ if ($STRICTATTRS != '') {
+ $result = str_replace("\n", "</span>\n<span$STRICTATTRS>", $result);
+ $result .= '</span>';
+ }
+
+ $endresult .= $result;
+ unset($part, $parts[$key], $result);
+ }
+
+ //This fix is related to SF#1923020, but has to be applied regardless of
+ //actually highlighting symbols.
+ /** NOTE: memorypeak #3 */
+ $endresult = str_replace(array('<SEMI>', '<PIPE>'), array(';', '|'), $endresult);
+
+// // Parse the last stuff (redundant?)
+// $result .= $this->parse_non_string_part($stuff_to_parse);
+
+ // Lop off the very first and last spaces
+// $result = substr($result, 1, -1);
+
+ // We're finished: stop timing
+ $this->set_time($start_time, microtime());
+
+ $this->finalise($endresult);
+ return $endresult;
+ }
+
+ /**
+ * Swaps out spaces and tabs for HTML indentation. Not needed if
+ * the code is in a pre block...
+ *
+ * @param string The source to indent (reference!)
+ * @since 1.0.0
+ * @access private
+ */
+ function indent(&$result) {
+ /// Replace tabs with the correct number of spaces
+ if (false !== strpos($result, "\t")) {
+ $lines = explode("\n", $result);
+ $result = null;//Save memory while we process the lines individually
+ $tab_width = $this->get_real_tab_width();
+ $tab_string = '&nbsp;' . str_repeat(' ', $tab_width);
+
+ for ($key = 0, $n = count($lines); $key < $n; $key++) {
+ $line = $lines[$key];
+ if (false === strpos($line, "\t")) {
+ continue;
+ }
+
+ $pos = 0;
+ $length = strlen($line);
+ $lines[$key] = ''; // reduce memory
+
+ $IN_TAG = false;
+ for ($i = 0; $i < $length; ++$i) {
+ $char = $line[$i];
+ // Simple engine to work out whether we're in a tag.
+ // If we are we modify $pos. This is so we ignore HTML
+ // in the line and only workout the tab replacement
+ // via the actual content of the string
+ // This test could be improved to include strings in the
+ // html so that < or > would be allowed in user's styles
+ // (e.g. quotes: '<' '>'; or similar)
+ if ($IN_TAG) {
+ if ('>' == $char) {
+ $IN_TAG = false;
+ }
+ $lines[$key] .= $char;
+ } else if ('<' == $char) {
+ $IN_TAG = true;
+ $lines[$key] .= '<';
+ } else if ('&' == $char) {
+ $substr = substr($line, $i + 3, 5);
+ $posi = strpos($substr, ';');
+ if (false === $posi) {
+ ++$pos;
+ } else {
+ $pos -= $posi+2;
+ }
+ $lines[$key] .= $char;
+ } else if ("\t" == $char) {
+ $str = '';
+ // OPTIMISE - move $strs out. Make an array:
+ // $tabs = array(
+ // 1 => '&nbsp;',
+ // 2 => '&nbsp; ',
+ // 3 => '&nbsp; &nbsp;' etc etc
+ // to use instead of building a string every time
+ $tab_end_width = $tab_width - ($pos % $tab_width); //Moved out of the look as it doesn't change within the loop
+ if (($pos & 1) || 1 == $tab_end_width) {
+ $str .= substr($tab_string, 6, $tab_end_width);
+ } else {
+ $str .= substr($tab_string, 0, $tab_end_width+5);
+ }
+ $lines[$key] .= $str;
+ $pos += $tab_end_width;
+
+ if (false === strpos($line, "\t", $i + 1)) {
+ $lines[$key] .= substr($line, $i + 1);
+ break;
+ }
+ } else if (0 == $pos && ' ' == $char) {
+ $lines[$key] .= '&nbsp;';
+ ++$pos;
+ } else {
+ $lines[$key] .= $char;
+ ++$pos;
+ }
+ }
+ }
+ $result = implode("\n", $lines);
+ unset($lines);//We don't need the lines separated beyond this --- free them!
+ }
+ // Other whitespace
+ // BenBE: Fix to reduce the number of replacements to be done
+ $result = preg_replace('/^ /m', '&nbsp;', $result);
+ $result = str_replace(' ', ' &nbsp;', $result);
+
+ if ($this->line_numbers == GESHI_NO_LINE_NUMBERS && $this->header_type != GESHI_HEADER_PRE_TABLE) {
+ if ($this->line_ending === null) {
+ $result = nl2br($result);
+ } else {
+ $result = str_replace("\n", $this->line_ending, $result);
+ }
+ }
+ }
+
+ /**
+ * Changes the case of a keyword for those languages where a change is asked for
+ *
+ * @param string The keyword to change the case of
+ * @return string The keyword with its case changed
+ * @since 1.0.0
+ * @access private
+ */
+ function change_case($instr) {
+ switch ($this->language_data['CASE_KEYWORDS']) {
+ case GESHI_CAPS_UPPER:
+ return strtoupper($instr);
+ case GESHI_CAPS_LOWER:
+ return strtolower($instr);
+ default:
+ return $instr;
+ }
+ }
+
+ /**
+ * Handles replacements of keywords to include markup and links if requested
+ *
+ * @param string The keyword to add the Markup to
+ * @return The HTML for the match found
+ * @since 1.0.8
+ * @access private
+ *
+ * @todo Get rid of ender in keyword links
+ */
+ function handle_keyword_replace($match) {
+ $k = $this->_kw_replace_group;
+ $keyword = $match[0];
+
+ $before = '';
+ $after = '';
+
+ if ($this->keyword_links) {
+ // Keyword links have been ebabled
+
+ if (isset($this->language_data['URLS'][$k]) &&
+ $this->language_data['URLS'][$k] != '') {
+ // There is a base group for this keyword
+
+ // Old system: strtolower
+ //$keyword = ( $this->language_data['CASE_SENSITIVE'][$group] ) ? $keyword : strtolower($keyword);
+ // New system: get keyword from language file to get correct case
+ if (!$this->language_data['CASE_SENSITIVE'][$k] &&
+ strpos($this->language_data['URLS'][$k], '{FNAME}') !== false) {
+ foreach ($this->language_data['KEYWORDS'][$k] as $word) {
+ if (strcasecmp($word, $keyword) == 0) {
+ break;
+ }
+ }
+ } else {
+ $word = $keyword;
+ }
+
+ $before = '<|UR1|"' .
+ str_replace(
+ array(
+ '{FNAME}',
+ '{FNAMEL}',
+ '{FNAMEU}',
+ '.'),
+ array(
+ str_replace('+', '%20', urlencode($this->hsc($word))),
+ str_replace('+', '%20', urlencode($this->hsc(strtolower($word)))),
+ str_replace('+', '%20', urlencode($this->hsc(strtoupper($word)))),
+ '<DOT>'),
+ $this->language_data['URLS'][$k]
+ ) . '">';
+ $after = '</a>';
+ }
+ }
+
+ return $before . '<|/'. $k .'/>' . $this->change_case($keyword) . '|>' . $after;
+ }
+
+ /**
+ * handles regular expressions highlighting-definitions with callback functions
+ *
+ * @note this is a callback, don't use it directly
+ *
+ * @param array the matches array
+ * @return The highlighted string
+ * @since 1.0.8
+ * @access private
+ */
+ function handle_regexps_callback($matches) {
+ // before: "' style=\"' . call_user_func(\"$func\", '\\1') . '\"\\1|>'",
+ return ' style="' . call_user_func($this->language_data['STYLES']['REGEXPS'][$this->_rx_key], $matches[1]) . '"'. $matches[1] . '|>';
+ }
+
+ /**
+ * handles newlines in REGEXPS matches. Set the _hmr_* vars before calling this
+ *
+ * @note this is a callback, don't use it directly
+ *
+ * @param array the matches array
+ * @return string
+ * @since 1.0.8
+ * @access private
+ */
+ function handle_multiline_regexps($matches) {
+ $before = $this->_hmr_before;
+ $after = $this->_hmr_after;
+ if ($this->_hmr_replace) {
+ $replace = $this->_hmr_replace;
+ $search = array();
+
+ foreach (array_keys($matches) as $k) {
+ $search[] = '\\' . $k;
+ }
+
+ $before = str_replace($search, $matches, $before);
+ $after = str_replace($search, $matches, $after);
+ $replace = str_replace($search, $matches, $replace);
+ } else {
+ $replace = $matches[0];
+ }
+ return $before
+ . '<|!REG3XP' . $this->_hmr_key .'!>'
+ . str_replace("\n", "|>\n<|!REG3XP" . $this->_hmr_key . '!>', $replace)
+ . '|>'
+ . $after;
+ }
+
+ /**
+ * Takes a string that has no strings or comments in it, and highlights
+ * stuff like keywords, numbers and methods.
+ *
+ * @param string The string to parse for keyword, numbers etc.
+ * @since 1.0.0
+ * @access private
+ * @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);
+
+ // Highlight keywords
+ $disallowed_before = "(?<![a-zA-Z0-9\$_\|\#;>|^&";
+ $disallowed_after = "(?![a-zA-Z0-9_\|%\\-&;";
+ if ($this->lexic_permissions['STRINGS']) {
+ $quotemarks = preg_quote(implode($this->language_data['QUOTEMARKS']), '/');
+ $disallowed_before .= $quotemarks;
+ $disallowed_after .= $quotemarks;
+ }
+ $disallowed_before .= "])";
+ $disallowed_after .= "])";
+
+ $parser_control_pergroup = false;
+ if (isset($this->language_data['PARSER_CONTROL'])) {
+ if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'])) {
+ $x = 0; // check wether per-keyword-group parser_control is enabled
+ if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'])) {
+ $disallowed_before = $this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'];
+ ++$x;
+ }
+ if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'])) {
+ $disallowed_after = $this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'];
+ ++$x;
+ }
+ $parser_control_pergroup = (count($this->language_data['PARSER_CONTROL']['KEYWORDS']) - $x) > 0;
+ }
+ }
+
+ foreach (array_keys($this->language_data['KEYWORDS']) as $k) {
+ if (!isset($this->lexic_permissions['KEYWORDS'][$k]) ||
+ $this->lexic_permissions['KEYWORDS'][$k]) {
+
+ $case_sensitive = $this->language_data['CASE_SENSITIVE'][$k];
+ $modifiers = $case_sensitive ? '' : 'i';
+
+ // NEW in 1.0.8 - per-keyword-group parser control
+ $disallowed_before_local = $disallowed_before;
+ $disallowed_after_local = $disallowed_after;
+ if ($parser_control_pergroup && isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k])) {
+ if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_BEFORE'])) {
+ $disallowed_before_local =
+ $this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_BEFORE'];
+ }
+
+ if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_AFTER'])) {
+ $disallowed_after_local =
+ $this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_AFTER'];
+ }
+ }
+
+ $this->_kw_replace_group = $k;
+
+ //NEW in 1.0.8, the cached regexp list
+ // since we don't want PHP / PCRE to crash due to too large patterns we split them into smaller chunks
+ for ($set = 0, $set_length = count($this->language_data['CACHED_KEYWORD_LISTS'][$k]); $set < $set_length; ++$set) {
+ $keywordset =& $this->language_data['CACHED_KEYWORD_LISTS'][$k][$set];
+ // Might make a more unique string for putting the number in soon
+ // 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})(?!\<DOT\>(?:htm|php))$disallowed_after_local/$modifiers",
+ array($this, 'handle_keyword_replace'),
+ $stuff_to_parse
+ );
+ }
+ }
+ }
+
+ // Regular expressions
+ foreach ($this->language_data['REGEXPS'] as $key => $regexp) {
+ if ($this->lexic_permissions['REGEXPS'][$key]) {
+ if (is_array($regexp)) {
+ if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ // produce valid HTML when we match multiple lines
+ $this->_hmr_replace = $regexp[GESHI_REPLACE];
+ $this->_hmr_before = $regexp[GESHI_BEFORE];
+ $this->_hmr_key = $key;
+ $this->_hmr_after = $regexp[GESHI_AFTER];
+ $stuff_to_parse = preg_replace_callback(
+ "/" . $regexp[GESHI_SEARCH] . "/{$regexp[GESHI_MODIFIERS]}",
+ array($this, 'handle_multiline_regexps'),
+ $stuff_to_parse);
+ $this->_hmr_replace = false;
+ $this->_hmr_before = '';
+ $this->_hmr_after = '';
+ } else {
+ $stuff_to_parse = preg_replace(
+ '/' . $regexp[GESHI_SEARCH] . '/' . $regexp[GESHI_MODIFIERS],
+ $regexp[GESHI_BEFORE] . '<|!REG3XP'. $key .'!>' . $regexp[GESHI_REPLACE] . '|>' . $regexp[GESHI_AFTER],
+ $stuff_to_parse);
+ }
+ } else {
+ if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ // produce valid HTML when we match multiple lines
+ $this->_hmr_key = $key;
+ $stuff_to_parse = preg_replace_callback( "/(" . $regexp . ")/",
+ array($this, 'handle_multiline_regexps'), $stuff_to_parse);
+ $this->_hmr_key = '';
+ } else {
+ $stuff_to_parse = preg_replace( "/(" . $regexp . ")/", "<|!REG3XP$key!>\\1|>", $stuff_to_parse);
+ }
+ }
+ }
+ }
+
+ // 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 )) {
+ $numbers_found = true;
+
+ //For each of the formats ...
+ foreach($this->language_data['NUMBERS_RXCACHE'] as $id => $regexp) {
+ //Check if it should be highlighted ...
+ $stuff_to_parse = preg_replace($regexp, "<|/NUM!$id/>\\1|>", $stuff_to_parse);
+ }
+ }
+
+ //
+ // Now that's all done, replace /[number]/ with the correct styles
+ //
+ foreach (array_keys($this->language_data['KEYWORDS']) as $k) {
+ if (!$this->use_classes) {
+ $attributes = ' style="' .
+ (isset($this->language_data['STYLES']['KEYWORDS'][$k]) ?
+ $this->language_data['STYLES']['KEYWORDS'][$k] : "") . '"';
+ } else {
+ $attributes = ' class="kw' . $k . '"';
+ }
+ $stuff_to_parse = str_replace("<|/$k/>", "<|$attributes>", $stuff_to_parse);
+ }
+
+ if ($numbers_found) {
+ // Put number styles in
+ foreach($this->language_data['NUMBERS_RXCACHE'] as $id => $regexp) {
+ //Commented out for now, as this needs some review ...
+ // if ($numbers_permissions & $id) {
+ //Get the appropriate style ...
+ //Checking for unset styles is done by the style cache builder ...
+ if (!$this->use_classes) {
+ $attributes = ' style="' . $this->language_data['STYLES']['NUMBERS'][$id] . '"';
+ } else {
+ $attributes = ' class="nu'.$id.'"';
+ }
+
+ //Set in the correct styles ...
+ $stuff_to_parse = str_replace("/NUM!$id/", $attributes, $stuff_to_parse);
+ // }
+ }
+ }
+
+ // Highlight methods and fields in objects
+ if ($this->lexic_permissions['METHODS'] && $this->language_data['OOLANG']) {
+ $oolang_spaces = "[\s]*";
+ $oolang_before = "";
+ $oolang_after = "[a-zA-Z][a-zA-Z0-9_]*";
+ if (isset($this->language_data['PARSER_CONTROL'])) {
+ if (isset($this->language_data['PARSER_CONTROL']['OOLANG'])) {
+ if (isset($this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_BEFORE'])) {
+ $oolang_before = $this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_BEFORE'];
+ }
+ if (isset($this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_AFTER'])) {
+ $oolang_after = $this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_AFTER'];
+ }
+ if (isset($this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_SPACES'])) {
+ $oolang_spaces = $this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_SPACES'];
+ }
+ }
+ }
+
+ foreach ($this->language_data['OBJECT_SPLITTERS'] as $key => $splitter) {
+ if (false !== strpos($stuff_to_parse, $splitter)) {
+ if (!$this->use_classes) {
+ $attributes = ' style="' . $this->language_data['STYLES']['METHODS'][$key] . '"';
+ } else {
+ $attributes = ' class="me' . $key . '"';
+ }
+ $stuff_to_parse = preg_replace("/($oolang_before)(" . preg_quote($this->language_data['OBJECT_SPLITTERS'][$key], '/') . ")($oolang_spaces)($oolang_after)/", "\\1\\2\\3<|$attributes>\\4|>", $stuff_to_parse);
+ }
+ }
+ }
+
+ //
+ // Highlight brackets. Yes, I've tried adding a semi-colon to this list.
+ // You try it, and see what happens ;)
+ // TODO: Fix lexic permissions not converting entities if shouldn't
+ // be highlighting regardless
+ //
+ if ($this->lexic_permissions['BRACKETS']) {
+ $stuff_to_parse = str_replace( $this->language_data['CACHE_BRACKET_MATCH'],
+ $this->language_data['CACHE_BRACKET_REPLACE'], $stuff_to_parse );
+ }
+
+
+ //FIX for symbol highlighting ...
+ if ($this->lexic_permissions['SYMBOLS'] && !empty($this->language_data['SYMBOLS'])) {
+ //Get all matches and throw away those witin a block that is already highlighted... (i.e. matched by a regexp)
+ $n_symbols = preg_match_all("/<\|(?:<DOT>|[^>])+>(?:(?!\|>).*?)\|>|<\/a>|(?:" . $this->language_data['SYMBOL_SEARCH'] . ")+(?![^<]+?>)/", $stuff_to_parse, $pot_symbols, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
+ $global_offset = 0;
+ for ($s_id = 0; $s_id < $n_symbols; ++$s_id) {
+ $symbol_match = $pot_symbols[$s_id][0][0];
+ if (strpos($symbol_match, '<') !== false || strpos($symbol_match, '>') !== false) {
+ // already highlighted blocks _must_ include either < or >
+ // so if this conditional applies, we have to skip this match
+ // BenBE: UNLESS the block contains <SEMI> or <PIPE>
+ if(strpos($symbol_match, '<SEMI>') === false &&
+ strpos($symbol_match, '<PIPE>') === false) {
+ continue;
+ }
+ }
+
+ // if we reach this point, we have a valid match which needs to be highlighted
+
+ $symbol_length = strlen($symbol_match);
+ $symbol_offset = $pot_symbols[$s_id][0][1];
+ unset($pot_symbols[$s_id]);
+ $symbol_end = $symbol_length + $symbol_offset;
+ $symbol_hl = "";
+
+ // if we have multiple styles, we have to handle them properly
+ if ($this->language_data['MULTIPLE_SYMBOL_GROUPS']) {
+ $old_sym = -1;
+ // Split the current stuff to replace into its atomic symbols ...
+ preg_match_all("/" . $this->language_data['SYMBOL_SEARCH'] . "/", $symbol_match, $sym_match_syms, PREG_PATTERN_ORDER);
+ foreach ($sym_match_syms[0] as $sym_ms) {
+ //Check if consequtive symbols belong to the same group to save output ...
+ if (isset($this->language_data['SYMBOL_DATA'][$sym_ms])
+ && ($this->language_data['SYMBOL_DATA'][$sym_ms] != $old_sym)) {
+ if (-1 != $old_sym) {
+ $symbol_hl .= "|>";
+ }
+ $old_sym = $this->language_data['SYMBOL_DATA'][$sym_ms];
+ if (!$this->use_classes) {
+ $symbol_hl .= '<| style="' . $this->language_data['STYLES']['SYMBOLS'][$old_sym] . '">';
+ } else {
+ $symbol_hl .= '<| class="sy' . $old_sym . '">';
+ }
+ }
+ $symbol_hl .= $sym_ms;
+ }
+ unset($sym_match_syms);
+
+ //Close remaining tags and insert the replacement at the right position ...
+ //Take caution if symbol_hl is empty to avoid doubled closing spans.
+ if (-1 != $old_sym) {
+ $symbol_hl .= "|>";
+ }
+ } else {
+ if (!$this->use_classes) {
+ $symbol_hl = '<| style="' . $this->language_data['STYLES']['SYMBOLS'][0] . '">';
+ } else {
+ $symbol_hl = '<| class="sy0">';
+ }
+ $symbol_hl .= $symbol_match . '|>';
+ }
+
+ $stuff_to_parse = substr_replace($stuff_to_parse, $symbol_hl, $symbol_offset + $global_offset, $symbol_length);
+
+ // since we replace old text with something of different size,
+ // we'll have to keep track of the differences
+ $global_offset += strlen($symbol_hl) - $symbol_length;
+ }
+ }
+ //FIX for symbol highlighting ...
+
+ // Add class/style for regexps
+ foreach (array_keys($this->language_data['REGEXPS']) as $key) {
+ if ($this->lexic_permissions['REGEXPS'][$key]) {
+ if (is_callable($this->language_data['STYLES']['REGEXPS'][$key])) {
+ $this->_rx_key = $key;
+ $stuff_to_parse = preg_replace_callback("/!REG3XP$key!(.*)\|>/U",
+ array($this, 'handle_regexps_callback'),
+ $stuff_to_parse);
+ } else {
+ if (!$this->use_classes) {
+ $attributes = ' style="' . $this->language_data['STYLES']['REGEXPS'][$key] . '"';
+ } else {
+ if (is_array($this->language_data['REGEXPS'][$key]) &&
+ array_key_exists(GESHI_CLASS, $this->language_data['REGEXPS'][$key])) {
+ $attributes = ' class="' .
+ $this->language_data['REGEXPS'][$key][GESHI_CLASS] . '"';
+ } else {
+ $attributes = ' class="re' . $key . '"';
+ }
+ }
+ $stuff_to_parse = str_replace("!REG3XP$key!", "$attributes", $stuff_to_parse);
+ }
+ }
+ }
+
+ // Replace <DOT> with . for urls
+ $stuff_to_parse = str_replace('<DOT>', '.', $stuff_to_parse);
+ // Replace <|UR1| with <a href= for urls also
+ if (isset($this->link_styles[GESHI_LINK])) {
+ if ($this->use_classes) {
+ $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' href=', $stuff_to_parse);
+ } else {
+ $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' style="' . $this->link_styles[GESHI_LINK] . '" href=', $stuff_to_parse);
+ }
+ } else {
+ $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' href=', $stuff_to_parse);
+ }
+
+ //
+ // NOW we add the span thingy ;)
+ //
+
+ $stuff_to_parse = str_replace('<|', '<span', $stuff_to_parse);
+ $stuff_to_parse = str_replace ( '|>', '</span>', $stuff_to_parse );
+ return substr($stuff_to_parse, 1);
+ }
+
+ /**
+ * Sets the time taken to parse the code
+ *
+ * @param microtime The time when parsing started
+ * @param microtime The time when parsing ended
+ * @since 1.0.2
+ * @access private
+ */
+ function set_time($start_time, $end_time) {
+ $start = explode(' ', $start_time);
+ $end = explode(' ', $end_time);
+ $this->time = $end[0] + $end[1] - $start[0] - $start[1];
+ }
+
+ /**
+ * Gets the time taken to parse the code
+ *
+ * @return double The time taken to parse the code
+ * @since 1.0.2
+ */
+ function get_time() {
+ return $this->time;
+ }
+
+ /**
+ * Merges arrays recursively, overwriting values of the first array with values of later arrays
+ *
+ * @since 1.0.8
+ * @access private
+ */
+ function merge_arrays() {
+ $arrays = func_get_args();
+ $narrays = count($arrays);
+
+ // check arguments
+ // comment out if more performance is necessary (in this case the foreach loop will trigger a warning if the argument is not an array)
+ for ($i = 0; $i < $narrays; $i ++) {
+ if (!is_array($arrays[$i])) {
+ // also array_merge_recursive returns nothing in this case
+ trigger_error('Argument #' . ($i+1) . ' is not an array - trying to merge array with scalar! Returning false!', E_USER_WARNING);
+ return false;
+ }
+ }
+
+ // the first array is in the output set in every case
+ $ret = $arrays[0];
+
+ // merege $ret with the remaining arrays
+ for ($i = 1; $i < $narrays; $i ++) {
+ foreach ($arrays[$i] as $key => $value) {
+ if (is_array($value) && isset($ret[$key])) {
+ // if $ret[$key] is not an array you try to merge an scalar value with an array - the result is not defined (incompatible arrays)
+ // in this case the call will trigger an E_USER_WARNING and the $ret[$key] will be false.
+ $ret[$key] = $this->merge_arrays($ret[$key], $value);
+ } else {
+ $ret[$key] = $value;
+ }
+ }
+ }
+
+ return $ret;
+ }
+
+ /**
+ * Gets language information and stores it for later use
+ *
+ * @param string The filename of the language file you want to load
+ * @since 1.0.0
+ * @access private
+ * @todo Needs to load keys for lexic permissions for keywords, regexps etc
+ */
+ function load_language($file_name) {
+ if ($file_name == $this->loaded_language) {
+ // this file is already loaded!
+ return;
+ }
+
+ //Prepare some stuff before actually loading the language file
+ $this->loaded_language = $file_name;
+ $this->parse_cache_built = false;
+ $this->enable_highlighting();
+ $language_data = array();
+
+ //Load the language file
+ require $file_name;
+
+ // Perhaps some checking might be added here later to check that
+ // $language data is a valid thing but maybe not
+ $this->language_data = $language_data;
+
+ // Set strict mode if should be set
+ $this->strict_mode = $this->language_data['STRICT_MODE_APPLIES'];
+
+ // Set permissions for all lexics to true
+ // so they'll be highlighted by default
+ foreach (array_keys($this->language_data['KEYWORDS']) as $key) {
+ if (!empty($this->language_data['KEYWORDS'][$key])) {
+ $this->lexic_permissions['KEYWORDS'][$key] = true;
+ } else {
+ $this->lexic_permissions['KEYWORDS'][$key] = false;
+ }
+ }
+
+ foreach (array_keys($this->language_data['COMMENT_SINGLE']) as $key) {
+ $this->lexic_permissions['COMMENTS'][$key] = true;
+ }
+ foreach (array_keys($this->language_data['REGEXPS']) as $key) {
+ $this->lexic_permissions['REGEXPS'][$key] = true;
+ }
+
+ // for BenBE and future code reviews:
+ // we can use empty here since we only check for existance and emptiness of an array
+ // if it is not an array at all but rather false or null this will work as intended as well
+ // even if $this->language_data['PARSER_CONTROL'] is undefined this won't trigger a notice
+ if (!empty($this->language_data['PARSER_CONTROL']['ENABLE_FLAGS'])) {
+ foreach ($this->language_data['PARSER_CONTROL']['ENABLE_FLAGS'] as $flag => $value) {
+ // it's either true or false and maybe is true as well
+ $perm = $value !== GESHI_NEVER;
+ if ($flag == 'ALL') {
+ $this->enable_highlighting($perm);
+ continue;
+ }
+ if (!isset($this->lexic_permissions[$flag])) {
+ // unknown lexic permission
+ continue;
+ }
+ if (is_array($this->lexic_permissions[$flag])) {
+ foreach ($this->lexic_permissions[$flag] as $key => $val) {
+ $this->lexic_permissions[$flag][$key] = $perm;
+ }
+ } else {
+ $this->lexic_permissions[$flag] = $perm;
+ }
+ }
+ unset($this->language_data['PARSER_CONTROL']['ENABLE_FLAGS']);
+ }
+
+ //Fix: Problem where hardescapes weren't handled if no ESCAPE_CHAR was given
+ //You need to set one for HARDESCAPES only in this case.
+ if(!isset($this->language_data['HARDCHAR'])) {
+ $this->language_data['HARDCHAR'] = $this->language_data['ESCAPE_CHAR'];
+ }
+
+ //NEW in 1.0.8: Allow styles to be loaded from a separate file to override defaults
+ $style_filename = substr($file_name, 0, -4) . '.style.php';
+ if (is_readable($style_filename)) {
+ //Clear any style_data that could have been set before ...
+ if (isset($style_data)) {
+ unset($style_data);
+ }
+
+ //Read the Style Information from the style file
+ include $style_filename;
+
+ //Apply the new styles to our current language styles
+ if (isset($style_data) && is_array($style_data)) {
+ $this->language_data['STYLES'] =
+ $this->merge_arrays($this->language_data['STYLES'], $style_data);
+ }
+ }
+ }
+
+ /**
+ * Takes the parsed code and various options, and creates the HTML
+ * surrounding it to make it look nice.
+ *
+ * @param string The code already parsed (reference!)
+ * @since 1.0.0
+ * @access private
+ */
+ function finalise(&$parsed_code) {
+ // Remove end parts of important declarations
+ // This is BUGGY!! My fault for bad code: fix coming in 1.2
+ // @todo Remove this crap
+ if ($this->enable_important_blocks &&
+ (strpos($parsed_code, $this->hsc(GESHI_START_IMPORTANT)) === false)) {
+ $parsed_code = str_replace($this->hsc(GESHI_END_IMPORTANT), '', $parsed_code);
+ }
+
+ // Add HTML whitespace stuff if we're using the <div> header
+ if ($this->header_type != GESHI_HEADER_PRE && $this->header_type != GESHI_HEADER_PRE_VALID) {
+ $this->indent($parsed_code);
+ }
+
+ // purge some unnecessary stuff
+ /** NOTE: memorypeak #1 */
+ $parsed_code = preg_replace('#<span[^>]+>(\s*)</span>#', '\\1', $parsed_code);
+
+ // If we are using IDs for line numbers, there needs to be an overall
+ // ID set to prevent collisions.
+ if ($this->add_ids && !$this->overall_id) {
+ $this->overall_id = 'geshi-' . substr(md5(microtime()), 0, 4);
+ }
+
+ // Get code into lines
+ /** NOTE: memorypeak #2 */
+ $code = explode("\n", $parsed_code);
+ $parsed_code = $this->header();
+
+ // If we're using line numbers, we insert <li>s and appropriate
+ // markup to style them (otherwise we don't need to do anything)
+ if ($this->line_numbers != GESHI_NO_LINE_NUMBERS && $this->header_type != GESHI_HEADER_PRE_TABLE) {
+ // If we're using the <pre> header, we shouldn't add newlines because
+ // the <pre> will line-break them (and the <li>s already do this for us)
+ $ls = ($this->header_type != GESHI_HEADER_PRE && $this->header_type != GESHI_HEADER_PRE_VALID) ? "\n" : '';
+
+ // Set vars to defaults for following loop
+ $i = 0;
+
+ // Foreach line...
+ for ($i = 0, $n = count($code); $i < $n;) {
+ //Reset the attributes for a new line ...
+ $attrs = array();
+
+ // Make lines have at least one space in them if they're empty
+ // BenBE: Checking emptiness using trim instead of relying on blanks
+ if ('' == trim($code[$i])) {
+ $code[$i] = '&nbsp;';
+ }
+
+ // If this is a "special line"...
+ if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS &&
+ $i % $this->line_nth_row == ($this->line_nth_row - 1)) {
+ // Set the attributes to style the line
+ if ($this->use_classes) {
+ //$attr = ' class="li2"';
+ $attrs['class'][] = 'li2';
+ $def_attr = ' class="de2"';
+ } else {
+ //$attr = ' style="' . $this->line_style2 . '"';
+ $attrs['style'][] = $this->line_style2;
+ // This style "covers up" the special styles set for special lines
+ // so that styles applied to special lines don't apply to the actual
+ // code on that line
+ $def_attr = ' style="' . $this->code_style . '"';
+ }
+ } else {
+ if ($this->use_classes) {
+ //$attr = ' class="li1"';
+ $attrs['class'][] = 'li1';
+ $def_attr = ' class="de1"';
+ } else {
+ //$attr = ' style="' . $this->line_style1 . '"';
+ $attrs['style'][] = $this->line_style1;
+ $def_attr = ' style="' . $this->code_style . '"';
+ }
+ }
+
+ //Check which type of tag to insert for this line
+ if ($this->header_type == GESHI_HEADER_PRE_VALID) {
+ $start = "<pre$def_attr>";
+ $end = '</pre>';
+ } else {
+ // Span or div?
+ $start = "<div$def_attr>";
+ $end = '</div>';
+ }
+
+ ++$i;
+
+ // Are we supposed to use ids? If so, add them
+ if ($this->add_ids) {
+ $attrs['id'][] = "$this->overall_id-$i";
+ }
+
+ //Is this some line with extra styles???
+ if (in_array($i, $this->highlight_extra_lines)) {
+ if ($this->use_classes) {
+ if (isset($this->highlight_extra_lines_styles[$i])) {
+ $attrs['class'][] = "lx$i";
+ } else {
+ $attrs['class'][] = "ln-xtra";
+ }
+ } else {
+ array_push($attrs['style'], $this->get_line_style($i));
+ }
+ }
+
+ // Add in the line surrounded by appropriate list HTML
+ $attr_string = '';
+ foreach ($attrs as $key => $attr) {
+ $attr_string .= ' ' . $key . '="' . implode(' ', $attr) . '"';
+ }
+
+ $parsed_code .= "<li$attr_string>$start{$code[$i-1]}$end</li>$ls";
+ unset($code[$i - 1]);
+ }
+ } else {
+ $n = count($code);
+ if ($this->use_classes) {
+ $attributes = ' class="de1"';
+ } else {
+ $attributes = ' style="'. $this->code_style .'"';
+ }
+ if ($this->header_type == GESHI_HEADER_PRE_VALID) {
+ $parsed_code .= '<pre'. $attributes .'>';
+ } elseif ($this->header_type == GESHI_HEADER_PRE_TABLE) {
+ if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ if ($this->use_classes) {
+ $attrs = ' class="ln"';
+ } else {
+ $attrs = ' style="'. $this->table_linenumber_style .'"';
+ }
+ $parsed_code .= '<td'.$attrs.'><pre'.$attributes.'>';
+ // get linenumbers
+ // we don't merge it with the for below, since it should be better for
+ // memory consumption this way
+ // @todo: but... actually it would still be somewhat nice to merge the two loops
+ // the mem peaks are at different positions
+ for ($i = 0; $i < $n; ++$i) {
+ $close = 0;
+ // fancy lines
+ if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS &&
+ $i % $this->line_nth_row == ($this->line_nth_row - 1)) {
+ // Set the attributes to style the line
+ if ($this->use_classes) {
+ $parsed_code .= '<span class="xtra li2"><span class="de2">';
+ } else {
+ // This style "covers up" the special styles set for special lines
+ // so that styles applied to special lines don't apply to the actual
+ // code on that line
+ $parsed_code .= '<span style="display:block;' . $this->line_style2 . '">'
+ .'<span style="' . $this->code_style .'">';
+ }
+ $close += 2;
+ }
+ //Is this some line with extra styles???
+ if (in_array($i + 1, $this->highlight_extra_lines)) {
+ if ($this->use_classes) {
+ if (isset($this->highlight_extra_lines_styles[$i])) {
+ $parsed_code .= "<span class=\"xtra lx$i\">";
+ } else {
+ $parsed_code .= "<span class=\"xtra ln-xtra\">";
+ }
+ } else {
+ $parsed_code .= "<span style=\"display:block;" . $this->get_line_style($i) . "\">";
+ }
+ ++$close;
+ }
+ $parsed_code .= $this->line_numbers_start + $i;
+ if ($close) {
+ $parsed_code .= str_repeat('</span>', $close);
+ } else if ($i != $n) {
+ $parsed_code .= "\n";
+ }
+ }
+ $parsed_code .= '</pre></td><td'.$attributes.'>';
+ }
+ $parsed_code .= '<pre'. $attributes .'>';
+ }
+ // No line numbers, but still need to handle highlighting lines extra.
+ // Have to use divs so the full width of the code is highlighted
+ $close = 0;
+ for ($i = 0; $i < $n; ++$i) {
+ // Make lines have at least one space in them if they're empty
+ // BenBE: Checking emptiness using trim instead of relying on blanks
+ if ('' == trim($code[$i])) {
+ $code[$i] = '&nbsp;';
+ }
+ // fancy lines
+ if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS &&
+ $i % $this->line_nth_row == ($this->line_nth_row - 1)) {
+ // Set the attributes to style the line
+ if ($this->use_classes) {
+ $parsed_code .= '<span class="xtra li2"><span class="de2">';
+ } else {
+ // This style "covers up" the special styles set for special lines
+ // so that styles applied to special lines don't apply to the actual
+ // code on that line
+ $parsed_code .= '<span style="display:block;' . $this->line_style2 . '">'
+ .'<span style="' . $this->code_style .'">';
+ }
+ $close += 2;
+ }
+ //Is this some line with extra styles???
+ if (in_array($i + 1, $this->highlight_extra_lines)) {
+ if ($this->use_classes) {
+ if (isset($this->highlight_extra_lines_styles[$i])) {
+ $parsed_code .= "<span class=\"xtra lx$i\">";
+ } else {
+ $parsed_code .= "<span class=\"xtra ln-xtra\">";
+ }
+ } else {
+ $parsed_code .= "<span style=\"display:block;" . $this->get_line_style($i) . "\">";
+ }
+ ++$close;
+ }
+
+ $parsed_code .= $code[$i];
+
+ if ($close) {
+ $parsed_code .= str_repeat('</span>', $close);
+ $close = 0;
+ }
+ elseif ($i + 1 < $n) {
+ $parsed_code .= "\n";
+ }
+ unset($code[$i]);
+ }
+
+ if ($this->header_type == GESHI_HEADER_PRE_VALID || $this->header_type == GESHI_HEADER_PRE_TABLE) {
+ $parsed_code .= '</pre>';
+ }
+ if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ $parsed_code .= '</td>';
+ }
+ }
+
+ $parsed_code .= $this->footer();
+ }
+
+ /**
+ * Creates the header for the code block (with correct attributes)
+ *
+ * @return string The header for the code block
+ * @since 1.0.0
+ * @access private
+ */
+ function header() {
+ // Get attributes needed
+ /**
+ * @todo Document behaviour change - class is outputted regardless of whether
+ * we're using classes or not. Same with style
+ */
+ $attributes = ' class="' . $this->_genCSSName($this->language);
+ if ($this->overall_class != '') {
+ $attributes .= " ".$this->_genCSSName($this->overall_class);
+ }
+ $attributes .= '"';
+
+ if ($this->overall_id != '') {
+ $attributes .= " id=\"{$this->overall_id}\"";
+ }
+ if ($this->overall_style != '' && !$this->use_classes) {
+ $attributes .= ' style="' . $this->overall_style . '"';
+ }
+
+ $ol_attributes = '';
+
+ if ($this->line_numbers_start != 1) {
+ $ol_attributes .= ' start="' . $this->line_numbers_start . '"';
+ }
+
+ // Get the header HTML
+ $header = $this->header_content;
+ if ($header) {
+ if ($this->header_type == GESHI_HEADER_PRE || $this->header_type == GESHI_HEADER_PRE_VALID) {
+ $header = str_replace("\n", '', $header);
+ }
+ $header = $this->replace_keywords($header);
+
+ if ($this->use_classes) {
+ $attr = ' class="head"';
+ } else {
+ $attr = " style=\"{$this->header_content_style}\"";
+ }
+ if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ $header = "<thead><tr><td colspan=\"2\" $attr>$header</td></tr></thead>";
+ } else {
+ $header = "<div$attr>$header</div>";
+ }
+ }
+
+ if (GESHI_HEADER_NONE == $this->header_type) {
+ if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ return "$header<ol$attributes$ol_attributes>";
+ }
+ return $header . ($this->force_code_block ? '<div>' : '');
+ }
+
+ // Work out what to return and do it
+ if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ if ($this->header_type == GESHI_HEADER_PRE) {
+ return "<pre$attributes>$header<ol$ol_attributes>";
+ } else if ($this->header_type == GESHI_HEADER_DIV ||
+ $this->header_type == GESHI_HEADER_PRE_VALID) {
+ return "<div$attributes>$header<ol$ol_attributes>";
+ } else if ($this->header_type == GESHI_HEADER_PRE_TABLE) {
+ return "<table$attributes>$header<tbody><tr class=\"li1\">";
+ }
+ } else {
+ if ($this->header_type == GESHI_HEADER_PRE) {
+ return "<pre$attributes>$header" .
+ ($this->force_code_block ? '<div>' : '');
+ } else {
+ return "<div$attributes>$header" .
+ ($this->force_code_block ? '<div>' : '');
+ }
+ }
+ }
+
+ /**
+ * Returns the footer for the code block.
+ *
+ * @return string The footer for the code block
+ * @since 1.0.0
+ * @access private
+ */
+ function footer() {
+ $footer = $this->footer_content;
+ if ($footer) {
+ if ($this->header_type == GESHI_HEADER_PRE) {
+ $footer = str_replace("\n", '', $footer);;
+ }
+ $footer = $this->replace_keywords($footer);
+
+ if ($this->use_classes) {
+ $attr = ' class="foot"';
+ } else {
+ $attr = " style=\"{$this->footer_content_style}\"";
+ }
+ if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ $footer = "<tfoot><tr><td colspan=\"2\">$footer</td></tr></tfoot>";
+ } else {
+ $footer = "<div$attr>$footer</div>";
+ }
+ }
+
+ if (GESHI_HEADER_NONE == $this->header_type) {
+ return ($this->line_numbers != GESHI_NO_LINE_NUMBERS) ? '</ol>' . $footer : $footer;
+ }
+
+ if ($this->header_type == GESHI_HEADER_DIV || $this->header_type == GESHI_HEADER_PRE_VALID) {
+ if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ return "</ol>$footer</div>";
+ }
+ return ($this->force_code_block ? '</div>' : '') .
+ "$footer</div>";
+ }
+ elseif ($this->header_type == GESHI_HEADER_PRE_TABLE) {
+ if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ return "</tr></tbody>$footer</table>";
+ }
+ return ($this->force_code_block ? '</div>' : '') .
+ "$footer</div>";
+ }
+ else {
+ if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ return "</ol>$footer</pre>";
+ }
+ return ($this->force_code_block ? '</div>' : '') .
+ "$footer</pre>";
+ }
+ }
+
+ /**
+ * Replaces certain keywords in the header and footer with
+ * certain configuration values
+ *
+ * @param string The header or footer content to do replacement on
+ * @return string The header or footer with replaced keywords
+ * @since 1.0.2
+ * @access private
+ */
+ function replace_keywords($instr) {
+ $keywords = $replacements = array();
+
+ $keywords[] = '<TIME>';
+ $keywords[] = '{TIME}';
+ $replacements[] = $replacements[] = number_format($time = $this->get_time(), 3);
+
+ $keywords[] = '<LANGUAGE>';
+ $keywords[] = '{LANGUAGE}';
+ $replacements[] = $replacements[] = $this->language_data['LANG_NAME'];
+
+ $keywords[] = '<VERSION>';
+ $keywords[] = '{VERSION}';
+ $replacements[] = $replacements[] = GESHI_VERSION;
+
+ $keywords[] = '<SPEED>';
+ $keywords[] = '{SPEED}';
+ if ($time <= 0) {
+ $speed = 'N/A';
+ } else {
+ $speed = strlen($this->source) / $time;
+ if ($speed >= 1024) {
+ $speed = sprintf("%.2f KB/s", $speed / 1024.0);
+ } else {
+ $speed = sprintf("%.0f B/s", $speed);
+ }
+ }
+ $replacements[] = $replacements[] = $speed;
+
+ return str_replace($keywords, $replacements, $instr);
+ }
+
+ /**
+ * Secure replacement for PHP built-in function htmlspecialchars().
+ *
+ * See ticket #427 (http://wush.net/trac/wikka/ticket/427) for the rationale
+ * for this replacement function.
+ *
+ * The INTERFACE for this function is almost the same as that for
+ * htmlspecialchars(), with the same default for quote style; however, there
+ * is no 'charset' parameter. The reason for this is as follows:
+ *
+ * The PHP docs say:
+ * "The third argument charset defines character set used in conversion."
+ *
+ * I suspect PHP's htmlspecialchars() is working at the byte-value level and
+ * thus _needs_ to know (or asssume) a character set because the special
+ * characters to be replaced could exist at different code points in
+ * different character sets. (If indeed htmlspecialchars() works at
+ * byte-value level that goes some way towards explaining why the
+ * vulnerability would exist in this function, too, and not only in
+ * htmlentities() which certainly is working at byte-value level.)
+ *
+ * This replacement function however works at character level and should
+ * therefore be "immune" to character set differences - so no charset
+ * parameter is needed or provided. If a third parameter is passed, it will
+ * be silently ignored.
+ *
+ * In the OUTPUT there is a minor difference in that we use '&#39;' instead
+ * of PHP's '&#039;' for a single quote: this provides compatibility with
+ * get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES)
+ * (see comment by mikiwoz at yahoo dot co dot uk on
+ * http://php.net/htmlspecialchars); it also matches the entity definition
+ * for XML 1.0
+ * (http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_Special_characters).
+ * Like PHP we use a numeric character reference instead of '&apos;' for the
+ * single quote. For the other special characters we use the named entity
+ * references, as PHP is doing.
+ *
+ * @author {@link http://wikkawiki.org/JavaWoman Marjolein Katsma}
+ *
+ * @license http://www.gnu.org/copyleft/lgpl.html
+ * GNU Lesser General Public License
+ * @copyright Copyright 2007, {@link http://wikkawiki.org/CreditsPage
+ * Wikka Development Team}
+ *
+ * @access private
+ * @param string $string string to be converted
+ * @param integer $quote_style
+ * - ENT_COMPAT: escapes &, <, > and double quote (default)
+ * - ENT_NOQUOTES: escapes only &, < and >
+ * - ENT_QUOTES: escapes &, <, >, double and single quotes
+ * @return string converted string
+ * @since 1.0.7.18
+ */
+ function hsc($string, $quote_style = ENT_COMPAT) {
+ // init
+ static $aTransSpecchar = array(
+ '&' => '&amp;',
+ '"' => '&quot;',
+ '<' => '&lt;',
+ '>' => '&gt;',
+
+ //This fix is related to SF#1923020, but has to be applied
+ //regardless of actually highlighting symbols.
+
+ //Circumvent a bug with symbol highlighting
+ //This is required as ; would produce undesirable side-effects if it
+ //was not to be processed as an entity.
+ ';' => '<SEMI>', // Force ; to be processed as entity
+ '|' => '<PIPE>' // Force | to be processed as entity
+ ); // ENT_COMPAT set
+
+ switch ($quote_style) {
+ case ENT_NOQUOTES: // don't convert double quotes
+ unset($aTransSpecchar['"']);
+ break;
+ case ENT_QUOTES: // convert single quotes as well
+ $aTransSpecchar["'"] = '&#39;'; // (apos) htmlspecialchars() uses '&#039;'
+ break;
+ }
+
+ // return translated string
+ return strtr($string, $aTransSpecchar);
+ }
+
+ function _genCSSName($name){
+ return (is_numeric($name[0]) ? '_' : '') . $name;
+ }
+
+ /**
+ * Returns a stylesheet for the highlighted code. If $economy mode
+ * is true, we only return the stylesheet declarations that matter for
+ * this code block instead of the whole thing
+ *
+ * @param boolean Whether to use economy mode or not
+ * @return string A stylesheet built on the data for the current language
+ * @since 1.0.0
+ */
+ function get_stylesheet($economy_mode = true) {
+ // If there's an error, chances are that the language file
+ // won't have populated the language data file, so we can't
+ // risk getting a stylesheet...
+ if ($this->error) {
+ return '';
+ }
+
+ //Check if the style rearrangements have been processed ...
+ //This also does some preprocessing to check which style groups are useable ...
+ if(!isset($this->language_data['NUMBERS_CACHE'])) {
+ $this->build_style_cache();
+ }
+
+ // First, work out what the selector should be. If there's an ID,
+ // that should be used, the same for a class. Otherwise, a selector
+ // of '' means that these styles will be applied anywhere
+ if ($this->overall_id) {
+ $selector = '#' . $this->_genCSSName($this->overall_id);
+ } else {
+ $selector = '.' . $this->_genCSSName($this->language);
+ if ($this->overall_class) {
+ $selector .= '.' . $this->_genCSSName($this->overall_class);
+ }
+ }
+ $selector .= ' ';
+
+ // Header of the stylesheet
+ if (!$economy_mode) {
+ $stylesheet = "/**\n".
+ " * GeSHi Dynamically Generated Stylesheet\n".
+ " * --------------------------------------\n".
+ " * Dynamically generated stylesheet for {$this->language}\n".
+ " * CSS class: {$this->overall_class}, CSS id: {$this->overall_id}\n".
+ " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" .
+ " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n".
+ " * --------------------------------------\n".
+ " */\n";
+ } else {
+ $stylesheet = "/**\n".
+ " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" .
+ " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n".
+ " */\n";
+ }
+
+ // Set the <ol> to have no effect at all if there are line numbers
+ // (<ol>s have margins that should be destroyed so all layout is
+ // controlled by the set_overall_style method, which works on the
+ // <pre> or <div> container). Additionally, set default styles for lines
+ if (!$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+ //$stylesheet .= "$selector, {$selector}ol, {$selector}ol li {margin: 0;}\n";
+ $stylesheet .= "$selector.de1, $selector.de2 {{$this->code_style}}\n";
+ }
+
+ // Add overall styles
+ // note: neglect economy_mode, empty styles are meaningless
+ if ($this->overall_style != '') {
+ $stylesheet .= "$selector {{$this->overall_style}}\n";
+ }
+
+ // Add styles for links
+ // note: economy mode does not make _any_ sense here
+ // either the style is empty and thus no selector is needed
+ // or the appropriate key is given.
+ foreach ($this->link_styles as $key => $style) {
+ if ($style != '') {
+ switch ($key) {
+ case GESHI_LINK:
+ $stylesheet .= "{$selector}a:link {{$style}}\n";
+ break;
+ case GESHI_HOVER:
+ $stylesheet .= "{$selector}a:hover {{$style}}\n";
+ break;
+ case GESHI_ACTIVE:
+ $stylesheet .= "{$selector}a:active {{$style}}\n";
+ break;
+ case GESHI_VISITED:
+ $stylesheet .= "{$selector}a:visited {{$style}}\n";
+ break;
+ }
+ }
+ }
+
+ // Header and footer
+ // note: neglect economy_mode, empty styles are meaningless
+ if ($this->header_content_style != '') {
+ $stylesheet .= "$selector.head {{$this->header_content_style}}\n";
+ }
+ if ($this->footer_content_style != '') {
+ $stylesheet .= "$selector.foot {{$this->footer_content_style}}\n";
+ }
+
+ // Styles for important stuff
+ // note: neglect economy_mode, empty styles are meaningless
+ if ($this->important_styles != '') {
+ $stylesheet .= "$selector.imp {{$this->important_styles}}\n";
+ }
+
+ // Simple line number styles
+ if ((!$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS) && $this->line_style1 != '') {
+ $stylesheet .= "{$selector}li, {$selector}.li1 {{$this->line_style1}}\n";
+ }
+ if ((!$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS) && $this->table_linenumber_style != '') {
+ $stylesheet .= "{$selector}.ln {{$this->table_linenumber_style}}\n";
+ }
+ // If there is a style set for fancy line numbers, echo it out
+ if ((!$economy_mode || $this->line_numbers == GESHI_FANCY_LINE_NUMBERS) && $this->line_style2 != '') {
+ $stylesheet .= "{$selector}.li2 {{$this->line_style2}}\n";
+ }
+
+ // note: empty styles are meaningless
+ foreach ($this->language_data['STYLES']['KEYWORDS'] as $group => $styles) {
+ if ($styles != '' && (!$economy_mode ||
+ (isset($this->lexic_permissions['KEYWORDS'][$group]) &&
+ $this->lexic_permissions['KEYWORDS'][$group]))) {
+ $stylesheet .= "$selector.kw$group {{$styles}}\n";
+ }
+ }
+ foreach ($this->language_data['STYLES']['COMMENTS'] as $group => $styles) {
+ if ($styles != '' && (!$economy_mode ||
+ (isset($this->lexic_permissions['COMMENTS'][$group]) &&
+ $this->lexic_permissions['COMMENTS'][$group]) ||
+ (!empty($this->language_data['COMMENT_REGEXP']) &&
+ !empty($this->language_data['COMMENT_REGEXP'][$group])))) {
+ $stylesheet .= "$selector.co$group {{$styles}}\n";
+ }
+ }
+ foreach ($this->language_data['STYLES']['ESCAPE_CHAR'] as $group => $styles) {
+ if ($styles != '' && (!$economy_mode || $this->lexic_permissions['ESCAPE_CHAR'])) {
+ // NEW: since 1.0.8 we have to handle hardescapes
+ if ($group === 'HARD') {
+ $group = '_h';
+ }
+ $stylesheet .= "$selector.es$group {{$styles}}\n";
+ }
+ }
+ foreach ($this->language_data['STYLES']['BRACKETS'] as $group => $styles) {
+ if ($styles != '' && (!$economy_mode || $this->lexic_permissions['BRACKETS'])) {
+ $stylesheet .= "$selector.br$group {{$styles}}\n";
+ }
+ }
+ foreach ($this->language_data['STYLES']['SYMBOLS'] as $group => $styles) {
+ if ($styles != '' && (!$economy_mode || $this->lexic_permissions['SYMBOLS'])) {
+ $stylesheet .= "$selector.sy$group {{$styles}}\n";
+ }
+ }
+ foreach ($this->language_data['STYLES']['STRINGS'] as $group => $styles) {
+ if ($styles != '' && (!$economy_mode || $this->lexic_permissions['STRINGS'])) {
+ // NEW: since 1.0.8 we have to handle hardquotes
+ if ($group === 'HARD') {
+ $group = '_h';
+ }
+ $stylesheet .= "$selector.st$group {{$styles}}\n";
+ }
+ }
+ foreach ($this->language_data['STYLES']['NUMBERS'] as $group => $styles) {
+ if ($styles != '' && (!$economy_mode || $this->lexic_permissions['NUMBERS'])) {
+ $stylesheet .= "$selector.nu$group {{$styles}}\n";
+ }
+ }
+ foreach ($this->language_data['STYLES']['METHODS'] as $group => $styles) {
+ if ($styles != '' && (!$economy_mode || $this->lexic_permissions['METHODS'])) {
+ $stylesheet .= "$selector.me$group {{$styles}}\n";
+ }
+ }
+ // note: neglect economy_mode, empty styles are meaningless
+ foreach ($this->language_data['STYLES']['SCRIPT'] as $group => $styles) {
+ if ($styles != '') {
+ $stylesheet .= "$selector.sc$group {{$styles}}\n";
+ }
+ }
+ foreach ($this->language_data['STYLES']['REGEXPS'] as $group => $styles) {
+ if ($styles != '' && (!$economy_mode ||
+ (isset($this->lexic_permissions['REGEXPS'][$group]) &&
+ $this->lexic_permissions['REGEXPS'][$group]))) {
+ if (is_array($this->language_data['REGEXPS'][$group]) &&
+ array_key_exists(GESHI_CLASS, $this->language_data['REGEXPS'][$group])) {
+ $stylesheet .= "$selector.";
+ $stylesheet .= $this->language_data['REGEXPS'][$group][GESHI_CLASS];
+ $stylesheet .= " {{$styles}}\n";
+ } else {
+ $stylesheet .= "$selector.re$group {{$styles}}\n";
+ }
+ }
+ }
+ // Styles for lines being highlighted extra
+ if (!$economy_mode || (count($this->highlight_extra_lines)!=count($this->highlight_extra_lines_styles))) {
+ $stylesheet .= "{$selector}.ln-xtra, {$selector}li.ln-xtra, {$selector}div.ln-xtra {{$this->highlight_extra_lines_style}}\n";
+ }
+ $stylesheet .= "{$selector}span.xtra { display:block; }\n";
+ foreach ($this->highlight_extra_lines_styles as $lineid => $linestyle) {
+ $stylesheet .= "{$selector}.lx$lineid, {$selector}li.lx$lineid, {$selector}div.lx$lineid {{$linestyle}}\n";
+ }
+
+ return $stylesheet;
+ }
+
+ /**
+ * Get's the style that is used for the specified line
+ *
+ * @param int The line number information is requested for
+ * @access private
+ * @since 1.0.7.21
+ */
+ function get_line_style($line) {
+ //$style = null;
+ $style = null;
+ if (isset($this->highlight_extra_lines_styles[$line])) {
+ $style = $this->highlight_extra_lines_styles[$line];
+ } else { // if no "extra" style assigned
+ $style = $this->highlight_extra_lines_style;
+ }
+
+ return $style;
+ }
+
+ /**
+ * this functions creates an optimized regular expression list
+ * of an array of strings.
+ *
+ * Example:
+ * <code>$list = array('faa', 'foo', 'foobar');
+ * => string 'f(aa|oo(bar)?)'</code>
+ *
+ * @param $list array of (unquoted) strings
+ * @param $regexp_delimiter your regular expression delimiter, @see preg_quote()
+ * @return string for regular expression
+ * @author Milian Wolff <mail@milianw.de>
+ * @since 1.0.8
+ * @access private
+ */
+ function optimize_regexp_list($list, $regexp_delimiter = '/') {
+ $regex_chars = array('.', '\\', '+', '*', '?', '[', '^', ']', '$',
+ '(', ')', '{', '}', '=', '!', '<', '>', '|', ':', $regexp_delimiter);
+ sort($list);
+ $regexp_list = array('');
+ $num_subpatterns = 0;
+ $list_key = 0;
+
+ // the tokens which we will use to generate the regexp list
+ $tokens = array();
+ $prev_keys = array();
+ // go through all entries of the list and generate the token list
+ $cur_len = 0;
+ for ($i = 0, $i_max = count($list); $i < $i_max; ++$i) {
+ if ($cur_len > GESHI_MAX_PCRE_LENGTH) {
+ // seems like the length of this pcre is growing exorbitantly
+ $regexp_list[++$list_key] = $this->_optimize_regexp_list_tokens_to_string($tokens);
+ $num_subpatterns = substr_count($regexp_list[$list_key], '(?:');
+ $tokens = array();
+ $cur_len = 0;
+ }
+ $level = 0;
+ $entry = preg_quote((string) $list[$i], $regexp_delimiter);
+ $pointer = &$tokens;
+ // properly assign the new entry to the correct position in the token array
+ // possibly generate smaller common denominator keys
+ while (true) {
+ // get the common denominator
+ if (isset($prev_keys[$level])) {
+ if ($prev_keys[$level] == $entry) {
+ // this is a duplicate entry, skip it
+ continue 2;
+ }
+ $char = 0;
+ while (isset($entry[$char]) && isset($prev_keys[$level][$char])
+ && $entry[$char] == $prev_keys[$level][$char]) {
+ ++$char;
+ }
+ if ($char > 0) {
+ // this entry has at least some chars in common with the current key
+ if ($char == strlen($prev_keys[$level])) {
+ // current key is totally matched, i.e. this entry has just some bits appended
+ $pointer = &$pointer[$prev_keys[$level]];
+ } else {
+ // only part of the keys match
+ $new_key_part1 = substr($prev_keys[$level], 0, $char);
+ $new_key_part2 = substr($prev_keys[$level], $char);
+
+ if (in_array($new_key_part1[0], $regex_chars)
+ || in_array($new_key_part2[0], $regex_chars)) {
+ // this is bad, a regex char as first character
+ $pointer[$entry] = array('' => true);
+ array_splice($prev_keys, $level, count($prev_keys), $entry);
+ $cur_len += strlen($entry);
+ continue;
+ } else {
+ // relocate previous tokens
+ $pointer[$new_key_part1] = array($new_key_part2 => $pointer[$prev_keys[$level]]);
+ unset($pointer[$prev_keys[$level]]);
+ $pointer = &$pointer[$new_key_part1];
+ // recreate key index
+ array_splice($prev_keys, $level, count($prev_keys), array($new_key_part1, $new_key_part2));
+ $cur_len += strlen($new_key_part2);
+ }
+ }
+ ++$level;
+ $entry = substr($entry, $char);
+ continue;
+ }
+ // else: fall trough, i.e. no common denominator was found
+ }
+ if ($level == 0 && !empty($tokens)) {
+ // we can dump current tokens into the string and throw them away afterwards
+ $new_entry = $this->_optimize_regexp_list_tokens_to_string($tokens);
+ $new_subpatterns = substr_count($new_entry, '(?:');
+ if (GESHI_MAX_PCRE_SUBPATTERNS && $num_subpatterns + $new_subpatterns > GESHI_MAX_PCRE_SUBPATTERNS) {
+ $regexp_list[++$list_key] = $new_entry;
+ $num_subpatterns = $new_subpatterns;
+ } else {
+ if (!empty($regexp_list[$list_key])) {
+ $new_entry = '|' . $new_entry;
+ }
+ $regexp_list[$list_key] .= $new_entry;
+ $num_subpatterns += $new_subpatterns;
+ }
+ $tokens = array();
+ $cur_len = 0;
+ }
+ // no further common denominator found
+ $pointer[$entry] = array('' => true);
+ array_splice($prev_keys, $level, count($prev_keys), $entry);
+
+ $cur_len += strlen($entry);
+ break;
+ }
+ unset($list[$i]);
+ }
+ // make sure the last tokens get converted as well
+ $new_entry = $this->_optimize_regexp_list_tokens_to_string($tokens);
+ if (GESHI_MAX_PCRE_SUBPATTERNS && $num_subpatterns + substr_count($new_entry, '(?:') > GESHI_MAX_PCRE_SUBPATTERNS) {
+ if ( !empty($regexp_list[$list_key]) ) {
+ ++$list_key;
+ }
+ $regexp_list[$list_key] = $new_entry;
+ } else {
+ if (!empty($regexp_list[$list_key])) {
+ $new_entry = '|' . $new_entry;
+ }
+ $regexp_list[$list_key] .= $new_entry;
+ }
+ return $regexp_list;
+ }
+ /**
+ * this function creates the appropriate regexp string of an token array
+ * you should not call this function directly, @see $this->optimize_regexp_list().
+ *
+ * @param &$tokens array of tokens
+ * @param $recursed bool to know wether we recursed or not
+ * @return string
+ * @author Milian Wolff <mail@milianw.de>
+ * @since 1.0.8
+ * @access private
+ */
+ function _optimize_regexp_list_tokens_to_string(&$tokens, $recursed = false) {
+ $list = '';
+ foreach ($tokens as $token => $sub_tokens) {
+ $list .= $token;
+ $close_entry = isset($sub_tokens['']);
+ unset($sub_tokens['']);
+ if (!empty($sub_tokens)) {
+ $list .= '(?:' . $this->_optimize_regexp_list_tokens_to_string($sub_tokens, true) . ')';
+ if ($close_entry) {
+ // make sub_tokens optional
+ $list .= '?';
+ }
+ }
+ $list .= '|';
+ }
+ if (!$recursed) {
+ // do some optimizations
+ // common trailing strings
+ // BUGGY!
+ //$list = preg_replace_callback('#(?<=^|\:|\|)\w+?(\w+)(?:\|.+\1)+(?=\|)#', create_function(
+ // '$matches', 'return "(?:" . preg_replace("#" . preg_quote($matches[1], "#") . "(?=\||$)#", "", $matches[0]) . ")" . $matches[1];'), $list);
+ // (?:p)? => p?
+ $list = preg_replace('#\(\?\:(.)\)\?#', '\1?', $list);
+ // (?:a|b|c|d|...)? => [abcd...]?
+ // TODO: a|bb|c => [ac]|bb
+ static $callback_2;
+ if (!isset($callback_2)) {
+ $callback_2 = create_function('$matches', 'return "[" . str_replace("|", "", $matches[1]) . "]";');
+ }
+ $list = preg_replace_callback('#\(\?\:((?:.\|)+.)\)#', $callback_2, $list);
+ }
+ // return $list without trailing pipe
+ return substr($list, 0, -1);
+ }
+} // End Class GeSHi
+
+
+if (!function_exists('geshi_highlight')) {
+ /**
+ * Easy way to highlight stuff. Behaves just like highlight_string
+ *
+ * @param string The code to highlight
+ * @param string The language to highlight the code in
+ * @param string The path to the language files. You can leave this blank if you need
+ * as from version 1.0.7 the path should be automatically detected
+ * @param boolean Whether to return the result or to echo
+ * @return string The code highlighted (if $return is true)
+ * @since 1.0.2
+ */
+ function geshi_highlight($string, $language, $path = null, $return = false) {
+ $geshi = new GeSHi($string, $language, $path);
+ $geshi->set_header_type(GESHI_HEADER_NONE);
+
+ if ($return) {
+ return '<code>' . $geshi->parse_code() . '</code>';
+ }
+
+ echo '<code>' . $geshi->parse_code() . '</code>';
+
+ if ($geshi->error()) {
+ return false;
+ }
+ return true;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/4cs.php b/application/libraries/geshi/4cs.php
new file mode 100644
index 000000000..6ce702fbc
--- /dev/null
+++ b/application/libraries/geshi/4cs.php
@@ -0,0 +1,139 @@
+<?php
+/*************************************************************************************
+ * 4cs.php
+ * ------
+ * Author: Jason Curl (jason.curl@continental-corporation.com)
+ * Copyright: (c) 2009 Jason Curl
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/09/05
+ *
+ * 4CS language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/09/05
+ * - First Release
+ *
+ * TODO (updated 2009/09/01)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'GADV 4CS',
+ 'COMMENT_SINGLE' => array(1 => "//"),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'All', 'AllMatches', 'And', 'And_Filters', 'As', 'Asc', 'BasedOn',
+ 'BestMatch', 'Block', 'Buffer', 'ByRef', 'ByVal', 'Call', 'Channel',
+ 'Chr', 'Clear', 'Close', 'Confirm', 'Const', 'Continue', 'Cos',
+ 'Critical', 'Declare', 'Default', 'DefaultChannel', 'DefaultDelayTime',
+ 'DefaultReceiveMode', 'DefaultResponseTime', '#Define', 'DelayTime',
+ 'Delete', 'Div', 'Else', '#Else', 'ElseIf', '#ElseIf', 'End', 'EndCritical',
+ 'EndInlineC', 'EndFunction', 'EndIf', '#EndIf', 'EndInputList',
+ 'EndLocalChannel', 'EndScenario', 'EndSub', 'EndWhile', 'Error',
+ 'ErrorLevelOff', 'ErrorLevelOn', 'ErrorLevelSet', 'ErrorLevelSetRaw',
+ 'Event', 'EventMode', 'EventOff', 'EventOn', 'EventSet', 'EventSetRaw',
+ 'Execute', 'Exit', 'Exp', 'FileClose', 'FilterClear', 'FileEOF', 'FileOpen',
+ 'FileRead', 'FileSize', 'FileWrite', 'FilterAdd', 'FilterMode',
+ 'FilterOff', 'FilterOn', 'For', 'Format', 'Function', 'GoOnline', 'GoTo',
+ 'Handle', 'Hide', 'If', '#If', '#IfDef', '#IfNDef', 'Ignore', '#Include',
+ 'InlineC', 'Input', 'InputItem', 'InputList', 'Kill', 'LBound', 'LocalChannel',
+ 'Local', 'Log', 'Log10', 'LogOff', 'LogOn', 'Loop', 'Message', 'Mod',
+ 'MonitorChannel', 'MostFormat', 'MostMessage', 'Named', 'Never', 'Next',
+ 'NoOrder', 'Not', 'Nothing', 'NoWait', 'Numeric', 'OnError', 'OnEvent',
+ 'Or', 'Or_Filters', 'Order', 'Pass', 'Pow', 'Prototype', 'Quit', 'Raise',
+ 'Random', 'Receive', 'ReceiveMode', 'ReceiveRaw', 'Redim', 'Remote', 'Repeat',
+ 'Repeated', 'ResponseTime', 'Resume', 'ResumeCritical', 'RT_Common',
+ 'RT_Dll_Call', 'RT_FILEIO', 'RT_General', 'RT_HardwareAccess',
+ 'RT_MessageVariableAccess', 'RT_Scenario', 'RT_VariableAccess', 'Runtime',
+ 'Scenario', 'ScenarioEnd', 'ScenarioStart', 'ScenarioStatus', 'ScenarioTerminate',
+ 'Send', 'SendRaw', 'Set', 'SetError', 'Sin', 'Single', 'Show', 'Start',
+ 'StartCritical', 'Starts', 'Static', 'Step', 'Stop', 'String', 'Sub',
+ 'System_Error', 'TerminateAllChilds', 'Terminates', 'Then', 'Throw', 'TimeOut',
+ 'To', 'TooLate', 'Trunc', 'UBound', 'Unexpected', 'Until', 'User_Error',
+ 'View', 'Wait', 'Warning', 'While', 'XOr'
+ ),
+ 2 => array(
+ 'alias', 'winapi', 'long', 'char', 'double', 'float', 'int', 'short', 'lib'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '=', ':=', '<', '>', '<>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000C0; font-weight: bold;',
+ 2 => 'color: #808080;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000080;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #800080;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #66cc66;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000080;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ '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/abap.php b/application/libraries/geshi/abap.php
new file mode 100644
index 000000000..fa69c92f9
--- /dev/null
+++ b/application/libraries/geshi/abap.php
@@ -0,0 +1,1409 @@
+<?php
+/*************************************************************************************
+ * abap.php
+ * --------
+ * Author: Andres Picazo (andres@andrespicazo.com)
+ * Contributors:
+ * - Sandra Rossi (sandra.rossi@gmail.com)
+ * - Jacob Laursen (jlu@kmd.dk)
+ * Copyright: (c) 2007 Andres Picazo
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/04
+ *
+ * ABAP language file for GeSHi.
+ *
+ * Reference abap language documentation (abap 7.1) : http://help.sap.com/abapdocu/en/ABENABAP_INDEX.htm
+ *
+ * ABAP syntax is highly complex, several problems could not be addressed, see TODO below if you dare ;-)
+ * Be aware that in ABAP language, keywords may be composed of several tokens,
+ * separated by one or more spaces or carriage returns
+ * (for example CONCATENATE 'hello' 'world' INTO string SEPARATED BY ' ')
+ * it's why we must decode them with REGEXPS. As there are many keywords with several tokens,
+ * I had to create a separate section in the code to simplify the reading.
+ * Be aware that some words may be highlighted several times like for "ref to data", which is first
+ * highlighted for "ref to data", then secondly for "ref to". It is very important to
+ * position "ref to" after "ref to data" otherwise "data" wouldn't be highlighted because
+ * of the previous highlight.
+ * Control, declarative and other statements are assigned URLs to sap documentation website:
+ * http://help.sap.com/abapdocu/en/ABAP<statement_name>.htm
+ *
+ * CHANGES
+ * -------
+ * 2009/02/25 (1.0.8.3)
+ * - Some more rework of the language file
+ * 2009/01/04 (1.0.8.2)
+ * - Major Release, more than 1000 statements and keywords added = whole abap 7.1 (Sandra Rossi)
+ * 2007/06/27 (1.0.0)
+ * - First Release
+ *
+ * TODO
+ * ----
+ * - in DATA data TYPE type, 2nd "data" and 2nd "type" are highlighted with data
+ * style, but should be ignored. Same problem for all words!!! This is quite impossible to
+ * solve it as we should define syntaxes of all statements (huge effort!) and use a lex
+ * or something like that instead of regexp I guess.
+ * - Some words are considered as being statement names (report, tables, etc.) though they
+ * are used as keyword in some statements. For example: FORM xxxx TABLES itab. It was
+ * arbitrary decided to define them as statement instead of keyword, because it may be
+ * useful to have the URL to SAP help for some of them.
+ * - if a comment is between 2 words of a keyword (for example SEPARATED "comment \n BY),
+ * it is not considered as a keyword, but it should!
+ * - for statements like "READ DATASET", GeSHi does not allow to set URLs because these
+ * statements are determined by REGEXPS. For "READ DATASET", the URL should be
+ * ABAPREAD_DATASET.htm. If a technical solution is found, be careful : URLs
+ * are sometimes not valid because the URL does not exist. For example, for "AT NEW"
+ * statement, the URL should be ABAPAT_ITAB.htm (not ABAPAT_NEW.htm).
+ * There are many other exceptions.
+ * Note: for adding this functionality within your php program, you can execute this code:
+ * function add_urls_to_multi_tokens( $matches ) {
+ * $url = preg_replace( "/[ \n]+/" , "_" , $matches[3] );
+ * if( $url == $matches[3] ) return $matches[0] ;
+ * else return $matches[1]."<a href=\"http://help.sap.com/abapdocu/en/ABAP".strtoupper($url).".htm\">".$matches[3]."</a>".$matches[4];
+ * }
+ * $html = $geshi->parse_code();
+ * $html = preg_replace_callback( "£(zzz:(control|statement|data);\">)(.+?)(</span>)£s", "add_urls_to_multi_tokens", $html );
+ * echo $html;
+ * - Numbers followed by a dot terminating the statement are not properly recognized
+ *
+ *************************************************************************************
+ *
+ * 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' => 'ABAP',
+ 'COMMENT_SINGLE' => array(
+ 1 => '"'
+ ),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ // lines beginning with star at 1st position are comments
+ // (star anywhere else is not a comment, especially be careful with
+ // "assign dref->* to <fs>" statement)
+ 2 => '/^\*.*?$/m'
+ ),
+ 'CASE_KEYWORDS' => 0,
+ 'QUOTEMARKS' => array(
+ 1 => "'",
+ 2 => "`"
+ ),
+ 'ESCAPE_CHAR' => '',
+
+ 'KEYWORDS' => array(
+ //***********************************************
+ // Section 2 : process sequences of several tokens
+ //***********************************************
+
+ 7 => array(
+ 'at new',
+ 'at end of',
+ 'at first',
+ 'at last',
+ 'loop at',
+ 'loop at screen',
+ ),
+
+ 8 => array(
+ 'private section',
+ 'protected section',
+ 'public section',
+ 'at line-selection',
+ 'at selection-screen',
+ 'at user-command',
+ 'assign component',
+ 'assign table field',
+ 'call badi',
+ 'call customer-function',
+ 'call customer subscreen',
+ 'call dialog',
+ 'call function',
+ 'call method',
+ 'call screen',
+ 'call selection-screen',
+ 'call transaction',
+ 'call transformation',
+ 'close cursor',
+ 'close dataset',
+ 'commit work',
+ 'convert date',
+ 'convert text',
+ 'convert time stamp',
+ 'create data',
+ 'create object',
+ 'delete dataset',
+ 'delete from',
+ 'describe distance',
+ 'describe field',
+ 'describe list',
+ 'describe table',
+ 'exec sql',
+ 'exit from sql',
+ 'exit from step-loop',
+ 'export dynpro',
+ 'export nametab',
+ 'free memory',
+ 'generate subroutine-pool',
+ 'get badi',
+ 'get bit',
+ 'get cursor',
+ 'get dataset',
+ 'get locale',
+ 'get parameter',
+ 'get pf-status',
+ 'get property',
+ 'get reference',
+ 'get run time',
+ 'get time',
+ 'get time stamp',
+ 'import directory',
+ 'insert report',
+ 'insert text-pool',
+ 'leave list-processing',
+ 'leave program',
+ 'leave screen',
+ 'leave to list-processing',
+ 'leave to transaction',
+ 'modify line',
+ 'modify screen',
+ 'move percentage',
+ 'open cursor',
+ 'open dataset',
+ 'raise event',
+ 'raise exception',
+ 'read dataset',
+ 'read line',
+ 'read report',
+ 'read table',
+ 'read textpool',
+ 'receive results from function',
+ 'refresh control',
+ 'rollback work',
+ 'set bit',
+ 'set blank lines',
+ 'set country',
+ 'set cursor',
+ 'set dataset',
+ 'set extended check',
+ 'set handler',
+ 'set hold data',
+ 'set language',
+ 'set left scroll-boundary',
+ 'set locale',
+ 'set margin',
+ 'set parameter',
+ 'set pf-status',
+ 'set property',
+ 'set run time analyzer',
+ 'set run time clock',
+ 'set screen',
+ 'set titlebar',
+ 'set update task',
+ 'set user-command',
+ 'suppress dialog',
+ 'truncate dataset',
+ 'wait until',
+ 'wait up to',
+ ),
+
+ 9 => array(
+ 'accepting duplicate keys',
+ 'accepting padding',
+ 'accepting truncation',
+ 'according to',
+ 'actual length',
+ 'adjacent duplicates',
+ 'after input',
+ 'all blob columns',
+ 'all clob columns',
+ 'all fields',
+ 'all methods',
+ 'all other columns',
+ 'and mark',
+ 'and return to screen',
+ 'and return',
+ 'and skip first screen',
+ 'and wait',
+ 'any table',
+ 'appendage type',
+ 'archive mode',
+ 'archiving parameters',
+ 'area handle',
+ 'as checkbox',
+ 'as icon',
+ 'as line',
+ 'as listbox',
+ 'as person table',
+ 'as search patterns',
+ 'as separate unit',
+ 'as subscreen',
+ 'as symbol',
+ 'as text',
+ 'as window',
+ 'at cursor-selection',
+ 'at exit-command',
+ 'at next application statement',
+ 'at position',
+
+ 'backup into',
+ 'before output',
+ 'before unwind',
+ 'begin of block',
+ 'begin of common part',
+ 'begin of line',
+ 'begin of screen',
+ 'begin of tabbed block',
+ 'begin of version',
+ 'begin of',
+ 'big endian',
+ 'binary mode',
+ 'binary search',
+ 'by kernel module',
+ 'bypassing buffer',
+
+ 'client specified',
+ 'code page',
+ 'code page hint',
+ 'code page into',
+ 'color black',
+ 'color blue',
+ 'color green',
+ 'color pink',
+ 'color red',
+ 'color yellow',
+ 'compression off',
+ 'compression on',
+ 'connect to',
+ 'corresponding fields of table',
+ 'corresponding fields of',
+ 'cover page',
+ 'cover text',
+ 'create package',
+ 'create private',
+ 'create protected',
+ 'create public',
+ 'current position',
+
+ 'data buffer',
+ 'data values',
+ 'dataset expiration',
+ 'daylight saving time',
+ 'default key',
+ 'default program',
+ 'default screen',
+ 'defining database',
+ 'deleting leading',
+ 'deleting trailing',
+ 'directory entry',
+ 'display like',
+ 'display offset',
+ 'during line-selection',
+ 'dynamic selections',
+
+ 'edit mask',
+ 'end of block',
+ 'end of common part',
+ 'end of file',
+ 'end of line',
+ 'end of screen',
+ 'end of tabbed block',
+ 'end of version',
+ 'end of',
+ 'endian into',
+ 'ending at',
+ 'enhancement options into',
+ 'enhancement into',
+ 'environment time format',
+ 'execute procedure',
+ 'exporting list to memory',
+ 'extension type',
+
+ 'field format',
+ 'field selection',
+ 'field value into',
+ 'final methods',
+ 'first occurrence of',
+ 'fixed-point arithmetic',
+ 'for all entries',
+ 'for all instances',
+ 'for appending',
+ 'for columns',
+ 'for event of',
+ 'for field',
+ 'for high',
+ 'for input',
+ 'for lines',
+ 'for low',
+ 'for node',
+ 'for output',
+ 'for select',
+ 'for table',
+ 'for testing',
+ 'for update',
+ 'for user',
+ 'frame entry',
+ 'frame program from',
+ 'from code page',
+ 'from context',
+ 'from database',
+ 'from logfile id',
+ 'from number format',
+ 'from screen',
+ 'from table',
+ 'function key',
+
+ 'get connection',
+ 'global friends',
+ 'group by',
+
+ 'hashed table of',
+ 'hashed table',
+
+ 'if found',
+ 'ignoring case',
+ 'ignoring conversion errors',
+ 'ignoring structure boundaries',
+ 'implementations from',
+ 'in background',
+ 'in background task',
+ 'in background unit',
+ 'in binary mode',
+ 'in byte mode',
+ 'in char-to-hex mode',
+ 'in character mode',
+ 'in group',
+ 'in legacy binary mode',
+ 'in legacy text mode',
+ 'in program',
+ 'in remote task',
+ 'in text mode',
+ 'in table',
+ 'in update task',
+ 'include bound',
+ 'include into',
+ 'include program from',
+ 'include structure',
+ 'include type',
+ 'including gaps',
+ 'index table',
+ 'inheriting from',
+ 'init destination',
+ 'initial line of',
+ 'initial line',
+ 'initial size',
+ 'internal table',
+ 'into sortable code',
+
+ 'keep in spool',
+ 'keeping directory entry',
+ 'keeping logical unit of work',
+ 'keeping task',
+ 'keywords from',
+
+ 'left margin',
+ 'left outer',
+ 'levels into',
+ 'line format',
+ 'line into',
+ 'line of',
+ 'line page',
+ 'line value from',
+ 'line value into',
+ 'lines of',
+ 'list authority',
+ 'list dataset',
+ 'list name',
+ 'little endian',
+ 'lob handle for',
+ 'local friends',
+ 'locator for',
+ 'lower case',
+
+ 'main table field',
+ 'match count',
+ 'match length',
+ 'match line',
+ 'match offset',
+ 'matchcode object',
+ 'maximum length',
+ 'maximum width into',
+ 'memory id',
+ 'message into',
+ 'messages into',
+ 'modif id',
+
+ 'nesting level',
+ 'new list identification',
+ 'next cursor',
+ 'no database selection',
+ 'no dialog',
+ 'no end of line',
+ 'no fields',
+ 'no flush',
+ 'no intervals',
+ 'no intervals off',
+ 'no standard page heading',
+ 'no-extension off',
+ 'non-unique key',
+ 'non-unique sorted key',
+ 'not at end of mode',
+ 'number of lines',
+ 'number of pages',
+
+ 'object key',
+ 'obligatory off',
+ 'of current page',
+ 'of page',
+ 'of program',
+ 'offset into',
+ 'on block',
+ 'on commit',
+ 'on end of task',
+ 'on end of',
+ 'on exit-command',
+ 'on help-request for',
+ 'on radiobutton group',
+ 'on rollback',
+ 'on value-request for',
+ 'open for package',
+ 'option class-coding',
+ 'option class',
+ 'option coding',
+ 'option expand',
+ 'option syncpoints',
+ 'options from',
+ 'order by',
+ 'overflow into',
+
+ 'package section',
+ 'package size',
+ 'preferred parameter',
+ 'preserving identifier escaping',
+ 'primary key',
+ 'print off',
+ 'print on',
+ 'program from',
+ 'program type',
+
+ 'radiobutton groups',
+ 'radiobutton group',
+ 'range of',
+ 'reader for',
+ 'receive buffer',
+ 'reduced functionality',
+ 'ref to data',
+ 'ref to object',
+ 'ref to',
+
+ 'reference into',
+ 'renaming with suffix',
+ 'replacement character',
+ 'replacement count',
+ 'replacement length',
+ 'replacement line',
+ 'replacement offset',
+ 'respecting blanks',
+ 'respecting case',
+ 'result into',
+ 'risk level',
+
+ 'sap cover page',
+ 'search fkeq',
+ 'search fkge',
+ 'search gkeq',
+ 'search gkge',
+ 'section of',
+ 'send buffer',
+ 'separated by',
+ 'shared buffer',
+ 'shared memory',
+ 'shared memory enabled',
+ 'skipping byte-order mark',
+ 'sorted by',
+ 'sorted table of',
+ 'sorted table',
+ 'spool parameters',
+ 'standard table of',
+ 'standard table',
+ 'starting at',
+ 'starting new task',
+ 'statements into',
+ 'structure default',
+ 'structures into',
+
+ 'table field',
+ 'table of',
+ 'text mode',
+ 'time stamp',
+ 'time zone',
+ 'to code page',
+ 'to column',
+ 'to context',
+ 'to first page',
+ 'to last page',
+ 'to last line',
+ 'to line',
+ 'to lower case',
+ 'to number format',
+ 'to page',
+ 'to sap spool',
+ 'to upper case',
+ 'tokens into',
+ 'transporting no fields',
+ 'type tableview',
+ 'type tabstrip',
+
+ 'unicode enabling',
+ 'up to',
+ 'upper case',
+ 'using edit mask',
+ 'using key',
+ 'using no edit mask',
+ 'using screen',
+ 'using selection-screen',
+ 'using selection-set',
+ 'using selection-sets of program',
+
+ 'valid between',
+ 'valid from',
+ 'value check',
+ 'via job',
+ 'via selection-screen',
+ 'visible length',
+
+ 'whenever found',
+ 'with analysis',
+ 'with byte-order mark',
+ 'with comments',
+ 'with current switchstates',
+ 'with explicit enhancements',
+ 'with frame',
+ 'with free selections',
+ 'with further secondary keys',
+ 'with header line',
+ 'with hold',
+ 'with implicit enhancements',
+ 'with inactive enhancements',
+ 'with includes',
+ 'with key',
+ 'with linefeed',
+ 'with list tokenization',
+ 'with native linefeed',
+ 'with non-unique key',
+ 'with null',
+ 'with pragmas',
+ 'with precompiled headers',
+ 'with selection-table',
+ 'with smart linefeed',
+ 'with table key',
+ 'with test code',
+ 'with type-pools',
+ 'with unique key',
+ 'with unix linefeed',
+ 'with windows linefeed',
+ 'without further secondary keys',
+ 'without selection-screen',
+ 'without spool dynpro',
+ 'without trmac',
+ 'word into',
+ 'writer for'
+ ),
+
+ //**********************************************************
+ // Other abap statements
+ //**********************************************************
+ 3 => array(
+ 'add',
+ 'add-corresponding',
+ 'aliases',
+ 'append',
+ 'assign',
+ 'at',
+ 'authority-check',
+
+ 'break-point',
+
+ 'clear',
+ 'collect',
+ 'compute',
+ 'concatenate',
+ 'condense',
+ 'class',
+ 'class-events',
+ 'class-methods',
+ 'class-pool',
+
+ 'define',
+ 'delete',
+ 'demand',
+ 'detail',
+ 'divide',
+ 'divide-corresponding',
+
+ 'editor-call',
+ 'end-of-file',
+ 'end-enhancement-section',
+ 'end-of-definition',
+ 'end-of-page',
+ 'end-of-selection',
+ 'endclass',
+ 'endenhancement',
+ 'endexec',
+ 'endform',
+ 'endfunction',
+ 'endinterface',
+ 'endmethod',
+ 'endmodule',
+ 'endon',
+ 'endprovide',
+ 'endselect',
+ 'enhancement',
+ 'enhancement-point',
+ 'enhancement-section',
+ 'export',
+ 'extract',
+ 'events',
+
+ 'fetch',
+ 'field-groups',
+ 'find',
+ 'format',
+ 'form',
+ 'free',
+ 'function-pool',
+ 'function',
+
+ 'get',
+
+ 'hide',
+
+ 'import',
+ 'infotypes',
+ 'input',
+ 'insert',
+ 'include',
+ 'initialization',
+ 'interface',
+ 'interface-pool',
+ 'interfaces',
+
+ 'leave',
+ 'load-of-program',
+ 'log-point',
+
+ 'maximum',
+ 'message',
+ 'methods',
+ 'method',
+ 'minimum',
+ 'modify',
+ 'move',
+ 'move-corresponding',
+ 'multiply',
+ 'multiply-corresponding',
+
+ 'new-line',
+ 'new-page',
+ 'new-section',
+
+ 'overlay',
+
+ 'pack',
+ 'perform',
+ 'position',
+ 'print-control',
+ 'program',
+ 'provide',
+ 'put',
+
+ 'raise',
+ 'refresh',
+ 'reject',
+ 'replace',
+ 'report',
+ 'reserve',
+
+ 'scroll',
+ 'search',
+ 'select',
+ 'selection-screen',
+ 'shift',
+ 'skip',
+ 'sort',
+ 'split',
+ 'start-of-selection',
+ 'submit',
+ 'subtract',
+ 'subtract-corresponding',
+ 'sum',
+ 'summary',
+ 'summing',
+ 'supply',
+ 'syntax-check',
+
+ 'top-of-page',
+ 'transfer',
+ 'translate',
+ 'type-pool',
+
+ 'uline',
+ 'unpack',
+ 'update',
+
+ 'window',
+ 'write'
+
+ ),
+
+ //**********************************************************
+ // keywords
+ //**********************************************************
+
+ 4 => array(
+ 'abbreviated',
+ 'abstract',
+ 'accept',
+ 'acos',
+ 'activation',
+ 'alias',
+ 'align',
+ 'all',
+ 'allocate',
+ 'and',
+ 'assigned',
+ 'any',
+ 'appending',
+ 'area',
+ 'as',
+ 'ascending',
+ 'asin',
+ 'assigning',
+ 'atan',
+ 'attributes',
+ 'avg',
+
+ 'backward',
+ 'between',
+ 'bit-and',
+ 'bit-not',
+ 'bit-or',
+ 'bit-set',
+ 'bit-xor',
+ 'boolc',
+ 'boolx',
+ 'bound',
+ 'bt',
+ 'blocks',
+ 'bounds',
+ 'boxed',
+ 'by',
+ 'byte-ca',
+ 'byte-cn',
+ 'byte-co',
+ 'byte-cs',
+ 'byte-na',
+ 'byte-ns',
+
+ 'ca',
+ 'calling',
+ 'casting',
+ 'ceil',
+ 'center',
+ 'centered',
+ 'changing',
+ 'char_off',
+ 'charlen',
+ 'circular',
+ 'class_constructor',
+ 'client',
+ 'clike',
+ 'close',
+ 'cmax',
+ 'cmin',
+ 'cn',
+ 'cnt',
+ 'co',
+ 'col_background',
+ 'col_group',
+ 'col_heading',
+ 'col_key',
+ 'col_negative',
+ 'col_normal',
+ 'col_positive',
+ 'col_total',
+ 'color',
+ 'column',
+ 'comment',
+ 'comparing',
+ 'components',
+ 'condition',
+ 'context',
+ 'copies',
+ 'count',
+ 'country',
+ 'cpi',
+ 'creating',
+ 'critical',
+ 'concat_lines_of',
+ 'cos',
+ 'cosh',
+ 'count_any_not_of',
+ 'count_any_of',
+ 'cp',
+ 'cs',
+ 'csequence',
+ 'currency',
+ 'current',
+ 'cx_static_check',
+ 'cx_root',
+ 'cx_dynamic_check',
+
+ 'dangerous',
+ 'database',
+ 'datainfo',
+ 'date',
+ 'dbmaxlen',
+ 'dd/mm/yy',
+ 'dd/mm/yyyy',
+ 'ddmmyy',
+ 'deallocate',
+ 'decfloat',
+ 'decfloat16',
+ 'decfloat34',
+ 'decimals',
+ 'default',
+ 'deferred',
+ 'definition',
+ 'department',
+ 'descending',
+ 'destination',
+ 'disconnect',
+ 'display-mode',
+ 'distance',
+ 'distinct',
+ 'div',
+ 'dummy',
+
+ 'encoding',
+ 'end-lines',
+ 'engineering',
+ 'environment',
+ 'eq',
+ 'equiv',
+ 'error_message',
+ 'errormessage',
+ 'escape',
+ 'exact',
+ 'exception-table',
+ 'exceptions',
+ 'exclude',
+ 'excluding',
+ 'exists',
+ 'exp',
+ 'exponent',
+ 'exporting',
+ 'extended_monetary',
+
+ 'field',
+ 'filter-table',
+ 'filters',
+ 'filter',
+ 'final',
+ 'find_any_not_of',
+ 'find_any_of',
+ 'find_end',
+ 'floor',
+ 'first-line',
+ 'font',
+ 'forward',
+ 'for',
+ 'frac',
+ 'from_mixed',
+ 'friends',
+ 'from',
+
+ 'giving',
+ 'ge',
+ 'gt',
+
+ 'handle',
+ 'harmless',
+ 'having',
+ 'head-lines',
+ 'help-id',
+ 'help-request',
+ 'high',
+ 'hold',
+ 'hotspot',
+
+ 'id',
+ 'ids',
+ 'immediately',
+ 'implementation',
+ 'importing',
+ 'in',
+ 'initial',
+ 'incl',
+ 'including',
+ 'increment',
+ 'index',
+ 'index-line',
+ 'inner',
+ 'inout',
+ 'intensified',
+ 'into',
+ 'inverse',
+ 'is',
+ 'iso',
+
+ 'join',
+
+ 'key',
+ 'kind',
+
+ 'log10',
+ 'language',
+ 'late',
+ 'layout',
+ 'le',
+ 'lt',
+ 'left-justified',
+ 'leftplus',
+ 'leftspace',
+ 'left',
+ 'length',
+ 'level',
+ 'like',
+ 'line-count',
+ 'line-size',
+ 'lines',
+ 'line',
+ 'load',
+ 'long',
+ 'lower',
+ 'low',
+ 'lpi',
+
+ 'matches',
+ 'match',
+ 'mail',
+ 'major-id',
+ 'max',
+ 'medium',
+ 'memory',
+ 'message-id',
+ 'module',
+ 'minor-id',
+ 'min',
+ 'mm/dd/yyyy',
+ 'mm/dd/yy',
+ 'mmddyy',
+ 'mode',
+ 'modifier',
+ 'mod',
+ 'monetary',
+
+ 'name',
+ 'nb',
+ 'ne',
+ 'next',
+ 'no-display',
+ 'no-extension',
+ 'no-gap',
+ 'no-gaps',
+ 'no-grouping',
+ 'no-heading',
+ 'no-scrolling',
+ 'no-sign',
+ 'no-title',
+ 'no-topofpage',
+ 'no-zero',
+ 'nodes',
+ 'non-unicode',
+ 'no',
+ 'number',
+ 'nmax',
+ 'nmin',
+ 'not',
+ 'null',
+ 'numeric',
+ 'numofchar',
+
+ 'o',
+ 'objects',
+ 'obligatory',
+ 'occurs',
+ 'offset',
+ 'off',
+ 'of',
+ 'only',
+ 'open',
+ 'option',
+ 'optional',
+ 'options',
+ 'output-length',
+ 'output',
+ 'out',
+ 'on change of',
+ 'or',
+ 'others',
+
+ 'pad',
+ 'page',
+ 'pages',
+ 'parameter-table',
+ 'part',
+ 'performing',
+ 'pos_high',
+ 'pos_low',
+ 'priority',
+ 'public',
+ 'pushbutton',
+
+ 'queue-only',
+ 'quickinfo',
+
+ 'raising',
+ 'range',
+ 'read-only',
+ 'received',
+ 'receiver',
+ 'receiving',
+ 'redefinition',
+ 'reference',
+ 'regex',
+ 'replacing',
+ 'reset',
+ 'responsible',
+ 'result',
+ 'results',
+ 'resumable',
+ 'returncode',
+ 'returning',
+ 'right',
+ 'right-specified',
+ 'rightplus',
+ 'rightspace',
+ 'round',
+ 'rows',
+ 'repeat',
+ 'requested',
+ 'rescale',
+ 'reverse',
+
+ 'scale_preserving',
+ 'scale_preserving_scientific',
+ 'scientific',
+ 'scientific_with_leading_zero',
+ 'screen',
+ 'scrolling',
+ 'seconds',
+ 'segment',
+ 'shift_left',
+ 'shift_right',
+ 'sign',
+ 'simple',
+ 'sin',
+ 'sinh',
+ 'short',
+ 'shortdump-id',
+ 'sign_as_postfix',
+ 'single',
+ 'size',
+ 'some',
+ 'source',
+ 'space',
+ 'spots',
+ 'stable',
+ 'state',
+ 'static',
+ 'statusinfo',
+ 'sqrt',
+ 'string',
+ 'strlen',
+ 'structure',
+ 'style',
+ 'subkey',
+ 'submatches',
+ 'substring',
+ 'substring_after',
+ 'substring_before',
+ 'substring_from',
+ 'substring_to',
+ 'super',
+ 'supplied',
+ 'switch',
+
+ 'tan',
+ 'tanh',
+ 'table_line',
+ 'table',
+ 'tab',
+ 'then',
+ 'timestamp',
+ 'times',
+ 'time',
+ 'timezone',
+ 'title-lines',
+ 'title',
+ 'top-lines',
+ 'to',
+ 'to_lower',
+ 'to_mixed',
+ 'to_upper',
+ 'trace-file',
+ 'trace-table',
+ 'transporting',
+ 'trunc',
+ 'type',
+
+ 'under',
+ 'unique',
+ 'unit',
+ 'user-command',
+ 'using',
+ 'utf-8',
+
+ 'valid',
+ 'value',
+ 'value-request',
+ 'values',
+ 'vary',
+ 'varying',
+ 'version',
+
+ 'warning',
+ 'where',
+ 'width',
+ 'with',
+ 'word',
+ 'with-heading',
+ 'with-title',
+
+ 'xsequence',
+ 'xstring',
+ 'xstrlen',
+
+ 'yes',
+ 'yymmdd',
+
+ 'z',
+ 'zero'
+
+ ),
+
+ //**********************************************************
+ // screen statements
+ //**********************************************************
+
+ 5 => array(
+ 'call subscreen',
+ 'chain',
+ 'endchain',
+ 'on chain-input',
+ 'on chain-request',
+ 'on help-request',
+ 'on input',
+ 'on request',
+ 'on value-request',
+ 'process'
+ ),
+
+ //**********************************************************
+ // internal statements
+ //**********************************************************
+
+ 6 => array(
+ 'generate dynpro',
+ 'generate report',
+ 'import dynpro',
+ 'import nametab',
+ 'include methods',
+ 'load report',
+ 'scan abap-source',
+ 'scan and check abap-source',
+ 'syntax-check for dynpro',
+ 'syntax-check for program',
+ 'syntax-trace',
+ 'system-call',
+ 'system-exit',
+ 'verification-message'
+ ),
+
+ //**********************************************************
+ // Control statements
+ //**********************************************************
+
+ 1 => array(
+ 'assert',
+ 'case',
+ 'catch',
+ 'check',
+ 'cleanup',
+ 'continue',
+ 'do',
+ 'else',
+ 'elseif',
+ 'endat',
+ 'endcase',
+ 'endcatch',
+ 'endif',
+ 'enddo',
+ 'endloop',
+ 'endtry',
+ 'endwhile',
+ 'exit',
+ 'if',
+ 'loop',
+ 'resume',
+ 'retry',
+ 'return',
+ 'stop',
+ 'try',
+ 'when',
+ 'while'
+
+ ),
+
+ //**********************************************************
+ // variable declaration statements
+ //**********************************************************
+
+ 2 => array(
+ 'class-data',
+ 'controls',
+ 'constants',
+ 'data',
+ 'field-symbols',
+ 'fields',
+ 'local',
+ 'parameters',
+ 'ranges',
+ 'select-options',
+ 'statics',
+ 'tables',
+ 'type-pools',
+ 'types'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 0 => array(
+ '->*', '->', '=>',
+ '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '!', '%', '^', '&', ':', ',', '.'
+ ),
+ 1 => array(
+ '>=', '<=', '<', '>', '='
+ ),
+ 2 => 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,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000066; text-transform: uppercase; font-weight: bold; zzz:control;', //control statements
+ 2 => 'color: #cc4050; text-transform: uppercase; font-weight: bold; zzz:data;', //data statements
+ 3 => 'color: #005066; text-transform: uppercase; font-weight: bold; zzz:statement;', //first token of other statements
+ 4 => 'color: #500066; text-transform: uppercase; font-weight: bold; zzz:keyword;', // next tokens of other statements ("keywords")
+ 5 => 'color: #005066; text-transform: uppercase; font-weight: bold; zzz:statement;',
+ 6 => 'color: #000066; text-transform: uppercase; font-weight: bold; zzz:control;',
+ 7 => 'color: #000066; text-transform: uppercase; font-weight: bold; zzz:control;',
+ 8 => 'color: #005066; text-transform: uppercase; font-weight: bold; zzz:statement;',
+ 9 => 'color: #500066; text-transform: uppercase; font-weight: bold; zzz:keyword;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #339933;',
+ 'MULTI' => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #808080;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #4da619;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #3399ff;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #202020;',
+ 2 => 'color: #202020;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #808080;',
+ 1 => 'color: #800080;',
+ 2 => 'color: #0000ff;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://help.sap.com/abapdocu/en/ABAP{FNAMEU}.htm',
+ 2 => 'http://help.sap.com/abapdocu/en/ABAP{FNAMEU}.htm',
+ 3 => 'http://help.sap.com/abapdocu/en/ABAP{FNAMEU}.htm',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '-&gt;',
+ 2 => '=&gt;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 7 => array(
+ 'SPACE_AS_WHITESPACE' => true
+ ),
+ 8 => array(
+ 'SPACE_AS_WHITESPACE' => true
+ ),
+ 9 => array(
+ 'SPACE_AS_WHITESPACE' => true
+ )
+ )
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/actionscript.php b/application/libraries/geshi/actionscript.php
new file mode 100644
index 000000000..394a463c4
--- /dev/null
+++ b/application/libraries/geshi/actionscript.php
@@ -0,0 +1,197 @@
+<?php
+/*************************************************************************************
+ * actionscript.php
+ * ----------------
+ * Author: Steffen Krause (Steffen.krause@muse.de)
+ * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/20
+ *
+ * Actionscript language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'ActionScript',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ '#include', 'for', 'foreach', 'each', 'if', 'elseif', 'else', 'while', 'do', 'dowhile',
+ 'endwhile', 'endif', 'switch', 'case', 'endswitch', 'return', 'break', 'continue', 'in'
+ ),
+ 2 => array(
+ 'null', 'false', 'true', 'var',
+ 'default', 'function', 'class',
+ 'new', '_global'
+ ),
+ 3 => array(
+ '#endinitclip', '#initclip', '__proto__', '_accProps', '_alpha', '_currentframe',
+ '_droptarget', '_focusrect', '_framesloaded', '_height', '_highquality', '_lockroot',
+ '_name', '_parent', '_quality', '_root', '_rotation', '_soundbuftime', '_target', '_totalframes',
+ '_url', '_visible', '_width', '_x', '_xmouse', '_xscale', '_y', '_ymouse', '_yscale', 'abs',
+ 'Accessibility', 'acos', 'activityLevel', 'add', 'addListener', 'addPage', 'addProperty',
+ 'addRequestHeader', 'align', 'allowDomain', 'allowInsecureDomain', 'and', 'appendChild',
+ 'apply', 'Arguments', 'Array', 'asfunction', 'asin', 'atan', 'atan2', 'attachAudio', 'attachMovie',
+ 'attachSound', 'attachVideo', 'attributes', 'autosize', 'avHardwareDisable', 'background',
+ 'backgroundColor', 'BACKSPACE', 'bandwidth', 'beginFill', 'beginGradientFill', 'blockIndent',
+ 'bold', 'Boolean', 'border', 'borderColor', 'bottomScroll', 'bufferLength', 'bufferTime',
+ 'builtInItems', 'bullet', 'Button', 'bytesLoaded', 'bytesTotal', 'call', 'callee', 'caller',
+ 'Camera', 'capabilities', 'CAPSLOCK', 'caption', 'catch', 'ceil', 'charAt', 'charCodeAt',
+ 'childNodes', 'chr', 'clear', 'clearInterval', 'cloneNode', 'close', 'Color', 'concat',
+ 'connect', 'condenseWhite', 'constructor', 'contentType', 'ContextMenu', 'ContextMenuItem',
+ 'CONTROL', 'copy', 'cos', 'createElement', 'createEmptyMovieClip', 'createTextField',
+ 'createTextNode', 'currentFps', 'curveTo', 'CustomActions', 'customItems', 'data', 'Date',
+ 'deblocking', 'delete', 'DELETEKEY', 'docTypeDecl', 'domain', 'DOWN',
+ 'duplicateMovieClip', 'duration', 'dynamic', 'E', 'embedFonts', 'enabled',
+ 'END', 'endFill', 'ENTER', 'eq', 'Error', 'ESCAPE(Konstante)', 'escape(Funktion)', 'eval',
+ 'exactSettings', 'exp', 'extends', 'finally', 'findText', 'firstChild', 'floor',
+ 'flush', 'focusEnabled', 'font', 'fps', 'fromCharCode', 'fscommand',
+ 'gain', 'ge', 'get', 'getAscii', 'getBeginIndex', 'getBounds', 'getBytesLoaded', 'getBytesTotal',
+ 'getCaretIndex', 'getCode', 'getCount', 'getDate', 'getDay', 'getDepth', 'getEndIndex', 'getFocus',
+ 'getFontList', 'getFullYear', 'getHours', 'getInstanceAtDepth', 'getLocal', 'getMilliseconds',
+ 'getMinutes', 'getMonth', 'getNewTextFormat', 'getNextHighestDepth', 'getPan', 'getProgress',
+ 'getProperty', 'getRGB', 'getSeconds', 'getSelected', 'getSelectedText', 'getSize', 'getStyle',
+ 'getStyleNames', 'getSWFVersion', 'getText', 'getTextExtent', 'getTextFormat', 'getTextSnapshot',
+ 'getTime', 'getTimer', 'getTimezoneOffset', 'getTransform', 'getURL', 'getUTCDate', 'getUTCDay',
+ 'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds',
+ 'getVersion', 'getVolume', 'getYear', 'globalToLocal', 'goto', 'gotoAndPlay', 'gotoAndStop',
+ 'hasAccessibility', 'hasAudio', 'hasAudioEncoder', 'hasChildNodes', 'hasEmbeddedVideo', 'hasMP3',
+ 'hasPrinting', 'hasScreenBroadcast', 'hasScreenPlayback', 'hasStreamingAudio', 'hasStreamingVideo',
+ 'hasVideoEncoder', 'height', 'hide', 'hideBuiltInItems', 'hitArea', 'hitTest', 'hitTestTextNearPos',
+ 'HOME', 'hscroll', 'html', 'htmlText', 'ID3', 'ifFrameLoaded', 'ignoreWhite', 'implements',
+ 'import', 'indent', 'index', 'indexOf', 'Infinity', '-Infinity', 'INSERT', 'insertBefore', 'install',
+ 'instanceof', 'int', 'interface', 'isActive', 'isDebugger', 'isDown', 'isFinite', 'isNaN', 'isToggled',
+ 'italic', 'join', 'Key', 'language', 'lastChild', 'lastIndexOf', 'le', 'leading', 'LEFT', 'leftMargin',
+ 'length', 'level', 'lineStyle', 'lineTo', 'list', 'LN10', 'LN2', 'load', 'loadClip', 'loaded', 'loadMovie',
+ 'loadMovieNum', 'loadSound', 'loadVariables', 'loadVariablesNum', 'LoadVars', 'LocalConnection',
+ 'localFileReadDisable', 'localToGlobal', 'log', 'LOG10E', 'LOG2E', 'manufacturer', 'Math', 'max',
+ 'MAX_VALUE', 'maxChars', 'maxhscroll', 'maxscroll', 'mbchr', 'mblength', 'mbord', 'mbsubstring', 'menu',
+ 'message', 'Microphone', 'min', 'MIN_VALUE', 'MMExecute', 'motionLevel', 'motionTimeOut', 'Mouse',
+ 'mouseWheelEnabled', 'moveTo', 'Movieclip', 'MovieClipLoader', 'multiline', 'muted', 'name', 'names', 'NaN',
+ 'ne', 'NEGATIVE_INFINITY', 'NetConnection', 'NetStream', 'newline', 'nextFrame',
+ 'nextScene', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue', 'not', 'Number', 'Object',
+ 'on', 'onActivity', 'onChanged', 'onClipEvent', 'onClose', 'onConnect', 'onData', 'onDragOut',
+ 'onDragOver', 'onEnterFrame', 'onID3', 'onKeyDown', 'onKeyUp', 'onKillFocus', 'onLoad', 'onLoadComplete',
+ 'onLoadError', 'onLoadInit', 'onLoadProgress', 'onLoadStart', 'onMouseDown', 'onMouseMove', 'onMouseUp',
+ 'onMouseWheel', 'onPress', 'onRelease', 'onReleaseOutside', 'onResize', 'onRollOut', 'onRollOver',
+ 'onScroller', 'onSelect', 'onSetFocus', 'onSoundComplete', 'onStatus', 'onUnload', 'onUpdate', 'onXML',
+ 'or(logischesOR)', 'ord', 'os', 'parentNode', 'parseCSS', 'parseFloat', 'parseInt', 'parseXML', 'password',
+ 'pause', 'PGDN', 'PGUP', 'PI', 'pixelAspectRatio', 'play', 'playerType', 'pop', 'position',
+ 'POSITIVE_INFINITY', 'pow', 'prevFrame', 'previousSibling', 'prevScene', 'print', 'printAsBitmap',
+ 'printAsBitmapNum', 'PrintJob', 'printNum', 'private', 'prototype', 'public', 'push', 'quality',
+ 'random', 'rate', 'registerClass', 'removeListener', 'removeMovieClip', 'removeNode', 'removeTextField',
+ 'replaceSel', 'replaceText', 'resolutionX', 'resolutionY', 'restrict', 'reverse', 'RIGHT',
+ 'rightMargin', 'round', 'scaleMode', 'screenColor', 'screenDPI', 'screenResolutionX', 'screenResolutionY',
+ 'scroll', 'seek', 'selectable', 'Selection', 'send', 'sendAndLoad', 'separatorBefore', 'serverString',
+ 'set', 'setvariable', 'setBufferTime', 'setClipboard', 'setDate', 'setFocus', 'setFullYear', 'setGain',
+ 'setHours', 'setInterval', 'setMask', 'setMilliseconds', 'setMinutes', 'setMode', 'setMonth',
+ 'setMotionLevel', 'setNewTextFormat', 'setPan', 'setProperty', 'setQuality', 'setRate', 'setRGB',
+ 'setSeconds', 'setSelectColor', 'setSelected', 'setSelection', 'setSilenceLevel', 'setStyle',
+ 'setTextFormat', 'setTime', 'setTransform', 'setUseEchoSuppression', 'setUTCDate', 'setUTCFullYear',
+ 'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'setVolume',
+ 'setYear', 'SharedObject', 'SHIFT(Konstante)', 'shift(Methode)', 'show', 'showMenu', 'showSettings',
+ 'silenceLevel', 'silenceTimeout', 'sin', 'size', 'slice', 'smoothing', 'sort', 'sortOn', 'Sound', 'SPACE',
+ 'splice', 'split', 'sqrt', 'SQRT1_2', 'SQRT2', 'Stage', 'start', 'startDrag', 'static', 'status', 'stop',
+ 'stopAllSounds', 'stopDrag', 'String', 'StyleSheet(Klasse)', 'styleSheet(Eigenschaft)', 'substr',
+ 'substring', 'super', 'swapDepths', 'System', 'TAB', 'tabChildren', 'tabEnabled', 'tabIndex',
+ 'tabStops', 'tan', 'target', 'targetPath', 'tellTarget', 'text', 'textColor', 'TextField', 'TextFormat',
+ 'textHeight', 'TextSnapshot', 'textWidth', 'this', 'throw', 'time', 'toggleHighQuality', 'toLowerCase',
+ 'toString', 'toUpperCase', 'trace', 'trackAsMenu', 'try', 'type', 'typeof', 'undefined',
+ 'underline', 'unescape', 'uninstall', 'unloadClip', 'unloadMovie', 'unLoadMovieNum', 'unshift', 'unwatch',
+ 'UP', 'updateAfterEvent', 'updateProperties', 'url', 'useCodePage', 'useEchoSuppression', 'useHandCursor',
+ 'UTC', 'valueOf', 'variable', 'version', 'Video', 'visible', 'void', 'watch', 'width',
+ 'with', 'wordwrap', 'XML', 'xmlDecl', 'XMLNode', 'XMLSocket'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #0066CC;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #808080; font-style: italic;',
+ 'MULTI' => '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: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ '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/actionscript3.php b/application/libraries/geshi/actionscript3.php
new file mode 100644
index 000000000..8449173e8
--- /dev/null
+++ b/application/libraries/geshi/actionscript3.php
@@ -0,0 +1,473 @@
+<?php
+/*************************************************************************************
+ * actionscript3.php
+ * ----------------
+ * 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
+ * Date Started: 2007/11/26
+ *
+ * ActionScript3 language file for GeSHi.
+ *
+ * All keywords scraped from the Flex 2.0.1 Documentation
+ *
+ * The default style is based on FlexBuilder2 coloring, with the addition of class, package, method and
+ * constant names that are highlighted to help identifying problem when used on public pastebins.
+ *
+ * For styling, keywords data from 0 to 1 (accessible through .kw1, etc.) are described here :
+ *
+ * 1 : operators
+ * 2 : 'var' keyword
+ * 3 : 'function' keyword
+ * 4 : 'class' and 'package' keywords
+ * 5 : all flash.* class names plus Top Level classes, mx are excluded
+ * 6 : all flash.* package names, mx are excluded
+ * 7 : valid flash method names and properties (there is no type checks sadly, for example String().x will be highlighted as 'x' is valid, but obviously strings don't have a x property)
+ * 8 : valid flash constant names (again, no type check)
+ *
+ *
+ * CHANGES
+ * -------
+ * 2007/12/06 (1.0.7.22)
+ * - Added the 'this' keyword (oops)
+ *
+ * TODO (updated 2007/11/30)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'ActionScript 3',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ '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",
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'with', 'while', 'void', 'undefined', 'typeof', 'try', 'true',
+ 'throw', 'this', 'switch', 'super', 'set', 'return', 'public', 'protected',
+ 'private', 'null', 'new', 'is', 'internal', 'instanceof', 'in',
+ 'import', 'if', 'get', 'for', 'false', 'else', 'each', 'do',
+ 'delete', 'default', 'continue', 'catch', 'case', 'break', 'as',
+ 'extends'
+ ),
+ 2 => array(
+ 'var'
+ ),
+ 3 => array(
+ 'function'
+ ),
+ 4 => array(
+ 'class', 'package'
+ ),
+ 6 => array(
+ 'flash.xml', 'flash.utils', 'flash.ui', 'flash.text',
+ 'flash.system', 'flash.profiler', 'flash.printing', 'flash.net',
+ 'flash.media', 'flash.geom', 'flash.filters', 'flash.external',
+ 'flash.events', 'flash.errors', 'flash.display',
+ 'flash.accessibility'
+ ),
+ 7 => array(
+ 'zoom', 'year', 'y', 'xmlDecl', 'x', 'writeUnsignedInt',
+ 'writeUTFBytes', 'writeUTF', 'writeShort', 'writeObject',
+ 'writeMultiByte', 'writeInt', 'writeFloat', 'writeExternal',
+ 'writeDynamicProperty', 'writeDynamicProperties', 'writeDouble',
+ 'writeBytes', 'writeByte', 'writeBoolean', 'wordWrap',
+ 'willTrigger', 'width', 'volume', 'visible', 'videoWidth',
+ 'videoHeight', 'version', 'valueOf', 'value', 'usingTLS',
+ 'useRichTextClipboard', 'useHandCursor', 'useEchoSuppression',
+ 'useCodePage', 'url', 'uri', 'uploadCompleteData', 'upload',
+ 'updateProperties', 'updateAfterEvent', 'upState', 'unshift',
+ 'unlock', 'unload', 'union', 'unescapeMultiByte', 'unescape',
+ 'underline', 'uncompress', 'type', 'ty', 'tx', 'transparent',
+ 'translate', 'transformPoint', 'transform', 'trackAsMenu', 'track',
+ 'trace', 'totalMemory', 'totalFrames', 'topLeft', 'top',
+ 'togglePause', 'toXMLString', 'toUpperCase', 'toUTCString',
+ 'toTimeString', 'toString', 'toPrecision', 'toLowerCase',
+ 'toLocaleUpperCase', 'toLocaleTimeString', 'toLocaleString',
+ 'toLocaleLowerCase', 'toLocaleDateString', 'toFixed',
+ 'toExponential', 'toDateString', 'timezoneOffset', 'timerComplete',
+ 'timer', 'time', 'threshold', 'thickness', 'textWidth',
+ 'textSnapshot', 'textInput', 'textHeight', 'textColor', 'text',
+ 'test', 'target', 'tan', 'tabStops', 'tabIndexChange', 'tabIndex',
+ 'tabEnabledChange', 'tabEnabled', 'tabChildrenChange',
+ 'tabChildren', 'sync', 'swfVersion', 'swapChildrenAt',
+ 'swapChildren', 'subtract', 'substring', 'substr', 'styleSheet',
+ 'styleNames', 'strength', 'stopPropagation',
+ 'stopImmediatePropagation', 'stopDrag', 'stopAll', 'stop', 'status',
+ 'startDrag', 'start', 'stageY', 'stageX', 'stageWidth',
+ 'stageHeight', 'stageFocusRect', 'stage', 'sqrt', 'split', 'splice',
+ 'source', 'soundTransform', 'soundComplete', 'sortOn', 'sort',
+ 'songName', 'some', 'socketData', 'smoothing', 'slice', 'size',
+ 'sin', 'silent', 'silenceTimeout', 'silenceLevel', 'showSettings',
+ 'showRedrawRegions', 'showDefaultContextMenu', 'show', 'shortcut',
+ 'shiftKey', 'shift', 'sharpness', 'sharedEvents', 'shadowColor',
+ 'shadowAlpha', 'settings', 'setUseEchoSuppression', 'setUTCSeconds',
+ 'setUTCMonth', 'setUTCMinutes', 'setUTCMilliseconds', 'setUTCHours',
+ 'setUTCFullYear', 'setUTCDate', 'setTimeout', 'setTime',
+ 'setTextFormat', 'setStyle', 'setSilenceLevel', 'setSettings',
+ 'setSelection', 'setSelected', 'setSelectColor', 'setSeconds',
+ 'setQuality', 'setPropertyIsEnumerable', 'setProperty', 'setPixels',
+ 'setPixel32', 'setPixel', 'setNamespace', 'setName',
+ 'setMotionLevel', 'setMonth', 'setMode', 'setMinutes',
+ 'setMilliseconds', 'setLoopback', 'setLoopBack', 'setLocalName',
+ 'setKeyFrameInterval', 'setInterval', 'setHours', 'setFullYear',
+ 'setEmpty', 'setDirty', 'setDate', 'setCompositionString',
+ 'setClipboard', 'setChildren', 'setChildIndex',
+ 'setAdvancedAntiAliasingTable', 'serverString', 'separatorBefore',
+ 'sendToURL', 'send', 'selectionEndIndex', 'selectionBeginIndex',
+ 'selectable', 'select', 'seek', 'securityError', 'securityDomain',
+ 'secondsUTC', 'seconds', 'search', 'scrollV', 'scrollRect',
+ 'scrollH', 'scroll', 'screenResolutionY', 'screenResolutionX',
+ 'screenDPI', 'screenColor', 'scenes', 'scaleY', 'scaleX',
+ 'scaleMode', 'scale9Grid', 'scale', 'save', 'sandboxType',
+ 'sameDomain', 'running', 'round', 'rotation', 'rotate', 'root',
+ 'rollOver', 'rollOut', 'rightToRight', 'rightToLeft', 'rightPeak',
+ 'rightMargin', 'right', 'rewind', 'reverse', 'resume', 'restrict',
+ 'resize', 'reset', 'requestHeaders', 'replaceText',
+ 'replaceSelectedText', 'replace', 'repeatCount', 'render',
+ 'removedFromStage', 'removed', 'removeNode', 'removeNamespace',
+ 'removeEventListener', 'removeChildAt', 'removeChild',
+ 'relatedObject', 'registerFont', 'registerClassAlias', 'redOffset',
+ 'redMultiplier', 'rect', 'receiveVideo', 'receiveAudio',
+ 'readUnsignedShort', 'readUnsignedInt', 'readUnsignedByte',
+ 'readUTFBytes', 'readUTF', 'readShort', 'readObject',
+ 'readMultiByte', 'readInt', 'readFloat', 'readExternal',
+ 'readDouble', 'readBytes', 'readByte', 'readBoolean', 'ratios',
+ 'rate', 'random', 'quality', 'push', 'publish', 'proxyType',
+ 'prototype', 'propertyIsEnumerable', 'progress',
+ 'processingInstructions', 'printAsBitmap', 'print',
+ 'previousSibling', 'preventDefault', 'prevScene', 'prevFrame',
+ 'prettyPrinting', 'prettyIndent', 'preserveAlpha', 'prependChild',
+ 'prefix', 'pow', 'position', 'pop', 'polar', 'playerType', 'play',
+ 'pixelSnapping', 'pixelDissolve', 'pixelBounds', 'pixelAspectRatio',
+ 'perlinNoise', 'pause', 'parseXML', 'parseInt', 'parseFloat',
+ 'parseCSS', 'parse', 'parentNode', 'parentDomain',
+ 'parentAllowsChild', 'parent', 'parameters', 'paperWidth',
+ 'paperHeight', 'pan', 'paletteMap', 'pageWidth', 'pageHeight',
+ 'overState', 'outsideCutoff', 'os', 'orientation', 'open',
+ 'opaqueBackground', 'onPlayStatus', 'onMetaData', 'onCuePoint',
+ 'offsetPoint', 'offset', 'objectID', 'objectEncoding', 'numLock',
+ 'numLines', 'numFrames', 'numChildren', 'normalize', 'noise',
+ 'nodeValue', 'nodeType', 'nodeName', 'nodeKind', 'noAutoLabeling',
+ 'nextValue', 'nextSibling', 'nextScene', 'nextNameIndex',
+ 'nextName', 'nextFrame', 'netStatus', 'navigateToURL',
+ 'namespaceURI', 'namespaceDeclarations', 'namespace', 'names',
+ 'name', 'muted', 'multiline', 'moveTo', 'mouseY', 'mouseX',
+ 'mouseWheelEnabled', 'mouseWheel', 'mouseUp', 'mouseTarget',
+ 'mouseOver', 'mouseOut', 'mouseMove', 'mouseLeave',
+ 'mouseFocusChange', 'mouseEnabled', 'mouseDown', 'mouseChildren',
+ 'motionTimeout', 'motionLevel', 'monthUTC', 'month',
+ 'modificationDate', 'mode', 'minutesUTC', 'minutes', 'min',
+ 'millisecondsUTC', 'milliseconds', 'method', 'message', 'merge',
+ 'menuSelect', 'menuItemSelect', 'maxScrollV', 'maxScrollH',
+ 'maxLevel', 'maxChars', 'max', 'matrixY', 'matrixX', 'matrix',
+ 'match', 'mask', 'mapPoint', 'mapBitmap', 'map', 'manufacturer',
+ 'macType', 'loopback', 'loop', 'log', 'lock', 'localeCompare',
+ 'localY', 'localX', 'localToGlobal', 'localName',
+ 'localFileReadDisable', 'loaderURL', 'loaderInfo', 'loader',
+ 'loadPolicyFile', 'loadBytes', 'load', 'liveDelay', 'link',
+ 'lineTo', 'lineStyle', 'lineGradientStyle', 'level',
+ 'letterSpacing', 'length', 'leftToRight', 'leftToLeft', 'leftPeak',
+ 'leftMargin', 'left', 'leading', 'lastIndexOf', 'lastIndex',
+ 'lastChild', 'language', 'labels', 'knockout', 'keyUp',
+ 'keyLocation', 'keyFrameInterval', 'keyFocusChange', 'keyDown',
+ 'keyCode', 'kerning', 'join', 'italic', 'isXMLName',
+ 'isPrototypeOf', 'isNaN', 'isFocusInaccessible', 'isFinite',
+ 'isEmpty', 'isDefaultPrevented', 'isDebugger', 'isBuffering',
+ 'isAttribute', 'isAccessible', 'ioError', 'invert', 'invalidate',
+ 'intersects', 'intersection', 'interpolate', 'insideCutoff',
+ 'insertChildBefore', 'insertChildAfter', 'insertBefore', 'inner',
+ 'init', 'info', 'inflatePoint', 'inflate', 'indexOf', 'index',
+ 'indent', 'inScopeNamespaces', 'imeComposition', 'ime',
+ 'ignoreWhitespace', 'ignoreWhite', 'ignoreProcessingInstructions',
+ 'ignoreComments', 'ignoreCase', 'identity', 'idMap', 'id3',
+ 'httpStatus', 'htmlText', 'hoursUTC', 'hours', 'hitTestTextNearPos',
+ 'hitTestState', 'hitTestPoint', 'hitTestObject', 'hitTest',
+ 'hitArea', 'highlightColor', 'highlightAlpha', 'hideObject',
+ 'hideBuiltInItems', 'hide', 'height', 'hasVideoEncoder', 'hasTLS',
+ 'hasStreamingVideo', 'hasStreamingAudio', 'hasSimpleContent',
+ 'hasScreenPlayback', 'hasScreenBroadcast', 'hasProperty',
+ 'hasPrinting', 'hasOwnProperty', 'hasMP3', 'hasIME', 'hasGlyphs',
+ 'hasEventListener', 'hasEmbeddedVideo', 'hasDefinition',
+ 'hasComplexContent', 'hasChildNodes', 'hasAudioEncoder', 'hasAudio',
+ 'hasAccessibility', 'gridFitType', 'greenOffset', 'greenMultiplier',
+ 'graphics', 'gotoAndStop', 'gotoAndPlay', 'globalToLocal', 'global',
+ 'getUTCSeconds', 'getUTCMonth', 'getUTCMinutes',
+ 'getUTCMilliseconds', 'getUTCHours', 'getUTCFullYear', 'getUTCDay',
+ 'getUTCDate', 'getTimezoneOffset', 'getTimer', 'getTime',
+ 'getTextRunInfo', 'getTextFormat', 'getText', 'getStyle',
+ 'getStackTrace', 'getSelectedText', 'getSelected', 'getSeconds',
+ 'getRemote', 'getRect', 'getQualifiedSuperclassName',
+ 'getQualifiedClassName', 'getProperty', 'getPrefixForNamespace',
+ 'getPixels', 'getPixel32', 'getPixel', 'getParagraphLength',
+ 'getObjectsUnderPoint', 'getNamespaceForPrefix', 'getMonth',
+ 'getMinutes', 'getMilliseconds', 'getMicrophone', 'getLocal',
+ 'getLineText', 'getLineOffset', 'getLineMetrics', 'getLineLength',
+ 'getLineIndexOfChar', 'getLineIndexAtPoint', 'getImageReference',
+ 'getHours', 'getFullYear', 'getFirstCharInParagraph',
+ 'getDescendants', 'getDefinitionByName', 'getDefinition', 'getDay',
+ 'getDate', 'getColorBoundsRect', 'getClassByAlias', 'getChildIndex',
+ 'getChildByName', 'getChildAt', 'getCharIndexAtPoint',
+ 'getCharBoundaries', 'getCamera', 'getBounds', 'genre',
+ 'generateFilterRect', 'gain', 'fullYearUTC', 'fullYear',
+ 'fullScreen', 'fscommand', 'fromCharCode', 'framesLoaded',
+ 'frameRate', 'frame', 'fps', 'forwardAndBack', 'formatToString',
+ 'forceSimple', 'forEach', 'fontType', 'fontStyle', 'fontSize',
+ 'fontName', 'font', 'focusRect', 'focusOut', 'focusIn', 'focus',
+ 'flush', 'floor', 'floodFill', 'firstChild', 'findText', 'filters',
+ 'filter', 'fillRect', 'fileList', 'extension', 'extended', 'exp',
+ 'exec', 'exactSettings', 'every', 'eventPhase', 'escapeMultiByte',
+ 'escape', 'errorID', 'error', 'equals', 'enumerateFonts',
+ 'enterFrame', 'endian', 'endFill', 'encodeURIComponent',
+ 'encodeURI', 'enabled', 'embedFonts', 'elements',
+ 'dynamicPropertyWriter', 'dropTarget', 'drawRoundRect', 'drawRect',
+ 'drawEllipse', 'drawCircle', 'draw', 'download', 'downState',
+ 'doubleClickEnabled', 'doubleClick', 'dotall', 'domain',
+ 'docTypeDecl', 'doConversion', 'divisor', 'distance', 'dispose',
+ 'displayState', 'displayMode', 'displayAsPassword', 'dispatchEvent',
+ 'description', 'describeType', 'descent', 'descendants',
+ 'deltaTransformPoint', 'delta', 'deleteProperty', 'delay',
+ 'defaultTextFormat', 'defaultSettings', 'defaultObjectEncoding',
+ 'decodeURIComponent', 'decodeURI', 'decode', 'deblocking',
+ 'deactivate', 'dayUTC', 'day', 'dateUTC', 'date', 'dataFormat',
+ 'data', 'd', 'customItems', 'curveTo', 'currentTarget',
+ 'currentScene', 'currentLabels', 'currentLabel', 'currentFrame',
+ 'currentFPS', 'currentDomain', 'currentCount', 'ctrlKey', 'creator',
+ 'creationDate', 'createTextNode', 'createGradientBox',
+ 'createElement', 'createBox', 'cos', 'copyPixels', 'copyChannel',
+ 'copy', 'conversionMode', 'contextMenuOwner', 'contextMenu',
+ 'contentType', 'contentLoaderInfo', 'content', 'containsRect',
+ 'containsPoint', 'contains', 'constructor', 'connectedProxyType',
+ 'connected', 'connect', 'condenseWhite', 'concatenatedMatrix',
+ 'concatenatedColorTransform', 'concat', 'computeSpectrum',
+ 'compress', 'componentY', 'componentX', 'complete', 'compare',
+ 'comments', 'comment', 'colors', 'colorTransform', 'color', 'code',
+ 'close', 'cloneNode', 'clone', 'client', 'click', 'clearTimeout',
+ 'clearInterval', 'clear', 'clamp', 'children', 'childNodes',
+ 'childIndex', 'childAllowsParent', 'child', 'checkPolicyFile',
+ 'charCount', 'charCodeAt', 'charCode', 'charAt', 'changeList',
+ 'change', 'ceil', 'caretIndex', 'caption', 'capsLock', 'cancelable',
+ 'cancel', 'callee', 'callProperty', 'call', 'cacheAsBitmap', 'c',
+ 'bytesTotal', 'bytesLoaded', 'bytesAvailable', 'buttonMode',
+ 'buttonDown', 'bullet', 'builtInItems', 'bufferTime',
+ 'bufferLength', 'bubbles', 'browse', 'bottomScrollV', 'bottomRight',
+ 'bottom', 'borderColor', 'border', 'bold', 'blurY', 'blurX',
+ 'blueOffset', 'blueMultiplier', 'blockIndent', 'blendMode',
+ 'bitmapData', 'bias', 'beginGradientFill', 'beginFill',
+ 'beginBitmapFill', 'bandwidth', 'backgroundColor', 'background',
+ 'b', 'available', 'avHardwareDisable', 'autoSize', 'attributes',
+ 'attribute', 'attachNetStream', 'attachCamera', 'attachAudio',
+ 'atan2', 'atan', 'asyncError', 'asin', 'ascent', 'artist',
+ 'areSoundsInaccessible', 'areInaccessibleObjectsUnderPoint',
+ 'applyFilter', 'apply', 'applicationDomain', 'appendText',
+ 'appendChild', 'antiAliasType', 'angle', 'alwaysShowSelection',
+ 'altKey', 'alphas', 'alphaOffset', 'alphaMultiplier', 'alpha',
+ 'allowInsecureDomain', 'allowDomain', 'align', 'album',
+ 'addedToStage', 'added', 'addPage', 'addNamespace', 'addHeader',
+ 'addEventListener', 'addChildAt', 'addChild', 'addCallback', 'add',
+ 'activityLevel', 'activity', 'active', 'activating', 'activate',
+ 'actionScriptVersion', 'acos', 'accessibilityProperties', 'abs'
+ ),
+ 8 => array(
+ 'WRAP', 'VERTICAL', 'VARIABLES',
+ 'UTC', 'UPLOAD_COMPLETE_DATA', 'UP', 'UNLOAD', 'UNKNOWN',
+ 'UNIQUESORT', 'TOP_RIGHT', 'TOP_LEFT', 'TOP', 'TIMER_COMPLETE',
+ 'TIMER', 'TEXT_NODE', 'TEXT_INPUT', 'TEXT', 'TAB_INDEX_CHANGE',
+ 'TAB_ENABLED_CHANGE', 'TAB_CHILDREN_CHANGE', 'TAB', 'SYNC',
+ 'SUBTRACT', 'SUBPIXEL', 'STATUS', 'STANDARD', 'SQUARE', 'SQRT2',
+ 'SQRT1_2', 'SPACE', 'SOUND_COMPLETE', 'SOCKET_DATA', 'SHOW_ALL',
+ 'SHIFT', 'SETTINGS_MANAGER', 'SELECT', 'SECURITY_ERROR', 'SCROLL',
+ 'SCREEN', 'ROUND', 'ROLL_OVER', 'ROLL_OUT', 'RIGHT', 'RGB',
+ 'RETURNINDEXEDARRAY', 'RESIZE', 'REPEAT', 'RENDER',
+ 'REMOVED_FROM_STAGE', 'REMOVED', 'REMOTE', 'REGULAR', 'REFLECT',
+ 'RED', 'RADIAL', 'PROGRESS', 'PRIVACY', 'POST', 'POSITIVE_INFINITY',
+ 'PORTRAIT', 'PIXEL', 'PI', 'PENDING', 'PAGE_UP', 'PAGE_DOWN', 'PAD',
+ 'OVERLAY', 'OUTER', 'OPEN', 'NaN', 'NUM_PAD', 'NUMPAD_SUBTRACT',
+ 'NUMPAD_MULTIPLY', 'NUMPAD_ENTER', 'NUMPAD_DIVIDE',
+ 'NUMPAD_DECIMAL', 'NUMPAD_ADD', 'NUMPAD_9', 'NUMPAD_8', 'NUMPAD_7',
+ 'NUMPAD_6', 'NUMPAD_5', 'NUMPAD_4', 'NUMPAD_3', 'NUMPAD_2',
+ 'NUMPAD_1', 'NUMPAD_0', 'NUMERIC', 'NO_SCALE', 'NO_BORDER',
+ 'NORMAL', 'NONE', 'NEVER', 'NET_STATUS', 'NEGATIVE_INFINITY',
+ 'MULTIPLY', 'MOUSE_WHEEL', 'MOUSE_UP', 'MOUSE_OVER', 'MOUSE_OUT',
+ 'MOUSE_MOVE', 'MOUSE_LEAVE', 'MOUSE_FOCUS_CHANGE', 'MOUSE_DOWN',
+ 'MITER', 'MIN_VALUE', 'MICROPHONE', 'MENU_SELECT',
+ 'MENU_ITEM_SELECT', 'MEDIUM', 'MAX_VALUE', 'LOW', 'LOG2E', 'LOG10E',
+ 'LOCAL_WITH_NETWORK', 'LOCAL_WITH_FILE', 'LOCAL_TRUSTED',
+ 'LOCAL_STORAGE', 'LN2', 'LN10', 'LITTLE_ENDIAN', 'LINK',
+ 'LINEAR_RGB', 'LINEAR', 'LIGHT_COLOR', 'LIGHTEN', 'LEFT', 'LCD',
+ 'LAYER', 'LANDSCAPE', 'KOREAN', 'KEY_UP', 'KEY_FOCUS_CHANGE',
+ 'KEY_DOWN', 'JUSTIFY', 'JAPANESE_KATAKANA_HALF',
+ 'JAPANESE_KATAKANA_FULL', 'JAPANESE_HIRAGANA', 'Infinity', 'ITALIC',
+ 'IO_ERROR', 'INVERT', 'INSERT', 'INPUT', 'INNER', 'INIT',
+ 'IME_COMPOSITION', 'IGNORE', 'ID3', 'HTTP_STATUS', 'HORIZONTAL',
+ 'HOME', 'HIGH', 'HARDLIGHT', 'GREEN', 'GET', 'FULLSCREEN', 'FULL',
+ 'FOCUS_OUT', 'FOCUS_IN', 'FLUSHED', 'FLASH9', 'FLASH8', 'FLASH7',
+ 'FLASH6', 'FLASH5', 'FLASH4', 'FLASH3', 'FLASH2', 'FLASH1', 'F9',
+ 'F8', 'F7', 'F6', 'F5', 'F4', 'F3', 'F2', 'F15', 'F14', 'F13',
+ 'F12', 'F11', 'F10', 'F1', 'EXACT_FIT', 'ESCAPE', 'ERROR', 'ERASE',
+ 'ENTER_FRAME', 'ENTER', 'END', 'EMBEDDED', 'ELEMENT_NODE', 'E',
+ 'DYNAMIC', 'DOWN', 'DOUBLE_CLICK', 'DIFFERENCE', 'DEVICE',
+ 'DESCENDING', 'DELETE', 'DEFAULT', 'DEACTIVATE', 'DATA',
+ 'DARK_COLOR', 'DARKEN', 'CRT', 'CONTROL', 'CONNECT', 'COMPLETE',
+ 'COLOR', 'CLOSE', 'CLICK', 'CLAMP', 'CHINESE', 'CHANGE', 'CENTER',
+ 'CASEINSENSITIVE', 'CAPTURING_PHASE', 'CAPS_LOCK', 'CANCEL',
+ 'CAMERA', 'BUBBLING_PHASE', 'BOTTOM_RIGHT', 'BOTTOM_LEFT', 'BOTTOM',
+ 'BOLD_ITALIC', 'BOLD', 'BLUE', 'BINARY', 'BIG_ENDIAN', 'BEVEL',
+ 'BEST', 'BACKSPACE', 'AUTO', 'AT_TARGET', 'ASYNC_ERROR', 'AMF3',
+ 'AMF0', 'ALWAYS', 'ALPHANUMERIC_HALF', 'ALPHANUMERIC_FULL', 'ALPHA',
+ 'ADVANCED', 'ADDED_TO_STAGE', 'ADDED', 'ADD', 'ACTIVITY',
+ 'ACTIONSCRIPT3', 'ACTIONSCRIPT2'
+ ),
+ //FIX: Must be last in order to avoid conflicts with keywords present
+ //in other keyword groups, that might get highlighted as part of the URL.
+ //I know this is not a proper work-around, but should do just fine.
+ 5 => array(
+ 'uint', 'int', 'arguments', 'XMLSocket', 'XMLNodeType', 'XMLNode',
+ 'XMLList', 'XMLDocument', 'XML', 'Video', 'VerifyError',
+ 'URLVariables', 'URLStream', 'URLRequestMethod', 'URLRequestHeader',
+ 'URLRequest', 'URLLoaderDataFormat', 'URLLoader', 'URIError',
+ 'TypeError', 'Transform', 'TimerEvent', 'Timer', 'TextSnapshot',
+ 'TextRenderer', 'TextLineMetrics', 'TextFormatAlign', 'TextFormat',
+ 'TextFieldType', 'TextFieldAutoSize', 'TextField', 'TextEvent',
+ 'TextDisplayMode', 'TextColorType', 'System', 'SyntaxError',
+ 'SyncEvent', 'StyleSheet', 'String', 'StatusEvent', 'StaticText',
+ 'StageScaleMode', 'StageQuality', 'StageAlign', 'Stage',
+ 'StackOverflowError', 'Sprite', 'SpreadMethod', 'SoundTransform',
+ 'SoundMixer', 'SoundLoaderContext', 'SoundChannel', 'Sound',
+ 'Socket', 'SimpleButton', 'SharedObjectFlushStatus', 'SharedObject',
+ 'Shape', 'SecurityPanel', 'SecurityErrorEvent', 'SecurityError',
+ 'SecurityDomain', 'Security', 'ScriptTimeoutError', 'Scene',
+ 'SWFVersion', 'Responder', 'RegExp', 'ReferenceError', 'Rectangle',
+ 'RangeError', 'QName', 'Proxy', 'ProgressEvent',
+ 'PrintJobOrientation', 'PrintJobOptions', 'PrintJob', 'Point',
+ 'PixelSnapping', 'ObjectEncoding', 'Object', 'Number', 'NetStream',
+ 'NetStatusEvent', 'NetConnection', 'Namespace', 'MovieClip',
+ 'MouseEvent', 'Mouse', 'MorphShape', 'Microphone', 'MemoryError',
+ 'Matrix', 'Math', 'LocalConnection', 'LoaderInfo', 'LoaderContext',
+ 'Loader', 'LineScaleMode', 'KeyboardEvent', 'Keyboard',
+ 'KeyLocation', 'JointStyle', 'InvalidSWFError',
+ 'InterpolationMethod', 'InteractiveObject', 'IllegalOperationError',
+ 'IOErrorEvent', 'IOError', 'IMEEvent', 'IMEConversionMode', 'IME',
+ 'IExternalizable', 'IEventDispatcher', 'IDynamicPropertyWriter',
+ 'IDynamicPropertyOutput', 'IDataOutput', 'IDataInput', 'ID3Info',
+ 'IBitmapDrawable', 'HTTPStatusEvent', 'GridFitType', 'Graphics',
+ 'GradientType', 'GradientGlowFilter', 'GradientBevelFilter',
+ 'GlowFilter', 'Function', 'FrameLabel', 'FontType', 'FontStyle',
+ 'Font', 'FocusEvent', 'FileReferenceList', 'FileReference',
+ 'FileFilter', 'ExternalInterface', 'EventPhase', 'EventDispatcher',
+ 'Event', 'EvalError', 'ErrorEvent', 'Error', 'Endian', 'EOFError',
+ 'DropShadowFilter', 'DisplayObjectContainer', 'DisplayObject',
+ 'DisplacementMapFilterMode', 'DisplacementMapFilter', 'Dictionary',
+ 'DefinitionError', 'Date', 'DataEvent', 'ConvolutionFilter',
+ 'ContextMenuItem', 'ContextMenuEvent', 'ContextMenuBuiltInItems',
+ 'ContextMenu', 'ColorTransform', 'ColorMatrixFilter', 'Class',
+ 'CapsStyle', 'Capabilities', 'Camera', 'CSMSettings', 'ByteArray',
+ 'Boolean', 'BlurFilter', 'BlendMode', 'BitmapFilterType',
+ 'BitmapFilterQuality', 'BitmapFilter', 'BitmapDataChannel',
+ 'BitmapData', 'Bitmap', 'BevelFilter', 'AsyncErrorEvent', 'Array',
+ 'ArgumentError', 'ApplicationDomain', 'AntiAliasType',
+ 'ActivityEvent', 'ActionScriptVersion', 'AccessibilityProperties',
+ 'Accessibility', 'AVM1Movie'
+ )
+ ),
+ '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: #0033ff; font-weight: bold;',
+ 2 => 'color: #6699cc; font-weight: bold;',
+ 3 => 'color: #339966; font-weight: bold;',
+ 4 => 'color: #9900cc; font-weight: bold;',
+ 5 => 'color: #004993;',
+ 6 => 'color: #004993;',
+ 7 => 'color: #004993;',
+ 8 => 'color: #004993;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #009900; font-style: italic;',
+ 2 => 'color: #009966; font-style: italic;',
+ 'MULTI' => 'color: #3f5fbf;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #990000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000000; font-weight:bold;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #000000;',
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => 'http://www.google.com/search?q={FNAMEL}%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:{FNAMEL}.html',
+ 6 => '',
+ 7 => '',
+ 8 => ''
+ ),
+ 'OOLANG' => false,//Save some time as OO identifiers aren't used
+ 'OBJECT_SPLITTERS' => array(
+ // commented out because it's not very relevant for AS, as all properties, methods and constants are dot-accessed.
+ // I believe it's preferable to have package highlighting for example, which is not possible with this enabled.
+ // 0 => '.'
+ ),
+ '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/ada.php b/application/libraries/geshi/ada.php
new file mode 100644
index 000000000..4c112f0db
--- /dev/null
+++ b/application/libraries/geshi/ada.php
@@ -0,0 +1,135 @@
+<?php
+/*************************************************************************************
+ * ada.php
+ * -------
+ * 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
+ * Date Started: 2004/07/29
+ *
+ * Ada language file for GeSHi.
+ * Words are from SciTe configuration file
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.2)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ * - Removed apostrophe as string delimiter
+ * - Added URL support
+ * 2004/08/05 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Ada',
+ 'COMMENT_SINGLE' => array(1 => '--'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'begin', 'declare', 'do', 'else', 'elsif', 'exception', 'for', 'if',
+ 'is', 'loop', 'while', 'then', 'end', 'select', 'case', 'until',
+ 'goto', 'return'
+ ),
+ 2 => array(
+ 'abs', 'and', 'at', 'mod', 'not', 'or', 'rem', 'xor'
+ ),
+ 3 => array(
+ 'abort', 'abstract', 'accept', 'access', 'aliased', 'all', 'array',
+ 'body', 'constant', 'delay', 'delta', 'digits', 'entry', 'exit',
+ 'function', 'generic', 'in', 'interface', 'limited', 'new', 'null',
+ 'of', 'others', 'out', 'overriding', 'package', 'pragma', 'private',
+ 'procedure', 'protected', 'raise', 'range', 'record', 'renames',
+ 'requeue', 'reverse', 'separate', 'subtype', 'synchronized',
+ 'tagged', 'task', 'terminate', 'type', 'use', 'when', 'with'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #00007f;',
+ 2 => 'color: #0000ff;',
+ 3 => 'color: #46aa03; font-weight:bold;',
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #adadad; font-style: italic;',
+ 'MULTI' => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #7f007f;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #202020;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ '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/apache.php b/application/libraries/geshi/apache.php
new file mode 100644
index 000000000..a5b651bb6
--- /dev/null
+++ b/application/libraries/geshi/apache.php
@@ -0,0 +1,480 @@
+<?php
+/*************************************************************************************
+ * apache.php
+ * ----------
+ * 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
+ * Date Started: 2004/29/07
+ *
+ * Apache language file for GeSHi.
+ * Words are from SciTe configuration file
+ *
+ * CHANGES
+ * -------
+ * 2008/17/06 (1.0.8)
+ * - Added support for apache configuration sections (milian)
+ * - Added missing php keywords (milian)
+ * - Added some more keywords
+ * - Disabled highlighting of brackets by default
+ * 2004/11/27 (1.0.2)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ * - Added support for URLs
+ * 2004/08/05 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/07/29)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Apache configuration',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ /*keywords*/
+ 1 => array(
+ //core.c
+ 'AcceptFilter','AcceptPathInfo','AccessConfig','AccessFileName',
+ 'AddDefaultCharset','AddOutputFilterByType','AllowEncodedSlashes',
+ 'AllowOverride','AuthName','AuthType','ContentDigest',
+ 'CoreDumpDirectory','DefaultType','DocumentRoot','EnableMMAP',
+ 'EnableSendfile','ErrorDocument','ErrorLog','FileETag','ForceType',
+ 'HostnameLookups','Include','LimitInternalRecursion',
+ 'LimitRequestBody','LimitRequestFields','LimitRequestFieldsize',
+ 'LimitRequestLine','LimitXMLRequestBody','LogLevel','MaxMemFree',
+ 'MaxRequestsPerChild','NameVirtualHost','Options','PidFile','Port',
+ 'Protocol','Require','RLimitCPU','RLimitMEM','RLimitNPROC',
+ 'Satisfy','ScoreBoardFile','ServerAdmin','ServerAlias','ServerName',
+ 'ServerPath','ServerRoot','ServerSignature','ServerTokens',
+ 'SetHandler','SetInputFilter','SetOutputFilter','ThreadStackSize',
+ 'Timeout','TraceEnable','UseCanonicalName',
+ 'UseCanonicalPhysicalPort',
+
+ //http_core.c
+ 'KeepAlive','KeepAliveTimeout','MaxKeepAliveRequests',
+
+ //mod_actions.c
+ 'Action','Script',
+
+ //mod_alias.c
+ 'Alias','AliasMatch','Redirect','RedirectMatch','RedirectPermanent',
+ 'RedirectTemp','ScriptAlias','ScriptAliasMatch',
+
+ //mod_asis.c
+
+ //mod_auth_basic.c
+ 'AuthBasicAuthoritative','AuthBasicProvider',
+
+ //mod_auth_digest.c
+ 'AuthDigestAlgorithm','AuthDigestDomain','AuthDigestNcCheck',
+ 'AuthDigestNonceFormat','AuthDigestNonceLifetime',
+ 'AuthDigestProvider','AuthDigestQop','AuthDigestShmemSize',
+
+ //mod_authn_alias.c
+
+ //mod_authn_anon.c
+ 'Anonymous','Anonymous_LogEmail','Anonymous_MustGiveEmail',
+ 'Anonymous_NoUserId','Anonymous_VerifyEmail',
+
+ //mod_authn_dbd.c
+ 'AuthDBDUserPWQuery','AuthDBDUserRealmQuery',
+
+ //mod_authn_dbm.c
+ 'AuthDBMType','AuthDBMUserFile',
+
+ //mod_authn_default.c
+ 'AuthDefaultAuthoritative',
+
+ //mod_authn_file.c
+ 'AuthUserFile',
+
+ //mod_authnz_ldap.c
+ 'AuthLDAPBindDN','AuthLDAPBindPassword','AuthLDAPCharsetConfig',
+ 'AuthLDAPCompareDNOnServer','AuthLDAPDereferenceAliases',
+ 'AuthLDAPGroupAttribute','AuthLDAPGroupAttributeIsDN',
+ 'AuthLDAPRemoteUserAttribute','AuthLDAPRemoteUserIsDN',
+ 'AuthLDAPURL','AuthzLDAPAuthoritative',
+
+ //mod_authz_dbm.c
+ 'AuthDBMGroupFile','AuthzDBMAuthoritative','AuthzDBMType',
+
+ //mod_authz_default.c
+ 'AuthzDefaultAuthoritative',
+
+ //mod_authz_groupfile.c
+ 'AuthGroupFile','AuthzGroupFileAuthoritative',
+
+ //mod_authz_host.c
+ 'Allow','Deny','Order',
+
+ //mod_authz_owner.c
+ 'AuthzOwnerAuthoritative',
+
+ //mod_authz_svn.c
+ 'AuthzForceUsernameCase','AuthzSVNAccessFile','AuthzSVNAnonymous',
+ 'AuthzSVNAuthoritative','AuthzSVNNoAuthWhenAnonymousAllowed',
+
+ //mod_authz_user.c
+ 'AuthzUserAuthoritative',
+
+ //mod_autoindex.c
+ 'AddAlt','AddAltByEncoding','AddAltByType','AddDescription',
+ 'AddIcon','AddIconByEncoding','AddIconByType','DefaultIcon',
+ 'FancyIndexing','HeaderName','IndexHeadInsert','IndexIgnore',
+ 'IndexOptions','IndexOrderDefault','IndexStyleSheet','ReadmeName',
+
+ //mod_bt.c
+ 'Tracker','TrackerDetailURL','TrackerFlags','TrackerHashMaxAge',
+ 'TrackerHashMinAge','TrackerHashWatermark','TrackerHome',
+ 'TrackerReturnInterval','TrackerReturnMax',
+ 'TrackerReturnPeerFactor','TrackerReturnPeers','TrackerRootInclude',
+ 'TrackerStyleSheet',
+
+ //mod_bw.c
+ 'BandWidth','BandWidthError','BandWidthModule','BandWidthPacket',
+ 'ForceBandWidthModule','LargeFileLimit','MaxConnection',
+ 'MinBandWidth',
+
+ //mod_cache.c
+ 'CacheDefaultExpire','CacheDisable','CacheEnable',
+ 'CacheIgnoreCacheControl','CacheIgnoreHeaders',
+ 'CacheIgnoreNoLastMod','CacheIgnoreQueryString',
+ 'CacheLastModifiedFactor','CacheMaxExpire','CacheStoreNoStore',
+ 'CacheStorePrivate',
+
+ //mod_cern_meta.c
+ 'MetaDir','MetaFiles','MetaSuffix',
+
+ //mod_cgi.c
+ 'ScriptLog','ScriptLogBuffer','ScriptLogLength',
+
+ //mod_charset_lite.c
+ 'CharsetDefault','CharsetOptions','CharsetSourceEnc',
+
+ //mod_dav.c
+ 'DAV','DAVDepthInfinity','DAVMinTimeout',
+
+ //mod_dav_fs.c
+ 'DAVLockDB',
+
+ //mod_dav_lock.c
+ 'DAVGenericLockDB',
+
+ //mod_dav_svn.c
+ 'SVNActivitiesDB','SVNAllowBulkUpdates','SVNAutoversioning',
+ 'SVNIndexXSLT','SVNListParentPath','SVNMasterURI','SVNParentPath',
+ 'SVNPath','SVNPathAuthz','SVNReposName','SVNSpecialURI',
+
+ //mod_dbd.c
+ 'DBDExptime','DBDKeep','DBDMax','DBDMin','DBDParams','DBDPersist',
+ 'DBDPrepareSQL','DBDriver',
+
+ //mod_deflate.c
+ 'DeflateBufferSize','DeflateCompressionLevel','DeflateFilterNote',
+ 'DeflateMemLevel','DeflateWindowSize',
+
+ //mod_dir.c
+ 'DirectoryIndex','DirectorySlash',
+
+ //mod_disk_cache.c
+ 'CacheDirLength','CacheDirLevels','CacheMaxFileSize',
+ 'CacheMinFileSize','CacheRoot',
+
+ //mod_dumpio.c
+ 'DumpIOInput','DumpIOLogLevel','DumpIOOutput',
+
+ //mod_env.c
+ 'PassEnv','SetEnv','UnsetEnv',
+
+ //mod_expires.c
+ 'ExpiresActive','ExpiresByType','ExpiresDefault',
+
+ //mod_ext_filter.c
+ 'ExtFilterDefine','ExtFilterOptions',
+
+ //mod_file_cache.c
+ 'cachefile','mmapfile',
+
+ //mod_filter.c
+ 'FilterChain','FilterDeclare','FilterProtocol','FilterProvider',
+ 'FilterTrace',
+
+ //mod_gnutls.c
+ 'GnuTLSCache','GnuTLSCacheTimeout','GnuTLSCertificateFile',
+ 'GnuTLSKeyFile','GnuTLSPGPCertificateFile','GnuTLSPGPKeyFile',
+ 'GnuTLSClientVerify','GnuTLSClientCAFile','GnuTLSPGPKeyringFile',
+ 'GnuTLSEnable','GnuTLSDHFile','GnuTLSRSAFile','GnuTLSSRPPasswdFile',
+ 'GnuTLSSRPPasswdConfFile','GnuTLSPriorities',
+ 'GnuTLSExportCertificates',
+
+ //mod_headers.c
+ 'Header','RequestHeader',
+
+ //mod_imagemap.c
+ 'ImapBase','ImapDefault','ImapMenu',
+
+ //mod_include.c
+ 'SSIAccessEnable','SSIEndTag','SSIErrorMsg','SSIStartTag',
+ 'SSITimeFormat','SSIUndefinedEcho','XBitHack',
+
+ //mod_ident.c
+ 'IdentityCheck','IdentityCheckTimeout',
+
+ //mod_info.c
+ 'AddModuleInfo',
+
+ //mod_isapi.c
+ 'ISAPIAppendLogToErrors','ISAPIAppendLogToQuery','ISAPICacheFile',
+ 'ISAPIFakeAsync','ISAPILogNotSupported','ISAPIReadAheadBuffer',
+
+ //mod_log_config.c
+ 'BufferedLogs','CookieLog','CustomLog','LogFormat','TransferLog',
+
+ //mod_log_forensic.c
+ 'ForensicLog',
+
+ //mod_log_rotate.c
+ 'RotateInterval','RotateLogs','RotateLogsLocalTime',
+
+ //mod_logio.c
+
+ //mod_mem_cache.c
+ 'MCacheMaxObjectCount','MCacheMaxObjectSize',
+ 'MCacheMaxStreamingBuffer','MCacheMinObjectSize',
+ 'MCacheRemovalAlgorithm','MCacheSize',
+
+ //mod_mime.c
+ 'AddCharset','AddEncoding','AddHandler','AddInputFilter',
+ 'AddLanguage','AddOutputFilter','AddType','DefaultLanguage',
+ 'ModMimeUsePathInfo','MultiviewsMatch','RemoveCharset',
+ 'RemoveEncoding','RemoveHandler','RemoveInputFilter',
+ 'RemoveLanguage','RemoveOutputFilter','RemoveType','TypesConfig',
+
+ //mod_mime_magic.c
+ 'MimeMagicFile',
+
+ //mod_negotiation.c
+ 'CacheNegotiatedDocs','ForceLanguagePriority','LanguagePriority',
+
+ //mod_php5.c
+ 'php_admin_flag','php_admin_value','php_flag','php_value',
+ 'PHPINIDir',
+
+ //mod_proxy.c
+ 'AllowCONNECT','BalancerMember','NoProxy','ProxyBadHeader',
+ 'ProxyBlock','ProxyDomain','ProxyErrorOverride',
+ 'ProxyFtpDirCharset','ProxyIOBufferSize','ProxyMaxForwards',
+ 'ProxyPass','ProxyPassInterpolateEnv','ProxyPassMatch',
+ 'ProxyPassReverse','ProxyPassReverseCookieDomain',
+ 'ProxyPassReverseCookiePath','ProxyPreserveHost',
+ 'ProxyReceiveBufferSize','ProxyRemote','ProxyRemoteMatch',
+ 'ProxyRequests','ProxySet','ProxyStatus','ProxyTimeout','ProxyVia',
+
+ //mod_proxy_ajp.c
+
+ //mod_proxy_balancer.c
+
+ //mod_proxy_connect.c
+
+ //mod_proxy_ftp.c
+
+ //mod_proxy_http.c
+
+ //mod_rewrite.c
+ 'RewriteBase','RewriteCond','RewriteEngine','RewriteLock',
+ 'RewriteLog','RewriteLogLevel','RewriteMap','RewriteOptions',
+ 'RewriteRule',
+
+ //mod_setenvif.c
+ 'BrowserMatch','BrowserMatchNoCase','SetEnvIf','SetEnvIfNoCase',
+
+ //mod_so.c
+ 'LoadFile','LoadModule',
+
+ //mod_speling.c
+ 'CheckCaseOnly','CheckSpelling',
+
+ //mod_ssl.c
+ 'SSLCACertificateFile','SSLCACertificatePath','SSLCADNRequestFile',
+ 'SSLCADNRequestPath','SSLCARevocationFile','SSLCARevocationPath',
+ 'SSLCertificateChainFile','SSLCertificateFile',
+ 'SSLCertificateKeyFile','SSLCipherSuite','SSLCryptoDevice',
+ 'SSLEngine','SSLHonorCipherOrder','SSLMutex','SSLOptions',
+ 'SSLPassPhraseDialog','SSLProtocol','SSLProxyCACertificateFile',
+ 'SSLProxyCACertificatePath','SSLProxyCARevocationFile',
+ 'SSLProxyCARevocationPath','SSLProxyCipherSuite','SSLProxyEngine',
+ 'SSLProxyMachineCertificateFile','SSLProxyMachineCertificatePath',
+ 'SSLProxyProtocol','SSLProxyVerify','SSLProxyVerifyDepth',
+ 'SSLRandomSeed','SSLRenegBufferSize','SSLRequire','SSLRequireSSL',
+ 'SSLSessionCache','SSLSessionCacheTimeout','SSLUserName',
+ 'SSLVerifyClient','SSLVerifyDepth',
+
+ //mod_status.c
+ 'ExtendedStatus','SeeRequestTail',
+
+ //mod_substitute.c
+ 'Substitute',
+
+ //mod_suexec.c
+ 'SuexecUserGroup',
+
+ //mod_unique_id.c
+
+ //mod_userdir.c
+ 'UserDir',
+
+ //mod_usertrack.c
+ 'CookieDomain','CookieExpires','CookieName','CookieStyle',
+ 'CookieTracking',
+
+ //mod_version.c
+
+ //mod_vhost_alias.c
+ 'VirtualDocumentRoot','VirtualDocumentRootIP',
+ 'VirtualScriptAlias','VirtualScriptAliasIP',
+
+ //mod_view.c
+ 'ViewEnable',
+
+ //mod_win32.c
+ 'ScriptInterpreterSource',
+
+ //mpm_winnt.c
+ 'Listen','ListenBacklog','ReceiveBufferSize','SendBufferSize',
+ 'ThreadLimit','ThreadsPerChild','Win32DisableAcceptEx',
+
+ //mpm_common.c
+ 'AcceptMutex','AddModule','ClearModuleList','EnableExceptionHook',
+ 'Group','LockFile','MaxClients','MaxSpareServers','MaxSpareThreads',
+ 'MinSpareServers','MinSpareThreads','ServerLimit','StartServers',
+ 'StartThreads','User',
+
+ //util_ldap.c
+ 'LDAPCacheEntries','LDAPCacheTTL','LDAPConnectionTimeout',
+ 'LDAPOpCacheEntries','LDAPOpCacheTTL','LDAPSharedCacheFile',
+ 'LDAPSharedCacheSize','LDAPTrustedClientCert',
+ 'LDAPTrustedGlobalCert','LDAPTrustedMode','LDAPVerifyServerCert',
+
+ //Unknown Mods ...
+ 'AgentLog','BindAddress','bs2000account','CacheForceCompletion',
+ 'CacheGCInterval','CacheSize','NoCache','qsc','RefererIgnore',
+ 'RefererLog','Resourceconfig','ServerType','SingleListen'
+ ),
+ /*keywords 2*/
+ 2 => array(
+ 'all','on','off','standalone','inetd','indexes',
+ 'force-response-1.0','downgrade-1.0','nokeepalive',
+ 'includes','followsymlinks','none',
+ 'x-compress','x-gzip'
+ ),
+ /*keywords 3*/
+ 3 => array(
+ //core.c
+ 'Directory','DirectoryMatch','Files','FilesMatch','IfDefine',
+ 'IfModule','Limit','LimitExcept','Location','LocationMatch',
+ 'VirtualHost',
+
+ //mod_authn_alias.c
+ 'AuthnProviderAlias',
+
+ //mod_proxy.c
+ 'Proxy','ProxyMatch',
+
+ //mod_version.c
+ 'IfVersion'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '+', '-'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #00007f;',
+ 2 => 'color: #0000ff;',
+ 3 => 'color: #000000; 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 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ '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(
+ 3 => array(
+ 'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+ 'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/applescript.php b/application/libraries/geshi/applescript.php
new file mode 100644
index 000000000..8a07d00b5
--- /dev/null
+++ b/application/libraries/geshi/applescript.php
@@ -0,0 +1,157 @@
+<?php
+/*************************************************************************************
+ * applescript.php
+ * --------
+ * Author: Stephan Klimek (http://www.initware.org)
+ * Copyright: Stephan Klimek (http://www.initware.org)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/07/20
+ *
+ * AppleScript language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ *
+ * TODO
+ * -------------------------
+ * URL settings to references
+ *
+ **************************************************************************************
+ *
+ * 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' => 'AppleScript',
+ 'COMMENT_SINGLE' => array(1 => '--'),
+ 'COMMENT_MULTI' => array( '(*' => '*)'),
+ 'COMMENT_REGEXP' => array(
+ 2 => '/(?<=[a-z])\'/i',
+ 3 => '/(?<![a-z])\'.*?\'/i',
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'application','close','count','delete','duplicate','exists','launch','make','move','open',
+ 'print','quit','reopen','run','save','saving', 'idle', 'path to', 'number', 'alias', 'list', 'text', 'string',
+ 'integer', 'it','me','version','pi','result','space','tab','anything','case','diacriticals','expansion',
+ 'hyphens','punctuation','bold','condensed','expanded','hidden','italic','outline','plain',
+ 'shadow','strikethrough','subscript','superscript','underline','ask','no','yes','false', 'id',
+ 'true','weekday','monday','mon','tuesday','tue','wednesday','wed','thursday','thu','friday',
+ 'fri','saturday','sat','sunday','sun','month','january','jan','february','feb','march',
+ 'mar','april','apr','may','june','jun','july','jul','august','aug','september', 'quote', 'do JavaScript',
+ 'sep','october','oct','november','nov','december','dec','minutes','hours', 'name', 'default answer',
+ 'days','weeks', 'folder', 'folders', 'file', 'files', 'window', 'eject', 'disk', 'reveal', 'sleep',
+ 'shut down', 'restart', 'display dialog', 'buttons', 'invisibles', 'item', 'items', 'delimiters', 'offset of',
+ 'AppleScript\'s', 'choose file', 'choose folder', 'choose from list', 'beep', 'contents', 'do shell script',
+ 'paragraph', 'paragraphs', 'missing value', 'quoted form', 'desktop', 'POSIX path', 'POSIX file',
+ 'activate', 'document', 'adding', 'receiving', 'content', 'new', 'properties', 'info for', 'bounds',
+ 'selection', 'extension', 'into', 'onto', 'by', 'between', 'against', 'set the clipboard to', 'the clipboard'
+ ),
+ 2 => array(
+ 'each','some','every','whose','where','index','first','second','third','fourth',
+ 'fifth','sixth','seventh','eighth','ninth','tenth','last','front','back','st','nd',
+ 'rd','th','middle','named','through','thru','before','after','beginning','the', 'as',
+ 'div','mod','and','not','or','contains','equal','equals','isnt', 'less', 'greater'
+ ),
+ 3 => array(
+ 'script','property','prop','end','to','set','global','local','on','of',
+ 'in','given','with','without','return','continue','tell','if','then','else','repeat',
+ 'times','while','until','from','exit','try','error','considering','ignoring','timeout',
+ 'transaction','my','get','put','is', 'copy'
+ )
+ ),
+ 'SYMBOLS' => array(
+ ')','+','-','^','*','/','&','<','>=','<','<=','=','�'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0066ff;',
+ 2 => 'color: #ff0033;',
+ 3 => 'color: #ff0033; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => '',
+ 3 => 'color: #ff0000;',
+ 'MULTI' => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000000; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #009900;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #339933;',
+ 4 => 'color: #0066ff;',
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => ',+-=&lt;&gt;/?^&amp;*'
+ ),
+ 'REGEXPS' => array(
+ //Variables
+ 0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
+ //File descriptors
+ 4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'SPACE_AS_WHITESPACE' => true
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/apt_sources.php b/application/libraries/geshi/apt_sources.php
new file mode 100644
index 000000000..fe1711fdd
--- /dev/null
+++ b/application/libraries/geshi/apt_sources.php
@@ -0,0 +1,144 @@
+<?php
+/*************************************************************************************
+ * apt_sources.php
+ * ----------
+ * Author: Milian Wolff (mail@milianw.de)
+ * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/06/17
+ *
+ * Apt sources.list language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/06/17 (1.0.8)
+ * - Initial import
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Apt sources',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ /*keywords*/
+ 1 => array(
+ 'deb-src', 'deb'
+ ),
+ 2 => array(
+ //Generic
+ 'stable', 'old-stable', 'testing', 'testing-proposed-updates',
+ 'unstable', 'unstable-proposed-updates', 'experimental',
+ 'non-US', 'security', 'volatile', 'volatile-sloppy',
+ 'apt-build',
+ 'stable/updates',
+ //Debian
+ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', 'woody', 'sarge',
+ 'etch', 'lenny', 'sid',
+ //Ubuntu
+ 'warty', 'warty-updates', 'warty-security', 'warty-proposed', 'warty-backports',
+ 'hoary', 'hoary-updates', 'hoary-security', 'hoary-proposed', 'hoary-backports',
+ 'breezy', 'breezy-updates', 'breezy-security', 'breezy-proposed', 'breezy-backports',
+ 'dapper', 'dapper-updates', 'dapper-security', 'dapper-proposed', 'dapper-backports',
+ 'edgy', 'edgy-updates', 'edgy-security', 'edgy-proposed', 'edgy-backports',
+ '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'
+ ),
+ 3 => array(
+ 'main', 'restricted', 'preview', 'contrib', 'non-free',
+ 'commercial', 'universe', 'multiverse'
+ )
+ ),
+ 'REGEXPS' => array(
+ 0 => "(((http|ftp):\/\/|file:\/)[^\s]+)|(cdrom:\[[^\]]*\][^\s]*)",
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => true,
+ 3 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #00007f;',
+ 2 => 'color: #b1b100;',
+ 3 => 'color: #b16000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #adadad; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'BRACKETS' => array(
+ ),
+ 'STRINGS' => array(
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #009900;',
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'ENABLE_FLAGS' => array(
+ 'NUMBERS' => GESHI_NEVER,
+ 'METHODS' => GESHI_NEVER,
+ 'SCRIPT' => GESHI_NEVER,
+ 'SYMBOLS' => GESHI_NEVER,
+ 'ESCAPE_CHAR' => GESHI_NEVER,
+ 'BRACKETS' => GESHI_NEVER,
+ 'STRINGS' => GESHI_NEVER,
+ ),
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#;>|^\/])',
+ 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\.])'
+ )
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/asm.php b/application/libraries/geshi/asm.php
new file mode 100644
index 000000000..49699b900
--- /dev/null
+++ b/application/libraries/geshi/asm.php
@@ -0,0 +1,225 @@
+<?php
+/*************************************************************************************
+ * asm.php
+ * -------
+ * 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
+ * Date Started: 2004/07/27
+ *
+ * x86 Assembler language file for GeSHi.
+ * Words are from SciTe configuration file (based on NASM syntax)
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/11/27 (1.0.2)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ * - Added support for URLs
+ * - Added binary and hexadecimal regexps
+ * 2004/08/05 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'ASM',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ //Line address prefix suppression
+ 'COMMENT_REGEXP' => array(2 => "/^(?:[0-9a-f]{0,4}:)?[0-9a-f]{4}(?:[0-9a-f]{4})?/mi"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ /*CPU*/
+ 1 => array(
+ 'aaa','aad','aam','aas','adc','add','and','call','cbw','clc','cld','cli','cmc','cmp',
+ 'cmps','cmpsb','cmpsw','cwd','daa','das','dec','div','esc','hlt','idiv','imul','in','inc',
+ 'int','into','iret','ja','jae','jb','jbe','jc','jcxz','je','jg','jge','jl','jle','jmp',
+ 'jna','jnae','jnb','jnbe','jnc','jne','jng','jnge','jnl','jnle','jno','jnp','jns','jnz',
+ 'jo','jp','jpe','jpo','js','jz','lahf','lds','lea','les','lods','lodsb','lodsw','loop',
+ 'loope','loopew','loopne','loopnew','loopnz','loopnzw','loopw','loopz','loopzw','mov',
+ 'movs','movsb','movsw','mul','neg','nop','not','or','out','pop','popf','push','pushf',
+ 'rcl','rcr','ret','retf','retn','rol','ror','sahf','sal','sar','sbb','scas','scasb','scasw',
+ 'shl','shr','stc','std','sti','stos','stosb','stosw','sub','test','wait','xchg','xlat',
+ 'xlatb','xor','bound','enter','ins','insb','insw','leave','outs','outsb','outsw','popa','pusha','pushw',
+ 'arpl','lar','lsl','sgdt','sidt','sldt','smsw','str','verr','verw','clts','lgdt','lidt','lldt','lmsw','ltr',
+ 'bsf','bsr','bt','btc','btr','bts','cdq','cmpsd','cwde','insd','iretd','iretdf','iretf',
+ 'jecxz','lfs','lgs','lodsd','loopd','looped','loopned','loopnzd','loopzd','lss','movsd',
+ 'movsx','movzx','outsd','popad','popfd','pushad','pushd','pushfd','scasd','seta','setae',
+ 'setb','setbe','setc','sete','setg','setge','setl','setle','setna','setnae','setnb','setnbe',
+ 'setnc','setne','setng','setnge','setnl','setnle','setno','setnp','setns','setnz','seto','setp',
+ 'setpe','setpo','sets','setz','shld','shrd','stosd','bswap','cmpxchg','invd','invlpg','wbinvd','xadd','lock',
+ 'rep','repe','repne','repnz','repz'
+ ),
+ /*FPU*/
+ 2 => array(
+ 'f2xm1','fabs','fadd','faddp','fbld','fbstp','fchs','fclex','fcom','fcomp','fcompp','fdecstp',
+ 'fdisi','fdiv','fdivp','fdivr','fdivrp','feni','ffree','fiadd','ficom','ficomp','fidiv',
+ 'fidivr','fild','fimul','fincstp','finit','fist','fistp','fisub','fisubr','fld','fld1',
+ 'fldcw','fldenv','fldenvw','fldl2e','fldl2t','fldlg2','fldln2','fldpi','fldz','fmul',
+ 'fmulp','fnclex','fndisi','fneni','fninit','fnop','fnsave','fnsavew','fnstcw','fnstenv',
+ 'fnstenvw','fnstsw','fpatan','fprem','fptan','frndint','frstor','frstorw','fsave',
+ 'fsavew','fscale','fsqrt','fst','fstcw','fstenv','fstenvw','fstp','fstsw','fsub','fsubp',
+ 'fsubr','fsubrp','ftst','fwait','fxam','fxch','fxtract','fyl2x','fyl2xp1',
+ 'fsetpm','fcos','fldenvd','fnsaved','fnstenvd','fprem1','frstord','fsaved','fsin','fsincos',
+ 'fstenvd','fucom','fucomp','fucompp'
+ ),
+ /*registers*/
+ 3 => array(
+ 'ah','al','ax','bh','bl','bp','bx','ch','cl','cr0','cr2','cr3','cs','cx','dh','di','dl',
+ 'dr0','dr1','dr2','dr3','dr6','dr7','ds','dx','eax','ebp','ebx','ecx','edi','edx',
+ 'es','esi','esp','fs','gs','si','sp','ss','st','tr3','tr4','tr5','tr6','tr7'
+ ),
+ /*Directive*/
+ 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',
+ 'errdef','errdif','errdifi','erre','erridn','erridni','errnb','errndef',
+ 'errnz','exit','fardata','fardata?','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',
+ 'xlist','alias','align','assume','catstr','comm','comment','db','dd','df','dq',
+ 'dt','dup','dw','echo','elseif1','elseif2','elseifb','elseifdef','elseifdif',
+ 'elseifdifi','elseife','elseifidn','elseifidni','elseifnb','elseifndef','end',
+ 'endm','endp','ends','eq',' equ','even','exitm','extern','externdef','extrn','for',
+ 'forc','ge','goto','group','high','highword','if1','if2','ifb','ifdef','ifdif',
+ 'ifdifi','ife',' ifidn','ifidni','ifnb','ifndef','include','includelib','instr','invoke',
+ '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',
+ 'substr','subtitle','subttl','textequ','this','title','typedef','union','width',
+ '.model', '.stack', '.code', '.data'
+ ),
+ /*Operands*/
+ 5 => array(
+ '@b','@f','addr','basic','byte','c','carry?','dword',
+ 'far','far16','fortran','fword','near','near16','overflow?','parity?','pascal','qword',
+ 'real4',' real8','real10','sbyte','sdword','sign?','stdcall','sword','syscall','tbyte',
+ 'vararg','word','zero?','flat','near32','far32',
+ 'abs','all','assumes','at','casemap','common','compact',
+ 'cpu','dotname','emulator','epilogue','error','export','expr16','expr32','farstack',
+ 'forceframe','huge','language','large','listing','ljmp','loadds','m510','medium','memory',
+ 'nearstack','nodotname','noemulator','nokeyword','noljmp','nom510','none','nonunique',
+ 'nooldmacros','nooldstructs','noreadonly','noscoped','nosignextend','nothing',
+ 'notpublic','oldmacros','oldstructs','os_dos','para','prologue',
+ 'readonly','req','scoped','setif2','smallstack','tiny','use16','use32','uses'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '(', ')',
+ '+', '-', '*', '/', '%',
+ '.', ',', ';', ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #00007f; font-weight: bold;',
+ 2 => 'color: #0000ff; font-weight: bold;',
+ 3 => 'color: #00007f;',
+ 4 => 'color: #000000; font-weight: bold;',
+ 5 => 'color: #000000; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #adadad; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #009900; font-weight: bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #7f007f;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;'
+ ),
+ 'REGEXPS' => array(
+// 0 => 'color: #0000ff;',
+// 1 => 'color: #0000ff;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ ),
+ 'NUMBERS' =>
+ GESHI_NUMBER_BIN_PREFIX_PERCENT |
+ GESHI_NUMBER_BIN_SUFFIX |
+ GESHI_NUMBER_HEX_PREFIX |
+ GESHI_NUMBER_HEX_SUFFIX |
+ GESHI_NUMBER_OCT_SUFFIX |
+ GESHI_NUMBER_INT_BASIC |
+ GESHI_NUMBER_FLT_NONSCI |
+ GESHI_NUMBER_FLT_NONSCI_F |
+ GESHI_NUMBER_FLT_SCI_ZERO,
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Hex numbers
+// 0 => /* */ "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))(?:[0-9][0-9a-fA-F]{0,31}[hH]|0x[0-9a-fA-F]{1,32})(?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))",
+ //Binary numbers
+// 1 => "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))[01]{1,64}[bB](?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 8,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+ 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%])"
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/asp.php b/application/libraries/geshi/asp.php
new file mode 100644
index 000000000..6e799a802
--- /dev/null
+++ b/application/libraries/geshi/asp.php
@@ -0,0 +1,164 @@
+<?php
+/*************************************************************************************
+ * asp.php
+ * --------
+ * 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
+ * Date Started: 2004/08/13
+ *
+ * ASP language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/30 (1.0.3)
+ * - Strings only delimited by ", comments by '
+ * 2004/11/27 (1.0.2)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ * - Added support for URLs
+ * 2004/08/13 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Include all the functions, keywords etc that I have missed
+ *
+ *************************************************************************************
+ *
+ * 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' => 'ASP',
+ 'COMMENT_SINGLE' => array(1 => "'", 2 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'include', 'file', 'Const', 'Dim', 'Option', 'Explicit', 'Implicit', 'Set', 'Select', 'ReDim', 'Preserve',
+ 'ByVal', 'ByRef', 'End', 'Private', 'Public', 'If', 'Then', 'Else', 'ElseIf', 'Case', 'With', 'NOT',
+ 'While', 'Wend', 'For', 'Loop', 'Do', 'Request', 'Response', 'Server', 'ADODB', 'Session', 'Application',
+ 'Each', 'In', 'Get', 'Next', 'INT', 'CINT', 'CBOOL', 'CDATE', 'CBYTE', 'CCUR', 'CDBL', 'CLNG', 'CSNG',
+ 'CSTR', 'Fix', 'Is', 'Sgn', 'String', 'Boolean', 'Currency', 'Me', 'Single', 'Long', 'Integer', 'Byte',
+ 'Variant', 'Double', 'To', 'Let', 'Xor', 'Resume', 'On', 'Error', 'Imp', 'GoTo', 'Call', 'Global'
+ ),
+ 2 => array(
+ 'Null', 'Nothing', 'And',
+ 'False',
+ 'True', 'var', 'Or', 'BOF', 'EOF', 'xor',
+ 'Function', 'Class', 'New', 'Sub'
+ ),
+ 3 => array(
+ 'CreateObject', 'Write', 'Redirect', 'Cookies', 'BinaryRead', 'ClientCertificate', 'Form', 'QueryString',
+ 'ServerVariables', 'TotalBytes', 'AddHeader', 'AppendToLog', 'BinaryWrite', 'Buffer', 'CacheControl',
+ 'Charset', 'Clear', 'ContentType', 'End()', 'Expires', 'ExpiresAbsolute', 'Flush()', 'IsClientConnected',
+ 'PICS', 'Status', 'Connection', 'Recordset', 'Execute', 'Abandon', 'Lock', 'UnLock', 'Command', 'Fields',
+ 'Properties', 'Property', 'Send', 'Replace', 'InStr', 'TRIM', 'NOW', 'Day', 'Month', 'Hour', 'Minute', 'Second',
+ 'Year', 'MonthName', 'LCase', 'UCase', 'Abs', 'Array', 'As', 'LEN', 'MoveFirst', 'MoveLast', 'MovePrevious',
+ 'MoveNext', 'LBound', 'UBound', 'Transfer', 'Open', 'Close', 'MapPath', 'FileExists', 'OpenTextFile', 'ReadAll'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 1 => array(
+ '<%', '%>'
+ ),
+ 0 => array(
+ '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>',
+ ';', ':', '?', '='),
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #990099; font-weight: bold;',
+ 2 => 'color: #0000ff; font-weight: bold;',
+ 3 => 'color: #330066;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000;',
+ 2 => 'color: #ff6600;',
+ 'MULTI' => 'color: #008000;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #006600; font-weight:bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #cc0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #800000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #9900cc;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #006600; font-weight: bold;',
+ 1 => 'color: #000000; font-weight: bold;'
+ ),
+ '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(
+ '<script language="vbscript" runat="server">' => '</script>'
+ ),
+ 2 => array(
+ '<script language="javascript" runat="server">' => '</script>'
+ ),
+ 3 => "/(?P<start><%=?)(?:\"[^\"]*?\"|\/\*(?!\*\/).*?\*\/|.)*?(?P<end>%>|\Z)/sm"
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/autohotkey.php b/application/libraries/geshi/autohotkey.php
new file mode 100644
index 000000000..1a6346340
--- /dev/null
+++ b/application/libraries/geshi/autohotkey.php
@@ -0,0 +1,373 @@
+<?php
+/*************************************************************************************
+ * autohotkey.php
+ * --------
+ * Author: Naveen Garg (naveen.garg@gmail.com)
+ * Copyright: (c) 2009 Naveen Garg and GeSHi
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/06/11
+ *
+ * Autohotkey language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * Release 1.0.8.5 (2009/06/11)
+ * - First Release
+ *
+ * TODO
+ * ----
+ * Reference: http://www.autohotkey.com/docs/
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Autohotkey',
+ 'COMMENT_SINGLE' => array(
+ 1 => ';'
+ ),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'while','if','and','or','else','return'
+ ),
+ 2 => array(
+ // built in variables
+ 'A_AhkPath','A_AhkVersion','A_AppData','A_AppDataCommon',
+ 'A_AutoTrim','A_BatchLines','A_CaretX','A_CaretY',
+ 'A_ComputerName','A_ControlDelay','A_Cursor','A_DD',
+ 'A_DDD','A_DDDD','A_DefaultMouseSpeed','A_Desktop',
+ 'A_DesktopCommon','A_DetectHiddenText','A_DetectHiddenWindows','A_EndChar',
+ 'A_EventInfo','A_ExitReason','A_FormatFloat','A_FormatInteger',
+ 'A_Gui','A_GuiEvent','A_GuiControl','A_GuiControlEvent',
+ 'A_GuiHeight','A_GuiWidth','A_GuiX','A_GuiY',
+ 'A_Hour','A_IconFile','A_IconHidden','A_IconNumber',
+ 'A_IconTip','A_Index','A_IPAddress1','A_IPAddress2',
+ 'A_IPAddress3','A_IPAddress4','A_ISAdmin','A_IsCompiled',
+ 'A_IsCritical','A_IsPaused','A_IsSuspended','A_KeyDelay',
+ 'A_Language','A_LastError','A_LineFile','A_LineNumber',
+ 'A_LoopField','A_LoopFileAttrib','A_LoopFileDir','A_LoopFileExt',
+ 'A_LoopFileFullPath','A_LoopFileLongPath','A_LoopFileName','A_LoopFileShortName',
+ 'A_LoopFileShortPath','A_LoopFileSize','A_LoopFileSizeKB','A_LoopFileSizeMB',
+ 'A_LoopFileTimeAccessed','A_LoopFileTimeCreated','A_LoopFileTimeModified','A_LoopReadLine',
+ 'A_LoopRegKey','A_LoopRegName','A_LoopRegSubkey','A_LoopRegTimeModified',
+ 'A_LoopRegType','A_MDAY','A_Min','A_MM',
+ 'A_MMM','A_MMMM','A_Mon','A_MouseDelay',
+ 'A_MSec','A_MyDocuments','A_Now','A_NowUTC',
+ 'A_NumBatchLines','A_OSType','A_OSVersion','A_PriorHotkey',
+ 'A_ProgramFiles','A_Programs','A_ProgramsCommon','A_ScreenHeight',
+ 'A_ScreenWidth','A_ScriptDir','A_ScriptFullPath','A_ScriptName',
+ 'A_Sec','A_Space','A_StartMenu','A_StartMenuCommon',
+ 'A_Startup','A_StartupCommon','A_StringCaseSense','A_Tab',
+ 'A_Temp','A_ThisFunc','A_ThisHotkey','A_ThisLabel',
+ 'A_ThisMenu','A_ThisMenuItem','A_ThisMenuItemPos','A_TickCount',
+ 'A_TimeIdle','A_TimeIdlePhysical','A_TimeSincePriorHotkey','A_TimeSinceThisHotkey',
+ 'A_TitleMatchMode','A_TitleMatchModeSpeed','A_UserName','A_WDay',
+ 'A_WinDelay','A_WinDir','A_WorkingDir','A_YDay',
+ 'A_YEAR','A_YWeek','A_YYYY','Clipboard',
+ 'ClipboardAll','ComSpec','ErrorLevel','ProgramFiles',
+ ),
+ 3 => array(
+ 'AutoTrim',
+ 'BlockInput','Break','Click',
+ 'ClipWait','Continue','Control',
+ 'ControlClick','ControlFocus','ControlGet',
+ 'ControlGetFocus','ControlGetPos','ControlGetText',
+ 'ControlMove','ControlSend','ControlSendRaw',
+ 'ControlSetText','CoordMode','Critical',
+ 'DetectHiddenText','DetectHiddenWindows','DllCall','Drive',
+ 'DriveGet','DriveSpaceFree',
+ 'Else','EnvAdd','EnvDiv',
+ 'EnvGet','EnvMult','EnvSet',
+ 'EnvSub','EnvUpdate','Exit',
+ 'ExitApp','FileAppend','FileCopy',
+ 'FileCopyDir','FileCreateDir','FileCreateShortcut',
+ 'FileDelete','FileGetAttrib','FileGetShortcut',
+ 'FileGetSize','FileGetTime','FileGetVersion',
+ 'FileInstall','FileMove','FileMoveDir',
+ 'FileRead','FileReadLine','FileRecycle',
+ 'FileRecycleEmpty','FileRemoveDir','FileSelectFile',
+ 'FileSelectFolder','FileSetAttrib','FileSetTime',
+ 'FormatTime','Gosub',
+ 'Goto','GroupActivate','GroupAdd',
+ 'GroupClose','GroupDeactivate','Gui',
+ 'GuiControl','GuiControlGet','Hotkey',
+ 'IfExist','IfGreater','IfGreaterOrEqual',
+ 'IfInString','IfLess','IfLessOrEqual',
+ 'IfMsgBox','IfNotEqual','IfNotExist',
+ 'IfNotInString','IfWinActive','IfWinExist',
+ 'IfWinNotActive','IfWinNotExist','ImageSearch',
+ 'IniDelete','IniRead','IniWrite',
+ 'Input','InputBox','KeyHistory',
+ 'KeyWait','ListHotkeys','ListLines',
+ 'ListVars','Loop',
+ 'Menu','MouseClick','MouseClickDrag',
+ 'MouseGetPos','MouseMove','MsgBox',
+ 'OnMessage','OnExit','OutputDebug',
+ 'PixelGetColor','PixelSearch','PostMessage',
+ 'Process','Progress','Random',
+ 'RegExMatch','RegExReplace','RegisterCallback',
+ 'RegDelete','RegRead','RegWrite',
+ 'Reload','Repeat','Return',
+ 'Run','RunAs','RunWait',
+ 'Send','SendEvent','SendInput',
+ 'SendMessage','SendMode','SendPlay',
+ 'SendRaw','SetBatchLines','SetCapslockState',
+ 'SetControlDelay','SetDefaultMouseSpeed','SetEnv',
+ 'SetFormat','SetKeyDelay','SetMouseDelay',
+ 'SetNumlockState','SetScrollLockState','SetStoreCapslockMode',
+ 'SetTimer','SetTitleMatchMode','SetWinDelay',
+ 'SetWorkingDir','Shutdown','Sleep',
+ 'Sort','SoundBeep','SoundGet',
+ 'SoundGetWaveVolume','SoundPlay','SoundSet',
+ 'SoundSetWaveVolume','SplashImage','SplashTextOff',
+ 'SplashTextOn','SplitPath','StatusBarGetText',
+ 'StatusBarWait','StringCaseSense','StringGetPos',
+ 'StringLeft','StringLen','StringLower',
+ 'StringMid','StringReplace','StringRight',
+ 'StringSplit','StringTrimLeft','StringTrimRight',
+ 'StringUpper','Suspend','SysGet',
+ 'Thread','ToolTip','Transform',
+ 'TrayTip','URLDownloadToFile','While',
+ 'VarSetCapacity',
+ 'WinActivate','WinActivateBottom','WinClose',
+ 'WinGet','WinGetActiveStats','WinGetActiveTitle',
+ 'WinGetClass','WinGetPos','WinGetText',
+ 'WinGetTitle','WinHide','WinKill',
+ 'WinMaximize','WinMenuSelectItem','WinMinimize',
+ 'WinMinimizeAll','WinMinimizeAllUndo','WinMove',
+ 'WinRestore','WinSet','WinSetTitle',
+ 'WinShow','WinWait','WinWaitActive',
+ 'WinWaitClose','WinWaitNotActive'
+ ),
+ 4 => array(
+ 'Abs','ACos','Asc','ASin',
+ 'ATan','Ceil','Chr','Cos',
+ 'Exp','FileExist','Floor',
+ 'GetKeyState','IL_Add','IL_Create','IL_Destroy',
+ 'InStr','IsFunc','IsLabel','Ln',
+ 'Log','LV_Add','LV_Delete','LV_DeleteCol',
+ 'LV_GetCount','LV_GetNext','LV_GetText','LV_Insert',
+ 'LV_InsertCol','LV_Modify','LV_ModifyCol','LV_SetImageList',
+ 'Mod','NumGet','NumPut',
+ 'Round',
+ 'SB_SetIcon','SB_SetParts','SB_SetText','Sin',
+ 'Sqrt','StrLen','SubStr','Tan',
+ 'TV_Add','TV_Delete','TV_GetChild','TV_GetCount',
+ 'TV_GetNext','TV_Get','TV_GetParent','TV_GetPrev',
+ 'TV_GetSelection','TV_GetText','TV_Modify',
+ 'WinActive','WinExist'
+ ),
+ 5 => array(
+ // #Directives
+ 'AllowSameLineComments','ClipboardTimeout','CommentFlag',
+ 'ErrorStdOut','EscapeChar','HotkeyInterval',
+ 'HotkeyModifierTimeout','Hotstring','IfWinActive',
+ 'IfWinExist','IfWinNotActive','IfWinNotExist',
+ 'Include','IncludeAgain','InstallKeybdHook',
+ 'InstallMouseHook','KeyHistory','LTrim',
+ 'MaxHotkeysPerInterval','MaxMem','MaxThreads',
+ 'MaxThreadsBuffer','MaxThreadsPerHotkey','NoEnv',
+ 'NoTrayIcon','Persistent','SingleInstance',
+ 'UseHook','WinActivateForce'
+ ),
+ 6 => array(
+ 'Shift','LShift','RShift',
+ 'Alt','LAlt','RAlt',
+ 'LControl','RControl',
+ 'Ctrl','LCtrl','RCtrl',
+ 'LWin','RWin','AppsKey',
+ 'AltDown','AltUp','ShiftDown',
+ 'ShiftUp','CtrlDown','CtrlUp',
+ 'LWinDown','LWinUp','RWinDown',
+ 'RWinUp','LButton','RButton',
+ 'MButton','WheelUp','WheelDown',
+ 'WheelLeft','WheelRight','XButton1',
+ 'XButton2','Joy1','Joy2',
+ 'Joy3','Joy4','Joy5',
+ 'Joy6','Joy7','Joy8',
+ 'Joy9','Joy10','Joy11',
+ 'Joy12','Joy13','Joy14',
+ 'Joy15','Joy16','Joy17',
+ 'Joy18','Joy19','Joy20',
+ 'Joy21','Joy22','Joy23',
+ 'Joy24','Joy25','Joy26',
+ 'Joy27','Joy28','Joy29',
+ 'Joy30','Joy31','Joy32',
+ 'JoyX','JoyY','JoyZ',
+ 'JoyR','JoyU','JoyV',
+ 'JoyPOV','JoyName','JoyButtons',
+ 'JoyAxes','JoyInfo','Space',
+ 'Tab','Enter',
+ 'Escape','Esc','BackSpace',
+ 'BS','Delete','Del',
+ 'Insert','Ins','PGUP',
+ 'PGDN','Home','End',
+ 'Up','Down','Left',
+ 'Right','PrintScreen','CtrlBreak',
+ 'Pause','ScrollLock','CapsLock',
+ 'NumLock','Numpad0','Numpad1',
+ 'Numpad2','Numpad3','Numpad4',
+ 'Numpad5','Numpad6','Numpad7',
+ 'Numpad8','Numpad9','NumpadMult',
+ 'NumpadAdd','NumpadSub','NumpadDiv',
+ 'NumpadDot','NumpadDel','NumpadIns',
+ 'NumpadClear','NumpadUp','NumpadDown',
+ 'NumpadLeft','NumpadRight','NumpadHome',
+ 'NumpadEnd','NumpadPgup','NumpadPgdn',
+ 'NumpadEnter','F1','F2',
+ 'F3','F4','F5',
+ 'F6','F7','F8',
+ 'F9','F10','F11',
+ 'F12','F13','F14',
+ 'F15','F16','F17',
+ 'F18','F19','F20',
+ 'F21','F22','F23',
+ 'F24','Browser_Back','Browser_Forward',
+ 'Browser_Refresh','Browser_Stop','Browser_Search',
+ 'Browser_Favorites','Browser_Home','Volume_Mute',
+ 'Volume_Down','Volume_Up','Media_Next',
+ 'Media_Prev','Media_Stop','Media_Play_Pause',
+ 'Launch_Mail','Launch_Media','Launch_App1',
+ 'Launch_App2'
+ ),
+ 7 => array(
+ // Gui commands
+ 'Add',
+ 'Show', 'Submit', 'Cancel', 'Destroy',
+ 'Font', 'Color', 'Margin', 'Flash', 'Default',
+ 'GuiEscape','GuiClose','GuiSize','GuiContextMenu','GuiDropFilesTabStop',
+ ),
+ 8 => array(
+ // Gui Controls
+ 'Button',
+ 'Checkbox','Radio','DropDownList','DDL',
+ 'ComboBox','ListBox','ListView',
+ 'Text', 'Edit', 'UpDown', 'Picture',
+ 'TreeView','DateTime', 'MonthCal',
+ 'Slider'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(',')','[',']',
+ '+','-','*','/','&','^',
+ '=','+=','-=','*=','/=','&=',
+ '==','<','<=','>','>=',':=',
+ ',','.'
+ ),
+ '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: #AAAAFF; font-weight: bold;', // reserved #blue
+ 2 => 'color: #88FF88;', // BIV yellow
+ 3 => 'color: #FF00FF; font-style: italic;', // commands purple
+ 4 => 'color: #888844; font-weight: bold;', // functions #0080FF
+ 5 => 'color: #000000; font-style: italic;', // directives #black
+ 6 => 'color: #FF0000; font-style: italic;', // hotkeys #red
+ 7 => 'color: #000000; font-style: italic;', // gui commands #black
+ 8 => 'color: #000000; font-style: italic;' // gui controls
+ ),
+ 'COMMENTS' => array(
+ 'MULTI' => 'font-style: italic; color: #669900;',
+ 1 => 'font-style: italic; color: #009933;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #00FF00; font-weight: bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'font-weight: bold; color: #008080;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #0000dd;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #0000FF; font-style: italic; font-weight: italic;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000; font-weight: italic;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'font-weight: italic; color: #A00A0;',
+ 1 => 'color: #CC0000; font-style: italic;',
+ 2 => 'color: #DD0000; font-style: italic;',
+ 3 => 'color: #88FF88;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '_'
+ ),
+ 'REGEXPS' => array(
+ //Variables
+ 0 => '%[a-zA-Z_][a-zA-Z0-9_]*%',
+ //hotstrings
+ 1 => '::[\w\d]+::',
+ //labels
+ 2 => '\w[\w\d]+:\s',
+ //Built-in Variables
+ 3 => '\bA_\w+\b(?![^<]*>)'
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => 'http://www.autohotkey.com/docs/Variables.htm#{FNAME}',
+ 3 => 'http://www.autohotkey.com/docs/commands/{FNAME}.htm',
+ 4 => 'http://www.autohotkey.com/docs/Functions.htm#BuiltIn',
+ 5 => 'http://www.autohotkey.com/docs/commands/_{FNAME}.htm',
+ 6 => '',
+ 7 => 'http://www.autohotkey.com/docs/commands/Gui.htm#{FNAME}',
+ 8 => 'http://www.autohotkey.com/docs/commands/GuiControls.htm#{FNAME}'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 5 => array(
+ 'DISALLOWED_BEFORE' => '(?<!\w)\#'
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/autoit.php b/application/libraries/geshi/autoit.php
new file mode 100644
index 000000000..e3185d063
--- /dev/null
+++ b/application/libraries/geshi/autoit.php
@@ -0,0 +1,1171 @@
+<?php
+/*************************************************************************************
+ * autoit.php
+ * --------
+ * Author: big_daddy (robert.i.anthony@gmail.com)
+ * Copyright: (c) 2006 and to GESHi ;)
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/01/26
+ *
+ * AutoIT language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * Release 1.0.8.1 (2008/09/15)
+ * - Updated on 22.03.2008 By Tlem (tlem@tuxolem.fr)
+ * - The link on functions will now correctly re-direct to
+ * - http://www.autoitscript.com/autoit3/docs/functions/{FNAME}.htm
+ * - Updated whith au3.api (09.02.2008).
+ * - Updated - 16 Mai 2008 - v3.2.12.0
+ * - Updated - 12 June 2008 - v3.2.12.1
+ * Release 1.0.7.20 (2006/01/26)
+ * - First Release
+ *
+ * Current bugs & todo:
+ * ----------
+ * - not sure how to get sendkeys to work " {!}, {SPACE} etc... "
+ * - just copyied the regexp for variable from php so this HAVE to be checked and fixed to a better one ;)
+ *
+ * Reference: http://www.autoitscript.com/autoit3/docs/
+ *************************************************************************************
+ *
+ * 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' => 'AutoIt',
+ 'COMMENT_SINGLE' => array(';'),
+ 'COMMENT_MULTI' => array(
+ '#comments-start' => '#comments-end',
+ '#cs' => '#ce'),
+ 'COMMENT_REGEXP' => array(0 => '/(?<!#)#(\s.*)?$/m'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'And','ByRef','Case','Const','ContinueCase','ContinueLoop',
+ 'Default','Dim','Do','Else','ElseIf','EndFunc','EndIf','EndSelect',
+ 'EndSwitch','EndWith','Enum','Exit','ExitLoop','False','For','Func',
+ 'Global','If','In','Local','Next','Not','Or','ReDim','Return',
+ 'Select','Step','Switch','Then','To','True','Until','WEnd','While',
+ 'With'
+ ),
+ 2 => array(
+ '@AppDataCommonDir','@AppDataDir','@AutoItExe','@AutoItPID',
+ '@AutoItUnicode','@AutoItVersion','@AutoItX64','@COM_EventObj',
+ '@CommonFilesDir','@Compiled','@ComputerName','@ComSpec','@CR',
+ '@CRLF','@DesktopCommonDir','@DesktopDepth','@DesktopDir',
+ '@DesktopHeight','@DesktopRefresh','@DesktopWidth',
+ '@DocumentsCommonDir','@error','@exitCode','@exitMethod',
+ '@extended','@FavoritesCommonDir','@FavoritesDir','@GUI_CtrlHandle',
+ '@GUI_CtrlId','@GUI_DragFile','@GUI_DragId','@GUI_DropId',
+ '@GUI_WinHandle','@HomeDrive','@HomePath','@HomeShare',
+ '@HotKeyPressed','@HOUR','@InetGetActive','@InetGetBytesRead',
+ '@IPAddress1','@IPAddress2','@IPAddress3','@IPAddress4','@KBLayout',
+ '@LF','@LogonDNSDomain','@LogonDomain','@LogonServer','@MDAY',
+ '@MIN','@MON','@MyDocumentsDir','@NumParams','@OSBuild','@OSLang',
+ '@OSServicePack','@OSTYPE','@OSVersion','@ProcessorArch',
+ '@ProgramFilesDir','@ProgramsCommonDir','@ProgramsDir','@ScriptDir',
+ '@ScriptFullPath','@ScriptLineNumber','@ScriptName','@SEC',
+ '@StartMenuCommonDir','@StartMenuDir','@StartupCommonDir',
+ '@StartupDir','@SW_DISABLE','@SW_ENABLE','@SW_HIDE','@SW_LOCK',
+ '@SW_MAXIMIZE','@SW_MINIMIZE','@SW_RESTORE','@SW_SHOW',
+ '@SW_SHOWDEFAULT','@SW_SHOWMAXIMIZED','@SW_SHOWMINIMIZED',
+ '@SW_SHOWMINNOACTIVE','@SW_SHOWNA','@SW_SHOWNOACTIVATE',
+ '@SW_SHOWNORMAL','@SW_UNLOCK','@SystemDir','@TAB','@TempDir',
+ '@TRAY_ID','@TrayIconFlashing','@TrayIconVisible','@UserName',
+ '@UserProfileDir','@WDAY','@WindowsDir','@WorkingDir','@YDAY',
+ '@YEAR'
+ ),
+ 3 => array(
+ 'Abs','ACos','AdlibDisable','AdlibEnable','Asc','AscW','ASin',
+ 'Assign','ATan','AutoItSetOption','AutoItWinGetTitle',
+ 'AutoItWinSetTitle','Beep','Binary','BinaryLen','BinaryMid',
+ 'BinaryToString','BitAND','BitNOT','BitOR','BitRotate','BitShift',
+ 'BitXOR','BlockInput','Break','Call','CDTray','Ceiling','Chr',
+ 'ChrW','ClipGet','ClipPut','ConsoleRead','ConsoleWrite',
+ 'ConsoleWriteError','ControlClick','ControlCommand',
+ 'ControlDisable','ControlEnable','ControlFocus','ControlGetFocus',
+ 'ControlGetHandle','ControlGetPos','ControlGetText','ControlHide',
+ 'ControlListView','ControlMove','ControlSend','ControlSetText',
+ 'ControlShow','ControlTreeView','Cos','Dec','DirCopy','DirCreate',
+ 'DirGetSize','DirMove','DirRemove','DllCall','DllCallbackFree',
+ 'DllCallbackGetPtr','DllCallbackRegister','DllClose','DllOpen',
+ 'DllStructCreate','DllStructGetData','DllStructGetPtr',
+ 'DllStructGetSize','DllStructSetData','DriveGetDrive',
+ 'DriveGetFileSystem','DriveGetLabel','DriveGetSerial',
+ 'DriveGetType','DriveMapAdd','DriveMapDel','DriveMapGet',
+ 'DriveSetLabel','DriveSpaceFree','DriveSpaceTotal','DriveStatus',
+ 'EnvGet','EnvSet','EnvUpdate','Eval','Execute','Exp',
+ 'FileChangeDir','FileClose','FileCopy','FileCreateNTFSLink',
+ 'FileCreateShortcut','FileDelete','FileExists','FileFindFirstFile',
+ 'FileFindNextFile','FileGetAttrib','FileGetLongName',
+ 'FileGetShortcut','FileGetShortName','FileGetSize','FileGetTime',
+ 'FileGetVersion','FileInstall','FileMove','FileOpen',
+ 'FileOpenDialog','FileRead','FileReadLine','FileRecycle',
+ 'FileRecycleEmpty','FileSaveDialog','FileSelectFolder',
+ 'FileSetAttrib','FileSetTime','FileWrite','FileWriteLine','Floor',
+ 'FtpSetProxy','GUICreate','GUICtrlCreateAvi','GUICtrlCreateButton',
+ 'GUICtrlCreateCheckbox','GUICtrlCreateCombo',
+ 'GUICtrlCreateContextMenu','GUICtrlCreateDate','GUICtrlCreateDummy',
+ 'GUICtrlCreateEdit','GUICtrlCreateGraphic','GUICtrlCreateGroup',
+ 'GUICtrlCreateIcon','GUICtrlCreateInput','GUICtrlCreateLabel',
+ 'GUICtrlCreateList','GUICtrlCreateListView',
+ 'GUICtrlCreateListViewItem','GUICtrlCreateMenu',
+ 'GUICtrlCreateMenuItem','GUICtrlCreateMonthCal','GUICtrlCreateObj',
+ 'GUICtrlCreatePic','GUICtrlCreateProgress','GUICtrlCreateRadio',
+ 'GUICtrlCreateSlider','GUICtrlCreateTab','GUICtrlCreateTabItem',
+ 'GUICtrlCreateTreeView','GUICtrlCreateTreeViewItem',
+ 'GUICtrlCreateUpdown','GUICtrlDelete','GUICtrlGetHandle',
+ 'GUICtrlGetState','GUICtrlRead','GUICtrlRecvMsg',
+ 'GUICtrlRegisterListViewSort','GUICtrlSendMsg','GUICtrlSendToDummy',
+ 'GUICtrlSetBkColor','GUICtrlSetColor','GUICtrlSetCursor',
+ 'GUICtrlSetData','GUICtrlSetFont','GUICtrlSetDefColor',
+ 'GUICtrlSetDefBkColor','GUICtrlSetGraphic','GUICtrlSetImage',
+ 'GUICtrlSetLimit','GUICtrlSetOnEvent','GUICtrlSetPos',
+ 'GUICtrlSetResizing','GUICtrlSetState','GUICtrlSetStyle',
+ 'GUICtrlSetTip','GUIDelete','GUIGetCursorInfo','GUIGetMsg',
+ 'GUIGetStyle','GUIRegisterMsg','GUISetAccelerators()',
+ 'GUISetBkColor','GUISetCoord','GUISetCursor','GUISetFont',
+ 'GUISetHelp','GUISetIcon','GUISetOnEvent','GUISetState',
+ 'GUISetStyle','GUIStartGroup','GUISwitch','Hex','HotKeySet',
+ 'HttpSetProxy','HWnd','InetGet','InetGetSize','IniDelete','IniRead',
+ 'IniReadSection','IniReadSectionNames','IniRenameSection',
+ 'IniWrite','IniWriteSection','InputBox','Int','IsAdmin','IsArray',
+ 'IsBinary','IsBool','IsDeclared','IsDllStruct','IsFloat','IsHWnd',
+ 'IsInt','IsKeyword','IsNumber','IsObj','IsPtr','IsString','Log',
+ 'MemGetStats','Mod','MouseClick','MouseClickDrag','MouseDown',
+ 'MouseGetCursor','MouseGetPos','MouseMove','MouseUp','MouseWheel',
+ 'MsgBox','Number','ObjCreate','ObjEvent','ObjGet','ObjName','Opt',
+ 'Ping','PixelChecksum','PixelGetColor','PixelSearch','PluginClose',
+ 'PluginOpen','ProcessClose','ProcessExists','ProcessGetStats',
+ 'ProcessList','ProcessSetPriority','ProcessWait','ProcessWaitClose',
+ 'ProgressOff','ProgressOn','ProgressSet','Ptr','Random','RegDelete',
+ 'RegEnumKey','RegEnumVal','RegRead','RegWrite','Round','Run',
+ 'RunAs','RunAsWait','RunWait','Send','SendKeepActive','SetError',
+ 'SetExtended','ShellExecute','ShellExecuteWait','Shutdown','Sin',
+ 'Sleep','SoundPlay','SoundSetWaveVolume','SplashImageOn',
+ 'SplashOff','SplashTextOn','Sqrt','SRandom','StatusbarGetText',
+ 'StderrRead','StdinWrite','StdioClose','StdoutRead','String',
+ 'StringAddCR','StringCompare','StringFormat','StringInStr',
+ 'StringIsAlNum','StringIsAlpha','StringIsASCII','StringIsDigit',
+ 'StringIsFloat','StringIsInt','StringIsLower','StringIsSpace',
+ 'StringIsUpper','StringIsXDigit','StringLeft','StringLen',
+ 'StringLower','StringMid','StringRegExp','StringRegExpReplace',
+ 'StringReplace','StringRight','StringSplit','StringStripCR',
+ 'StringStripWS','StringToBinary','StringTrimLeft','StringTrimRight',
+ 'StringUpper','Tan','TCPAccept','TCPCloseSocket','TCPConnect',
+ 'TCPListen','TCPNameToIP','TCPRecv','TCPSend','TCPShutdown',
+ 'TCPStartup','TimerDiff','TimerInit','ToolTip','TrayCreateItem',
+ 'TrayCreateMenu','TrayGetMsg','TrayItemDelete','TrayItemGetHandle',
+ 'TrayItemGetState','TrayItemGetText','TrayItemSetOnEvent',
+ 'TrayItemSetState','TrayItemSetText','TraySetClick','TraySetIcon',
+ 'TraySetOnEvent','TraySetPauseIcon','TraySetState','TraySetToolTip',
+ 'TrayTip','UBound','UDPBind','UDPCloseSocket','UDPOpen','UDPRecv',
+ 'UDPSend','UDPShutdown','UDPStartup','VarGetType','WinActivate',
+ 'WinActive','WinClose','WinExists','WinFlash','WinGetCaretPos',
+ 'WinGetClassList','WinGetClientSize','WinGetHandle','WinGetPos',
+ 'WinGetProcess','WinGetState','WinGetText','WinGetTitle','WinKill',
+ 'WinList','WinMenuSelectItem','WinMinimizeAll','WinMinimizeAllUndo',
+ 'WinMove','WinSetOnTop','WinSetState','WinSetTitle','WinSetTrans',
+ 'WinWait','WinWaitActive','WinWaitClose','WinWaitNotActive'
+ ),
+ 4 => array(
+ 'ArrayAdd','ArrayBinarySearch','ArrayConcatenate','ArrayDelete',
+ 'ArrayDisplay','ArrayFindAll','ArrayInsert','ArrayMax',
+ 'ArrayMaxIndex','ArrayMin','ArrayMinIndex','ArrayPop','ArrayPush',
+ 'ArrayReverse','ArraySearch','ArraySort','ArraySwap','ArrayToClip',
+ 'ArrayToString','ArrayTrim','ChooseColor','ChooseFont',
+ 'ClipBoard_ChangeChain','ClipBoard_Close','ClipBoard_CountFormats',
+ 'ClipBoard_Empty','ClipBoard_EnumFormats','ClipBoard_FormatStr',
+ 'ClipBoard_GetData','ClipBoard_GetDataEx','ClipBoard_GetFormatName',
+ 'ClipBoard_GetOpenWindow','ClipBoard_GetOwner',
+ 'ClipBoard_GetPriorityFormat','ClipBoard_GetSequenceNumber',
+ 'ClipBoard_GetViewer','ClipBoard_IsFormatAvailable',
+ 'ClipBoard_Open','ClipBoard_RegisterFormat','ClipBoard_SetData',
+ 'ClipBoard_SetDataEx','ClipBoard_SetViewer','ClipPutFile',
+ 'ColorConvertHSLtoRGB','ColorConvertRGBtoHSL','ColorGetBlue',
+ 'ColorGetGreen','ColorGetRed','Date_Time_CompareFileTime',
+ 'Date_Time_DOSDateTimeToArray','Date_Time_DOSDateTimeToFileTime',
+ 'Date_Time_DOSDateTimeToStr','Date_Time_DOSDateToArray',
+ 'Date_Time_DOSDateToStr','Date_Time_DOSTimeToArray',
+ 'Date_Time_DOSTimeToStr','Date_Time_EncodeFileTime',
+ 'Date_Time_EncodeSystemTime','Date_Time_FileTimeToArray',
+ 'Date_Time_FileTimeToDOSDateTime',
+ 'Date_Time_FileTimeToLocalFileTime','Date_Time_FileTimeToStr',
+ 'Date_Time_FileTimeToSystemTime','Date_Time_GetFileTime',
+ 'Date_Time_GetLocalTime','Date_Time_GetSystemTime',
+ 'Date_Time_GetSystemTimeAdjustment',
+ 'Date_Time_GetSystemTimeAsFileTime',
+ 'Date_Time_GetSystemTimes','Date_Time_GetTickCount',
+ 'Date_Time_GetTimeZoneInformation',
+ 'Date_Time_LocalFileTimeToFileTime','Date_Time_SetFileTime',
+ 'Date_Time_SetLocalTime','Date_Time_SetSystemTime',
+ 'Date_Time_SetSystemTimeAdjustment',
+ 'Date_Time_SetTimeZoneInformation','Date_Time_SystemTimeToArray',
+ 'Date_Time_SystemTimeToDateStr','Date_Time_SystemTimeToDateTimeStr',
+ 'Date_Time_SystemTimeToFileTime','Date_Time_SystemTimeToTimeStr',
+ 'Date_Time_SystemTimeToTzSpecificLocalTime',
+ 'Date_Time_TzSpecificLocalTimeToSystemTime','DateAdd',
+ 'DateDayOfWeek','DateDaysInMonth','DateDiff','DateIsLeapYear',
+ 'DateIsValid','DateTimeFormat','DateTimeSplit','DateToDayOfWeek',
+ 'DateToDayOfWeekISO','DateToDayValue','DateToMonth',
+ 'DayValueToDate','DebugBugReportEnv','DebugOut','DebugSetup',
+ 'Degree','EventLog__Backup','EventLog__Clear','EventLog__Close',
+ 'EventLog__Count','EventLog__DeregisterSource','EventLog__Full',
+ 'EventLog__Notify','EventLog__Oldest','EventLog__Open',
+ 'EventLog__OpenBackup','EventLog__Read','EventLog__RegisterSource',
+ 'EventLog__Report','FileCountLines','FileCreate','FileListToArray',
+ 'FilePrint','FileReadToArray','FileWriteFromArray',
+ 'FileWriteLog','FileWriteToLine','GDIPlus_ArrowCapCreate',
+ 'GDIPlus_ArrowCapDispose','GDIPlus_ArrowCapGetFillState',
+ 'GDIPlus_ArrowCapGetHeight','GDIPlus_ArrowCapGetMiddleInset',
+ 'GDIPlus_ArrowCapGetWidth','GDIPlus_ArrowCapSetFillState',
+ 'GDIPlus_ArrowCapSetHeight','GDIPlus_ArrowCapSetMiddleInset',
+ 'GDIPlus_ArrowCapSetWidth','GDIPlus_BitmapCloneArea',
+ 'GDIPlus_BitmapCreateFromFile','GDIPlus_BitmapCreateFromGraphics',
+ 'GDIPlus_BitmapCreateFromHBITMAP',
+ 'GDIPlus_BitmapCreateHBITMAPFromBitmap','GDIPlus_BitmapDispose',
+ 'GDIPlus_BitmapLockBits','GDIPlus_BitmapUnlockBits',
+ 'GDIPlus_BrushClone','GDIPlus_BrushCreateSolid',
+ 'GDIPlus_BrushDispose','GDIPlus_BrushGetType',
+ 'GDIPlus_CustomLineCapDispose','GDIPlus_Decoders',
+ 'GDIPlus_DecodersGetCount','GDIPlus_DecodersGetSize',
+ 'GDIPlus_Encoders','GDIPlus_EncodersGetCLSID',
+ 'GDIPlus_EncodersGetCount','GDIPlus_EncodersGetParamList',
+ 'GDIPlus_EncodersGetParamListSize','GDIPlus_EncodersGetSize',
+ 'GDIPlus_FontCreate','GDIPlus_FontDispose',
+ 'GDIPlus_FontFamilyCreate','GDIPlus_FontFamilyDispose',
+ 'GDIPlus_GraphicsClear','GDIPlus_GraphicsCreateFromHDC',
+ 'GDIPlus_GraphicsCreateFromHWND','GDIPlus_GraphicsDispose',
+ 'GDIPlus_GraphicsDrawArc','GDIPlus_GraphicsDrawBezier',
+ 'GDIPlus_GraphicsDrawClosedCurve','GDIPlus_GraphicsDrawCurve',
+ 'GDIPlus_GraphicsDrawEllipse','GDIPlus_GraphicsDrawImage',
+ 'GDIPlus_GraphicsDrawImageRect','GDIPlus_GraphicsDrawImageRectRect',
+ 'GDIPlus_GraphicsDrawLine','GDIPlus_GraphicsDrawPie',
+ 'GDIPlus_GraphicsDrawPolygon','GDIPlus_GraphicsDrawRect',
+ 'GDIPlus_GraphicsDrawString','GDIPlus_GraphicsDrawStringEx',
+ 'GDIPlus_GraphicsFillClosedCurve','GDIPlus_GraphicsFillEllipse',
+ 'GDIPlus_GraphicsFillPie','GDIPlus_GraphicsFillRect',
+ 'GDIPlus_GraphicsGetDC','GDIPlus_GraphicsGetSmoothingMode',
+ 'GDIPlus_GraphicsMeasureString','GDIPlus_GraphicsReleaseDC',
+ 'GDIPlus_GraphicsSetSmoothingMode','GDIPlus_GraphicsSetTransform',
+ 'GDIPlus_ImageDispose','GDIPlus_ImageGetGraphicsContext',
+ 'GDIPlus_ImageGetHeight','GDIPlus_ImageGetWidth',
+ 'GDIPlus_ImageLoadFromFile','GDIPlus_ImageSaveToFile',
+ 'GDIPlus_ImageSaveToFileEx','GDIPlus_MatrixCreate',
+ 'GDIPlus_MatrixDispose','GDIPlus_MatrixRotate','GDIPlus_ParamAdd',
+ 'GDIPlus_ParamInit','GDIPlus_PenCreate','GDIPlus_PenDispose',
+ 'GDIPlus_PenGetAlignment','GDIPlus_PenGetColor',
+ 'GDIPlus_PenGetCustomEndCap','GDIPlus_PenGetDashCap',
+ 'GDIPlus_PenGetDashStyle','GDIPlus_PenGetEndCap',
+ 'GDIPlus_PenGetWidth','GDIPlus_PenSetAlignment',
+ 'GDIPlus_PenSetColor','GDIPlus_PenSetCustomEndCap',
+ 'GDIPlus_PenSetDashCap','GDIPlus_PenSetDashStyle',
+ 'GDIPlus_PenSetEndCap','GDIPlus_PenSetWidth','GDIPlus_RectFCreate',
+ 'GDIPlus_Shutdown','GDIPlus_Startup','GDIPlus_StringFormatCreate',
+ 'GDIPlus_StringFormatDispose','GetIP','GUICtrlAVI_Close',
+ 'GUICtrlAVI_Create','GUICtrlAVI_Destroy','GUICtrlAVI_Open',
+ 'GUICtrlAVI_OpenEx','GUICtrlAVI_Play','GUICtrlAVI_Seek',
+ 'GUICtrlAVI_Show','GUICtrlAVI_Stop','GUICtrlButton_Click',
+ 'GUICtrlButton_Create','GUICtrlButton_Destroy',
+ 'GUICtrlButton_Enable','GUICtrlButton_GetCheck',
+ 'GUICtrlButton_GetFocus','GUICtrlButton_GetIdealSize',
+ 'GUICtrlButton_GetImage','GUICtrlButton_GetImageList',
+ 'GUICtrlButton_GetState','GUICtrlButton_GetText',
+ 'GUICtrlButton_GetTextMargin','GUICtrlButton_SetCheck',
+ 'GUICtrlButton_SetFocus','GUICtrlButton_SetImage',
+ 'GUICtrlButton_SetImageList','GUICtrlButton_SetSize',
+ 'GUICtrlButton_SetState','GUICtrlButton_SetStyle',
+ 'GUICtrlButton_SetText','GUICtrlButton_SetTextMargin',
+ 'GUICtrlButton_Show','GUICtrlComboBox_AddDir',
+ 'GUICtrlComboBox_AddString','GUICtrlComboBox_AutoComplete',
+ 'GUICtrlComboBox_BeginUpdate','GUICtrlComboBox_Create',
+ 'GUICtrlComboBox_DeleteString','GUICtrlComboBox_Destroy',
+ 'GUICtrlComboBox_EndUpdate','GUICtrlComboBox_FindString',
+ 'GUICtrlComboBox_FindStringExact','GUICtrlComboBox_GetComboBoxInfo',
+ 'GUICtrlComboBox_GetCount','GUICtrlComboBox_GetCurSel',
+ 'GUICtrlComboBox_GetDroppedControlRect',
+ 'GUICtrlComboBox_GetDroppedControlRectEx',
+ 'GUICtrlComboBox_GetDroppedState','GUICtrlComboBox_GetDroppedWidth',
+ 'GUICtrlComboBox_GetEditSel','GUICtrlComboBox_GetEditText',
+ 'GUICtrlComboBox_GetExtendedUI',
+ 'GUICtrlComboBox_GetHorizontalExtent',
+ 'GUICtrlComboBox_GetItemHeight','GUICtrlComboBox_GetLBText',
+ 'GUICtrlComboBox_GetLBTextLen','GUICtrlComboBox_GetList',
+ 'GUICtrlComboBox_GetListArray','GUICtrlComboBox_GetLocale',
+ 'GUICtrlComboBox_GetLocaleCountry','GUICtrlComboBox_GetLocaleLang',
+ 'GUICtrlComboBox_GetLocalePrimLang',
+ 'GUICtrlComboBox_GetLocaleSubLang','GUICtrlComboBox_GetMinVisible',
+ 'GUICtrlComboBox_GetTopIndex','GUICtrlComboBox_InitStorage',
+ 'GUICtrlComboBox_InsertString','GUICtrlComboBox_LimitText',
+ 'GUICtrlComboBox_ReplaceEditSel','GUICtrlComboBox_ResetContent',
+ 'GUICtrlComboBox_SelectString','GUICtrlComboBox_SetCurSel',
+ 'GUICtrlComboBox_SetDroppedWidth','GUICtrlComboBox_SetEditSel',
+ 'GUICtrlComboBox_SetEditText','GUICtrlComboBox_SetExtendedUI',
+ 'GUICtrlComboBox_SetHorizontalExtent',
+ 'GUICtrlComboBox_SetItemHeight','GUICtrlComboBox_SetMinVisible',
+ 'GUICtrlComboBox_SetTopIndex','GUICtrlComboBox_ShowDropDown',
+ 'GUICtrlComboBoxEx_AddDir','GUICtrlComboBoxEx_AddString',
+ 'GUICtrlComboBoxEx_BeginUpdate','GUICtrlComboBoxEx_Create',
+ 'GUICtrlComboBoxEx_CreateSolidBitMap',
+ 'GUICtrlComboBoxEx_DeleteString','GUICtrlComboBoxEx_Destroy',
+ 'GUICtrlComboBoxEx_EndUpdate','GUICtrlComboBoxEx_FindStringExact',
+ 'GUICtrlComboBoxEx_GetComboBoxInfo',
+ 'GUICtrlComboBoxEx_GetComboControl','GUICtrlComboBoxEx_GetCount',
+ 'GUICtrlComboBoxEx_GetCurSel',
+ 'GUICtrlComboBoxEx_GetDroppedControlRect',
+ 'GUICtrlComboBoxEx_GetDroppedControlRectEx',
+ 'GUICtrlComboBoxEx_GetDroppedState',
+ 'GUICtrlComboBoxEx_GetDroppedWidth',
+ 'GUICtrlComboBoxEx_GetEditControl','GUICtrlComboBoxEx_GetEditSel',
+ 'GUICtrlComboBoxEx_GetEditText',
+ 'GUICtrlComboBoxEx_GetExtendedStyle',
+ 'GUICtrlComboBoxEx_GetExtendedUI','GUICtrlComboBoxEx_GetImageList',
+ 'GUICtrlComboBoxEx_GetItem','GUICtrlComboBoxEx_GetItemEx',
+ 'GUICtrlComboBoxEx_GetItemHeight','GUICtrlComboBoxEx_GetItemImage',
+ 'GUICtrlComboBoxEx_GetItemIndent',
+ 'GUICtrlComboBoxEx_GetItemOverlayImage',
+ 'GUICtrlComboBoxEx_GetItemParam',
+ 'GUICtrlComboBoxEx_GetItemSelectedImage',
+ 'GUICtrlComboBoxEx_GetItemText','GUICtrlComboBoxEx_GetItemTextLen',
+ 'GUICtrlComboBoxEx_GetList','GUICtrlComboBoxEx_GetListArray',
+ 'GUICtrlComboBoxEx_GetLocale','GUICtrlComboBoxEx_GetLocaleCountry',
+ 'GUICtrlComboBoxEx_GetLocaleLang',
+ 'GUICtrlComboBoxEx_GetLocalePrimLang',
+ 'GUICtrlComboBoxEx_GetLocaleSubLang',
+ 'GUICtrlComboBoxEx_GetMinVisible','GUICtrlComboBoxEx_GetTopIndex',
+ 'GUICtrlComboBoxEx_InitStorage','GUICtrlComboBoxEx_InsertString',
+ 'GUICtrlComboBoxEx_LimitText','GUICtrlComboBoxEx_ReplaceEditSel',
+ 'GUICtrlComboBoxEx_ResetContent','GUICtrlComboBoxEx_SetCurSel',
+ 'GUICtrlComboBoxEx_SetDroppedWidth','GUICtrlComboBoxEx_SetEditSel',
+ 'GUICtrlComboBoxEx_SetEditText',
+ 'GUICtrlComboBoxEx_SetExtendedStyle',
+ 'GUICtrlComboBoxEx_SetExtendedUI','GUICtrlComboBoxEx_SetImageList',
+ 'GUICtrlComboBoxEx_SetItem','GUICtrlComboBoxEx_SetItemEx',
+ 'GUICtrlComboBoxEx_SetItemHeight','GUICtrlComboBoxEx_SetItemImage',
+ 'GUICtrlComboBoxEx_SetItemIndent',
+ 'GUICtrlComboBoxEx_SetItemOverlayImage',
+ 'GUICtrlComboBoxEx_SetItemParam',
+ 'GUICtrlComboBoxEx_SetItemSelectedImage',
+ 'GUICtrlComboBoxEx_SetMinVisible','GUICtrlComboBoxEx_SetTopIndex',
+ 'GUICtrlComboBoxEx_ShowDropDown','GUICtrlDTP_Create',
+ 'GUICtrlDTP_Destroy','GUICtrlDTP_GetMCColor','GUICtrlDTP_GetMCFont',
+ 'GUICtrlDTP_GetMonthCal','GUICtrlDTP_GetRange',
+ 'GUICtrlDTP_GetRangeEx','GUICtrlDTP_GetSystemTime',
+ 'GUICtrlDTP_GetSystemTimeEx','GUICtrlDTP_SetFormat',
+ 'GUICtrlDTP_SetMCColor','GUICtrlDTP_SetMCFont',
+ 'GUICtrlDTP_SetRange','GUICtrlDTP_SetRangeEx',
+ 'GUICtrlDTP_SetSystemTime','GUICtrlDTP_SetSystemTimeEx',
+ 'GUICtrlEdit_AppendText','GUICtrlEdit_BeginUpdate',
+ 'GUICtrlEdit_CanUndo','GUICtrlEdit_CharFromPos',
+ 'GUICtrlEdit_Create','GUICtrlEdit_Destroy',
+ 'GUICtrlEdit_EmptyUndoBuffer','GUICtrlEdit_EndUpdate',
+ 'GUICtrlEdit_Find','GUICtrlEdit_FmtLines',
+ 'GUICtrlEdit_GetFirstVisibleLine','GUICtrlEdit_GetLimitText',
+ 'GUICtrlEdit_GetLine','GUICtrlEdit_GetLineCount',
+ 'GUICtrlEdit_GetMargins','GUICtrlEdit_GetModify',
+ 'GUICtrlEdit_GetPasswordChar','GUICtrlEdit_GetRECT',
+ 'GUICtrlEdit_GetRECTEx','GUICtrlEdit_GetSel','GUICtrlEdit_GetText',
+ 'GUICtrlEdit_GetTextLen','GUICtrlEdit_HideBalloonTip',
+ 'GUICtrlEdit_InsertText','GUICtrlEdit_LineFromChar',
+ 'GUICtrlEdit_LineIndex','GUICtrlEdit_LineLength',
+ 'GUICtrlEdit_LineScroll','GUICtrlEdit_PosFromChar',
+ 'GUICtrlEdit_ReplaceSel','GUICtrlEdit_Scroll',
+ 'GUICtrlEdit_SetLimitText','GUICtrlEdit_SetMargins',
+ 'GUICtrlEdit_SetModify','GUICtrlEdit_SetPasswordChar',
+ 'GUICtrlEdit_SetReadOnly','GUICtrlEdit_SetRECT',
+ 'GUICtrlEdit_SetRECTEx','GUICtrlEdit_SetRECTNP',
+ 'GUICtrlEdit_SetRectNPEx','GUICtrlEdit_SetSel',
+ 'GUICtrlEdit_SetTabStops','GUICtrlEdit_SetText',
+ 'GUICtrlEdit_ShowBalloonTip','GUICtrlEdit_Undo',
+ 'GUICtrlHeader_AddItem','GUICtrlHeader_ClearFilter',
+ 'GUICtrlHeader_ClearFilterAll','GUICtrlHeader_Create',
+ 'GUICtrlHeader_CreateDragImage','GUICtrlHeader_DeleteItem',
+ 'GUICtrlHeader_Destroy','GUICtrlHeader_EditFilter',
+ 'GUICtrlHeader_GetBitmapMargin','GUICtrlHeader_GetImageList',
+ 'GUICtrlHeader_GetItem','GUICtrlHeader_GetItemAlign',
+ 'GUICtrlHeader_GetItemBitmap','GUICtrlHeader_GetItemCount',
+ 'GUICtrlHeader_GetItemDisplay','GUICtrlHeader_GetItemFlags',
+ 'GUICtrlHeader_GetItemFormat','GUICtrlHeader_GetItemImage',
+ 'GUICtrlHeader_GetItemOrder','GUICtrlHeader_GetItemParam',
+ 'GUICtrlHeader_GetItemRect','GUICtrlHeader_GetItemRectEx',
+ 'GUICtrlHeader_GetItemText','GUICtrlHeader_GetItemWidth',
+ 'GUICtrlHeader_GetOrderArray','GUICtrlHeader_GetUnicodeFormat',
+ 'GUICtrlHeader_HitTest','GUICtrlHeader_InsertItem',
+ 'GUICtrlHeader_Layout','GUICtrlHeader_OrderToIndex',
+ 'GUICtrlHeader_SetBitmapMargin',
+ 'GUICtrlHeader_SetFilterChangeTimeout',
+ 'GUICtrlHeader_SetHotDivider','GUICtrlHeader_SetImageList',
+ 'GUICtrlHeader_SetItem','GUICtrlHeader_SetItemAlign',
+ 'GUICtrlHeader_SetItemBitmap','GUICtrlHeader_SetItemDisplay',
+ 'GUICtrlHeader_SetItemFlags','GUICtrlHeader_SetItemFormat',
+ 'GUICtrlHeader_SetItemImage','GUICtrlHeader_SetItemOrder',
+ 'GUICtrlHeader_SetItemParam','GUICtrlHeader_SetItemText',
+ 'GUICtrlHeader_SetItemWidth','GUICtrlHeader_SetOrderArray',
+ 'GUICtrlHeader_SetUnicodeFormat','GUICtrlIpAddress_ClearAddress',
+ 'GUICtrlIpAddress_Create','GUICtrlIpAddress_Destroy',
+ 'GUICtrlIpAddress_Get','GUICtrlIpAddress_GetArray',
+ 'GUICtrlIpAddress_GetEx','GUICtrlIpAddress_IsBlank',
+ 'GUICtrlIpAddress_Set','GUICtrlIpAddress_SetArray',
+ 'GUICtrlIpAddress_SetEx','GUICtrlIpAddress_SetFocus',
+ 'GUICtrlIpAddress_SetFont','GUICtrlIpAddress_SetRange',
+ 'GUICtrlIpAddress_ShowHide','GUICtrlListBox_AddFile',
+ 'GUICtrlListBox_AddString','GUICtrlListBox_BeginUpdate',
+ 'GUICtrlListBox_Create','GUICtrlListBox_DeleteString',
+ 'GUICtrlListBox_Destroy','GUICtrlListBox_Dir',
+ 'GUICtrlListBox_EndUpdate','GUICtrlListBox_FindInText',
+ 'GUICtrlListBox_FindString','GUICtrlListBox_GetAnchorIndex',
+ 'GUICtrlListBox_GetCaretIndex','GUICtrlListBox_GetCount',
+ 'GUICtrlListBox_GetCurSel','GUICtrlListBox_GetHorizontalExtent',
+ 'GUICtrlListBox_GetItemData','GUICtrlListBox_GetItemHeight',
+ 'GUICtrlListBox_GetItemRect','GUICtrlListBox_GetItemRectEx',
+ 'GUICtrlListBox_GetListBoxInfo','GUICtrlListBox_GetLocale',
+ 'GUICtrlListBox_GetLocaleCountry','GUICtrlListBox_GetLocaleLang',
+ 'GUICtrlListBox_GetLocalePrimLang',
+ 'GUICtrlListBox_GetLocaleSubLang','GUICtrlListBox_GetSel',
+ 'GUICtrlListBox_GetSelCount','GUICtrlListBox_GetSelItems',
+ 'GUICtrlListBox_GetSelItemsText','GUICtrlListBox_GetText',
+ 'GUICtrlListBox_GetTextLen','GUICtrlListBox_GetTopIndex',
+ 'GUICtrlListBox_InitStorage','GUICtrlListBox_InsertString',
+ 'GUICtrlListBox_ItemFromPoint','GUICtrlListBox_ReplaceString',
+ 'GUICtrlListBox_ResetContent','GUICtrlListBox_SelectString',
+ 'GUICtrlListBox_SelItemRange','GUICtrlListBox_SelItemRangeEx',
+ 'GUICtrlListBox_SetAnchorIndex','GUICtrlListBox_SetCaretIndex',
+ 'GUICtrlListBox_SetColumnWidth','GUICtrlListBox_SetCurSel',
+ 'GUICtrlListBox_SetHorizontalExtent','GUICtrlListBox_SetItemData',
+ 'GUICtrlListBox_SetItemHeight','GUICtrlListBox_SetLocale',
+ 'GUICtrlListBox_SetSel','GUICtrlListBox_SetTabStops',
+ 'GUICtrlListBox_SetTopIndex','GUICtrlListBox_Sort',
+ 'GUICtrlListBox_SwapString','GUICtrlListBox_UpdateHScroll',
+ 'GUICtrlListView_AddArray','GUICtrlListView_AddColumn',
+ 'GUICtrlListView_AddItem','GUICtrlListView_AddSubItem',
+ 'GUICtrlListView_ApproximateViewHeight',
+ 'GUICtrlListView_ApproximateViewRect',
+ 'GUICtrlListView_ApproximateViewWidth','GUICtrlListView_Arrange',
+ 'GUICtrlListView_BeginUpdate','GUICtrlListView_CancelEditLabel',
+ 'GUICtrlListView_ClickItem','GUICtrlListView_CopyItems',
+ 'GUICtrlListView_Create','GUICtrlListView_CreateDragImage',
+ 'GUICtrlListView_CreateSolidBitMap',
+ 'GUICtrlListView_DeleteAllItems','GUICtrlListView_DeleteColumn',
+ 'GUICtrlListView_DeleteItem','GUICtrlListView_DeleteItemsSelected',
+ 'GUICtrlListView_Destroy','GUICtrlListView_DrawDragImage',
+ 'GUICtrlListView_EditLabel','GUICtrlListView_EnableGroupView',
+ 'GUICtrlListView_EndUpdate','GUICtrlListView_EnsureVisible',
+ 'GUICtrlListView_FindInText','GUICtrlListView_FindItem',
+ 'GUICtrlListView_FindNearest','GUICtrlListView_FindParam',
+ 'GUICtrlListView_FindText','GUICtrlListView_GetBkColor',
+ 'GUICtrlListView_GetBkImage','GUICtrlListView_GetCallbackMask',
+ 'GUICtrlListView_GetColumn','GUICtrlListView_GetColumnCount',
+ 'GUICtrlListView_GetColumnOrder',
+ 'GUICtrlListView_GetColumnOrderArray',
+ 'GUICtrlListView_GetColumnWidth','GUICtrlListView_GetCounterPage',
+ 'GUICtrlListView_GetEditControl',
+ 'GUICtrlListView_GetExtendedListViewStyle',
+ 'GUICtrlListView_GetGroupInfo',
+ 'GUICtrlListView_GetGroupViewEnabled','GUICtrlListView_GetHeader',
+ 'GUICtrlListView_GetHotCursor','GUICtrlListView_GetHotItem',
+ 'GUICtrlListView_GetHoverTime','GUICtrlListView_GetImageList',
+ 'GUICtrlListView_GetISearchString','GUICtrlListView_GetItem',
+ 'GUICtrlListView_GetItemChecked','GUICtrlListView_GetItemCount',
+ 'GUICtrlListView_GetItemCut','GUICtrlListView_GetItemDropHilited',
+ 'GUICtrlListView_GetItemEx','GUICtrlListView_GetItemFocused',
+ 'GUICtrlListView_GetItemGroupID','GUICtrlListView_GetItemImage',
+ 'GUICtrlListView_GetItemIndent','GUICtrlListView_GetItemParam',
+ 'GUICtrlListView_GetItemPosition',
+ 'GUICtrlListView_GetItemPositionX',
+ 'GUICtrlListView_GetItemPositionY','GUICtrlListView_GetItemRect',
+ 'GUICtrlListView_GetItemRectEx','GUICtrlListView_GetItemSelected',
+ 'GUICtrlListView_GetItemSpacing','GUICtrlListView_GetItemSpacingX',
+ 'GUICtrlListView_GetItemSpacingY','GUICtrlListView_GetItemState',
+ 'GUICtrlListView_GetItemStateImage','GUICtrlListView_GetItemText',
+ 'GUICtrlListView_GetItemTextArray',
+ 'GUICtrlListView_GetItemTextString','GUICtrlListView_GetNextItem',
+ 'GUICtrlListView_GetNumberOfWorkAreas','GUICtrlListView_GetOrigin',
+ 'GUICtrlListView_GetOriginX','GUICtrlListView_GetOriginY',
+ 'GUICtrlListView_GetOutlineColor',
+ 'GUICtrlListView_GetSelectedColumn',
+ 'GUICtrlListView_GetSelectedCount',
+ 'GUICtrlListView_GetSelectedIndices',
+ 'GUICtrlListView_GetSelectionMark','GUICtrlListView_GetStringWidth',
+ 'GUICtrlListView_GetSubItemRect','GUICtrlListView_GetTextBkColor',
+ 'GUICtrlListView_GetTextColor','GUICtrlListView_GetToolTips',
+ 'GUICtrlListView_GetTopIndex','GUICtrlListView_GetUnicodeFormat',
+ 'GUICtrlListView_GetView','GUICtrlListView_GetViewDetails',
+ 'GUICtrlListView_GetViewLarge','GUICtrlListView_GetViewList',
+ 'GUICtrlListView_GetViewRect','GUICtrlListView_GetViewSmall',
+ 'GUICtrlListView_GetViewTile','GUICtrlListView_HideColumn',
+ 'GUICtrlListView_HitTest','GUICtrlListView_InsertColumn',
+ 'GUICtrlListView_InsertGroup','GUICtrlListView_InsertItem',
+ 'GUICtrlListView_JustifyColumn','GUICtrlListView_MapIDToIndex',
+ 'GUICtrlListView_MapIndexToID','GUICtrlListView_RedrawItems',
+ 'GUICtrlListView_RegisterSortCallBack',
+ 'GUICtrlListView_RemoveAllGroups','GUICtrlListView_RemoveGroup',
+ 'GUICtrlListView_Scroll','GUICtrlListView_SetBkColor',
+ 'GUICtrlListView_SetBkImage','GUICtrlListView_SetCallBackMask',
+ 'GUICtrlListView_SetColumn','GUICtrlListView_SetColumnOrder',
+ 'GUICtrlListView_SetColumnOrderArray',
+ 'GUICtrlListView_SetColumnWidth',
+ 'GUICtrlListView_SetExtendedListViewStyle',
+ 'GUICtrlListView_SetGroupInfo','GUICtrlListView_SetHotItem',
+ 'GUICtrlListView_SetHoverTime','GUICtrlListView_SetIconSpacing',
+ 'GUICtrlListView_SetImageList','GUICtrlListView_SetItem',
+ 'GUICtrlListView_SetItemChecked','GUICtrlListView_SetItemCount',
+ 'GUICtrlListView_SetItemCut','GUICtrlListView_SetItemDropHilited',
+ 'GUICtrlListView_SetItemEx','GUICtrlListView_SetItemFocused',
+ 'GUICtrlListView_SetItemGroupID','GUICtrlListView_SetItemImage',
+ 'GUICtrlListView_SetItemIndent','GUICtrlListView_SetItemParam',
+ 'GUICtrlListView_SetItemPosition',
+ 'GUICtrlListView_SetItemPosition32',
+ 'GUICtrlListView_SetItemSelected','GUICtrlListView_SetItemState',
+ 'GUICtrlListView_SetItemStateImage','GUICtrlListView_SetItemText',
+ 'GUICtrlListView_SetOutlineColor',
+ 'GUICtrlListView_SetSelectedColumn',
+ 'GUICtrlListView_SetSelectionMark','GUICtrlListView_SetTextBkColor',
+ 'GUICtrlListView_SetTextColor','GUICtrlListView_SetToolTips',
+ 'GUICtrlListView_SetUnicodeFormat','GUICtrlListView_SetView',
+ 'GUICtrlListView_SetWorkAreas','GUICtrlListView_SimpleSort',
+ 'GUICtrlListView_SortItems','GUICtrlListView_SubItemHitTest',
+ 'GUICtrlListView_UnRegisterSortCallBack',
+ 'GUICtrlMenu_AddMenuItem','GUICtrlMenu_AppendMenu',
+ 'GUICtrlMenu_CheckMenuItem','GUICtrlMenu_CheckRadioItem',
+ 'GUICtrlMenu_CreateMenu','GUICtrlMenu_CreatePopup',
+ 'GUICtrlMenu_DeleteMenu','GUICtrlMenu_DestroyMenu',
+ 'GUICtrlMenu_DrawMenuBar','GUICtrlMenu_EnableMenuItem',
+ 'GUICtrlMenu_FindItem','GUICtrlMenu_FindParent',
+ 'GUICtrlMenu_GetItemBmp','GUICtrlMenu_GetItemBmpChecked',
+ 'GUICtrlMenu_GetItemBmpUnchecked','GUICtrlMenu_GetItemChecked',
+ 'GUICtrlMenu_GetItemCount','GUICtrlMenu_GetItemData',
+ 'GUICtrlMenu_GetItemDefault','GUICtrlMenu_GetItemDisabled',
+ 'GUICtrlMenu_GetItemEnabled','GUICtrlMenu_GetItemGrayed',
+ 'GUICtrlMenu_GetItemHighlighted','GUICtrlMenu_GetItemID',
+ 'GUICtrlMenu_GetItemInfo','GUICtrlMenu_GetItemRect',
+ 'GUICtrlMenu_GetItemRectEx','GUICtrlMenu_GetItemState',
+ 'GUICtrlMenu_GetItemStateEx','GUICtrlMenu_GetItemSubMenu',
+ 'GUICtrlMenu_GetItemText','GUICtrlMenu_GetItemType',
+ 'GUICtrlMenu_GetMenu','GUICtrlMenu_GetMenuBackground',
+ 'GUICtrlMenu_GetMenuBarInfo','GUICtrlMenu_GetMenuContextHelpID',
+ 'GUICtrlMenu_GetMenuData','GUICtrlMenu_GetMenuDefaultItem',
+ 'GUICtrlMenu_GetMenuHeight','GUICtrlMenu_GetMenuInfo',
+ 'GUICtrlMenu_GetMenuStyle','GUICtrlMenu_GetSystemMenu',
+ 'GUICtrlMenu_InsertMenuItem','GUICtrlMenu_InsertMenuItemEx',
+ 'GUICtrlMenu_IsMenu','GUICtrlMenu_LoadMenu',
+ 'GUICtrlMenu_MapAccelerator','GUICtrlMenu_MenuItemFromPoint',
+ 'GUICtrlMenu_RemoveMenu','GUICtrlMenu_SetItemBitmaps',
+ 'GUICtrlMenu_SetItemBmp','GUICtrlMenu_SetItemBmpChecked',
+ 'GUICtrlMenu_SetItemBmpUnchecked','GUICtrlMenu_SetItemChecked',
+ 'GUICtrlMenu_SetItemData','GUICtrlMenu_SetItemDefault',
+ 'GUICtrlMenu_SetItemDisabled','GUICtrlMenu_SetItemEnabled',
+ 'GUICtrlMenu_SetItemGrayed','GUICtrlMenu_SetItemHighlighted',
+ 'GUICtrlMenu_SetItemID','GUICtrlMenu_SetItemInfo',
+ 'GUICtrlMenu_SetItemState','GUICtrlMenu_SetItemSubMenu',
+ 'GUICtrlMenu_SetItemText','GUICtrlMenu_SetItemType',
+ 'GUICtrlMenu_SetMenu','GUICtrlMenu_SetMenuBackground',
+ 'GUICtrlMenu_SetMenuContextHelpID','GUICtrlMenu_SetMenuData',
+ 'GUICtrlMenu_SetMenuDefaultItem','GUICtrlMenu_SetMenuHeight',
+ 'GUICtrlMenu_SetMenuInfo','GUICtrlMenu_SetMenuStyle',
+ 'GUICtrlMenu_TrackPopupMenu','GUICtrlMonthCal_Create',
+ 'GUICtrlMonthCal_Destroy','GUICtrlMonthCal_GetColor',
+ 'GUICtrlMonthCal_GetColorArray','GUICtrlMonthCal_GetCurSel',
+ 'GUICtrlMonthCal_GetCurSelStr','GUICtrlMonthCal_GetFirstDOW',
+ 'GUICtrlMonthCal_GetFirstDOWStr','GUICtrlMonthCal_GetMaxSelCount',
+ 'GUICtrlMonthCal_GetMaxTodayWidth',
+ 'GUICtrlMonthCal_GetMinReqHeight','GUICtrlMonthCal_GetMinReqRect',
+ 'GUICtrlMonthCal_GetMinReqRectArray',
+ 'GUICtrlMonthCal_GetMinReqWidth','GUICtrlMonthCal_GetMonthDelta',
+ 'GUICtrlMonthCal_GetMonthRange','GUICtrlMonthCal_GetMonthRangeMax',
+ 'GUICtrlMonthCal_GetMonthRangeMaxStr',
+ 'GUICtrlMonthCal_GetMonthRangeMin',
+ 'GUICtrlMonthCal_GetMonthRangeMinStr',
+ 'GUICtrlMonthCal_GetMonthRangeSpan','GUICtrlMonthCal_GetRange',
+ 'GUICtrlMonthCal_GetRangeMax','GUICtrlMonthCal_GetRangeMaxStr',
+ 'GUICtrlMonthCal_GetRangeMin','GUICtrlMonthCal_GetRangeMinStr',
+ 'GUICtrlMonthCal_GetSelRange','GUICtrlMonthCal_GetSelRangeMax',
+ 'GUICtrlMonthCal_GetSelRangeMaxStr',
+ 'GUICtrlMonthCal_GetSelRangeMin',
+ 'GUICtrlMonthCal_GetSelRangeMinStr','GUICtrlMonthCal_GetToday',
+ 'GUICtrlMonthCal_GetTodayStr','GUICtrlMonthCal_GetUnicodeFormat',
+ 'GUICtrlMonthCal_HitTest','GUICtrlMonthCal_SetColor',
+ 'GUICtrlMonthCal_SetCurSel','GUICtrlMonthCal_SetDayState',
+ 'GUICtrlMonthCal_SetFirstDOW','GUICtrlMonthCal_SetMaxSelCount',
+ 'GUICtrlMonthCal_SetMonthDelta','GUICtrlMonthCal_SetRange',
+ 'GUICtrlMonthCal_SetSelRange','GUICtrlMonthCal_SetToday',
+ 'GUICtrlMonthCal_SetUnicodeFormat','GUICtrlRebar_AddBand',
+ 'GUICtrlRebar_AddToolBarBand','GUICtrlRebar_BeginDrag',
+ 'GUICtrlRebar_Create','GUICtrlRebar_DeleteBand',
+ 'GUICtrlRebar_Destroy','GUICtrlRebar_DragMove',
+ 'GUICtrlRebar_EndDrag','GUICtrlRebar_GetBandBackColor',
+ 'GUICtrlRebar_GetBandBorders','GUICtrlRebar_GetBandBordersEx',
+ 'GUICtrlRebar_GetBandChildHandle','GUICtrlRebar_GetBandChildSize',
+ 'GUICtrlRebar_GetBandCount','GUICtrlRebar_GetBandForeColor',
+ 'GUICtrlRebar_GetBandHeaderSize','GUICtrlRebar_GetBandID',
+ 'GUICtrlRebar_GetBandIdealSize','GUICtrlRebar_GetBandLength',
+ 'GUICtrlRebar_GetBandLParam','GUICtrlRebar_GetBandMargins',
+ 'GUICtrlRebar_GetBandMarginsEx','GUICtrlRebar_GetBandRect',
+ 'GUICtrlRebar_GetBandRectEx','GUICtrlRebar_GetBandStyle',
+ 'GUICtrlRebar_GetBandStyleBreak',
+ 'GUICtrlRebar_GetBandStyleChildEdge',
+ 'GUICtrlRebar_GetBandStyleFixedBMP',
+ 'GUICtrlRebar_GetBandStyleFixedSize',
+ 'GUICtrlRebar_GetBandStyleGripperAlways',
+ 'GUICtrlRebar_GetBandStyleHidden',
+ 'GUICtrlRebar_GetBandStyleHideTitle',
+ 'GUICtrlRebar_GetBandStyleNoGripper',
+ 'GUICtrlRebar_GetBandStyleTopAlign',
+ 'GUICtrlRebar_GetBandStyleUseChevron',
+ 'GUICtrlRebar_GetBandStyleVariableHeight',
+ 'GUICtrlRebar_GetBandText','GUICtrlRebar_GetBarHeight',
+ 'GUICtrlRebar_GetBKColor','GUICtrlRebar_GetColorScheme',
+ 'GUICtrlRebar_GetRowCount','GUICtrlRebar_GetRowHeight',
+ 'GUICtrlRebar_GetTextColor','GUICtrlRebar_GetToolTips',
+ 'GUICtrlRebar_GetUnicodeFormat','GUICtrlRebar_HitTest',
+ 'GUICtrlRebar_IDToIndex','GUICtrlRebar_MaximizeBand',
+ 'GUICtrlRebar_MinimizeBand','GUICtrlRebar_MoveBand',
+ 'GUICtrlRebar_SetBandBackColor','GUICtrlRebar_SetBandForeColor',
+ 'GUICtrlRebar_SetBandHeaderSize','GUICtrlRebar_SetBandID',
+ 'GUICtrlRebar_SetBandIdealSize','GUICtrlRebar_SetBandLength',
+ 'GUICtrlRebar_SetBandLParam','GUICtrlRebar_SetBandStyle',
+ 'GUICtrlRebar_SetBandStyleBreak',
+ 'GUICtrlRebar_SetBandStyleChildEdge',
+ 'GUICtrlRebar_SetBandStyleFixedBMP',
+ 'GUICtrlRebar_SetBandStyleFixedSize',
+ 'GUICtrlRebar_SetBandStyleGripperAlways',
+ 'GUICtrlRebar_SetBandStyleHidden',
+ 'GUICtrlRebar_SetBandStyleHideTitle',
+ 'GUICtrlRebar_SetBandStyleNoGripper',
+ 'GUICtrlRebar_SetBandStyleTopAlign',
+ 'GUICtrlRebar_SetBandStyleUseChevron',
+ 'GUICtrlRebar_SetBandStyleVariableHeight',
+ 'GUICtrlRebar_SetBandText','GUICtrlRebar_SetBKColor',
+ 'GUICtrlRebar_SetColorScheme','GUICtrlRebar_SetTextColor',
+ 'GUICtrlRebar_SetToolTips','GUICtrlRebar_SetUnicodeFormat',
+ 'GUICtrlRebar_ShowBand','GUICtrlSlider_ClearSel',
+ 'GUICtrlSlider_ClearTics','GUICtrlSlider_Create',
+ 'GUICtrlSlider_Destroy','GUICtrlSlider_GetBuddy',
+ 'GUICtrlSlider_GetChannelRect','GUICtrlSlider_GetLineSize',
+ 'GUICtrlSlider_GetNumTics','GUICtrlSlider_GetPageSize',
+ 'GUICtrlSlider_GetPos','GUICtrlSlider_GetPTics',
+ 'GUICtrlSlider_GetRange','GUICtrlSlider_GetRangeMax',
+ 'GUICtrlSlider_GetRangeMin','GUICtrlSlider_GetSel',
+ 'GUICtrlSlider_GetSelEnd','GUICtrlSlider_GetSelStart',
+ 'GUICtrlSlider_GetThumbLength','GUICtrlSlider_GetThumbRect',
+ 'GUICtrlSlider_GetThumbRectEx','GUICtrlSlider_GetTic',
+ 'GUICtrlSlider_GetTicPos','GUICtrlSlider_GetToolTips',
+ 'GUICtrlSlider_GetUnicodeFormat','GUICtrlSlider_SetBuddy',
+ 'GUICtrlSlider_SetLineSize','GUICtrlSlider_SetPageSize',
+ 'GUICtrlSlider_SetPos','GUICtrlSlider_SetRange',
+ 'GUICtrlSlider_SetRangeMax','GUICtrlSlider_SetRangeMin',
+ 'GUICtrlSlider_SetSel','GUICtrlSlider_SetSelEnd',
+ 'GUICtrlSlider_SetSelStart','GUICtrlSlider_SetThumbLength',
+ 'GUICtrlSlider_SetTic','GUICtrlSlider_SetTicFreq',
+ 'GUICtrlSlider_SetTipSide','GUICtrlSlider_SetToolTips',
+ 'GUICtrlSlider_SetUnicodeFormat','GUICtrlStatusBar_Create',
+ 'GUICtrlStatusBar_Destroy','GUICtrlStatusBar_EmbedControl',
+ 'GUICtrlStatusBar_GetBorders','GUICtrlStatusBar_GetBordersHorz',
+ 'GUICtrlStatusBar_GetBordersRect','GUICtrlStatusBar_GetBordersVert',
+ 'GUICtrlStatusBar_GetCount','GUICtrlStatusBar_GetHeight',
+ 'GUICtrlStatusBar_GetIcon','GUICtrlStatusBar_GetParts',
+ 'GUICtrlStatusBar_GetRect','GUICtrlStatusBar_GetRectEx',
+ 'GUICtrlStatusBar_GetText','GUICtrlStatusBar_GetTextFlags',
+ 'GUICtrlStatusBar_GetTextLength','GUICtrlStatusBar_GetTextLengthEx',
+ 'GUICtrlStatusBar_GetTipText','GUICtrlStatusBar_GetUnicodeFormat',
+ 'GUICtrlStatusBar_GetWidth','GUICtrlStatusBar_IsSimple',
+ 'GUICtrlStatusBar_Resize','GUICtrlStatusBar_SetBkColor',
+ 'GUICtrlStatusBar_SetIcon','GUICtrlStatusBar_SetMinHeight',
+ 'GUICtrlStatusBar_SetParts','GUICtrlStatusBar_SetSimple',
+ 'GUICtrlStatusBar_SetText','GUICtrlStatusBar_SetTipText',
+ 'GUICtrlStatusBar_SetUnicodeFormat','GUICtrlStatusBar_ShowHide',
+ 'GUICtrlTab_Create','GUICtrlTab_DeleteAllItems',
+ 'GUICtrlTab_DeleteItem','GUICtrlTab_DeselectAll',
+ 'GUICtrlTab_Destroy','GUICtrlTab_FindTab','GUICtrlTab_GetCurFocus',
+ 'GUICtrlTab_GetCurSel','GUICtrlTab_GetDisplayRect',
+ 'GUICtrlTab_GetDisplayRectEx','GUICtrlTab_GetExtendedStyle',
+ 'GUICtrlTab_GetImageList','GUICtrlTab_GetItem',
+ 'GUICtrlTab_GetItemCount','GUICtrlTab_GetItemImage',
+ 'GUICtrlTab_GetItemParam','GUICtrlTab_GetItemRect',
+ 'GUICtrlTab_GetItemRectEx','GUICtrlTab_GetItemState',
+ 'GUICtrlTab_GetItemText','GUICtrlTab_GetRowCount',
+ 'GUICtrlTab_GetToolTips','GUICtrlTab_GetUnicodeFormat',
+ 'GUICtrlTab_HighlightItem','GUICtrlTab_HitTest',
+ 'GUICtrlTab_InsertItem','GUICtrlTab_RemoveImage',
+ 'GUICtrlTab_SetCurFocus','GUICtrlTab_SetCurSel',
+ 'GUICtrlTab_SetExtendedStyle','GUICtrlTab_SetImageList',
+ 'GUICtrlTab_SetItem','GUICtrlTab_SetItemImage',
+ 'GUICtrlTab_SetItemParam','GUICtrlTab_SetItemSize',
+ 'GUICtrlTab_SetItemState','GUICtrlTab_SetItemText',
+ 'GUICtrlTab_SetMinTabWidth','GUICtrlTab_SetPadding',
+ 'GUICtrlTab_SetToolTips','GUICtrlTab_SetUnicodeFormat',
+ 'GUICtrlToolbar_AddBitmap','GUICtrlToolbar_AddButton',
+ 'GUICtrlToolbar_AddButtonSep','GUICtrlToolbar_AddString',
+ 'GUICtrlToolbar_ButtonCount','GUICtrlToolbar_CheckButton',
+ 'GUICtrlToolbar_ClickAccel','GUICtrlToolbar_ClickButton',
+ 'GUICtrlToolbar_ClickIndex','GUICtrlToolbar_CommandToIndex',
+ 'GUICtrlToolbar_Create','GUICtrlToolbar_Customize',
+ 'GUICtrlToolbar_DeleteButton','GUICtrlToolbar_Destroy',
+ 'GUICtrlToolbar_EnableButton','GUICtrlToolbar_FindToolbar',
+ 'GUICtrlToolbar_GetAnchorHighlight','GUICtrlToolbar_GetBitmapFlags',
+ 'GUICtrlToolbar_GetButtonBitmap','GUICtrlToolbar_GetButtonInfo',
+ 'GUICtrlToolbar_GetButtonInfoEx','GUICtrlToolbar_GetButtonParam',
+ 'GUICtrlToolbar_GetButtonRect','GUICtrlToolbar_GetButtonRectEx',
+ 'GUICtrlToolbar_GetButtonSize','GUICtrlToolbar_GetButtonState',
+ 'GUICtrlToolbar_GetButtonStyle','GUICtrlToolbar_GetButtonText',
+ 'GUICtrlToolbar_GetColorScheme',
+ 'GUICtrlToolbar_GetDisabledImageList',
+ 'GUICtrlToolbar_GetExtendedStyle','GUICtrlToolbar_GetHotImageList',
+ 'GUICtrlToolbar_GetHotItem','GUICtrlToolbar_GetImageList',
+ 'GUICtrlToolbar_GetInsertMark','GUICtrlToolbar_GetInsertMarkColor',
+ 'GUICtrlToolbar_GetMaxSize','GUICtrlToolbar_GetMetrics',
+ 'GUICtrlToolbar_GetPadding','GUICtrlToolbar_GetRows',
+ 'GUICtrlToolbar_GetString','GUICtrlToolbar_GetStyle',
+ 'GUICtrlToolbar_GetStyleAltDrag',
+ 'GUICtrlToolbar_GetStyleCustomErase','GUICtrlToolbar_GetStyleFlat',
+ 'GUICtrlToolbar_GetStyleList','GUICtrlToolbar_GetStyleRegisterDrop',
+ 'GUICtrlToolbar_GetStyleToolTips',
+ 'GUICtrlToolbar_GetStyleTransparent',
+ 'GUICtrlToolbar_GetStyleWrapable','GUICtrlToolbar_GetTextRows',
+ 'GUICtrlToolbar_GetToolTips','GUICtrlToolbar_GetUnicodeFormat',
+ 'GUICtrlToolbar_HideButton','GUICtrlToolbar_HighlightButton',
+ 'GUICtrlToolbar_HitTest','GUICtrlToolbar_IndexToCommand',
+ 'GUICtrlToolbar_InsertButton','GUICtrlToolbar_InsertMarkHitTest',
+ 'GUICtrlToolbar_IsButtonChecked','GUICtrlToolbar_IsButtonEnabled',
+ 'GUICtrlToolbar_IsButtonHidden',
+ 'GUICtrlToolbar_IsButtonHighlighted',
+ 'GUICtrlToolbar_IsButtonIndeterminate',
+ 'GUICtrlToolbar_IsButtonPressed','GUICtrlToolbar_LoadBitmap',
+ 'GUICtrlToolbar_LoadImages','GUICtrlToolbar_MapAccelerator',
+ 'GUICtrlToolbar_MoveButton','GUICtrlToolbar_PressButton',
+ 'GUICtrlToolbar_SetAnchorHighlight','GUICtrlToolbar_SetBitmapSize',
+ 'GUICtrlToolbar_SetButtonBitMap','GUICtrlToolbar_SetButtonInfo',
+ 'GUICtrlToolbar_SetButtonInfoEx','GUICtrlToolbar_SetButtonParam',
+ 'GUICtrlToolbar_SetButtonSize','GUICtrlToolbar_SetButtonState',
+ 'GUICtrlToolbar_SetButtonStyle','GUICtrlToolbar_SetButtonText',
+ 'GUICtrlToolbar_SetButtonWidth','GUICtrlToolbar_SetCmdID',
+ 'GUICtrlToolbar_SetColorScheme',
+ 'GUICtrlToolbar_SetDisabledImageList',
+ 'GUICtrlToolbar_SetDrawTextFlags','GUICtrlToolbar_SetExtendedStyle',
+ 'GUICtrlToolbar_SetHotImageList','GUICtrlToolbar_SetHotItem',
+ 'GUICtrlToolbar_SetImageList','GUICtrlToolbar_SetIndent',
+ 'GUICtrlToolbar_SetIndeterminate','GUICtrlToolbar_SetInsertMark',
+ 'GUICtrlToolbar_SetInsertMarkColor','GUICtrlToolbar_SetMaxTextRows',
+ 'GUICtrlToolbar_SetMetrics','GUICtrlToolbar_SetPadding',
+ 'GUICtrlToolbar_SetParent','GUICtrlToolbar_SetRows',
+ 'GUICtrlToolbar_SetStyle','GUICtrlToolbar_SetStyleAltDrag',
+ 'GUICtrlToolbar_SetStyleCustomErase','GUICtrlToolbar_SetStyleFlat',
+ 'GUICtrlToolbar_SetStyleList','GUICtrlToolbar_SetStyleRegisterDrop',
+ 'GUICtrlToolbar_SetStyleToolTips',
+ 'GUICtrlToolbar_SetStyleTransparent',
+ 'GUICtrlToolbar_SetStyleWrapable','GUICtrlToolbar_SetToolTips',
+ 'GUICtrlToolbar_SetUnicodeFormat','GUICtrlToolbar_SetWindowTheme',
+ 'GUICtrlTreeView_Add','GUICtrlTreeView_AddChild',
+ 'GUICtrlTreeView_AddChildFirst','GUICtrlTreeView_AddFirst',
+ 'GUICtrlTreeView_BeginUpdate','GUICtrlTreeView_ClickItem',
+ 'GUICtrlTreeView_Create','GUICtrlTreeView_CreateDragImage',
+ 'GUICtrlTreeView_CreateSolidBitMap','GUICtrlTreeView_Delete',
+ 'GUICtrlTreeView_DeleteAll','GUICtrlTreeView_DeleteChildren',
+ 'GUICtrlTreeView_Destroy','GUICtrlTreeView_DisplayRect',
+ 'GUICtrlTreeView_DisplayRectEx','GUICtrlTreeView_EditText',
+ 'GUICtrlTreeView_EndEdit','GUICtrlTreeView_EndUpdate',
+ 'GUICtrlTreeView_EnsureVisible','GUICtrlTreeView_Expand',
+ 'GUICtrlTreeView_ExpandedOnce','GUICtrlTreeView_FindItem',
+ 'GUICtrlTreeView_FindItemEx','GUICtrlTreeView_GetBkColor',
+ 'GUICtrlTreeView_GetBold','GUICtrlTreeView_GetChecked',
+ 'GUICtrlTreeView_GetChildCount','GUICtrlTreeView_GetChildren',
+ 'GUICtrlTreeView_GetCount','GUICtrlTreeView_GetCut',
+ 'GUICtrlTreeView_GetDropTarget','GUICtrlTreeView_GetEditControl',
+ 'GUICtrlTreeView_GetExpanded','GUICtrlTreeView_GetFirstChild',
+ 'GUICtrlTreeView_GetFirstItem','GUICtrlTreeView_GetFirstVisible',
+ 'GUICtrlTreeView_GetFocused','GUICtrlTreeView_GetHeight',
+ 'GUICtrlTreeView_GetImageIndex',
+ 'GUICtrlTreeView_GetImageListIconHandle',
+ 'GUICtrlTreeView_GetIndent','GUICtrlTreeView_GetInsertMarkColor',
+ 'GUICtrlTreeView_GetISearchString','GUICtrlTreeView_GetItemByIndex',
+ 'GUICtrlTreeView_GetItemHandle','GUICtrlTreeView_GetItemParam',
+ 'GUICtrlTreeView_GetLastChild','GUICtrlTreeView_GetLineColor',
+ 'GUICtrlTreeView_GetNext','GUICtrlTreeView_GetNextChild',
+ 'GUICtrlTreeView_GetNextSibling','GUICtrlTreeView_GetNextVisible',
+ 'GUICtrlTreeView_GetNormalImageList',
+ 'GUICtrlTreeView_GetParentHandle','GUICtrlTreeView_GetParentParam',
+ 'GUICtrlTreeView_GetPrev','GUICtrlTreeView_GetPrevChild',
+ 'GUICtrlTreeView_GetPrevSibling','GUICtrlTreeView_GetPrevVisible',
+ 'GUICtrlTreeView_GetScrollTime','GUICtrlTreeView_GetSelected',
+ 'GUICtrlTreeView_GetSelectedImageIndex',
+ 'GUICtrlTreeView_GetSelection','GUICtrlTreeView_GetSiblingCount',
+ 'GUICtrlTreeView_GetState','GUICtrlTreeView_GetStateImageIndex',
+ 'GUICtrlTreeView_GetStateImageList','GUICtrlTreeView_GetText',
+ 'GUICtrlTreeView_GetTextColor','GUICtrlTreeView_GetToolTips',
+ 'GUICtrlTreeView_GetTree','GUICtrlTreeView_GetUnicodeFormat',
+ 'GUICtrlTreeView_GetVisible','GUICtrlTreeView_GetVisibleCount',
+ 'GUICtrlTreeView_HitTest','GUICtrlTreeView_HitTestEx',
+ 'GUICtrlTreeView_HitTestItem','GUICtrlTreeView_Index',
+ 'GUICtrlTreeView_InsertItem','GUICtrlTreeView_IsFirstItem',
+ 'GUICtrlTreeView_IsParent','GUICtrlTreeView_Level',
+ 'GUICtrlTreeView_SelectItem','GUICtrlTreeView_SelectItemByIndex',
+ 'GUICtrlTreeView_SetBkColor','GUICtrlTreeView_SetBold',
+ 'GUICtrlTreeView_SetChecked','GUICtrlTreeView_SetCheckedByIndex',
+ 'GUICtrlTreeView_SetChildren','GUICtrlTreeView_SetCut',
+ 'GUICtrlTreeView_SetDropTarget','GUICtrlTreeView_SetFocused',
+ 'GUICtrlTreeView_SetHeight','GUICtrlTreeView_SetIcon',
+ 'GUICtrlTreeView_SetImageIndex','GUICtrlTreeView_SetIndent',
+ 'GUICtrlTreeView_SetInsertMark',
+ 'GUICtrlTreeView_SetInsertMarkColor',
+ 'GUICtrlTreeView_SetItemHeight','GUICtrlTreeView_SetItemParam',
+ 'GUICtrlTreeView_SetLineColor','GUICtrlTreeView_SetNormalImageList',
+ 'GUICtrlTreeView_SetScrollTime','GUICtrlTreeView_SetSelected',
+ 'GUICtrlTreeView_SetSelectedImageIndex','GUICtrlTreeView_SetState',
+ 'GUICtrlTreeView_SetStateImageIndex',
+ 'GUICtrlTreeView_SetStateImageList','GUICtrlTreeView_SetText',
+ 'GUICtrlTreeView_SetTextColor','GUICtrlTreeView_SetToolTips',
+ 'GUICtrlTreeView_SetUnicodeFormat','GUICtrlTreeView_Sort',
+ 'GUIImageList_Add','GUIImageList_AddBitmap','GUIImageList_AddIcon',
+ 'GUIImageList_AddMasked','GUIImageList_BeginDrag',
+ 'GUIImageList_Copy','GUIImageList_Create','GUIImageList_Destroy',
+ 'GUIImageList_DestroyIcon','GUIImageList_DragEnter',
+ 'GUIImageList_DragLeave','GUIImageList_DragMove',
+ 'GUIImageList_Draw','GUIImageList_DrawEx','GUIImageList_Duplicate',
+ 'GUIImageList_EndDrag','GUIImageList_GetBkColor',
+ 'GUIImageList_GetIcon','GUIImageList_GetIconHeight',
+ 'GUIImageList_GetIconSize','GUIImageList_GetIconSizeEx',
+ 'GUIImageList_GetIconWidth','GUIImageList_GetImageCount',
+ 'GUIImageList_GetImageInfoEx','GUIImageList_Remove',
+ 'GUIImageList_ReplaceIcon','GUIImageList_SetBkColor',
+ 'GUIImageList_SetIconSize','GUIImageList_SetImageCount',
+ 'GUIImageList_Swap','GUIScrollBars_EnableScrollBar',
+ 'GUIScrollBars_GetScrollBarInfoEx','GUIScrollBars_GetScrollBarRect',
+ 'GUIScrollBars_GetScrollBarRGState',
+ 'GUIScrollBars_GetScrollBarXYLineButton',
+ 'GUIScrollBars_GetScrollBarXYThumbBottom',
+ 'GUIScrollBars_GetScrollBarXYThumbTop',
+ 'GUIScrollBars_GetScrollInfo','GUIScrollBars_GetScrollInfoEx',
+ 'GUIScrollBars_GetScrollInfoMax','GUIScrollBars_GetScrollInfoMin',
+ 'GUIScrollBars_GetScrollInfoPage','GUIScrollBars_GetScrollInfoPos',
+ 'GUIScrollBars_GetScrollInfoTrackPos','GUIScrollBars_GetScrollPos',
+ 'GUIScrollBars_GetScrollRange','GUIScrollBars_Init',
+ 'GUIScrollBars_ScrollWindow','GUIScrollBars_SetScrollInfo',
+ 'GUIScrollBars_SetScrollInfoMax','GUIScrollBars_SetScrollInfoMin',
+ 'GUIScrollBars_SetScrollInfoPage','GUIScrollBars_SetScrollInfoPos',
+ 'GUIScrollBars_SetScrollRange','GUIScrollBars_ShowScrollBar',
+ 'GUIToolTip_Activate','GUIToolTip_AddTool','GUIToolTip_AdjustRect',
+ 'GUIToolTip_BitsToTTF','GUIToolTip_Create','GUIToolTip_DelTool',
+ 'GUIToolTip_Destroy','GUIToolTip_EnumTools',
+ 'GUIToolTip_GetBubbleHeight','GUIToolTip_GetBubbleSize',
+ 'GUIToolTip_GetBubbleWidth','GUIToolTip_GetCurrentTool',
+ 'GUIToolTip_GetDelayTime','GUIToolTip_GetMargin',
+ 'GUIToolTip_GetMarginEx','GUIToolTip_GetMaxTipWidth',
+ 'GUIToolTip_GetText','GUIToolTip_GetTipBkColor',
+ 'GUIToolTip_GetTipTextColor','GUIToolTip_GetTitleBitMap',
+ 'GUIToolTip_GetTitleText','GUIToolTip_GetToolCount',
+ 'GUIToolTip_GetToolInfo','GUIToolTip_HitTest',
+ 'GUIToolTip_NewToolRect','GUIToolTip_Pop','GUIToolTip_PopUp',
+ 'GUIToolTip_SetDelayTime','GUIToolTip_SetMargin',
+ 'GUIToolTip_SetMaxTipWidth','GUIToolTip_SetTipBkColor',
+ 'GUIToolTip_SetTipTextColor','GUIToolTip_SetTitle',
+ 'GUIToolTip_SetToolInfo','GUIToolTip_SetWindowTheme',
+ 'GUIToolTip_ToolExists','GUIToolTip_ToolToArray',
+ 'GUIToolTip_TrackActivate','GUIToolTip_TrackPosition',
+ 'GUIToolTip_TTFToBits','GUIToolTip_Update',
+ 'GUIToolTip_UpdateTipText','HexToString','IE_Example',
+ 'IE_Introduction','IE_VersionInfo','IEAction','IEAttach',
+ 'IEBodyReadHTML','IEBodyReadText','IEBodyWriteHTML','IECreate',
+ 'IECreateEmbedded','IEDocGetObj','IEDocInsertHTML',
+ 'IEDocInsertText','IEDocReadHTML','IEDocWriteHTML',
+ 'IEErrorHandlerDeRegister','IEErrorHandlerRegister','IEErrorNotify',
+ 'IEFormElementCheckBoxSelect','IEFormElementGetCollection',
+ 'IEFormElementGetObjByName','IEFormElementGetValue',
+ 'IEFormElementOptionSelect','IEFormElementRadioSelect',
+ 'IEFormElementSetValue','IEFormGetCollection','IEFormGetObjByName',
+ 'IEFormImageClick','IEFormReset','IEFormSubmit',
+ 'IEFrameGetCollection','IEFrameGetObjByName','IEGetObjById',
+ 'IEGetObjByName','IEHeadInsertEventScript','IEImgClick',
+ 'IEImgGetCollection','IEIsFrameSet','IELinkClickByIndex',
+ 'IELinkClickByText','IELinkGetCollection','IELoadWait',
+ 'IELoadWaitTimeout','IENavigate','IEPropertyGet','IEPropertySet',
+ 'IEQuit','IETableGetCollection','IETableWriteToArray',
+ 'IETagNameAllGetCollection','IETagNameGetCollection','Iif',
+ 'INetExplorerCapable','INetGetSource','INetMail','INetSmtpMail',
+ 'IsPressed','MathCheckDiv','Max','MemGlobalAlloc','MemGlobalFree',
+ 'MemGlobalLock','MemGlobalSize','MemGlobalUnlock','MemMoveMemory',
+ 'MemMsgBox','MemShowError','MemVirtualAlloc','MemVirtualAllocEx',
+ 'MemVirtualFree','MemVirtualFreeEx','Min','MouseTrap',
+ 'NamedPipes_CallNamedPipe','NamedPipes_ConnectNamedPipe',
+ 'NamedPipes_CreateNamedPipe','NamedPipes_CreatePipe',
+ 'NamedPipes_DisconnectNamedPipe',
+ 'NamedPipes_GetNamedPipeHandleState','NamedPipes_GetNamedPipeInfo',
+ 'NamedPipes_PeekNamedPipe','NamedPipes_SetNamedPipeHandleState',
+ 'NamedPipes_TransactNamedPipe','NamedPipes_WaitNamedPipe',
+ 'Net_Share_ConnectionEnum','Net_Share_FileClose',
+ 'Net_Share_FileEnum','Net_Share_FileGetInfo','Net_Share_PermStr',
+ 'Net_Share_ResourceStr','Net_Share_SessionDel',
+ 'Net_Share_SessionEnum','Net_Share_SessionGetInfo',
+ 'Net_Share_ShareAdd','Net_Share_ShareCheck','Net_Share_ShareDel',
+ 'Net_Share_ShareEnum','Net_Share_ShareGetInfo',
+ 'Net_Share_ShareSetInfo','Net_Share_StatisticsGetSvr',
+ 'Net_Share_StatisticsGetWrk','Now','NowCalc','NowCalcDate',
+ 'NowDate','NowTime','PathFull','PathMake','PathSplit',
+ 'ProcessGetName','ProcessGetPriority','Radian',
+ 'ReplaceStringInFile','RunDOS','ScreenCapture_Capture',
+ 'ScreenCapture_CaptureWnd','ScreenCapture_SaveImage',
+ 'ScreenCapture_SetBMPFormat','ScreenCapture_SetJPGQuality',
+ 'ScreenCapture_SetTIFColorDepth','ScreenCapture_SetTIFCompression',
+ 'Security__AdjustTokenPrivileges','Security__GetAccountSid',
+ 'Security__GetLengthSid','Security__GetTokenInformation',
+ 'Security__ImpersonateSelf','Security__IsValidSid',
+ 'Security__LookupAccountName','Security__LookupAccountSid',
+ 'Security__LookupPrivilegeValue','Security__OpenProcessToken',
+ 'Security__OpenThreadToken','Security__OpenThreadTokenEx',
+ 'Security__SetPrivilege','Security__SidToStringSid',
+ 'Security__SidTypeStr','Security__StringSidToSid','SendMessage',
+ 'SendMessageA','SetDate','SetTime','Singleton','SoundClose',
+ 'SoundLength','SoundOpen','SoundPause','SoundPlay','SoundPos',
+ 'SoundResume','SoundSeek','SoundStatus','SoundStop',
+ 'SQLite_Changes','SQLite_Close','SQLite_Display2DResult',
+ 'SQLite_Encode','SQLite_ErrCode','SQLite_ErrMsg','SQLite_Escape',
+ 'SQLite_Exec','SQLite_FetchData','SQLite_FetchNames',
+ 'SQLite_GetTable','SQLite_GetTable2d','SQLite_LastInsertRowID',
+ 'SQLite_LibVersion','SQLite_Open','SQLite_Query',
+ 'SQLite_QueryFinalize','SQLite_QueryReset','SQLite_QuerySingleRow',
+ 'SQLite_SaveMode','SQLite_SetTimeout','SQLite_Shutdown',
+ 'SQLite_SQLiteExe','SQLite_Startup','SQLite_TotalChanges',
+ 'StringAddComma','StringBetween','StringEncrypt','StringInsert',
+ 'StringProper','StringRepeat','StringReverse','StringSplit',
+ 'StringToHex','TCPIpToName','TempFile','TicksToTime','Timer_Diff',
+ 'Timer_GetTimerID','Timer_Init','Timer_KillAllTimers',
+ 'Timer_KillTimer','Timer_SetTimer','TimeToTicks','VersionCompare',
+ 'viClose','viExecCommand','viFindGpib','viGpibBusReset','viGTL',
+ 'viOpen','viSetAttribute','viSetTimeout','WeekNumberISO',
+ 'WinAPI_AttachConsole','WinAPI_AttachThreadInput','WinAPI_Beep',
+ 'WinAPI_BitBlt','WinAPI_CallNextHookEx','WinAPI_Check',
+ 'WinAPI_ClientToScreen','WinAPI_CloseHandle',
+ 'WinAPI_CommDlgExtendedError','WinAPI_CopyIcon',
+ 'WinAPI_CreateBitmap','WinAPI_CreateCompatibleBitmap',
+ 'WinAPI_CreateCompatibleDC','WinAPI_CreateEvent',
+ 'WinAPI_CreateFile','WinAPI_CreateFont','WinAPI_CreateFontIndirect',
+ 'WinAPI_CreateProcess','WinAPI_CreateSolidBitmap',
+ 'WinAPI_CreateSolidBrush','WinAPI_CreateWindowEx',
+ 'WinAPI_DefWindowProc','WinAPI_DeleteDC','WinAPI_DeleteObject',
+ 'WinAPI_DestroyIcon','WinAPI_DestroyWindow','WinAPI_DrawEdge',
+ 'WinAPI_DrawFrameControl','WinAPI_DrawIcon','WinAPI_DrawIconEx',
+ 'WinAPI_DrawText','WinAPI_EnableWindow','WinAPI_EnumDisplayDevices',
+ 'WinAPI_EnumWindows','WinAPI_EnumWindowsPopup',
+ 'WinAPI_EnumWindowsTop','WinAPI_ExpandEnvironmentStrings',
+ 'WinAPI_ExtractIconEx','WinAPI_FatalAppExit','WinAPI_FillRect',
+ 'WinAPI_FindExecutable','WinAPI_FindWindow','WinAPI_FlashWindow',
+ 'WinAPI_FlashWindowEx','WinAPI_FloatToInt',
+ 'WinAPI_FlushFileBuffers','WinAPI_FormatMessage','WinAPI_FrameRect',
+ 'WinAPI_FreeLibrary','WinAPI_GetAncestor','WinAPI_GetAsyncKeyState',
+ 'WinAPI_GetClassName','WinAPI_GetClientHeight',
+ 'WinAPI_GetClientRect','WinAPI_GetClientWidth',
+ 'WinAPI_GetCurrentProcess','WinAPI_GetCurrentProcessID',
+ 'WinAPI_GetCurrentThread','WinAPI_GetCurrentThreadId',
+ 'WinAPI_GetCursorInfo','WinAPI_GetDC','WinAPI_GetDesktopWindow',
+ 'WinAPI_GetDeviceCaps','WinAPI_GetDIBits','WinAPI_GetDlgCtrlID',
+ 'WinAPI_GetDlgItem','WinAPI_GetFileSizeEx','WinAPI_GetFocus',
+ 'WinAPI_GetForegroundWindow','WinAPI_GetIconInfo',
+ 'WinAPI_GetLastError','WinAPI_GetLastErrorMessage',
+ 'WinAPI_GetModuleHandle','WinAPI_GetMousePos','WinAPI_GetMousePosX',
+ 'WinAPI_GetMousePosY','WinAPI_GetObject','WinAPI_GetOpenFileName',
+ 'WinAPI_GetOverlappedResult','WinAPI_GetParent',
+ 'WinAPI_GetProcessAffinityMask','WinAPI_GetSaveFileName',
+ 'WinAPI_GetStdHandle','WinAPI_GetStockObject','WinAPI_GetSysColor',
+ 'WinAPI_GetSysColorBrush','WinAPI_GetSystemMetrics',
+ 'WinAPI_GetTextExtentPoint32','WinAPI_GetWindow',
+ 'WinAPI_GetWindowDC','WinAPI_GetWindowHeight',
+ 'WinAPI_GetWindowLong','WinAPI_GetWindowRect',
+ 'WinAPI_GetWindowText','WinAPI_GetWindowThreadProcessId',
+ 'WinAPI_GetWindowWidth','WinAPI_GetXYFromPoint',
+ 'WinAPI_GlobalMemStatus','WinAPI_GUIDFromString',
+ 'WinAPI_GUIDFromStringEx','WinAPI_HiWord','WinAPI_InProcess',
+ 'WinAPI_IntToFloat','WinAPI_InvalidateRect','WinAPI_IsClassName',
+ 'WinAPI_IsWindow','WinAPI_IsWindowVisible','WinAPI_LoadBitmap',
+ 'WinAPI_LoadImage','WinAPI_LoadLibrary','WinAPI_LoadLibraryEx',
+ 'WinAPI_LoadShell32Icon','WinAPI_LoadString','WinAPI_LocalFree',
+ 'WinAPI_LoWord','WinAPI_MakeDWord','WinAPI_MAKELANGID',
+ 'WinAPI_MAKELCID','WinAPI_MakeLong','WinAPI_MessageBeep',
+ 'WinAPI_Mouse_Event','WinAPI_MoveWindow','WinAPI_MsgBox',
+ 'WinAPI_MulDiv','WinAPI_MultiByteToWideChar',
+ 'WinAPI_MultiByteToWideCharEx','WinAPI_OpenProcess',
+ 'WinAPI_PointFromRect','WinAPI_PostMessage','WinAPI_PrimaryLangId',
+ 'WinAPI_PtInRect','WinAPI_ReadFile','WinAPI_ReadProcessMemory',
+ 'WinAPI_RectIsEmpty','WinAPI_RedrawWindow',
+ 'WinAPI_RegisterWindowMessage','WinAPI_ReleaseCapture',
+ 'WinAPI_ReleaseDC','WinAPI_ScreenToClient','WinAPI_SelectObject',
+ 'WinAPI_SetBkColor','WinAPI_SetCapture','WinAPI_SetCursor',
+ 'WinAPI_SetDefaultPrinter','WinAPI_SetDIBits','WinAPI_SetEvent',
+ 'WinAPI_SetFocus','WinAPI_SetFont','WinAPI_SetHandleInformation',
+ 'WinAPI_SetLastError','WinAPI_SetParent',
+ 'WinAPI_SetProcessAffinityMask','WinAPI_SetSysColors',
+ 'WinAPI_SetTextColor','WinAPI_SetWindowLong','WinAPI_SetWindowPos',
+ 'WinAPI_SetWindowsHookEx','WinAPI_SetWindowText',
+ 'WinAPI_ShowCursor','WinAPI_ShowError','WinAPI_ShowMsg',
+ 'WinAPI_ShowWindow','WinAPI_StringFromGUID','WinAPI_SubLangId',
+ 'WinAPI_SystemParametersInfo','WinAPI_TwipsPerPixelX',
+ 'WinAPI_TwipsPerPixelY','WinAPI_UnhookWindowsHookEx',
+ 'WinAPI_UpdateLayeredWindow','WinAPI_UpdateWindow',
+ 'WinAPI_ValidateClassName','WinAPI_WaitForInputIdle',
+ 'WinAPI_WaitForMultipleObjects','WinAPI_WaitForSingleObject',
+ 'WinAPI_WideCharToMultiByte','WinAPI_WindowFromPoint',
+ 'WinAPI_WriteConsole','WinAPI_WriteFile',
+ 'WinAPI_WriteProcessMemory','WinNet_AddConnection',
+ 'WinNet_AddConnection2','WinNet_AddConnection3',
+ 'WinNet_CancelConnection','WinNet_CancelConnection2',
+ 'WinNet_CloseEnum','WinNet_ConnectionDialog',
+ 'WinNet_ConnectionDialog1','WinNet_DisconnectDialog',
+ 'WinNet_DisconnectDialog1','WinNet_EnumResource',
+ 'WinNet_GetConnection','WinNet_GetConnectionPerformance',
+ 'WinNet_GetLastError','WinNet_GetNetworkInformation',
+ 'WinNet_GetProviderName','WinNet_GetResourceInformation',
+ 'WinNet_GetResourceParent','WinNet_GetUniversalName',
+ 'WinNet_GetUser','WinNet_OpenEnum','WinNet_RestoreConnection',
+ 'WinNet_UseConnection','Word_VersionInfo','WordAttach','WordCreate',
+ 'WordDocAdd','WordDocAddLink','WordDocAddPicture','WordDocClose',
+ 'WordDocFindReplace','WordDocGetCollection',
+ 'WordDocLinkGetCollection','WordDocOpen','WordDocPrint',
+ 'WordDocPropertyGet','WordDocPropertySet','WordDocSave',
+ 'WordDocSaveAs','WordErrorHandlerDeRegister',
+ 'WordErrorHandlerRegister','WordErrorNotify','WordMacroRun',
+ 'WordPropertyGet','WordPropertySet','WordQuit'
+ ),
+ 5 => array(
+ 'ce','comments-end','comments-start','cs','include','include-once',
+ 'NoTrayIcon','RequireAdmin'
+ ),
+ 6 => array(
+ 'AutoIt3Wrapper_Au3Check_Parameters',
+ 'AutoIt3Wrapper_Au3Check_Stop_OnWarning',
+ 'AutoIt3Wrapper_Change2CUI','AutoIt3Wrapper_Compression',
+ 'AutoIt3Wrapper_cvsWrapper_Parameters','AutoIt3Wrapper_Icon',
+ 'AutoIt3Wrapper_Outfile','AutoIt3Wrapper_Outfile_Type',
+ 'AutoIt3Wrapper_Plugin_Funcs','AutoIt3Wrapper_Res_Comment',
+ 'AutoIt3Wrapper_Res_Description','AutoIt3Wrapper_Res_Field',
+ 'AutoIt3Wrapper_Res_File_Add','AutoIt3Wrapper_Res_Fileversion',
+ 'AutoIt3Wrapper_Res_FileVersion_AutoIncrement',
+ 'AutoIt3Wrapper_Res_Icon_Add','AutoIt3Wrapper_Res_Language',
+ 'AutoIt3Wrapper_Res_LegalCopyright',
+ 'AutoIt3Wrapper_res_requestedExecutionLevel',
+ 'AutoIt3Wrapper_Res_SaveSource','AutoIt3Wrapper_Run_After',
+ 'AutoIt3Wrapper_Run_Au3check','AutoIt3Wrapper_Run_Before',
+ 'AutoIt3Wrapper_Run_cvsWrapper','AutoIt3Wrapper_Run_Debug_Mode',
+ 'AutoIt3Wrapper_Run_Obfuscator','AutoIt3Wrapper_Run_Tidy',
+ 'AutoIt3Wrapper_Tidy_Stop_OnError','AutoIt3Wrapper_UseAnsi',
+ 'AutoIt3Wrapper_UseUpx','AutoIt3Wrapper_UseX64',
+ 'AutoIt3Wrapper_Version','EndRegion','forceref',
+ 'Obfuscator_Ignore_Funcs','Obfuscator_Ignore_Variables',
+ 'Obfuscator_Parameters','Region','Tidy_Parameters'
+ )
+ ),
+ '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: #0000FF; font-weight: bold;',
+ 2 => 'color: #800000; font-weight: bold;',
+ 3 => 'color: #000080; font-style: italic; font-weight: bold;',
+ 4 => 'color: #0080FF; font-style: italic; font-weight: bold;',
+ 5 => 'color: #F000FF; font-style: italic;',
+ 6 => 'color: #A00FF0; font-style: italic;'
+ ),
+ 'COMMENTS' => array(
+ 0 => 'font-style: italic; color: #009933;',
+ 'MULTI' => 'font-style: italic; color: #669900;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #FF0000; font-weight: bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'font-weight: bold; color: #008080;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #AC00A9; font-style: italic; font-weight: bold;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #0000FF; font-style: italic; font-weight: bold;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #FF0000; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'font-weight: bold; color: #AA0000;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.autoitscript.com/autoit3/docs/keywords.htm',
+ 2 => 'http://www.autoitscript.com/autoit3/docs/macros.htm',
+ 3 => 'http://www.autoitscript.com/autoit3/docs/functions/{FNAME}.htm',
+ 4 => '',
+ 5 => '',
+ 6 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ //Variables
+ 0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 4 => array(
+ 'DISALLOWED_BEFORE' => '(?<!\w)\_'
+ ),
+ 5 => array(
+ 'DISALLOWED_BEFORE' => '(?<!\w)\#'
+ ),
+ 6 => array(
+ 'DISALLOWED_BEFORE' => '(?<!\w)\#'
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/avisynth.php b/application/libraries/geshi/avisynth.php
new file mode 100644
index 000000000..9031e8caa
--- /dev/null
+++ b/application/libraries/geshi/avisynth.php
@@ -0,0 +1,194 @@
+<?php
+/*************************************************************************************
+ * avisynth.php
+ * --------
+ * Author: Ryan Jones (sciguyryan@gmail.com)
+ * Copyright: (c) 2008 Ryan Jones
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/10/08
+ *
+ * AviSynth language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/08 (1.0.8.1)
+ * - First Release
+ *
+ * TODO (updated 2008/10/08)
+ * -------------------------
+ * * There are also some special words that can't currently be specified directly in GeSHi as they may
+ * also be used as variables which would really mess things up.
+ * * Also there is an issue with the escape character as this language uses a muti-character escape system. Escape char should be """ but has been left
+ * as empty due to this restiction.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'AviSynth',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/', '[*' => '*]'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ // Reserved words.
+ 1 => array(
+ 'try', 'cache', 'function', 'global', 'return'
+ ),
+ // Constants / special variables.
+ 2 => array(
+ 'true', 'yes', 'false', 'no', '__END__'
+ ),
+ // Internal Filters.
+ 3 => array(
+ 'AviSource', 'AviFileSource', 'AddBorders', 'AlignedSplice', 'AssumeFPS', 'AssumeScaledFPS',
+ 'AssumeFrameBased', 'AssumeFieldBased', 'AssumeBFF', 'AssumeTFF', 'Amplify', 'AmplifydB',
+ 'AssumeSampleRate', 'AudioDub', 'AudioDubEx', 'Animate', 'ApplyRange',
+ 'BicubicResize', 'BilinearResize', 'BlackmanResize', 'Blur', 'Bob', 'BlankClip', 'Blackness',
+ 'ColorYUV', 'ConvertBackToYUY2', 'ConvertToRGB', 'ConvertToRGB24', 'ConvertToRGB32',
+ 'ConvertToYUY2', 'ConvertToY8', 'ConvertToYV411', 'ConvertToYV12', 'ConvertToYV16', 'ConvertToYV24',
+ 'ColorKeyMask', 'Crop', 'CropBottom', 'ChangeFPS', 'ConvertFPS', 'ComplementParity', 'ConvertAudioTo8bit',
+ 'ConvertAudioTo16bit', 'ConvertAudioTo24bit', 'ConvertAudioTo32bit', 'ConvertAudioToFloat', 'ConvertToMono',
+ 'ConditionalFilter', 'ConditionalReader', 'ColorBars', 'Compare',
+ 'DirectShowSource', 'DeleteFrame', 'Dissolve', 'DuplicateFrame', 'DoubleWeave', 'DelayAudio',
+ 'EnsureVBRMP3Sync',
+ 'FixLuminance', 'FlipHorizontal', 'FlipVertical', 'FixBrokenChromaUpsampling', 'FadeIn0', 'FadeIn',
+ 'FadeIn2', 'FadeOut0', 'FadeOut', 'FadeOut2', 'FadeIO0', 'FadeIO', 'FadeIO2', 'FreezeFrame', 'FrameEvaluate',
+ 'GreyScale', 'GaussResize', 'GeneralConvolution', 'GetChannel', 'GetLeftChannel', 'GetRightChannel',
+ 'HorizontalReduceBy2', 'Histogram',
+ 'ImageReader', 'ImageSource', 'ImageWriter', 'Invert', 'Interleave', 'Info',
+ 'KillAudio', 'KillVideo',
+ 'Levels', 'Limiter', 'Layer', 'Letterbox', 'LanczosResize', 'Lanczos4Resize', 'Loop',
+ 'MergeARGB', 'MergeRGB', 'MergeChroma', 'MergeLuma', 'Merge', 'Mask', 'MaskHS', 'MergeChannels', 'MixAudio',
+ 'MonoToStereo', 'MessageClip',
+ 'Normalize',
+ 'OpenDMLSource', 'Overlay',
+ 'PointResize', 'PeculiarBlend', 'Pulldown',
+ 'RGBAdjust', 'ResetMask', 'Reverse', 'ResampleAudio', 'ReduceBy2',
+ 'SegmentedAviSource', 'SegmentedDirectShowSource', 'SoundOut', 'ShowAlpha', 'ShowRed', 'ShowGreen',
+ 'ShowBlue', 'SwapUV', 'Subtract', 'SincResize', 'Spline16Resize', 'Spline36Resize', 'Spline64Resize',
+ 'SelectEven', 'SelectOdd', 'SelectEvery', 'SelectRangeEvery', 'Sharpen', 'SpatialSoften', 'SeparateFields',
+ 'ShowFiveVersions', 'ShowFrameNumber', 'ShowSMPTE', 'ShowTime', 'StackHorizontal', 'StackVertical', 'Subtitle',
+ 'SwapFields', 'SuperEQ', 'SSRC', 'ScriptClip',
+ 'Tweak', 'TurnLeft', 'TurnRight', 'Turn180', 'TemporalSoften', 'TimeStretch', 'TCPServer', 'TCPSource', 'Trim',
+ 'Tone',
+ 'UToY', 'UToY8', 'UnalignedSplice',
+ 'VToY', 'VToY8', 'VerticalReduceBy2', 'Version',
+ 'WavSource', 'Weave', 'WriteFile', 'WriteFileIf', 'WriteFileStart', 'WriteFileEnd',
+ 'YToUV'
+ ),
+ // Internal functions.
+ 4 => array(
+ 'Abs', 'Apply', 'Assert', 'AverageLuma', 'AverageChromaU', 'AverageChromaV',
+ 'Ceil', 'Cos', 'Chr', 'ChromaUDifference', 'ChromaVDifference',
+ 'Defined', 'Default',
+ 'Exp', 'Exist', 'Eval',
+ 'Floor', 'Frac', 'Float', 'Findstr', 'GetMTMode',
+ 'HexValue',
+ 'Int', 'IsBool', 'IsClip', 'IsFloat', 'IsInt', 'IsString', 'Import',
+ 'LoadPlugin', 'Log', 'LCase', 'LeftStr', 'LumaDifference', 'LoadVirtualDubPlugin', 'LoadVFAPIPlugin',
+ 'LoadCPlugin', 'Load_Stdcall_Plugin',
+ 'Max', 'MulDiv', 'MidStr',
+ 'NOP',
+ 'OPT_AllowFloatAudio', 'OPT_UseWaveExtensible',
+ 'Pi', 'Pow',
+ 'Round', 'Rand', 'RevStr', 'RightStr', 'RGBDifference', 'RGBDifferenceFromPrevious', 'RGBDifferenceToNext',
+ 'Sin', 'Sqrt', 'Sign', 'Spline', 'StrLen', 'String', 'Select', 'SetMemoryMax', 'SetWorkingDir', 'SetMTMode',
+ 'SetPlanarLegacyAlignment',
+ 'Time',
+ 'UCase', 'UDifferenceFromPrevious', 'UDifferenceToNext', 'UPlaneMax', 'UPlaneMin', 'UPlaneMedian',
+ 'UPlaneMinMaxDifference',
+ 'Value', 'VersionNumber', 'VersionString', 'VDifferenceFromPrevious', 'VDifferenceToNext', 'VPlaneMax',
+ 'VPlaneMin', 'VPlaneMedian', 'VPlaneMinMaxDifference',
+ 'YDifferenceFromPrevious', 'YDifferenceToNext', 'YPlaneMax', 'YPlaneMin', 'YPlaneMedian',
+ 'YPlaneMinMaxDifference'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '+', '++', '-', '--', '/', '*', '%',
+ '=', '==', '<', '<=', '>', '>=', '<>', '!=',
+ '!', '?', ':',
+ '|', '||', '&&',
+ '\\',
+ '(', ')', '{', '}',
+ '.', ','
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color:#9966CC; font-weight:bold;',
+ 2 => 'color:#0000FF; font-weight:bold;',
+ 3 => 'color:#CC3300; font-weight:bold;',
+ 4 => 'color:#660000; font-weight:bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color:#008000; font-style:italic;',
+ 'MULTI' => 'color:#000080; font-style:italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color:#000099;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color:#006600; font-weight:bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color:#996600;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color:#006666;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color:#9900CC;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color:#006600; font-weight:bold;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://avisynth.org/mediawiki/{FNAME}',
+ 4 => ''
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+);
+?>
diff --git a/application/libraries/geshi/awk.php b/application/libraries/geshi/awk.php
new file mode 100644
index 000000000..abecf72b5
--- /dev/null
+++ b/application/libraries/geshi/awk.php
@@ -0,0 +1,158 @@
+<?php
+/************************************************
+ * awk.php
+ * -------
+ * Author: George Pollard (porges@porg.es)
+ * Copyright: (c) 2009 George Pollard
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/01/28
+ *
+ * Awk language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/01/28 (1.0.8.5)
+ * - First Release
+ *
+ * TODO (updated 2009/01/28)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'awk',
+ 'COMMENT_SINGLE' => array(
+ 1 => '#'
+ ),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array (
+ 1 => array(
+ 'for', 'in', 'if', 'else', 'while', 'do', 'continue', 'break'
+ ),
+ 2 => array(
+ 'BEGIN', 'END'
+ ),
+ 3 => array(
+ 'ARGC', 'ARGV', 'CONVFMT', 'ENVIRON',
+ 'FILENAME', 'FNR', 'FS', 'NF', 'NR', 'OFMT',
+ 'OFS','ORS','RLENGTH','RS','RSTART','SUBSEP'
+ ),
+ 4 => array(
+ 'gsub','index','length','match','split',
+ 'sprintf','sub','substr','tolower','toupper',
+ 'atan2','cos','exp','int','log','rand',
+ 'sin','sqrt','srand'
+ ),
+ 5 => array(
+ 'print','printf','getline','close','fflush','system'
+ ),
+ 6 => array(
+ 'function', 'return'
+ )
+ ),
+ 'SYMBOLS' => array (
+ 0 => array(
+ '(',')','[',']','{','}'
+ ),
+ 1 => array(
+ '!','||','&&'
+ ),
+ 2 => array(
+ '<','>','<=','>=','==','!='
+ ),
+ 3 => array(
+ '+','-','*','/','%','^','++','--'
+ ),
+ 4 => array(
+ '~','!~'
+ ),
+ 5 => 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: #C20CB9; font-weight: bold;',
+ 3 => 'color: #4107D5; font-weight: bold;',
+ 4 => 'color: #07D589; font-weight: bold;',
+ 5 => 'color: #0BD507; font-weight: bold;',
+ 6 => 'color: #078CD5; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color:#808080;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color:black;',
+ 1 => 'color:black;',
+ 2 => 'color:black;',
+ 3 => 'color:black;',
+ 4 => 'color:#C4C364;',
+ 5 => 'color:black;font-weight:bold;'),
+ 'SCRIPT' => array(),
+ 'REGEXPS' => array(
+ 0 => 'color:#000088;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #7a0874; font-weight: bold;'
+ ),
+ 'METHODS' => array()
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array (),
+ 'REGEXPS' => array(
+ 0 => "\\$[a-zA-Z0-9_]+"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array (),
+ 'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
diff --git a/application/libraries/geshi/bash.php b/application/libraries/geshi/bash.php
new file mode 100644
index 000000000..0b1583b7b
--- /dev/null
+++ b/application/libraries/geshi/bash.php
@@ -0,0 +1,324 @@
+<?php
+/*************************************************************************************
+ * bash.php
+ * --------
+ * Author: Andreas Gohr (andi@splitbrain.org)
+ * Copyright: (c) 2004 Andreas Gohr, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/08/20
+ *
+ * BASH language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/06/21 (1.0.8)
+ * - Added loads of keywords and commands of GNU/Linux
+ * - Added support for parameters starting with a dash
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2007/09/05 (1.0.7.21)
+ * - PARSER_CONTROL patch using SF #1788408 (BenBE)
+ * 2007/06/11 (1.0.7.20)
+ * - Added a lot of keywords (BenBE / Jan G)
+ * 2004/11/27 (1.0.2)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ * - Added support for URLs
+ * 2004/08/20 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Get symbols working
+ * * Highlight builtin vars
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Bash',
+ // Bash DOES have single line comments with # markers. But bash also has
+ // the $# variable, so comments need special handling (see sf.net
+ // 1564839)
+ 'COMMENT_SINGLE' => array('#'),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ //Variables
+ 1 => "/\\$\\{[^\\n\\}]*?\\}/i",
+ //BASH-style Heredoc
+ 2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+ //Escaped String Starters
+ 3 => "/\\\\['\"]/siU"
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'HARDQUOTE' => array("'", "'"),
+ 'HARDESCAPE' => array("\'"),
+ 'ESCAPE_CHAR' => '',
+ 'ESCAPE_REGEXP' => array(
+ //Simple Single Char Escapes
+ 1 => "#\\\\[nfrtv\\$\\\"\n]#i",
+ // $var
+ 2 => "#\\$[a-z_][a-z0-9_]*#i",
+ // ${...}
+ 3 => "/\\$\\{[^\\n\\}]*?\\}/i",
+ // $(...)
+ 4 => "/\\$\\([^\\n\\)]*?\\)/i",
+ // `...`
+ 5 => "/`[^`]*`/"
+ ),
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'case', 'do', 'done', 'elif', 'else', 'esac', 'fi', 'for', 'function',
+ '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',
+
+ 'basename', 'bash', 'bc', 'bison', 'bunzip2', 'bzcat',
+ 'bzcmp', 'bzdiff', 'bzegrep', 'bzfgrep', 'bzgrep',
+ 'bzip2', 'bzip2recover', 'bzless', 'bzmore',
+
+ 'c++', 'cal', 'cat', 'chattr', 'cc', 'cdda2wav', 'cdparanoia',
+ 'cdrdao', 'cd-read', 'cdrecord', 'chfn', 'chgrp', 'chmod',
+ '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',
+
+ 'ed', 'egrep', 'env', 'expr',
+
+ 'false', 'fbset', 'ffmpeg', 'fgconsole','fgrep', 'file', 'find',
+ 'flex', 'flex++', 'fmt', 'free', 'ftp', 'funzip', 'fuser',
+
+ 'g++', 'gawk', 'gc','gcc', 'gdb', 'getent', 'getkeycodes',
+ 'getopt', 'gettext', 'gettextize', 'gimp', 'gimp-remote',
+ 'gimptool', 'gmake', 'gocr', 'grep', 'groups', 'gs', 'gunzip',
+ 'gzexe', 'gzip',
+
+ 'git', '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',
+ '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',
+ 'gitdpkgname', 'git-fast-export', 'git-fast-import', 'git-fetch',
+ 'git-fetch-pack', 'git-fetch--tool', 'git-filter-branch', 'gitfm',
+ '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-fetch',
+ 'git-http-push', 'git-imap-send', 'git-index-pack', 'git-init',
+ 'git-init-db', 'git-instaweb', 'gitkeys', '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-mergetool--lib', 'git-merge-tree', 'gitmkdirs', 'git-mktag',
+ 'git-mktree', 'gitmount', 'git-mv', 'git-name-rev',
+ 'git-pack-objects', 'git-pack-redundant', 'git-pack-refs',
+ 'git-parse-remote', 'git-patch-id', 'git-peek-remote', 'git-prune',
+ 'git-prune-packed', 'gitps', 'git-pull', 'git-push',
+ 'git-quiltimport', 'git-read-tree', 'git-rebase',
+ 'git-rebase--interactive', 'git-receive-pack', 'git-reflog',
+ 'gitregrep', 'git-relink', 'git-remote', 'git-repack',
+ 'git-repo-config', 'git-request-pull', 'git-rerere', 'git-reset',
+ 'git-revert', 'git-rev-list', 'git-rev-parse', 'gitrfgrep',
+ 'gitrgrep', 'git-rm', 'git-send-pack', 'git-shell', 'git-shortlog',
+ 'git-show', 'git-show-branch', 'git-show-index', 'git-show-ref',
+ 'git-sh-setup', 'git-stage', 'git-stash', 'git-status',
+ 'git-stripspace', 'git-submodule', 'git-svn', 'git-symbolic-ref',
+ 'git-tag', 'git-tar-tree', 'gitunpack', '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', 'gitview',
+ 'git-web--browse', 'git-whatchanged', 'gitwhich', 'gitwipe',
+ 'git-write-tree', 'gitxgrep',
+
+ 'head', 'hexdump', 'hostname',
+
+ 'id', 'ifconfig', 'ifdown', 'ifup', 'igawk', 'install',
+
+ 'join',
+
+ 'kbd_mode','kbdrate', 'kdialog', 'kfile', 'kill', 'killall',
+
+ 'lame', 'last', 'lastb', 'ld', 'ld86', 'ldd', 'less', 'lex', 'link',
+ 'ln', 'loadkeys', 'loadunimap', 'locate', 'lockfile', 'login',
+ 'logname', 'lp', 'lpr', 'ls', 'lsattr', 'lsmod', 'lsmod.old',
+ 'lspci', 'ltrace', 'lynx',
+
+ 'm4', 'make', 'man', 'mapscrn', 'mesg', 'mkdir', 'mkfifo',
+ 'mknod', 'mktemp', 'more', 'mount', 'mplayer', 'msgfmt', 'mv',
+
+ 'namei', 'nano', 'nasm', 'nawk', 'netstat', 'nice',
+ 'nisdomainname', 'nl', 'nm', 'nm86', 'nmap', 'nohup', 'nop',
+
+ 'od', 'openvt',
+
+ 'passwd', 'patch', 'pcregrep', 'pcretest', 'perl', 'perror',
+ 'pgawk', 'pidof', 'ping', 'pr', 'procmail', 'prune', 'ps', 'pstree',
+ 'ps2ascii', 'ps2epsi', 'ps2frag', 'ps2pdf', 'ps2ps', 'psbook',
+ 'psmerge', 'psnup', 'psresize', 'psselect', 'pstops',
+
+ 'rbash', 'rcs', 'rcs2log', 'read', 'readlink', 'red', 'resizecons',
+ 'rev', 'rm', 'rmdir', 'rsh', 'run-parts',
+
+ 'sash', 'scp', 'screen', 'sed', 'seq', 'sendmail', 'setfont',
+ 'setkeycodes', 'setleds', 'setmetamode', 'setserial', 'setterm',
+ 'sh', 'showkey', 'shred', 'size', 'size86', 'skill', 'sleep',
+ 'slogin', 'snice', 'sort', 'sox', 'split', 'ssed', 'ssh', 'ssh-add',
+ 'ssh-agent', 'ssh-keygen', 'ssh-keyscan', 'stat', 'strace',
+ 'strings', 'strip', 'stty', 'su', 'sudo', 'suidperl', 'sum', 'svn',
+ 'svnadmin', 'svndumpfilter', 'svnlook', 'svnmerge', 'svnmucc',
+ 'svnserve', 'svnshell', 'svnsync', 'svnversion', 'svnwrap', 'sync',
+
+ 'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'tree',
+ 'true',
+
+ 'umount', 'uname', 'unicode_start', 'unicode_stop', 'uniq',
+ 'unlink', 'unzip', 'updatedb', 'updmap', 'uptime', 'users',
+ 'utmpdump', 'uuidgen',
+
+ 'valgrind', 'vdir', 'vi', 'vim', 'vmstat',
+
+ 'w', 'wall', 'wc', 'wget', 'whatis', 'whereis', 'which', 'whiptail',
+ 'who', 'whoami', 'write',
+
+ 'xargs', 'xhost', 'xmodmap', 'xset',
+
+ 'yacc', 'yes', 'ypdomainname',
+
+ 'zcat', 'zcmp', 'zdiff', 'zdump', 'zegrep', 'zfgrep', 'zforce',
+ 'zgrep', 'zip', 'zipgrep', 'zipinfo', 'zless', 'zmore', 'znew',
+ 'zsh', 'zsoelim'
+ ),
+ 3 => array(
+ 'alias', 'bg', 'bind', 'break', 'builtin', 'cd', 'command',
+ 'compgen', 'complete', 'continue', 'declare', 'dirs', 'disown',
+ 'echo', 'enable', 'eval', 'exec', 'exit', 'export', 'fc',
+ 'fg', 'getopts', 'hash', 'help', 'history', 'jobs', 'let',
+ 'local', 'logout', 'popd', 'printf', 'pushd', 'pwd', 'readonly',
+ 'return', 'shift', 'shopt', 'source', 'suspend', 'test', 'times',
+ 'trap', 'type', 'typeset', 'ulimit', 'umask', 'unalias', 'unset',
+ 'wait'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #c20cb9; font-weight: bold;',
+ 3 => 'color: #7a0874; font-weight: bold;'
+ ),
+ '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: #ff0000;',
+ 'HARD' => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000000;'
+ ),
+ '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;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ '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 => "(?<![\.a-zA-Z_\-])([a-zA-Z_][a-zA-Z0-9_]*?)(?==)",
+ //Shorthand shell variables
+ 4 => "\\$[*#\$\\-\\?!\d]",
+ //Parameters of commands
+ 5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)"
+ ),
+ '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_\$\#])",
+ 'DISALLOWED_AFTER' => "(?![\.\-a-zA-Z0-9_%=\\/])"
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/basic4gl.php b/application/libraries/geshi/basic4gl.php
new file mode 100644
index 000000000..55be6dc34
--- /dev/null
+++ b/application/libraries/geshi/basic4gl.php
@@ -0,0 +1,341 @@
+<?php
+/*************************************************************************************
+ * basic4gl.php
+ * ---------------------------------
+ * Author: Matthew Webb (bmatthew1@blueyonder.co.uk)
+ * Copyright: (c) 2004 Matthew Webb (http://matthew-4gl.wikispaces.com)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/09/15
+ *
+ * Basic4GL language file for GeSHi.
+ *
+ * You can find the Basic4GL Website at (http://www.basic4gl.net/)
+ *
+ * CHANGES
+ * -------
+ * 2007/09/17 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2007/09/17)
+ * -------------------------
+ * Make sure all the OpenGL and Basic4GL commands have been added and are complete.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Basic4GL',
+ '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
+
+ 'true','rnd_max','m_pi','m_e','false','VK_ZOOM','VK_UP','VK_TAB','VK_SUBTRACT','VK_SPACE','VK_SNAPSHOT',
+ 'VK_SHIFT','VK_SEPARATOR','VK_SELECT','VK_SCROLL','VK_RWIN','VK_RSHIFT','VK_RMENU','VK_RIGHT','VK_RETURN',
+ 'VK_RCONTROL','VK_RBUTTON','VK_PROCESSKEY','VK_PRIOR','VK_PRINT','VK_PLAY','VK_PAUSE','VK_NUMPAD9','VK_NUMPAD8',
+ 'VK_NUMPAD7','VK_NUMPAD6','VK_NUMPAD5','VK_NUMPAD4','VK_NUMPAD3','VK_NUMPAD2','VK_NUMPAD1','VK_NUMPAD0',
+ 'VK_NUMLOCK','VK_NONCONVERT','VK_NEXT','VK_MULTIPLY','VK_MODECHANGE','VK_MENU','VK_MBUTTON','VK_LWIN',
+ 'VK_LSHIFT','VK_LMENU','VK_LEFT','VK_LCONTROL','VK_LBUTTON','VK_KANJI','VK_KANA','VK_JUNJA','VK_INSERT',
+ 'VK_HOME','VK_HELP','VK_HANJA','VK_HANGUL','VK_HANGEUL','VK_FINAL','VK_F9','VK_F8','VK_F7','VK_F6','VK_F5',
+ 'VK_F4','VK_F3','VK_F24','VK_F23','VK_F22','VK_F21','VK_F20','VK_F2','VK_F19','VK_F18','VK_F17','VK_F16',
+ 'VK_F15','VK_F14','VK_F13','VK_F12','VK_F11','VK_F10','VK_F1','VK_EXSEL','VK_EXECUTE','VK_ESCAPE','VK_EREOF',
+ 'VK_END','VK_DOWN','VK_DIVIDE','VK_DELETE','VK_DECIMAL','VK_CRSEL','VK_CONVERT','VK_CONTROL','VK_CLEAR',
+ 'VK_CAPITAL','VK_CANCEL','VK_BACK','VK_ATTN','VK_APPS','VK_ADD','VK_ACCEPT','TEXT_SIMPLE','TEXT_OVERLAID',
+ 'TEXT_BUFFERED','SPR_TILEMAP','SPR_SPRITE','SPR_INVALID','MOUSE_RBUTTON','MOUSE_MBUTTON','MOUSE_LBUTTON',
+ 'GL_ZOOM_Y','GL_ZOOM_X','GL_ZERO','GL_XOR','GL_WIN_swap_hint','GL_WIN_draw_range_elements','GL_VIEWPORT_BIT',
+ 'GL_VIEWPORT','GL_VERTEX_ARRAY_TYPE_EXT','GL_VERTEX_ARRAY_TYPE','GL_VERTEX_ARRAY_STRIDE_EXT','GL_VERTEX_ARRAY_STRIDE',
+ 'GL_VERTEX_ARRAY_SIZE_EXT','GL_VERTEX_ARRAY_SIZE','GL_VERTEX_ARRAY_POINTER_EXT','GL_VERTEX_ARRAY_POINTER',
+ 'GL_VERTEX_ARRAY_EXT','GL_VERTEX_ARRAY_COUNT_EXT','GL_VERTEX_ARRAY','GL_VERSION_1_1','GL_VERSION','GL_VENDOR',
+ 'GL_V3F','GL_V2F','GL_UNSIGNED_SHORT','GL_UNSIGNED_INT','GL_UNSIGNED_BYTE','GL_UNPACK_SWAP_BYTES','GL_UNPACK_SKIP_ROWS',
+ 'GL_UNPACK_SKIP_PIXELS','GL_UNPACK_ROW_LENGTH','GL_UNPACK_LSB_FIRST','GL_UNPACK_ALIGNMENT','GL_TRUE','GL_TRIANGLE_STRIP',
+ 'GL_TRIANGLE_FAN','GL_TRIANGLES','GL_TRANSFORM_BIT','GL_TEXTURE_WRAP_T','GL_TEXTURE_WRAP_S','GL_TEXTURE_WIDTH',
+ 'GL_TEXTURE_STACK_DEPTH','GL_TEXTURE_RESIDENT','GL_TEXTURE_RED_SIZE','GL_TEXTURE_PRIORITY','GL_TEXTURE_MIN_FILTER',
+ 'GL_TEXTURE_MATRIX','GL_TEXTURE_MAG_FILTER','GL_TEXTURE_LUMINANCE_SIZE','GL_TEXTURE_INTERNAL_FORMAT','GL_TEXTURE_INTENSITY_SIZE',
+ 'GL_TEXTURE_HEIGHT','GL_TEXTURE_GREEN_SIZE','GL_TEXTURE_GEN_T','GL_TEXTURE_GEN_S','GL_TEXTURE_GEN_R','GL_TEXTURE_GEN_Q',
+ 'GL_TEXTURE_GEN_MODE','GL_TEXTURE_ENV_MODE','GL_TEXTURE_ENV_COLOR','GL_TEXTURE_ENV','GL_TEXTURE_COORD_ARRAY_TYPE_EXT',
+ 'GL_TEXTURE_COORD_ARRAY_TYPE','GL_TEXTURE_COORD_ARRAY_STRIDE_EXT','GL_TEXTURE_COORD_ARRAY_STRIDE','GL_TEXTURE_COORD_ARRAY_SIZE_EXT',
+ 'GL_TEXTURE_COORD_ARRAY_SIZE','GL_TEXTURE_COORD_ARRAY_POINTER_EXT','GL_TEXTURE_COORD_ARRAY_POINTER','GL_TEXTURE_COORD_ARRAY_EXT',
+ 'GL_TEXTURE_COORD_ARRAY_COUNT_EXT','GL_TEXTURE_COORD_ARRAY','GL_TEXTURE_COMPONENTS','GL_TEXTURE_BORDER_COLOR','GL_TEXTURE_BORDER',
+ 'GL_TEXTURE_BLUE_SIZE','GL_TEXTURE_BIT','GL_TEXTURE_BINDING_2D','GL_TEXTURE_BINDING_1D','GL_TEXTURE_ALPHA_SIZE',
+ 'GL_TEXTURE_2D','GL_TEXTURE_1D','GL_TEXTURE9_ARB','GL_TEXTURE9','GL_TEXTURE8_ARB','GL_TEXTURE8','GL_TEXTURE7_ARB',
+ 'GL_TEXTURE7','GL_TEXTURE6_ARB','GL_TEXTURE6','GL_TEXTURE5_ARB','GL_TEXTURE5','GL_TEXTURE4_ARB','GL_TEXTURE4',
+ 'GL_TEXTURE3_ARB','GL_TEXTURE31_ARB','GL_TEXTURE31','GL_TEXTURE30_ARB','GL_TEXTURE30','GL_TEXTURE3','GL_TEXTURE2_ARB',
+ 'GL_TEXTURE29_ARB','GL_TEXTURE29','GL_TEXTURE28_ARB','GL_TEXTURE28','GL_TEXTURE27_ARB','GL_TEXTURE27','GL_TEXTURE26_ARB',
+ 'GL_TEXTURE26','GL_TEXTURE25_ARB','GL_TEXTURE25','GL_TEXTURE24_ARB','GL_TEXTURE24','GL_TEXTURE23_ARB','GL_TEXTURE23',
+ 'GL_TEXTURE22_ARB','GL_TEXTURE22','GL_TEXTURE21_ARB','GL_TEXTURE21','GL_TEXTURE20_ARB','GL_TEXTURE20','GL_TEXTURE2',
+ 'GL_TEXTURE1_ARB','GL_TEXTURE19_ARB','GL_TEXTURE19','GL_TEXTURE18_ARB','GL_TEXTURE18','GL_TEXTURE17_ARB',
+ 'GL_TEXTURE17','GL_TEXTURE16_ARB','GL_TEXTURE16','GL_TEXTURE15_ARB','GL_TEXTURE15','GL_TEXTURE14_ARB','GL_TEXTURE14',
+ 'GL_TEXTURE13_ARB','GL_TEXTURE13','GL_TEXTURE12_ARB','GL_TEXTURE12','GL_TEXTURE11_ARB','GL_TEXTURE11','GL_TEXTURE10_ARB',
+ 'GL_TEXTURE10','GL_TEXTURE1','GL_TEXTURE0_ARB','GL_TEXTURE0','GL_TEXTURE','GL_T4F_V4F','GL_T4F_C4F_N3F_V4F','GL_T2F_V3F',
+ 'GL_T2F_N3F_V3F','GL_T2F_C4UB_V3F','GL_T2F_C4F_N3F_V3F','GL_T2F_C3F_V3F','GL_T','GL_SUBPIXEL_BITS','GL_STEREO',
+ 'GL_STENCIL_WRITEMASK','GL_STENCIL_VALUE_MASK','GL_STENCIL_TEST','GL_STENCIL_REF','GL_STENCIL_PASS_DEPTH_PASS',
+ 'GL_STENCIL_PASS_DEPTH_FAIL','GL_STENCIL_INDEX','GL_STENCIL_FUNC','GL_STENCIL_FAIL','GL_STENCIL_CLEAR_VALUE',
+ 'GL_STENCIL_BUFFER_BIT','GL_STENCIL_BITS','GL_STENCIL','GL_STACK_UNDERFLOW','GL_STACK_OVERFLOW','GL_SRC_COLOR',
+ 'GL_SRC_ALPHA_SATURATE','GL_SRC_ALPHA','GL_SPOT_EXPONENT','GL_SPOT_DIRECTION','GL_SPOT_CUTOFF','GL_SPHERE_MAP',
+ 'GL_SPECULAR','GL_SOURCE2_RGB_EXT','GL_SOURCE2_RGB','GL_SOURCE2_ALPHA_EXT','GL_SOURCE2_ALPHA','GL_SOURCE1_RGB_EXT',
+ 'GL_SOURCE1_RGB','GL_SOURCE1_ALPHA_EXT','GL_SOURCE1_ALPHA','GL_SOURCE0_RGB_EXT','GL_SOURCE0_RGB','GL_SOURCE0_ALPHA_EXT',
+ 'GL_SOURCE0_ALPHA','GL_SMOOTH','GL_SHORT','GL_SHININESS','GL_SHADE_MODEL','GL_SET','GL_SELECTION_BUFFER_SIZE',
+ 'GL_SELECTION_BUFFER_POINTER','GL_SELECT','GL_SCISSOR_TEST','GL_SCISSOR_BOX','GL_SCISSOR_BIT','GL_S','GL_RIGHT',
+ 'GL_RGB_SCALE_EXT','GL_RGB_SCALE','GL_RGBA_MODE','GL_RGBA8','GL_RGBA4','GL_RGBA2','GL_RGBA16','GL_RGBA12','GL_RGBA',
+ 'GL_RGB8','GL_RGB5_A1','GL_RGB5','GL_RGB4','GL_RGB16','GL_RGB12','GL_RGB10_A2','GL_RGB10','GL_RGB','GL_RETURN',
+ 'GL_REPLACE','GL_REPEAT','GL_RENDER_MODE','GL_RENDERER','GL_RENDER','GL_RED_SCALE','GL_RED_BITS','GL_RED_BIAS',
+ 'GL_RED','GL_READ_BUFFER','GL_R3_G3_B2','GL_R','GL_QUAD_STRIP','GL_QUADS','GL_QUADRATIC_ATTENUATION','GL_Q',
+ 'GL_PROXY_TEXTURE_2D','GL_PROXY_TEXTURE_1D','GL_PROJECTION_STACK_DEPTH','GL_PROJECTION_MATRIX','GL_PROJECTION',
+ 'GL_PRIMARY_COLOR_EXT','GL_PRIMARY_COLOR','GL_PREVIOUS_EXT','GL_PREVIOUS','GL_POSITION','GL_POLYGON_TOKEN',
+ 'GL_POLYGON_STIPPLE_BIT','GL_POLYGON_STIPPLE','GL_POLYGON_SMOOTH_HINT','GL_POLYGON_SMOOTH','GL_POLYGON_OFFSET_UNITS',
+ 'GL_POLYGON_OFFSET_POINT','GL_POLYGON_OFFSET_LINE','GL_POLYGON_OFFSET_FILL','GL_POLYGON_OFFSET_FACTOR','GL_POLYGON_MODE',
+ 'GL_POLYGON_BIT','GL_POLYGON','GL_POINT_TOKEN','GL_POINT_SMOOTH_HINT','GL_POINT_SMOOTH','GL_POINT_SIZE_RANGE',
+ 'GL_POINT_SIZE_GRANULARITY','GL_POINT_SIZE','GL_POINT_BIT','GL_POINTS','GL_POINT','GL_PIXEL_MODE_BIT',
+ 'GL_PIXEL_MAP_S_TO_S_SIZE','GL_PIXEL_MAP_S_TO_S','GL_PIXEL_MAP_R_TO_R_SIZE','GL_PIXEL_MAP_R_TO_R','GL_PIXEL_MAP_I_TO_R_SIZE',
+ 'GL_PIXEL_MAP_I_TO_R','GL_PIXEL_MAP_I_TO_I_SIZE','GL_PIXEL_MAP_I_TO_I','GL_PIXEL_MAP_I_TO_G_SIZE','GL_PIXEL_MAP_I_TO_G',
+ 'GL_PIXEL_MAP_I_TO_B_SIZE','GL_PIXEL_MAP_I_TO_B','GL_PIXEL_MAP_I_TO_A_SIZE','GL_PIXEL_MAP_I_TO_A','GL_PIXEL_MAP_G_TO_G_SIZE',
+ 'GL_PIXEL_MAP_G_TO_G','GL_PIXEL_MAP_B_TO_B_SIZE','GL_PIXEL_MAP_B_TO_B','GL_PIXEL_MAP_A_TO_A_SIZE','GL_PIXEL_MAP_A_TO_A',
+ 'GL_PHONG_WIN','GL_PHONG_HINT_WIN','GL_PERSPECTIVE_CORRECTION_HINT','GL_PASS_THROUGH_TOKEN','GL_PACK_SWAP_BYTES',
+ 'GL_PACK_SKIP_ROWS','GL_PACK_SKIP_PIXELS','GL_PACK_ROW_LENGTH','GL_PACK_LSB_FIRST','GL_PACK_ALIGNMENT','GL_OUT_OF_MEMORY',
+ 'GL_OR_REVERSE','GL_OR_INVERTED','GL_ORDER','GL_OR','GL_OPERAND2_RGB_EXT','GL_OPERAND2_RGB','GL_OPERAND2_ALPHA_EXT',
+ 'GL_OPERAND2_ALPHA','GL_OPERAND1_RGB_EXT','GL_OPERAND1_RGB','GL_OPERAND1_ALPHA_EXT','GL_OPERAND1_ALPHA','GL_OPERAND0_RGB_EXT',
+ 'GL_OPERAND0_RGB','GL_OPERAND0_ALPHA_EXT','GL_OPERAND0_ALPHA','GL_ONE_MINUS_SRC_COLOR','GL_ONE_MINUS_SRC_ALPHA',
+ 'GL_ONE_MINUS_DST_COLOR','GL_ONE_MINUS_DST_ALPHA','GL_ONE','GL_OBJECT_PLANE','GL_OBJECT_LINEAR','GL_NO_ERROR',
+ 'GL_NOTEQUAL','GL_NORMAL_ARRAY_TYPE_EXT','GL_NORMAL_ARRAY_TYPE','GL_NORMAL_ARRAY_STRIDE_EXT','GL_NORMAL_ARRAY_STRIDE',
+ 'GL_NORMAL_ARRAY_POINTER_EXT','GL_NORMAL_ARRAY_POINTER','GL_NORMAL_ARRAY_EXT','GL_NORMAL_ARRAY_COUNT_EXT',
+ 'GL_NORMAL_ARRAY','GL_NORMALIZE','GL_NOR','GL_NOOP','GL_NONE','GL_NICEST','GL_NEVER','GL_NEAREST_MIPMAP_NEAREST','GL_NEAREST_MIPMAP_LINEAR',
+ 'GL_NEAREST','GL_NAND','GL_NAME_STACK_DEPTH','GL_N3F_V3F','GL_MULT','GL_MODULATE','GL_MODELVIEW_STACK_DEPTH','GL_MODELVIEW_MATRIX',
+ 'GL_MODELVIEW','GL_MAX_VIEWPORT_DIMS','GL_MAX_TEXTURE_UNITS_ARB','GL_MAX_TEXTURE_UNITS','GL_MAX_TEXTURE_STACK_DEPTH',
+ 'GL_MAX_TEXTURE_SIZE','GL_MAX_PROJECTION_STACK_DEPTH','GL_MAX_PIXEL_MAP_TABLE','GL_MAX_NAME_STACK_DEPTH','GL_MAX_MODELVIEW_STACK_DEPTH',
+ 'GL_MAX_LIST_NESTING','GL_MAX_LIGHTS','GL_MAX_EVAL_ORDER','GL_MAX_ELEMENTS_VERTICES_WIN','GL_MAX_ELEMENTS_INDICES_WIN',
+ 'GL_MAX_CLIP_PLANES','GL_MAX_CLIENT_ATTRIB_STACK_DEPTH','GL_MAX_ATTRIB_STACK_DEPTH','GL_MATRIX_MODE','GL_MAP_STENCIL',
+ 'GL_MAP_COLOR','GL_MAP2_VERTEX_4','GL_MAP2_VERTEX_3','GL_MAP2_TEXTURE_COORD_4','GL_MAP2_TEXTURE_COORD_3','GL_MAP2_TEXTURE_COORD_2',
+ 'GL_MAP2_TEXTURE_COORD_1','GL_MAP2_NORMAL','GL_MAP2_INDEX','GL_MAP2_GRID_SEGMENTS','GL_MAP2_GRID_DOMAIN','GL_MAP2_COLOR_4',
+ 'GL_MAP1_VERTEX_4','GL_MAP1_VERTEX_3','GL_MAP1_TEXTURE_COORD_4','GL_MAP1_TEXTURE_COORD_3','GL_MAP1_TEXTURE_COORD_2',
+ 'GL_MAP1_TEXTURE_COORD_1','GL_MAP1_NORMAL','GL_MAP1_INDEX','GL_MAP1_GRID_SEGMENTS','GL_MAP1_GRID_DOMAIN',
+ 'GL_MAP1_COLOR_4','GL_LUMINANCE_ALPHA','GL_LUMINANCE8_ALPHA8','GL_LUMINANCE8','GL_LUMINANCE6_ALPHA2','GL_LUMINANCE4_ALPHA4',
+ 'GL_LUMINANCE4','GL_LUMINANCE16_ALPHA16','GL_LUMINANCE16','GL_LUMINANCE12_ALPHA4','GL_LUMINANCE12_ALPHA12','GL_LUMINANCE12',
+ 'GL_LUMINANCE','GL_LOGIC_OP_MODE','GL_LOGIC_OP','GL_LOAD','GL_LIST_MODE','GL_LIST_INDEX','GL_LIST_BIT',
+ 'GL_LIST_BASE','GL_LINE_WIDTH_RANGE','GL_LINE_WIDTH_GRANULARITY','GL_LINE_WIDTH','GL_LINE_TOKEN','GL_LINE_STRIP','GL_LINE_STIPPLE_REPEAT',
+ 'GL_LINE_STIPPLE_PATTERN','GL_LINE_STIPPLE','GL_LINE_SMOOTH_HINT','GL_LINE_SMOOTH','GL_LINE_RESET_TOKEN','GL_LINE_LOOP',
+ 'GL_LINE_BIT','GL_LINES','GL_LINEAR_MIPMAP_NEAREST','GL_LINEAR_MIPMAP_LINEAR','GL_LINEAR_ATTENUATION','GL_LINEAR',
+ 'GL_LINE','GL_LIGHT_MODEL_TWO_SIDE','GL_LIGHT_MODEL_LOCAL_VIEWER','GL_LIGHT_MODEL_AMBIENT','GL_LIGHTING_BIT',
+ 'GL_LIGHTING','GL_LIGHT7','GL_LIGHT6','GL_LIGHT5','GL_LIGHT4','GL_LIGHT3','GL_LIGHT2','GL_LIGHT1','GL_LIGHT0',
+ 'GL_LESS','GL_LEQUAL','GL_LEFT','GL_KEEP','GL_INVERT','GL_INVALID_VALUE','GL_INVALID_OPERATION','GL_INVALID_ENUM','GL_INTERPOLATE_EXT',
+ 'GL_INTERPOLATE','GL_INTENSITY8','GL_INTENSITY4','GL_INTENSITY16','GL_INTENSITY12','GL_INTENSITY','GL_INT',
+ 'GL_INDEX_WRITEMASK','GL_INDEX_SHIFT','GL_INDEX_OFFSET','GL_INDEX_MODE','GL_INDEX_LOGIC_OP','GL_INDEX_CLEAR_VALUE','GL_INDEX_BITS',
+ 'GL_INDEX_ARRAY_TYPE_EXT','GL_INDEX_ARRAY_TYPE','GL_INDEX_ARRAY_STRIDE_EXT','GL_INDEX_ARRAY_STRIDE','GL_INDEX_ARRAY_POINTER_EXT',
+ 'GL_INDEX_ARRAY_POINTER','GL_INDEX_ARRAY_EXT','GL_INDEX_ARRAY_COUNT_EXT','GL_INDEX_ARRAY','GL_INCR','GL_HINT_BIT',
+ 'GL_GREEN_SCALE','GL_GREEN_BITS','GL_GREEN_BIAS','GL_GREEN','GL_GREATER','GL_GEQUAL','GL_FRONT_RIGHT','GL_FRONT_LEFT',
+ 'GL_FRONT_FACE','GL_FRONT_AND_BACK','GL_FRONT','GL_FOG_START','GL_FOG_SPECULAR_TEXTURE_WIN','GL_FOG_MODE','GL_FOG_INDEX',
+ 'GL_FOG_HINT','GL_FOG_END','GL_FOG_DENSITY','GL_FOG_COLOR','GL_FOG_BIT','GL_FOG','GL_FLOAT','GL_FLAT','GL_FILL',
+ 'GL_FEEDBACK_BUFFER_TYPE','GL_FEEDBACK_BUFFER_SIZE','GL_FEEDBACK_BUFFER_POINTER','GL_FEEDBACK','GL_FASTEST','GL_FALSE',
+ 'GL_EYE_PLANE','GL_EYE_LINEAR','GL_EXT_vertex_array','GL_EXT_paletted_texture','GL_EXT_bgra','GL_EXTENSIONS','GL_EXP2',
+ 'GL_EXP','GL_EVAL_BIT','GL_EQUIV','GL_EQUAL','GL_ENABLE_BIT','GL_EMISSION','GL_EDGE_FLAG_ARRAY_STRIDE_EXT','GL_EDGE_FLAG_ARRAY_STRIDE',
+ 'GL_EDGE_FLAG_ARRAY_POINTER_EXT','GL_EDGE_FLAG_ARRAY_POINTER','GL_EDGE_FLAG_ARRAY_EXT','GL_EDGE_FLAG_ARRAY_COUNT_EXT','GL_EDGE_FLAG_ARRAY',
+ 'GL_EDGE_FLAG','GL_DST_COLOR','GL_DST_ALPHA','GL_DRAW_PIXEL_TOKEN','GL_DRAW_BUFFER','GL_DOUBLE_EXT','GL_DOUBLEBUFFER',
+ 'GL_DOUBLE','GL_DONT_CARE','GL_DOMAIN','GL_DITHER','GL_DIFFUSE','GL_DEPTH_WRITEMASK','GL_DEPTH_TEST','GL_DEPTH_SCALE',
+ 'GL_DEPTH_RANGE','GL_DEPTH_FUNC','GL_DEPTH_COMPONENT','GL_DEPTH_CLEAR_VALUE','GL_DEPTH_BUFFER_BIT','GL_DEPTH_BITS',
+ 'GL_DEPTH_BIAS','GL_DEPTH','GL_DECR','GL_DECAL','GL_CW','GL_CURRENT_TEXTURE_COORDS','GL_CURRENT_RASTER_TEXTURE_COORDS','GL_CURRENT_RASTER_POSITION_VALID',
+ 'GL_CURRENT_RASTER_POSITION','GL_CURRENT_RASTER_INDEX','GL_CURRENT_RASTER_DISTANCE','GL_CURRENT_RASTER_COLOR','GL_CURRENT_NORMAL',
+ 'GL_CURRENT_INDEX','GL_CURRENT_COLOR','GL_CURRENT_BIT','GL_CULL_FACE_MODE','GL_CULL_FACE','GL_COPY_PIXEL_TOKEN',
+ 'GL_COPY_INVERTED','GL_COPY','GL_CONSTANT_EXT','GL_CONSTANT_ATTENUATION','GL_CONSTANT','GL_COMPILE_AND_EXECUTE','GL_COMPILE','GL_COMBINE_RGB_EXT',
+ 'GL_COMBINE_RGB','GL_COMBINE_EXT','GL_COMBINE_ALPHA_EXT','GL_COMBINE_ALPHA','GL_COMBINE','GL_COLOR_WRITEMASK',
+ 'GL_COLOR_TABLE_WIDTH_EXT','GL_COLOR_TABLE_RED_SIZE_EXT','GL_COLOR_TABLE_LUMINANCE_SIZE_EXT','GL_COLOR_TABLE_INTENSITY_SIZE_EXT',
+ 'GL_COLOR_TABLE_GREEN_SIZE_EXT','GL_COLOR_TABLE_FORMAT_EXT','GL_COLOR_TABLE_BLUE_SIZE_EXT','GL_COLOR_TABLE_ALPHA_SIZE_EXT',
+ 'GL_COLOR_MATERIAL_PARAMETER','GL_COLOR_MATERIAL_FACE','GL_COLOR_MATERIAL','GL_COLOR_LOGIC_OP','GL_COLOR_INDEXES',
+ 'GL_COLOR_INDEX8_EXT','GL_COLOR_INDEX4_EXT','GL_COLOR_INDEX2_EXT','GL_COLOR_INDEX1_EXT','GL_COLOR_INDEX16_EXT',
+ 'GL_COLOR_INDEX12_EXT','GL_COLOR_INDEX','GL_COLOR_CLEAR_VALUE','GL_COLOR_BUFFER_BIT','GL_COLOR_ARRAY_TYPE_EXT',
+ 'GL_COLOR_ARRAY_TYPE','GL_COLOR_ARRAY_STRIDE_EXT','GL_COLOR_ARRAY_STRIDE','GL_COLOR_ARRAY_SIZE_EXT','GL_COLOR_ARRAY_SIZE',
+ 'GL_COLOR_ARRAY_POINTER_EXT','GL_COLOR_ARRAY_POINTER','GL_COLOR_ARRAY_EXT','GL_COLOR_ARRAY_COUNT_EXT','GL_COLOR_ARRAY',
+ 'GL_COLOR','GL_COEFF','GL_CLIP_PLANE5','GL_CLIP_PLANE4','GL_CLIP_PLANE3','GL_CLIP_PLANE2','GL_CLIP_PLANE1','GL_CLIP_PLANE0',
+ 'GL_CLIENT_VERTEX_ARRAY_BIT','GL_CLIENT_PIXEL_STORE_BIT','GL_CLIENT_ATTRIB_STACK_DEPTH','GL_CLIENT_ALL_ATTRIB_BITS',
+ 'GL_CLIENT_ACTIVE_TEXTURE_ARB','GL_CLIENT_ACTIVE_TEXTURE','GL_CLEAR','GL_CLAMP','GL_CCW','GL_C4UB_V3F','GL_C4UB_V2F',
+ 'GL_C4F_N3F_V3F','GL_C3F_V3F','GL_BYTE','GL_BLUE_SCALE','GL_BLUE_BITS','GL_BLUE_BIAS','GL_BLUE','GL_BLEND_SRC','GL_BLEND_DST',
+ 'GL_BLEND','GL_BITMAP_TOKEN','GL_BITMAP','GL_BGR_EXT','GL_BGRA_EXT','GL_BACK_RIGHT','GL_BACK_LEFT','GL_BACK',
+ 'GL_AUX_BUFFERS','GL_AUX3','GL_AUX2','GL_AUX1','GL_AUX0','GL_AUTO_NORMAL','GL_ATTRIB_STACK_DEPTH','GL_AND_REVERSE',
+ 'GL_AND_INVERTED','GL_AND','GL_AMBIENT_AND_DIFFUSE','GL_AMBIENT','GL_ALWAYS','GL_ALPHA_TEST_REF','GL_ALPHA_TEST_FUNC',
+ 'GL_ALPHA_TEST','GL_ALPHA_SCALE','GL_ALPHA_BITS','GL_ALPHA_BIAS','GL_ALPHA8','GL_ALPHA4','GL_ALPHA16','GL_ALPHA12',
+ 'GL_ALPHA','GL_ALL_ATTRIB_BITS','GL_ADD_SIGNED_EXT','GL_ADD_SIGNED','GL_ADD','GL_ACTIVE_TEXTURE_ARB','GL_ACTIVE_TEXTURE',
+ 'GL_ACCUM_RED_BITS','GL_ACCUM_GREEN_BITS','GL_ACCUM_CLEAR_VALUE','GL_ACCUM_BUFFER_BIT','GL_ACCUM_BLUE_BITS','GL_ACCUM_ALPHA_BITS',
+ 'GL_ACCUM','GL_4_BYTES','GL_4D_COLOR_TEXTURE','GL_3_BYTES','GL_3D_COLOR_TEXTURE','GL_3D_COLOR','GL_3D','GL_2_BYTES',
+ 'GL_2D','GLU_V_STEP','GLU_VERTEX','GLU_VERSION_1_2','GLU_VERSION_1_1','GLU_VERSION','GLU_U_STEP','GLU_UNKNOWN','GLU_TRUE',
+ 'GLU_TESS_WINDING_RULE','GLU_TESS_WINDING_POSITIVE','GLU_TESS_WINDING_ODD','GLU_TESS_WINDING_NONZERO','GLU_TESS_WINDING_NEGATIVE',
+ 'GLU_TESS_WINDING_ABS_GEQ_TWO','GLU_TESS_VERTEX_DATA','GLU_TESS_VERTEX','GLU_TESS_TOLERANCE','GLU_TESS_NEED_COMBINE_CALLBACK','GLU_TESS_MISSING_END_POLYGON',
+ 'GLU_TESS_MISSING_END_CONTOUR','GLU_TESS_MISSING_BEGIN_POLYGON','GLU_TESS_MISSING_BEGIN_CONTOUR','GLU_TESS_ERROR_DATA',
+ 'GLU_TESS_ERROR8','GLU_TESS_ERROR7','GLU_TESS_ERROR6','GLU_TESS_ERROR5','GLU_TESS_ERROR4','GLU_TESS_ERROR3','GLU_TESS_ERROR2',
+ 'GLU_TESS_ERROR1','GLU_TESS_ERROR','GLU_TESS_END_DATA','GLU_TESS_END','GLU_TESS_EDGE_FLAG_DATA','GLU_TESS_EDGE_FLAG',
+ 'GLU_TESS_COORD_TOO_LARGE','GLU_TESS_COMBINE_DATA','GLU_TESS_COMBINE','GLU_TESS_BOUNDARY_ONLY','GLU_TESS_BEGIN_DATA',
+ 'GLU_TESS_BEGIN','GLU_SMOOTH','GLU_SILHOUETTE','GLU_SAMPLING_TOLERANCE','GLU_SAMPLING_METHOD','GLU_POINT','GLU_PATH_LENGTH',
+ 'GLU_PARAMETRIC_TOLERANCE','GLU_PARAMETRIC_ERROR','GLU_OUT_OF_MEMORY','GLU_OUTSIDE','GLU_OUTLINE_POLYGON','GLU_OUTLINE_PATCH',
+ 'GLU_NURBS_ERROR9','GLU_NURBS_ERROR8','GLU_NURBS_ERROR7','GLU_NURBS_ERROR6','GLU_NURBS_ERROR5','GLU_NURBS_ERROR4',
+ 'GLU_NURBS_ERROR37','GLU_NURBS_ERROR36','GLU_NURBS_ERROR35','GLU_NURBS_ERROR34','GLU_NURBS_ERROR33','GLU_NURBS_ERROR32',
+ 'GLU_NURBS_ERROR31','GLU_NURBS_ERROR30','GLU_NURBS_ERROR3','GLU_NURBS_ERROR29','GLU_NURBS_ERROR28','GLU_NURBS_ERROR27','GLU_NURBS_ERROR26',
+ 'GLU_NURBS_ERROR25','GLU_NURBS_ERROR24','GLU_NURBS_ERROR23','GLU_NURBS_ERROR22','GLU_NURBS_ERROR21','GLU_NURBS_ERROR20',
+ 'GLU_NURBS_ERROR2','GLU_NURBS_ERROR19','GLU_NURBS_ERROR18','GLU_NURBS_ERROR17','GLU_NURBS_ERROR16','GLU_NURBS_ERROR15','GLU_NURBS_ERROR14',
+ 'GLU_NURBS_ERROR13','GLU_NURBS_ERROR12','GLU_NURBS_ERROR11','GLU_NURBS_ERROR10','GLU_NURBS_ERROR1','GLU_NONE',
+ 'GLU_MAP1_TRIM_3','GLU_MAP1_TRIM_2','GLU_LINE','GLU_INVALID_VALUE','GLU_INVALID_ENUM','GLU_INTERIOR','GLU_INSIDE','GLU_INCOMPATIBLE_GL_VERSION',
+ 'GLU_FLAT','GLU_FILL','GLU_FALSE','GLU_EXTERIOR','GLU_EXTENSIONS','GLU_ERROR','GLU_END','GLU_EDGE_FLAG','GLU_DOMAIN_DISTANCE',
+ 'GLU_DISPLAY_MODE','GLU_CW','GLU_CULLING','GLU_CCW','GLU_BEGIN','GLU_AUTO_LOAD_MATRIX','CHANNEL_UNORDERED','CHANNEL_ORDERED',
+ 'CHANNEL_MAX'
+ ),
+ 2 => array(
+
+ // Red Lowercase Keywords
+
+ 'WriteWord','WriteString','WriteReal','WriteLine','WriteInt','WriteFloat','WriteDouble','WriteChar','WriteByte',
+ 'windowwidth','windowheight','waittimer','Vec4','Vec3','Vec2','val','UpdateJoystick','ucase$','Transpose','tickcount',
+ 'textscroll','textrows','textmode','textcols','tanh','tand','tan','synctimercatchup','synctimer','swapbuffers',
+ 'str$','stopsoundvoice','stopsounds','stopmusic','sqrt','sqr','sprzorder','spryvel','sprytiles','sprysize','spryrepeat',
+ 'spryflip','sprycentre','spry','sprxvel','sprxtiles','sprxsize','sprxrepeat','sprxflip','sprxcentre','sprx',
+ 'sprvisible','sprvel','sprtype','sprtop','sprspin','sprsolid','sprsetzorder','sprsetyvel','sprsetysize','sprsetyrepeat',
+ 'sprsetyflip','sprsetycentre','sprsety','sprsetxvel','sprsetxsize','sprsetxrepeat','sprsetxflip','sprsetxcentre',
+ 'sprsetx','sprsetvisible','sprsetvel','sprsettiles','sprsettextures','sprsettexture','sprsetspin','sprsetsolid',
+ 'sprsetsize','sprsetscale','sprsetpos','sprsetparallax','sprsetframe','sprsetcolor','sprsetanimspeed','sprsetanimloop',
+ 'sprsetangle','sprsetalpha','sprscale','sprright','sprpos','sprparallax','sprleft','spriteareawidth','spriteareaheight',
+ 'sprframe','sprcolor','sprcameraz','sprcameray','sprcamerax','sprcamerasetz','sprcamerasety','sprcamerasetx',
+ 'sprcamerasetpos','sprcamerasetfov','sprcamerasetangle','sprcamerapos','sprcamerafov','sprcameraangle',
+ 'sprbottom','spranimspeed','spranimloop','spranimdone','sprangle','spralpha','spraddtextures','spraddtexture',
+ 'sounderror','sleep','sind','sin','showcursor','sgn','settextscroll','setmusicvolume','SendMessage','Seek',
+ 'scankeydown','RTInvert','rnd','right$','resizetext','resizespritearea','RejectConnection','ReceiveMessage','ReadWord',
+ 'ReadText','ReadReal','ReadLine','ReadInt','ReadFloat','ReadDouble','ReadChar','ReadByte','randomize','printr',
+ 'print','pow','playsound','playmusic','performancecounter','Orthonormalize','OpenFileWrite','OpenFileRead','Normalize',
+ 'newtilemap','newsprite','NewServer','NewConnection','musicplaying','mouse_yd','mouse_y','mouse_xd','mouse_x',
+ 'mouse_wheel','mouse_button','mid$','MessageSmoothed','MessageReliable','MessagePending','MessageChannel','maxtextureunits',
+ 'MatrixZero','MatrixTranslate','MatrixScale','MatrixRotateZ','MatrixRotateY','MatrixRotateX','MatrixRotate','MatrixIdentity',
+ 'MatrixCrossProduct','MatrixBasis','log','locate','loadtexture','loadsound','loadmipmaptexture','loadmipmapimagestrip',
+ 'loadimagestrip','loadimage','Length','len','left$','lcase$','keydown','Joy_Y','Joy_X','Joy_Up','Joy_Right','Joy_Left',
+ 'Joy_Keys','Joy_Down','Joy_Button','Joy_3','Joy_2','Joy_1','Joy_0','int','inscankey','input$','inkey$','inittimer',
+ 'imagewidth','imagestripframes','imageheight','imageformat','imagedatatype','hidecursor','glViewport','glVertex4sv',
+ 'glVertex4s','glVertex4iv','glVertex4i','glVertex4fv','glVertex4f','glVertex4dv','glVertex4d','glVertex3sv','glVertex3s',
+ 'glVertex3iv','glVertex3i','glVertex3fv','glVertex3f','glVertex3dv','glVertex3d','glVertex2sv','glVertex2s','glVertex2iv',
+ 'glVertex2i','glVertex2fv','glVertex2f','glVertex2dv','glVertex2d','gluPerspective','gluOrtho2D','gluLookAt',
+ 'glubuild2dmipmaps','glTranslatef','glTranslated','gltexsubimage2d','glTexParameteriv','glTexParameteri',
+ 'glTexParameterfv','glTexParameterf','glteximage2d','glTexGeniv','glTexGeni','glTexGenfv','glTexGenf','glTexGendv',
+ 'glTexGend','glTexEnviv','glTexEnvi','glTexEnvfv','glTexEnvf','glTexCoord4sv','glTexCoord4s','glTexCoord4iv','glTexCoord4i',
+ 'glTexCoord4fv','glTexCoord4f','glTexCoord4dv','glTexCoord4d','glTexCoord3sv','glTexCoord3s','glTexCoord3iv','glTexCoord3i',
+ 'glTexCoord3fv','glTexCoord3f','glTexCoord3dv','glTexCoord3d','glTexCoord2sv','glTexCoord2s','glTexCoord2iv','glTexCoord2i',
+ 'glTexCoord2fv','glTexCoord2f','glTexCoord2dv','glTexCoord2d','glTexCoord1sv','glTexCoord1s','glTexCoord1iv','glTexCoord1i','glTexCoord1fv',
+ 'glTexCoord1f','glTexCoord1dv','glTexCoord1d','glStencilOp','glStencilMask','glStencilFunc','glShadeModel','glSelectBuffer',
+ 'glScissor','glScalef','glScaled','glRotatef','glRotated','glRenderMode','glRectsv','glRects','glRectiv','glRecti',
+ 'glRectfv','glRectf','glRectdv','glRectd','glReadBuffer','glRasterPos4sv','glRasterPos4s','glRasterPos4iv',
+ 'glRasterPos4i','glRasterPos4fv','glRasterPos4f','glRasterPos4dv','glRasterPos4d','glRasterPos3sv','glRasterPos3s',
+ 'glRasterPos3iv','glRasterPos3i','glRasterPos3fv','glRasterPos3f','glRasterPos3dv','glRasterPos3d','glRasterPos2sv',
+ 'glRasterPos2s','glRasterPos2iv','glRasterPos2i','glRasterPos2fv','glRasterPos2f','glRasterPos2dv','glRasterPos2d',
+ 'glPushName','glPushMatrix','glPushClientAttrib','glPushAttrib','glPrioritizeTextures','glPopName','glPopMatrix',
+ 'glPopClientAttrib','glPopAttrib','glpolygonstipple','glPolygonOffset','glPolygonMode','glPointSize','glPixelZoom',
+ 'glPixelTransferi','glPixelTransferf','glPixelStorei','glPixelStoref','glPassThrough','glOrtho','glNormal3sv','glNormal3s',
+ 'glNormal3iv','glNormal3i','glNormal3fv','glNormal3f','glNormal3dv','glNormal3d','glNormal3bv','glNormal3b','glNewList',
+ 'glMultMatrixf','glMultMatrixd','glmultitexcoord2f','glmultitexcoord2d','glMatrixMode','glMaterialiv','glMateriali',
+ 'glMaterialfv','glMaterialf','glMapGrid2f','glMapGrid2d','glMapGrid1f','glMapGrid1d','glLogicOp','glLoadName','glLoadMatrixf',
+ 'glLoadMatrixd','glLoadIdentity','glListBase','glLineWidth','glLineStipple','glLightModeliv','glLightModeli','glLightModelfv',
+ 'glLightModelf','glLightiv','glLighti','glLightfv','glLightf','glIsTexture','glIsList','glIsEnabled','glInitNames',
+ 'glIndexubv','glIndexub','glIndexsv','glIndexs','glIndexMask','glIndexiv','glIndexi','glIndexfv','glIndexf','glIndexdv',
+ 'glIndexd','glHint','glGetTexParameteriv','glGetTexParameterfv','glGetTexLevelParameteriv','glGetTexLevelParameterfv',
+ 'glGetTexGeniv','glGetTexGenfv','glGetTexGendv','glGetTexEnviv','glGetTexEnvfv','glgetstring','glgetpolygonstipple','glGetPixelMapuiv',
+ 'glGetMaterialiv','glGetMaterialfv','glGetLightiv','glGetLightfv','glGetIntegerv','glGetFloatv',
+ 'glGetError','glGetDoublev','glGetClipPlane','glGetBooleanv','glgentextures','glgentexture',
+ 'glgenlists','glFrustum','glFrontFace','glFogiv','glFogi','glFogfv','glFogf','glFlush','glFinish','glFeedbackBuffer',
+ 'glEvalPoint2','glEvalPoint1','glEvalMesh2','glEvalMesh1','glEvalCoord2fv','glEvalCoord2f','glEvalCoord2dv','glEvalCoord2d',
+ 'glEvalCoord1fv','glEvalCoord1f','glEvalCoord1dv','glEvalCoord1d','glEndList','glEnd','glEnableClientState','glEnable',
+ 'glEdgeFlagv','glEdgeFlag','glDrawBuffer','glDrawArrays','glDisableClientState','glDisable','glDepthRange','glDepthMask',
+ 'glDepthFunc','gldeletetextures','gldeletetexture','gldeletelists','glCullFace','glCopyTexSubImage2D','glCopyTexSubImage1D',
+ 'glCopyTexImage2D','glCopyTexImage1D','glColorMaterial','glColorMask','glColor4usv','glColor4us','glColor4uiv','glColor4ui',
+ 'glColor4ubv','glColor4ub','glColor4sv','glColor4s','glColor4iv','glColor4i','glColor4fv','glColor4f','glColor4dv',
+ 'glColor4d','glColor4bv','glColor4b','glColor3usv','glColor3us','glColor3uiv','glColor3ui','glColor3ubv','glColor3ub',
+ 'glColor3sv','glColor3s','glColor3iv','glColor3i','glColor3fv','glColor3f','glColor3dv','glColor3d','glColor3bv',
+ 'glColor3b','glClipPlane','glClearStencil','glClearIndex','glClearDepth','glClearColor','glClearAccum','glClear',
+ 'glcalllists','glCallList','glBlendFunc','glBindTexture','glBegin','glArrayElement','glAreTexturesResident',
+ 'glAlphaFunc','glactivetexture','glAccum','font','FindNextFile','FindFirstFile','FindClose','FileError',
+ 'extensionsupported','exp','execute','EndOfFile','drawtext','divbyzero','Determinant','deletesprite','deletesound',
+ 'DeleteServer','deleteimage','DeleteConnection','defaultfont','CrossProduct','cosd','cos','copysprite','ConnectionPending',
+ 'ConnectionHandShaking','ConnectionConnected','ConnectionAddress','compilererrorline','compilererrorcol','compilererror',
+ 'compilefile','compile','color','cls','CloseFile','clearregion','clearline','clearkeys','chr$','charat$','bindsprite',
+ 'beep','atnd','atn2d','atn2','atn','atand','asc','argcount','arg','animatesprites','AcceptConnection','abs'
+ ),
+ 3 => array(
+
+ // Blue Lowercase Keywords
+
+ 'xor','while','wend','until','type','traditional_print','traditional','to','then','struc','string','step','single',
+ 'run','return','reset','read','or','null','not','next','lor','loop','language','land','integer','input','if',
+ 'goto','gosub','for','endstruc','endif','end','elseif','else','double','do','dim','data','const','basic4gl','as',
+ 'and','alloc'
+ )
+
+ ),
+ 'SYMBOLS' => array(
+ '=', '<', '>', '>=', '<=', '+', '-', '*', '/', '%', '(', ')', '{', '}', '[', ']', '&', ';', ':', '$'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000080; font-weight: bold;',
+ 2 => 'color: #FF0000;',
+ 3 => 'color: #0000FF;'
+ ),
+ '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 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/bf.php b/application/libraries/geshi/bf.php
new file mode 100644
index 000000000..c69155e88
--- /dev/null
+++ b/application/libraries/geshi/bf.php
@@ -0,0 +1,114 @@
+<?php
+/*************************************************************************************
+ * bf.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/10/31
+ *
+ * Brainfuck language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ * - First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Brainfuck',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(1 => '/[^\n+\-<>\[\]\.\,Y]+/s'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => array('+', '-'),
+ 1 => array('[', ']'),
+ 2 => array('<', '>'),
+ 3 => array('.', ','),
+ 4 => array('Y') //Brainfork Extension ;-)
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #006600;',
+ 1 => 'color: #660000;',
+ 2 => 'color: #000066;',
+ 3 => 'color: #660066;',
+ 4 => 'color: #666600;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ ),
+ '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(
+ 'ENABLE_FLAGS' => array(
+ 'STRINGS' => GESHI_NEVER,
+ 'NUMBERS' => GESHI_NEVER
+ ),
+ 'KEYWORDS' => array(
+ 'DISALLOW_BEFORE' => '',
+ 'DISALLOW_AFTER' => ''
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/bibtex.php b/application/libraries/geshi/bibtex.php
new file mode 100644
index 000000000..82c13b8bc
--- /dev/null
+++ b/application/libraries/geshi/bibtex.php
@@ -0,0 +1,183 @@
+<?php
+/********************************************************************************
+ * bibtex.php
+ * -----
+ * 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
+ * Date Started: 2009/04/29
+ *
+ * BibTeX language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/04/29 (1.0.8.4)
+ * - First Release
+ *
+ * TODO
+ * -------------------------
+ * - Add regex for matching and replacing URLs with corresponding hyperlinks
+ * - Add regex for matching more LaTeX commands that may be embedded in BibTeX
+ * (Someone who understands regex better than I should borrow from latex.php)
+ ********************************************************************************
+ *
+ * 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
+ *
+ *
+*******************************************************************************/
+
+// http://en.wikipedia.org/wiki/BibTeX
+// http://www.fb10.uni-bremen.de/anglistik/langpro/bibliographies/jacobsen-bibtex.html
+
+$language_data = array (
+ 'LANG_NAME' => 'BibTeX',
+ 'OOLANG' => false,
+ 'COMMENT_SINGLE' => array(
+ 1 => '%%'
+ ),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 0 => array(
+ '@comment','@preamble','@string'
+ ),
+ // Standard entry types
+ 1 => array(
+ '@article','@book','@booklet','@conference','@inbook',
+ '@incollection','@inproceedings','@manual','@mastersthesis',
+ '@misc','@phdthesis','@proceedings','@techreport','@unpublished'
+ ),
+ // Custom entry types
+ 2 => array(
+ '@collection','@patent','@webpage'
+ ),
+ // Standard entry field names
+ 3 => array(
+ 'address','annote','author','booktitle','chapter','crossref',
+ 'edition','editor','howpublished','institution','journal','key',
+ 'month','note','number','organization','pages','publisher','school',
+ 'series','title','type','volume','year'
+ ),
+ // Custom entry field names
+ 4 => array(
+ 'abstract','affiliation','chaptername','cited-by','cites',
+ 'contents','copyright','date-added','date-modified','doi','eprint',
+ 'isbn','issn','keywords','language','lccn','lib-congress',
+ 'location','price','rating','read','size','source','url'
+ )
+ ),
+ 'URLS' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'SYMBOLS' => array(
+ '{', '}', '#', '=', ','
+ ),
+ 'CASE_SENSITIVE' => array(
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ GESHI_COMMENTS => false,
+ ),
+ // Define the colors for the groups listed above
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #C02020;', // Standard entry types
+ 2 => 'color: #C02020;', // Custom entry types
+ 3 => 'color: #C08020;', // Standard entry field names
+ 4 => 'color: #C08020;' // Custom entry field names
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #2C922C; font-style: italic;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #2020C0;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #E02020;'
+ ),
+ 'REGEXPS' => array(
+ 1 => 'color: #2020C0;', // {...}
+ 2 => 'color: #C08020;', // BibDesk fields
+ 3 => 'color: #800000;' // LaTeX commands
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000000; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #E02020;'
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'REGEXPS' => array(
+ // {parameters}
+ 1 => array(
+ GESHI_SEARCH => "(?<=\\{)(?:\\{(?R)\\}|[^\\{\\}])*(?=\\})",
+ GESHI_REPLACE => '\0',
+ GESHI_MODIFIERS => 's',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ 2 => array(
+ GESHI_SEARCH => "\bBdsk-(File|Url)-\d+",
+ GESHI_REPLACE => '\0',
+ GESHI_MODIFIERS => 'Us',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ 3 => array(
+ GESHI_SEARCH => "\\\\[A-Za-z0-9]*+",
+ GESHI_REPLACE => '\0',
+ GESHI_MODIFIERS => 'Us',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'ENABLE_FLAGS' => array(
+ 'NUMBERS' => GESHI_NEVER
+ ),
+ 'KEYWORDS' => array(
+ 3 => array(
+ 'DISALLOWED_AFTER' => '(?=\s*=)'
+ ),
+ 4 => array(
+ 'DISALLOWED_AFTER' => '(?=\s*=)'
+ ),
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/blitzbasic.php b/application/libraries/geshi/blitzbasic.php
new file mode 100644
index 000000000..c3871a21e
--- /dev/null
+++ b/application/libraries/geshi/blitzbasic.php
@@ -0,0 +1,185 @@
+<?php
+/*************************************************************************************
+ * blitzbasic.php
+ * --------------
+ * Author: P�draig O`Connel (info@moonsword.info)
+ * Copyright: (c) 2005 P�draig O`Connel (http://moonsword.info)
+ * Release Version: 1.0.8.6
+ * Date Started: 16.10.2005
+ *
+ * BlitzBasic language file for GeSHi.
+ *
+ * It is a simple Basic dialect. Released for Games and Network Connections.
+ * In this Language File are all functions included (2D BB and 3D BB)
+ *
+ *
+ * CHANGES
+ * -------
+ * 2005/12/28 (1.0.1)
+ * - Remove unnecessary style index for regexps
+ * 2005/10/22 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2005/10/22)
+ * -------------------------
+ * * Sort out the Basic commands for splitting up.
+ * * To set up the right colors.
+ * (the colors are ok, but not the correct ones)
+ * * Split to BlitzBasic 2D and BlitzBasic 3D.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'BlitzBasic',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'If','EndIf','ElseIf','Else If','Else','While','Wend','Return','Next','Include','End Type','End Select','End If','End Function','End','Select',
+ 'Type','Forever','For','Or','And','AppTitle','Case','Goto','Gosub','Step','Stop','Int','Last','False','Then','To','True','Until','Float',
+ 'String','Before','Not'
+ ),
+ 2 => array(
+ // All Functions - 2D BB and 3D BB
+ 'Xor','WriteString','WriteShort','WritePixelFast','WritePixel','WriteLine','WriteInt','WriteFloat','WriteFile','WriteBytes',
+ 'WriteByte','Write','WaitTimer','WaitMouse','WaitKey','WaitJoy','VWait','Viewport',
+ 'Upper','UpdateGamma','UnlockBuffer','UDPTimeouts','UDPStreamPort','UDPStreamIP','UDPMsgPort','UDPMsgIP',
+ 'Trim','TotalVidMem','TileImage','TileBlock','TFormImage','TFormFilter','Text',
+ 'TCPTimeouts','TCPStreamPort','TCPStreamIP','Tan','SystemProperty','StringWidth','StringHeight','Str','StopNetGame',
+ 'StopChannel','StartNetGame','Sqr','SoundVolume','SoundPitch','SoundPan','Sin','Shr',
+ 'ShowPointer','Shl','Sgn','SetGfxDriver','SetGamma','SetFont','SetEnv','SetBuffer','SendUDPMsg','SendNetMsg',
+ 'SeekFile','SeedRnd','ScanLine','ScaleImage','SaveImage','SaveBuffer','Sar','RuntimeError','RSet',
+ 'RotateImage','RndSeed','Rnd','Right','ResumeChannel','Restore','ResizeImage','ResizeBank','Replace',
+ 'Repeat','RecvUDPMsg','RecvNetMsg','RectsOverlap','Rect','ReadString','ReadShort','ReadPixelFast','ReadPixel','ReadLine',
+ 'ReadInt','ReadFloat','ReadFile','ReadDir','ReadBytes','ReadByte','ReadAvail','Read','Rand','Print',
+ 'PokeShort','PokeInt','PokeFloat','PokeByte','Plot','PlaySound','PlayMusic','PlayCDTrack','Pi','PeekShort',
+ 'PeekInt','PeekFloat','PeekByte','PauseChannel','Oval','Origin','OpenTCPStream','OpenMovie','OpenFile',
+ 'Null','NextFile','New','NetPlayerName','NetPlayerLocal','NetMsgType','NetMsgTo','NetMsgFrom',
+ 'NetMsgData','MovieWidth','MoviePlaying','MovieHeight','MoveMouse','MouseZSpeed','MouseZ','MouseYSpeed','MouseY','MouseXSpeed',
+ 'MouseX','MouseHit','MouseDown','Mod','Millisecs','MidHandle','Mid','MaskImage','LSet','Lower',
+ 'LoopSound','Log10','Log','LockBuffer','Locate','Local','LoadSound','LoadImage','LoadFont','LoadBuffer',
+ 'LoadAnimImage','Line','Len','Left','KeyHit','KeyDown','JoyZDir','JoyZ','JoyYDir',
+ 'JoyYaw','JoyY','JoyXDir','JoyX','JoyVDir','JoyV','JoyUDir','JoyU','JoyType','JoyRoll',
+ 'JoyPitch','JoyHit','JoyHat','JoyDown','JoinNetGame','Instr','Insert','Input',
+ 'ImageYHandle','ImageXHandle','ImageWidth','ImagesOverlap','ImagesCollide','ImageRectOverlap','ImageRectCollide','ImageHeight','ImageBuffer',
+ 'HostNetGame','HostIP','HidePointer','Hex','HandleImage','GraphicsWidth','GraphicsHeight','GraphicsDepth','GraphicsBuffer','Graphics',
+ 'GrabImage','Global','GFXModeWidth','GFXModeHeight','GfxModeExists','GFXModeDepth','GfxDriverName','GetMouse',
+ 'GetKey','GetJoy','GetEnv','GetColor','GammaRed','GammaGreen','GammaBlue','Function','FrontBuffer','FreeTimer',
+ 'FreeSound','FreeImage','FreeFont','FreeBank','FontWidth','FontHeight','FlushMouse','FlushKeys',
+ 'FlushJoy','Floor','Flip','First','FileType','FileSize','FilePos','Field',
+ 'Exp','Exit','ExecFile','Eof','EndGraphics','Each','DrawMovie','DrawImageRect','DrawImage','DrawBlockRect','DrawBlock',
+ 'DottedIP','Dim','DeleteNetPlayer','DeleteFile','DeleteDir','Delete','Delay','Default','DebugLog','Data',
+ 'CurrentTime','CurrentDir','CurrentDate','CreateUDPStream','CreateTimer','CreateTCPServer','CreateNetPlayer','CreateImage','CreateDir','CreateBank',
+ 'CountHostIPs','CountGFXModes','CountGfxDrivers','Cos','CopyStream','CopyRect','CopyPixelFast','CopyPixel','CopyImage','CopyFile',
+ 'CopyBank','Const','CommandLine','ColorRed','ColorGreen','ColorBlue','Color','ClsColor','Cls','CloseUDPStream',
+ 'CloseTCPStream','CloseTCPServer','CloseMovie','CloseFile','CloseDir','Chr','ChannelVolume','ChannelPlaying','ChannelPitch','ChannelPan',
+ 'ChangeDir','Ceil','CallDLL','Bin','BankSize','BackBuffer','AvailVidMem','AutoMidHandle',
+ 'ATan2','ATan','ASin','Asc','After','ACos','AcceptTCPStream','Abs',
+ // 3D Commands
+ 'Wireframe','Windowed3D','WBuffer','VertexZ','VertexY',
+ 'VertexX','VertexW','VertexV','VertexU','VertexTexCoords','VertexRed','VertexNZ','VertexNY','VertexNX','VertexNormal',
+ 'VertexGreen','VertexCoords','VertexColor','VertexBlue','VertexAlpha','VectorYaw','VectorPitch','UpdateWorld','UpdateNormals','TurnEntity',
+ 'TrisRendered','TriangleVertex','TranslateEntity','TFormVector','TFormPoint','TFormNormal','TFormedZ','TFormedY','TFormedX','TextureWidth',
+ 'TextureName','TextureHeight','TextureFilter','TextureCoords','TextureBuffer','TextureBlend','TerrainZ','TerrainY','TerrainX','TerrainSize',
+ 'TerrainShading','TerrainHeight','TerrainDetail','SpriteViewMode','ShowEntity','SetCubeFace','SetAnimTime','SetAnimKey','ScaleTexture','ScaleSprite',
+ 'ScaleMesh','ScaleEntity','RotateTexture','RotateSprite','RotateMesh','RotateEntity','ResetEntity','RenderWorld','ProjectedZ','ProjectedY',
+ 'ProjectedX','PositionTexture','PositionMesh','PositionEntity','PointEntity','PickedZ','PickedY','PickedX','PickedTriangle','PickedTime',
+ 'PickedSurface','PickedNZ','PickedNY','PickedNX','PickedEntity','PaintSurface','PaintMesh','PaintEntity','NameEntity','MoveEntity',
+ 'ModifyTerrain','MeshWidth','MeshHeight','MeshesIntersect','MeshDepth','MD2AnimTime','MD2AnimLength','MD2Animating','LoadTexture','LoadTerrain',
+ 'LoadSprite','LoadMesh','LoadMD2','LoaderMatrix','LoadBSP','LoadBrush','LoadAnimTexture','LoadAnimSeq','LoadAnimMesh','Load3DSound',
+ 'LinePick','LightRange','LightMesh','LightConeAngles','LightColor','HWMultiTex','HideEntity','HandleSprite','Graphics3D','GfxMode3DExists',
+ 'GfxMode3D','GfxDriverCaps3D','GfxDriver3D','GetSurfaceBrush','GetSurface','GetParent','GetMatElement','GetEntityType','GetEntityBrush','GetChild',
+ 'GetBrushTexture','FreeTexture','FreeEntity','FreeBrush','FlipMesh','FitMesh','FindSurface','FindChild','ExtractAnimSeq','EntityZ',
+ 'EntityYaw','EntityY','EntityX','EntityVisible','EntityType','EntityTexture','EntityShininess','EntityRoll','EntityRadius','EntityPitch',
+ 'EntityPickMode','EntityPick','EntityParent','EntityOrder','EntityName','EntityInView','EntityFX','EntityDistance','EntityColor','EntityCollided',
+ 'EntityBox','EntityBlend','EntityAutoFade','EntityAlpha','EmitSound','Dither','DeltaYaw','DeltaPitch','CreateTexture','CreateTerrain',
+ 'CreateSurface','CreateSprite','CreateSphere','CreatePlane','CreatePivot','CreateMirror','CreateMesh','CreateListener','CreateLight','CreateCylinder',
+ 'CreateCube','CreateCone','CreateCamera','CreateBrush','CountVertices','CountTriangles','CountSurfaces','CountGfxModes3D','CountCollisions','CountChildren',
+ 'CopyMesh','CopyEntity','CollisionZ','CollisionY','CollisionX','CollisionTriangle','CollisionTime','CollisionSurface','Collisions','CollisionNZ',
+ 'CollisionNY','CollisionNX','CollisionEntity','ClearWorld','ClearTextureFilters','ClearSurface','ClearCollisions','CaptureWorld','CameraZoom','CameraViewport',
+ 'CameraRange','CameraProjMode','CameraProject','CameraPick','CameraFogRange','CameraFogMode','CameraFogColor','CameraClsMode','CameraClsColor','BSPLighting',
+ 'BSPAmbientLight','BrushTexture','BrushShininess','BrushFX','BrushColor','BrushBlend','BrushAlpha','AntiAlias','AnimTime','AnimSeq',
+ 'AnimLength','Animating','AnimateMD2','Animate','AmbientLight','AlignToVector','AddVertex','AddTriangle','AddMesh','AddAnimSeq',
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(',')'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000066; font-weight: bold;',
+ 2 => 'color: #0000ff;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #D9D100; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #009900;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #CC0000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '\\'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => false,
+ 1 => false
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/bnf.php b/application/libraries/geshi/bnf.php
new file mode 100644
index 000000000..db5cdb59d
--- /dev/null
+++ b/application/libraries/geshi/bnf.php
@@ -0,0 +1,110 @@
+<?php
+/*************************************************************************************
+ * bnf.php
+ * --------
+ * 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
+ * Date Started: 2006/09/28
+ *
+ * BNF (Backus-Naur form) language file for GeSHi.
+ *
+ * See http://en.wikipedia.org/wiki/Backus-Naur_form for more info on BNF.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * - Removed superflicious regexps
+ * 2006/09/18 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2006/09/18)
+ * -------------------------
+ * * Nothing I can think of
+ *
+ *************************************************************************************
+ *
+ * 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' => 'bnf',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"', "'"),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(),
+ 'SYMBOLS' => array(
+ '(', ')', '<', '>', '::=', '|'
+ ),
+ 'CASE_SENSITIVE' => array(
+ //GESHI_COMMENTS => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(),
+ 'COMMENTS' => array(
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => ''
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #a00;',
+ 1 => 'color: #a00;'
+ ),
+ 'NUMBERS' => array(
+ 0 => ''
+ ),
+ 'METHODS' => array(
+ 0 => ''
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066; font-weight: bold;', // Unused
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #007;',
+ ),
+ 'SCRIPT' => array(
+ 0 => ''
+ )
+ ),
+ 'URLS' => array(),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'REGEXPS' => array(
+ //terminal symbols
+ 0 => array(
+ GESHI_SEARCH => '(&lt;)([^&]+?)(&gt;)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/boo.php b/application/libraries/geshi/boo.php
new file mode 100644
index 000000000..df843797d
--- /dev/null
+++ b/application/libraries/geshi/boo.php
@@ -0,0 +1,217 @@
+<?php
+/*************************************************************************************
+ * boo.php
+ * --------
+ * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
+ * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/09/10
+ *
+ * Boo language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/09/10 (1.0.8)
+ * - First Release
+ *
+ * TODO (updated 2007/09/10)
+ * -------------------------
+ * Regular Expression Literal matching
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Boo',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'''", "'", '"""', '"'),
+ 'HARDQUOTE' => array('"""', '"""'),
+ 'HARDESCAPE' => array('\"""'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(//Namespace
+ 'namespace', 'import', 'from'
+ ),
+ 2 => array(//Jump
+ 'yield', 'return', 'goto', 'continue', 'break'
+ ),
+ 3 => array(//Conditional
+ 'while', 'unless', 'then', 'in', 'if', 'for', 'else', 'elif'
+ ),
+ 4 => array(//Property
+ 'set', 'get'
+ ),
+ 5 => array(//Exception
+ 'try', 'raise', 'failure', 'except', 'ensure'
+ ),
+ 6 => array(//Visibility
+ 'public', 'private', 'protected', 'internal'
+ ),
+ 7 => array(//Define
+ 'struct', 'ref', 'of', 'interface', 'event', 'enum', 'do', 'destructor', 'def', 'constructor', 'class'
+ ),
+ 8 => array(//Cast
+ 'typeof', 'cast', 'as'
+ ),
+ 9 => array(//BiMacro
+ 'yieldAll', 'using', 'unchecked', 'rawArayIndexing', 'print', 'normalArrayIndexing', 'lock',
+ 'debug', 'checked', 'assert'
+ ),
+ 10 => array(//BiAttr
+ 'required', 'property', 'meta', 'getter', 'default'
+ ),
+ 11 => array(//BiFunc
+ 'zip', 'shellp', 'shellm', 'shell', 'reversed', 'range', 'prompt',
+ 'matrix', 'map', 'len', 'join', 'iterator', 'gets', 'enumerate', 'cat', 'array'
+ ),
+ 12 => array(//HiFunc
+ '__switch__', '__initobj__', '__eval__', '__addressof__', 'quack'
+ ),
+ 13 => array(//Primitive
+ 'void', 'ushort', 'ulong', 'uint', 'true', 'timespan', 'string', 'single',
+ 'short', 'sbyte', 'regex', 'object', 'null', 'long', 'int', 'false', 'duck',
+ 'double', 'decimal', 'date', 'char', 'callable', 'byte', 'bool'
+ ),
+ 14 => array(//Operator
+ 'not', 'or', 'and', 'is', 'isa',
+ ),
+ 15 => array(//Modifier
+ 'virtual', 'transient', 'static', 'partial', 'override', 'final', 'abstract'
+ ),
+ 16 => array(//Access
+ 'super', 'self'
+ ),
+ 17 => array(//Pass
+ 'pass'
+ )
+ ),
+ 'SYMBOLS' => 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
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color:green;font-weight:bold;',
+ 2 => 'color:navy;',
+ 3 => 'color:blue;font-weight:bold;',
+ 4 => 'color:#8B4513;',
+ 5 => 'color:teal;font-weight:bold;',
+ 6 => 'color:blue;font-weight:bold;',
+ 7 => 'color:blue;font-weight:bold;',
+ 8 => 'color:blue;font-weight:bold;',
+ 9 => 'color:maroon;',
+ 10 => 'color:maroon;',
+ 11 => 'color:purple;',
+ 12 => 'color:#4B0082;',
+ 13 => 'color:purple;font-weight:bold;',
+ 14 => 'color:#008B8B;font-weight:bold;',
+ 15 => 'color:brown;',
+ 16 => 'color:black;font-weight:bold;',
+ 17 => 'color:gray;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #999999; font-style: italic;',
+ 2 => 'color: #999999; font-style: italic;',
+ 'MULTI' => 'color: #008000; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #0000FF; font-weight: bold;',
+ 'HARD' => 'color: #0000FF; font-weight: bold;',
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #006400;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #008000;',
+ 'HARD' => 'color: #008000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #00008B;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: 000000;',
+ 1 => 'color: 000000;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #006400;'
+ ),
+ 'REGEXPS' => array(
+ #0 => 'color: #0066ff;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => '',
+ 17 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 0 => '.',
+ 1 => '::'
+ ),
+ 'REGEXPS' => array(
+ #0 => '%(@)?\/(?:(?(1)[^\/\\\\\r\n]+|[^\/\\\\\r\n \t]+)|\\\\[\/\\\\\w+()|.*?$^[\]{}\d])+\/%'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/c.php b/application/libraries/geshi/c.php
new file mode 100644
index 000000000..bb6be43e1
--- /dev/null
+++ b/application/libraries/geshi/c.php
@@ -0,0 +1,188 @@
+<?php
+/*************************************************************************************
+ * c.php
+ * -----
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Contributors:
+ * - 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
+ * Date Started: 2004/06/04
+ *
+ * C language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/01/22 (1.0.8.3)
+ * - Made keywords case-sensitive.
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/XX/XX (1.0.4)
+ * - Added a couple of new keywords (Jack Lloyd)
+ * 2004/11/27 (1.0.3)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ * - Added support for URLs
+ * 2004/08/05 (1.0.1)
+ * - Added support for symbols
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2009/02/08)
+ * -------------------------
+ * - Get a list of inbuilt functions to add (and explore C more
+ * to complete this rather bare language file
+ *
+ *************************************************************************************
+ *
+ * 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' => 'C',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ //Multiline-continued single-line comments
+ 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
+ //Multiline-continued preprocessor define
+ 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
+ ),
+ '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(
+ 'if', 'return', 'while', 'case', 'continue', 'default',
+ 'do', 'else', 'for', 'switch', 'goto'
+ ),
+ 2 => array(
+ 'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline'
+ ),
+ 3 => array(
+ 'printf', 'cout'
+ ),
+ 4 => array(
+ 'auto', 'char', 'const', 'double', 'float', 'int', 'long',
+ 'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
+ 'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']',
+ '+', '-', '*', '/', '%',
+ '=', '<', '>',
+ '!', '^', '&', '|',
+ '?', ':',
+ ';', ','
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #000066;',
+ 4 => 'color: #993333;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #339933;',
+ '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: #ff0000;'
+ ),
+ '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(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
+ 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ '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/c_mac.php b/application/libraries/geshi/c_mac.php
new file mode 100644
index 000000000..6ead4ae15
--- /dev/null
+++ b/application/libraries/geshi/c_mac.php
@@ -0,0 +1,212 @@
+<?php
+/*************************************************************************************
+ * c_mac.php
+ * ---------
+ * 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
+ * Date Started: 2004/06/04
+ *
+ * C for Macs language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/11/27
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'C (Mac)',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ //Multiline-continued single-line comments
+ 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
+ //Multiline-continued preprocessor define
+ 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
+ ),
+ '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(
+ 'if', 'return', 'while', 'case', 'continue', 'default',
+ 'do', 'else', 'for', 'switch', 'goto'
+ ),
+ 2 => array(
+ 'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
+ 'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+ 'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+ 'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+ 'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+ 'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+ 'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+ 'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+ 'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+ 'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
+ 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+ 'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
+ // Mac-specific constants:
+ 'kCFAllocatorDefault'
+ ),
+ 3 => array(
+ 'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+ 'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+ 'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
+ 'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+ 'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+ 'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
+ 'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+ 'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+ 'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+ 'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+ 'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+ 'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+ 'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+ 'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+ 'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+ 'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+ 'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+ 'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+ 'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+ ),
+ 4 => array(
+ 'auto', 'char', 'const', 'double', 'float', 'int', 'long',
+ 'register', 'short', 'signed', 'static', 'string', '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',
+ // Mac-specific types:
+ 'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
+ 'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
+ 'CFTreeRef', 'CFWriteStreamRef', 'CFCharacterSetRef', 'CFMutableStringRef', 'CFNotificationRef',
+ 'CFReadStreamRef', 'CFNull', 'CFAllocatorRef', 'CFBagRef', 'CFBinaryHeapRef',
+ 'CFBitVectorRef', 'CFBooleanRef', 'CFDataRef', 'CFDateRef', 'CFMachPortRef', 'CFMessagePortRef',
+ 'CFMutableArrayRef', 'CFMutableBagRef', 'CFMutableBitVectorRef', 'CFMutableCharacterSetRef',
+ 'CFMutableDataRef', 'CFMutableSetRef', 'CFNumberRef', 'CFPlugInRef', 'CFPlugInInstanceRef',
+ 'CFRunLoopRef', 'CFRunLoopObserverRef', 'CFRunLoopSourceRef', 'CFRunLoopTimerRef', 'CFSocketRef',
+ 'CFTimeZoneRef', 'CFTypeRef', 'CFUserNotificationRef', 'CFUUIDRef', 'CFXMLNodeRef', 'CFXMLParserRef',
+ 'CFXMLTreeRef'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000ff;',
+ 2 => 'color: #0000ff;',
+ 3 => 'color: #0000dd;',
+ 4 => 'color: #0000ff;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #ff0000;',
+ 2 => 'color: #339900;',
+ 'MULTI' => 'color: #ff0000; 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: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #666666;'
+ ),
+ '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: #00eeff;',
+ 2 => 'color: #00eeff;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
+ 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ '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/caddcl.php b/application/libraries/geshi/caddcl.php
new file mode 100644
index 000000000..27474627e
--- /dev/null
+++ b/application/libraries/geshi/caddcl.php
@@ -0,0 +1,126 @@
+<?php
+/*************************************************************************************
+ * caddcl.php
+ * ----------
+ * 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
+ * Date Started: 2004/08/30
+ *
+ * CAD DCL (Dialog Control Language) language file for GeSHi.
+ *
+ * DCL for AutoCAD 12 or later and IntelliCAD all versions.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/1!/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'CAD DCL',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'boxed_column','boxed_radio_column','boxed_radio_row','boxed_row',
+ 'column','concatenation','button','dialog','edit_box','image','image_button',
+ 'errtile','list_box','ok_cancel','ok_cancel_help','ok_cancel_help_errtile',
+ 'ok_cancel_help_info','ok_only','paragraph','popup_list','radio_button',
+ 'radio_column','radio_row','row','slider','spacer','spacer_0','spacer_1','text',
+ 'text_part','toggle',
+ 'action','alignment','allow_accept','aspect_ratio','big_increment',
+ 'children_alignment','children_fixed_height',
+ 'children_fixed_width','color',
+ 'edit_limit','edit_width','fixed_height','fixed_width',
+ 'height','initial_focus','is_cancel','is_default',
+ 'is_enabled','is_tab_stop','is-bold','key','label','layout','list',
+ 'max_value','min_value','mnemonic','multiple_select','password_char',
+ 'small_increment','tabs','tab_truncate','value','width',
+ 'false','true','left','right','centered','top','bottom',
+ 'dialog_line','dialog_foreground','dialog_background',
+ 'graphics_background','black','red','yellow','green','cyan',
+ 'blue','magenta','whitegraphics_foreground',
+ 'horizontal','vertical'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ '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: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ '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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/cadlisp.php b/application/libraries/geshi/cadlisp.php
new file mode 100644
index 000000000..5061c79e4
--- /dev/null
+++ b/application/libraries/geshi/cadlisp.php
@@ -0,0 +1,186 @@
+<?php
+/*************************************************************************************
+ * cadlisp.php
+ * -----------
+ * 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
+ * Date Started: 2004/08/30
+ *
+ * AutoCAD/IntelliCAD Lisp language file for GeSHi.
+ *
+ * For AutoCAD V.12..2005 and IntelliCAD all versions.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'CAD Lisp',
+ 'COMMENT_SINGLE' => array(1 => ";"),
+ 'COMMENT_MULTI' => array(";|" => "|;"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'abs','acad_colordlg','acad_helpdlg','acad_strlsort','action_tile',
+ 'add_list','alert','alloc','and','angle','angtof','angtos','append','apply',
+ 'arx','arxload','arxunload','ascii','assoc','atan','atof','atoi','atom',
+ 'atoms-family','autoarxload','autoload','Boole','boundp','caddr',
+ 'cadr','car','cdr','chr','client_data_tile','close','command','cond',
+ 'cons','cos','cvunit','defun','defun-q','defun-q-list-ref',
+ 'defun-q-list-set','dictadd','dictnext','dictremove','dictrename',
+ 'dictsearch','dimx_tile','dimy_tile','distance','distof','done_dialog',
+ 'end_image','end_list','entdel','entget','entlast','entmake',
+ 'entmakex','entmod','entnext','entsel','entupd','eq','equal','eval','exit',
+ 'exp','expand','expt','fill_image','findfile','fix','float','foreach','function',
+ 'gc','gcd','get_attr','get_tile','getangle','getcfg','getcname','getcorner',
+ 'getdist','getenv','getfiled','getint','getkword','getorient','getpoint',
+ 'getreal','getstring','getvar','graphscr','grclear','grdraw','grread','grtext',
+ 'grvecs','handent','help','if','initdia','initget','inters','itoa','lambda','last',
+ 'layoutlist','length','list','listp','load','load_dialog','log','logand','logior',
+ 'lsh','mapcar','max','mem','member','menucmd','menugroup','min','minusp','mode_tile',
+ 'namedobjdict','nentsel','nentselp','new_dialog','nil','not','nth','null',
+ 'numberp','open','or','osnap','polar','prin1','princ','print','progn','prompt',
+ 'quit','quote','read','read-char','read-line','redraw','regapp','rem','repeat',
+ 'reverse','rtos','set','set_tile','setcfg','setenv','setfunhelp','setq','setvar',
+ 'setview','sin','slide_image','snvalid','sqrt','ssadd','ssdel','ssget','ssgetfirst',
+ 'sslength','ssmemb','ssname','ssnamex','sssetfirst','start_dialog','start_image',
+ 'start_list','startapp','strcase','strcat','strlen','subst','substr','t','tablet',
+ 'tblnext','tblobjname','tblsearch','term_dialog','terpri','textbox','textpage',
+ 'textscr','trace','trans','type','unload_dialog','untrace','vector_image','ver',
+ 'vports','wcmatch','while','write-char','write-line','xdroom','xdsize','zerop',
+ 'vl-acad-defun','vl-acad-undefun','vl-arx-import','vlax-3D-point',
+ 'vlax-add-cmd','vlax-create-object','vlax-curve-getArea',
+ 'vlax-curve-getClosestPointTo','vlax-curve-getClosestPointToProjection',
+ 'vlax-curve-getDistAtParam','vlax-curve-getDistAtPoint',
+ 'vlax-curve-getEndParam','vlax-curve-getEndPoint',
+ 'vlax-curve-getFirstDeriv','vlax-curve-getParamAtDist',
+ 'vlax-curve-getParamAtPoint','vlax-curve-getPointAtDist',
+ 'vlax-curve-getPointAtParam','vlax-curve-getSecondDeriv',
+ 'vlax-curve-getStartParam','vlax-curve-getStartPoint',
+ 'vlax-curve-isClosed','vlax-curve-isPeriodic','vlax-curve-isPlanar',
+ 'vlax-dump-object','vlax-erased-p','vlax-for','vlax-get-acad-object',
+ 'vlax-get-object','vlax-get-or-create-object','vlax-get-property',
+ 'vlax-import-type-library','vlax-invoke-method','vlax-ldata-delete',
+ 'vlax-ldata-get','vlax-ldata-list','vlax-ldata-put','vlax-ldata-test',
+ 'vlax-make-safearray','vlax-make-variant','vlax-map-collection',
+ 'vlax-method-applicable-p','vlax-object-released-p','vlax-product-key',
+ 'vlax-property-available-p','vlax-put-property','vlax-read-enabled-p',
+ 'vlax-release-object','vlax-remove-cmd','vlax-safearray-fill',
+ 'vlax-safearray-get-dim','vlax-safearray-get-element',
+ 'vlax-safearray-get-l-bound','vlax-safearray-get-u-bound',
+ 'vlax-safearray-put-element','vlax-safearray-type','vlax-tmatrix',
+ 'vlax-typeinfo-available-p','vlax-variant-change-type',
+ 'vlax-variant-type','vlax-variant-value','vlax-write-enabled-p',
+ 'vl-bb-ref','vl-bb-set','vl-catch-all-apply','vl-catch-all-error-message',
+ 'vl-catch-all-error-p','vl-cmdf','vl-consp','vl-directory-files','vl-doc-export',
+ 'vl-doc-import','vl-doc-ref','vl-doc-set','vl-every','vl-exit-with-error',
+ 'vl-exit-with-value','vl-file-copy','vl-file-delete','vl-file-directory-p',
+ 'vl-filename-base','vl-filename-directory','vl-filename-extension',
+ 'vl-filename-mktemp','vl-file-rename','vl-file-size','vl-file-systime',
+ 'vl-get-resource','vlisp-compile','vl-list-exported-functions',
+ 'vl-list-length','vl-list-loaded-vlx','vl-load-all','vl-load-com',
+ 'vl-load-reactors','vl-member-if','vl-member-if-not','vl-position',
+ 'vl-prin1-to-string','vl-princ-to-string','vl-propagate','vlr-acdb-reactor',
+ 'vlr-add','vlr-added-p','vlr-beep-reaction','vlr-command-reactor',
+ 'vlr-current-reaction-name','vlr-data','vlr-data-set',
+ 'vlr-deepclone-reactor','vlr-docmanager-reactor','vlr-dwg-reactor',
+ 'vlr-dxf-reactor','vlr-editor-reactor','vl-registry-delete',
+ 'vl-registry-descendents','vl-registry-read','vl-registry-write',
+ 'vl-remove','vl-remove-if','vl-remove-if-not','vlr-insert-reactor',
+ 'vlr-linker-reactor','vlr-lisp-reactor','vlr-miscellaneous-reactor',
+ 'vlr-mouse-reactor','vlr-notification','vlr-object-reactor',
+ 'vlr-owner-add','vlr-owner-remove','vlr-owners','vlr-pers','vlr-pers-list',
+ 'vlr-pers-p','vlr-pers-release','vlr-reaction-names','vlr-reactions',
+ 'vlr-reaction-set','vlr-reactors','vlr-remove','vlr-remove-all',
+ 'vlr-set-notification','vlr-sysvar-reactor','vlr-toolbar-reactor',
+ 'vlr-trace-reaction','vlr-type','vlr-types','vlr-undo-reactor',
+ 'vlr-wblock-reactor','vlr-window-reactor','vlr-xref-reactor',
+ 'vl-some','vl-sort','vl-sort-i','vl-string-elt','vl-string-left-trim',
+ 'vl-string-mismatch','vl-string-position','vl-string-right-trim',
+ 'vl-string-search','vl-string-subst','vl-string-translate','vl-string-trim',
+ 'vl-symbol-name','vl-symbolp','vl-symbol-value','vl-unload-vlx','vl-vbaload',
+ 'vl-vbarun','vl-vlx-loaded-p'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ '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: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ '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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/cfdg.php b/application/libraries/geshi/cfdg.php
new file mode 100644
index 000000000..8d03b89df
--- /dev/null
+++ b/application/libraries/geshi/cfdg.php
@@ -0,0 +1,124 @@
+<?php
+/*************************************************************************************
+ * cfdg.php
+ * --------
+ * Author: John Horigan <john@glyphic.com>
+ * Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/03/11
+ *
+ * CFDG language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/03/11 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2006/03/11)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'CFDG',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'include', 'startshape', 'rule', 'background'
+ ),
+ 2 => array(
+ 'SQUARE', 'CIRCLE', 'TRIANGLE',
+ ),
+ 3 => array(
+ 'b','brightness','h','hue','sat','saturation',
+ 'a','alpha','x','y','z','s','size',
+ 'r','rotate','f','flip','skew','xml_set_object'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '{', '}', '*', '|'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #717100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #006666;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #808080; font-style: italic;',
+ 'MULTI' => '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: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/cfm.php b/application/libraries/geshi/cfm.php
new file mode 100644
index 000000000..cdb7bf32c
--- /dev/null
+++ b/application/libraries/geshi/cfm.php
@@ -0,0 +1,299 @@
+<?php
+/*************************************************************************************
+ * cfm.php
+ * -------
+ * Author: Diego
+ * Copyright: (c) 2006 Diego
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/02/25
+ *
+ * ColdFusion language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/02/25 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2006/02/25)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'ColdFusion',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ /* CFM Tags */
+ 1 => array(
+ 'cfabort', 'cfapplet', 'cfapplication', 'cfargument', 'cfassociate',
+ 'cfbreak', 'cfcache', 'cfcase', 'cfcatch', 'cfchart', 'cfchartdata',
+ 'cfchartseries', 'cfcol', 'cfcollection', 'cfcomponent',
+ 'cfcontent', 'cfcookie', 'cfdefaultcase', 'cfdirectory',
+ 'cfdocument', 'cfdocumentitem', 'cfdocumentsection', 'cfdump',
+ 'cfelse', 'cfelseif', 'cferror', 'cfexecute', 'cfexit', 'cffile',
+ 'cfflush', 'cfform', 'cfformgroup', 'cfformitem', 'cfftp',
+ 'cffunction', 'cfgrid', 'cfgridcolumn', 'cfgridrow', 'cfgridupdate',
+ 'cfheader', 'cfhtmlhead', 'cfhttp', 'cfhttpparam', 'cfif',
+ 'cfimport', 'cfinclude', 'cfindex', 'cfinput', 'cfinsert',
+ 'cfinvoke', 'cfinvokeargument', 'cfldap', 'cflocation', 'cflock',
+ 'cflog', 'cflogin', 'cfloginuser', 'cflogout', 'cfloop', 'cfmail',
+ 'cfmailparam', 'cfmailpart', 'cfmodule', 'cfNTauthenticate',
+ 'cfobject', 'cfobjectcache', 'cfoutput', 'cfparam', 'cfpop',
+ 'cfprocessingdirective', 'cfprocparam',
+ 'cfprocresult', 'cfproperty', 'cfquery', 'cfqueryparam',
+ 'cfregistry', 'cfreport', 'cfreportparam', 'cfrethrow', 'cfreturn',
+ 'cfsavecontent', 'cfschedule', 'cfscript', 'cfsearch', 'cfselect',
+ 'cfset', 'cfsetting', 'cfsilent', 'cfstoredproc',
+ 'cfswitch', 'cftable', 'cftextarea', 'cfthrow', 'cftimer',
+ 'cftrace', 'cftransaction', 'cftree', 'cftreeitem', 'cftry',
+ 'cfupdate', 'cfwddx'
+ ),
+ /* HTML Tags */
+ 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',
+ ),
+ /* HTML attributes */
+ 3 => array(
+ 'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+ 'background', 'bgcolor', 'border',
+ 'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+ 'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+ 'enctype',
+ 'face', 'for', 'frame', 'frameborder',
+ 'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+ 'id', 'ismap',
+ 'label', 'lang', 'language', 'link', 'longdesc',
+ 'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+ 'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+ 'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+ 'profile', 'prompt',
+ 'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+ 'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+ 'tabindex', 'target', 'text', 'title', 'type',
+ 'usemap',
+ 'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+ 'width'
+ ),
+ /* CFM Script delimeters */
+ 4 => array(
+ 'var', 'function', 'while', 'if','else'
+ ),
+ /* CFM Functions */
+ 5 => array(
+ 'Abs', 'GetFunctionList', 'LSTimeFormat','ACos','GetGatewayHelper','LTrim','AddSOAPRequestHeader','GetHttpRequestData',
+ 'Max','AddSOAPResponseHeader','GetHttpTimeString','Mid','ArrayAppend','GetLocale','Min','ArrayAvg','GetLocaleDisplayName',
+ 'Minute','ArrayClear','GetMetaData','Month','ArrayDeleteAt','GetMetricData','MonthAsString','ArrayInsertAt','GetPageContext',
+ 'Now','ArrayIsEmpty','GetProfileSections','NumberFormat','ArrayLen','GetProfileString','ParagraphFormat','ArrayMax',
+ 'GetLocalHostIP','ParseDateTime','ArrayMin','GetSOAPRequest','Pi','ArrayNew','GetSOAPRequestHeader','PreserveSingleQuotes',
+ 'ArrayPrepend','GetSOAPResponse','Quarter','ArrayResize','GetSOAPResponseHeader','QueryAddColumn','ArraySet',
+ 'GetTempDirectory','QueryAddRow','ArraySort','QueryNew','ArraySum','GetTempFile','QuerySetCell',
+ 'ArraySwap','GetTickCount','QuotedValueList','ArrayToList','GetTimeZoneInfo','Rand','Asc','GetToken','Randomize',
+ 'ASin','Hash','RandRange','Atn','Hour','REFind','BinaryDecode','HTMLCodeFormat','REFindNoCase','BinaryEncode',
+ 'HTMLEditFormat','ReleaseComObject','BitAnd','IIf','RemoveChars','BitMaskClear','IncrementValue','RepeatString',
+ 'BitMaskRead','InputBaseN','Replace','BitMaskSet','Insert','ReplaceList','BitNot','Int','ReplaceNoCase','BitOr',
+ 'IsArray','REReplace','BitSHLN','IsBinary','REReplaceNoCase','BitSHRN','IsBoolean','Reverse','BitXor','IsCustomFunction',
+ 'Right','Ceiling','IsDate','RJustify','CharsetDecode','IsDebugMode','Round','CharsetEncode','IsDefined','RTrim',
+ 'Chr','IsLeapYear','Second','CJustify','IsLocalHost','SendGatewayMessage','Compare','IsNumeric','SetEncoding',
+ 'CompareNoCase','IsNumericDate','SetLocale','Cos','IsObject','SetProfileString','CreateDate','IsQuery','SetVariable',
+ 'CreateDateTime','IsSimpleValue','Sgn','CreateObject','IsSOAPRequest','Sin','CreateODBCDate','IsStruct','SpanExcluding',
+ 'CreateODBCDateTime','IsUserInRole','SpanIncluding','CreateODBCTime','IsValid','Sqr','CreateTime','IsWDDX','StripCR',
+ 'CreateTimeSpan','IsXML','StructAppend','CreateUUID','IsXmlAttribute','StructClear','DateAdd','IsXmlDoc','StructCopy',
+ 'DateCompare','IsXmlElem','StructCount','DateConvert','IsXmlNode','StructDelete','DateDiff','IsXmlRoot','StructFind',
+ 'DateFormat','JavaCast','StructFindKey','DatePart','JSStringFormat','StructFindValue','Day','LCase','StructGet',
+ 'DayOfWeek','Left','StructInsert','DayOfWeekAsString','Len','StructIsEmpty','DayOfYear','ListAppend','StructKeyArray',
+ 'DaysInMonth','ListChangeDelims','StructKeyExists','DaysInYear','ListContains','StructKeyList','DE','ListContainsNoCase',
+ 'StructNew','DecimalFormat','ListDeleteAt','StructSort','DecrementValue','ListFind','StructUpdate','Decrypt','ListFindNoCase',
+ 'Tan','DecryptBinary','ListFirst','TimeFormat','DeleteClientVariable','ListGetAt','ToBase64','DirectoryExists',
+ 'ListInsertAt','ToBinary','DollarFormat','ListLast','ToScript','Duplicate','ListLen','ToString','Encrypt','ListPrepend',
+ 'Trim','EncryptBinary','ListQualify','UCase','Evaluate','ListRest','URLDecode','Exp','ListSetAt','URLEncodedFormat',
+ 'ExpandPath','ListSort','URLSessionFormat','FileExists','ListToArray','Val','Find','ListValueCount','ValueList',
+ 'FindNoCase','ListValueCountNoCase','Week','FindOneOf','LJustify','Wrap','FirstDayOfMonth','Log','WriteOutput',
+ 'Fix','Log10','XmlChildPos','FormatBaseN','LSCurrencyFormat','XmlElemNew','GetAuthUser','LSDateFormat','XmlFormat',
+ 'GetBaseTagData','LSEuroCurrencyFormat','XmlGetNodeType','GetBaseTagList','LSIsCurrency','XmlNew','GetBaseTemplatePath',
+ 'LSIsDate','XmlParse','GetClientVariablesList','LSIsNumeric','XmlSearch','GetCurrentTemplatePath','LSNumberFormat',
+ 'XmlTransform','GetDirectoryFromPath','LSParseCurrency','XmlValidate','GetEncoding','LSParseDateTime','Year',
+ 'GetException','LSParseEuroCurrency','YesNoFormat','GetFileFromPath','LSParseNumber'
+ ),
+ /* CFM Attributes */
+ 6 => array(
+ 'dbtype','connectstring','datasource','username','password','query','delimeter','description','required','hint','default','access','from','to','list','index'
+ ),
+ 7 => array(
+ 'EQ', 'GT', 'LT', 'GTE', 'LTE', 'IS', 'LIKE', 'NEQ'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '/', '=', '{', '}', '(', ')', '[', ']', '<', '>', '&'
+ ),
+ '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: #990000; font-weight: bold;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #0000FF;',
+ 4 => 'color: #000000; font-weight: bold;',
+ 5 => 'color: #0000FF;',
+ 6 => 'color: #0000FF;',
+ 7 => 'color: #0000FF;'
+ ),
+ '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: #0000FF;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #009900;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #FF0000;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #0000FF;'
+ ),
+ 'SCRIPT' => array(
+ 0 => 'color: #808080; font-style: italic;',
+ 1 => 'color: #00bbdd;',
+ 2 => 'color: #0000FF;',
+ 3 => 'color: #000099;',
+ 4 => 'color: #333333;',
+ 5 => 'color: #333333;'
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => 'http://december.com/html/4/element/{FNAMEL}.html',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => array(
+ '<!--' => '-->'
+ ),
+ 1 => array(
+ '<!DOCTYPE' => '>'
+ ),
+ 2 => "/(?!<#)(?:(?:##)*)(#)[a-zA-Z0-9_\.\(\)]+(#)/",
+ 3 => array(
+ '<cfscript>' => '</cfscript>'
+ ),
+ 4 => array(
+ '<' => '>'
+ ),
+ 5 => '/((?!<!)<)(?:"[^"]*"|\'[^\']*\'|(?R)|[^">])+?(>)/si'
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => false,
+ 1 => false,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+ 'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+ ),
+ 2 => array(
+ 'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+ 'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+ ),
+ 3 => array(
+ 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>|^])', // allow ; before keywords
+ 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-])', // allow & after keywords
+ ),
+ 7 => array(
+ 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>&|^])', // allow ; before keywords
+ 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-])', // allow & after keywords
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/cil.php b/application/libraries/geshi/cil.php
new file mode 100644
index 000000000..4ca93ecb0
--- /dev/null
+++ b/application/libraries/geshi/cil.php
@@ -0,0 +1,196 @@
+<?php
+/*************************************************************************************
+ * cil.php
+ * --------
+ * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
+ * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/10/24
+ *
+ * CIL (Common Intermediate Language) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/10/24 (1.0.8)
+ * - First Release
+ *
+ * TODO (updated 2007/10/24)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'CIL',
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'COMMENT_SINGLE' => array('//'),
+ 'COMMENT_MULTI' => array(),
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(//Dotted
+ '.zeroinit', '.vtfixup', '.vtentry', '.vtable', '.ver', '.try', '.subsystem', '.size', '.set', '.removeon',
+ '.publickeytoken', '.publickey', '.property', '.permissionset', '.permission', '.pdirect', '.param', '.pack',
+ '.override', '.other', '.namespace', '.mresource', '.module', '.method', '.maxstack', '.manifestres', '.locals',
+ '.localized', '.locale', '.line', '.language', '.import', '.imagebase', '.hash', '.get', '.fire', '.file', '.field',
+ '.export', '.event', '.entrypoint', '.emitbyte', '.data', '.custom', '.culture', '.ctor', '.corflags', '.class',
+ '.cctor', '.assembly', '.addon'
+ ),
+ 2 => array(//Attributes
+ 'wrapper', 'with', 'winapi', 'virtual', 'vector', 'vararg', 'value', 'userdefined', 'unused', 'unmanagedexp',
+ 'unmanaged', 'unicode', 'to', 'tls', 'thiscall', 'synchronized', 'struct', 'strict', 'storage', 'stdcall',
+ 'static', 'specialname', 'special', 'serializable', 'sequential', 'sealed', 'runtime', 'rtspecialname', 'request',
+ 'reqsecobj', 'reqrefuse', 'reqopt', 'reqmin', 'record', 'public', 'privatescope', 'private', 'preservesig',
+ 'prejitgrant', 'prejitdeny', 'platformapi', 'pinvokeimpl', 'pinned', 'permitonly', 'out', 'optil', 'opt',
+ 'notserialized', 'notremotable', 'not_in_gc_heap', 'noprocess', 'noncaslinkdemand', 'noncasinheritance',
+ 'noncasdemand', 'nometadata', 'nomangle', 'nomachine', 'noinlining', 'noappdomain', 'newslot', 'nested', 'native',
+ 'modreq', 'modopt', 'marshal', 'managed', 'literal', 'linkcheck', 'lcid', 'lasterr', 'internalcall', 'interface',
+ 'instance', 'initonly', 'init', 'inheritcheck', 'in', 'import', 'implicitres', 'implicitcom', 'implements',
+ 'illegal', 'il', 'hidebysig', 'handler', 'fromunmanaged', 'forwardref', 'fixed', 'finally', 'final', 'filter',
+ 'filetime', 'field', 'fault', 'fastcall', 'famorassem', 'family', 'famandassem', 'extern', 'extends', 'explicit',
+ 'error', 'enum', 'endmac', 'deny', 'demand', 'default', 'custom', 'compilercontrolled', 'clsid', 'class', 'cil',
+ 'cf', 'cdecl', 'catch', 'beforefieldinit', 'autochar', 'auto', 'at', 'assert', 'assembly', 'as', 'any', 'ansi',
+ 'alignment', 'algorithm', 'abstract'
+ ),
+ 3 => array(//Types
+ 'wchar', 'void', 'variant', 'unsigned', 'valuetype', 'typedref', 'tbstr', 'sysstring', 'syschar', 'string',
+ 'streamed_object', 'stream', 'stored_object', 'safearray', 'objectref', 'object', 'nullref', 'method', 'lpwstr',
+ 'lpvoid', 'lptstr', 'lpstruct', 'lpstr', 'iunknown', 'int64', 'int32', 'int16', 'int8', 'int', 'idispatch',
+ 'hresult', 'float64', 'float32', 'float', 'decimal', 'date', 'currency', 'char', 'carray', 'byvalstr',
+ 'bytearray', 'boxed', 'bool', 'blob_object', 'blob', 'array'
+ ),
+ 4 => array(//Prefix
+ 'volatile', 'unaligned', 'tail', 'readonly', 'no', 'constrained'
+ ),
+ 5 => array(//Suffix
+ 'un', 'u8', 'u4', 'u2', 'u1', 'u', 's', 'ref', 'r8', 'r4', 'm1', 'i8', 'i4', 'i2', 'i1', 'i'#, '.8', '.7', '.6', '.5', '.4', '.3', '.2', '.1', '.0'
+ ),
+ 6 => array(//Base
+ 'xor', 'switch', 'sub', 'stloc',
+ 'stind', 'starg',
+ 'shr', 'shl', 'ret', 'rem', 'pop', 'or', 'not', 'nop', 'neg', 'mul',
+ 'localloc', 'leave', 'ldnull', 'ldloca',
+ 'ldloc', 'ldind', 'ldftn', 'ldc', 'ldarga',
+ 'ldarg', 'jmp', 'initblk', 'endfinally', 'endfilter',
+ 'endfault', 'dup', 'div', 'cpblk', 'conv', 'clt', 'ckfinite', 'cgt', 'ceq', 'calli',
+ 'call', 'brzero', 'brtrue', 'brnull', 'brinst',
+ 'brfalse', 'break', 'br', 'bne', 'blt', 'ble', 'bgt', 'bge', 'beq', 'arglist',
+ 'and', 'add'
+ ),
+ 7 => array(//Object
+ 'unbox.any', 'unbox', 'throw', 'stsfld', 'stobj', 'stfld', 'stelem', 'sizeof', 'rethrow', 'refanyval', 'refanytype', 'newobj',
+ 'newarr', 'mkrefany', 'ldvirtftn', 'ldtoken', 'ldstr', 'ldsflda', 'ldsfld', 'ldobj', 'ldlen', 'ldflda', 'ldfld',
+ 'ldelema', 'ldelem', 'isinst', 'initobj', 'cpobj', 'castclass',
+ 'callvirt', 'callmostderived', 'box'
+ ),
+ 8 => array(//Other
+ 'prefixref', 'prefix7', 'prefix6', 'prefix5', 'prefix4', 'prefix3', 'prefix2', 'prefix1', 'prefix0'
+ ),
+ 9 => array(//Literal
+ 'true', 'null', 'false'
+ ),
+ 10 => array(//Comment-like
+ '#line', '^THE_END^'
+ )
+ ),
+ 'SYMBOLS' => 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
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color:maroon;font-weight:bold;',
+ 2 => 'color:blue;font-weight:bold;',
+ 3 => 'color:purple;font-weight:bold;',
+ 4 => 'color:teal;',
+ 5 => 'color:blue;',
+ 6 => 'color:blue;',
+ 7 => 'color:blue;',
+ 8 => 'color:blue;',
+ 9 => 'color:00008B',
+ 10 => 'color:gray'
+ ),
+ 'COMMENTS' => array(
+ 0 => 'color:gray;font-style:italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #008000; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #006400;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #008000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #00008B;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #000033;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #006400;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color:blue;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '::'
+ ),
+ 'REGEXPS' => array(
+ 0 => '(?<=ldc\\.i4\\.)[0-8]|(?<=(?:ldarg|ldloc|stloc)\\.)[0-3]' # Pickup the opcodes that end with integers
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/clojure.php b/application/libraries/geshi/clojure.php
new file mode 100644
index 000000000..b970deea8
--- /dev/null
+++ b/application/libraries/geshi/clojure.php
@@ -0,0 +1,134 @@
+<?php
+/*************************************************************************************
+ * clojure.php
+ * --------
+ * Author: Jess Johnson (jess@grok-code.com)
+ * Copyright: (c) 2009 Jess Johnson (http://grok-code.com)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/09/20
+ *
+ * Clojure language file for GeSHi.
+ *
+ * This file borrows significantly from the lisp language file for GeSHi
+ *
+ * CHANGES
+ * -------
+ * 2009/09/20 (1.0.8.6)
+ * - First Release
+ *
+ * TODO (updated 2009/09/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' => 'Clojure',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(';|' => '|;'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => 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',
+ 'dosync', 'doseq', 'dotimes', 'dorun', 'doall',
+ 'load', 'import', 'unimport', 'ns', 'in-ns', 'refer',
+ 'try', 'catch', 'finally', 'throw',
+ 'with-open', 'with-local-vars', 'binding',
+ 'gen-class', 'gen-and-load-class', 'gen-and-save-class',
+ 'implement', 'proxy', 'lazy-cons', 'with-meta',
+ 'struct', 'struct-map', 'delay', 'locking', 'sync', 'time', 'apply',
+ 'remove', 'merge', 'interleave', 'interpose', 'distinct',
+ 'cons', 'concat', 'lazy-cat', 'cycle', 'rest', 'frest', 'drop',
+ 'drop-while', 'nthrest', 'take', 'take-while', 'take-nth', 'butlast',
+ 'reverse', 'sort', 'sort-by', 'split-at', 'partition', 'split-with',
+ 'first', 'ffirst', 'rfirst', 'zipmap', 'into', 'set', 'vec',
+ 'to-array-2d', 'not-empty', 'seq?', 'not-every?', 'every?', 'not-any?',
+ 'map', 'mapcat', 'vector?', 'list?', 'hash-map', 'reduce', 'filter',
+ 'vals', 'keys', 'rseq', 'subseq', 'rsubseq', 'count', 'empty?',
+ 'fnseq', 'repeatedly', 'iterate', 'drop-last',
+ 'repeat', 'replicate', 'range', 'into-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',
+ 'alter', 'commute', 'ref-set', 'floor', 'assoc', 'send', 'send-off'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|', '.', '..', '->',
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => true,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ '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: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #555;',
+ 1 => 'color: #555;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => ''
+ ),
+ 'OOLANG' => true,
+ '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/cmake.php b/application/libraries/geshi/cmake.php
new file mode 100644
index 000000000..a9cfaafdc
--- /dev/null
+++ b/application/libraries/geshi/cmake.php
@@ -0,0 +1,181 @@
+<?php
+/*************************************************************************************
+ * cmake.php
+ * -------
+ * Author: Daniel Nelson (danieln@eng.utah.edu)
+ * Copyright: (c) 2009 Daniel Nelson
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/04/06
+ *
+ * CMake language file for GeSHi.
+ *
+ * Keyword list generated using CMake 2.6.3.
+ *
+ * CHANGES
+ * -------
+ * <date-of-release> (<GeSHi release>)
+ * - First Release
+ *
+ * TODO (updated <date-of-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' => 'CMake',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'ESCAPE_REGEXP' => array(
+ // Quoted variables ${...}
+ 1 => "/\\$(ENV)?\\{[^\\n\\}]*?\\}/i",
+ // Quoted registry keys [...]
+ 2 => "/\\[HKEY[^\n\\]]*?]/i"
+ ),
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'add_custom_command', 'add_custom_target', 'add_definitions',
+ 'add_dependencies', 'add_executable', 'add_library',
+ 'add_subdirectory', 'add_test', 'aux_source_directory', 'break',
+ 'build_command', 'cmake_minimum_required', 'cmake_policy',
+ 'configure_file', 'create_test_sourcelist', 'define_property',
+ 'else', 'elseif', 'enable_language', 'enable_testing',
+ 'endforeach', 'endfunction', 'endif', 'endmacro',
+ 'endwhile', 'execute_process', 'export', 'file', 'find_file',
+ 'find_library', 'find_package', 'find_path', 'find_program',
+ 'fltk_wrap_ui', 'foreach', 'function', 'get_cmake_property',
+ 'get_directory_property', 'get_filename_component', 'get_property',
+ 'get_source_file_property', 'get_target_property',
+ 'get_test_property', 'if', 'include', 'include_directories',
+ 'include_external_msproject', 'include_regular_expression',
+ 'install', 'link_directories', 'list', 'load_cache',
+ 'load_command', 'macro', 'mark_as_advanced', 'math', 'message',
+ 'option', 'output_required_files', 'project', 'qt_wrap_cpp',
+ 'qt_wrap_ui', 'remove_definitions', 'return', 'separate_arguments',
+ 'set', 'set_directory_properties', 'set_property',
+ 'set_source_files_properties', 'set_target_properties',
+ 'set_tests_properties', 'site_name', 'source_group', 'string',
+ 'target_link_libraries', 'try_compile', 'try_run', 'unset',
+ 'variable_watch', 'while'
+ ),
+ 2 => array(
+ // Deprecated commands
+ 'build_name', 'exec_program', 'export_library_dependencies',
+ 'install_files', 'install_programs', 'install_targets',
+ 'link_libraries', 'make_directory', 'remove', 'subdir_depends',
+ 'subdirs', 'use_mangled_mesa', 'utility_source',
+ 'variable_requires', 'write_file'
+ ),
+ 3 => array(
+ // Special command arguments, this list is not comprehesive.
+ 'AND', 'APPEND', 'ASCII', 'BOOL', 'CACHE', 'COMMAND', 'COMMENT',
+ 'COMPARE', 'CONFIGURE', 'DEFINED', 'DEPENDS', 'DIRECTORY',
+ 'EQUAL', 'EXCLUDE_FROM_ALL', 'EXISTS', 'FALSE', 'FATAL_ERROR',
+ 'FILEPATH', 'FIND', 'FORCE', 'GET', 'GLOBAL', 'GREATER',
+ 'IMPLICIT_DEPENDS', 'INSERT', 'INTERNAL', 'IS_ABSOLUTE',
+ 'IS_DIRECTORY', 'IS_NEWER_THAN', 'LENGTH', 'LESS',
+ 'MAIN_DEPENDENCY', 'MATCH', 'MATCHALL', 'MATCHES', 'MODULE', 'NOT',
+ 'NOTFOUND', 'OFF', 'ON', 'OR', 'OUTPUT', 'PARENT_SCOPE', 'PATH',
+ 'POLICY', 'POST_BUILD', 'PRE_BUILD', 'PRE_LINK', 'PROPERTY',
+ 'RANDOM', 'REGEX', 'REMOVE_AT', 'REMOVE_DUPLICATES', 'REMOVE_ITEM',
+ 'REPLACE', 'REVERSE', 'SEND_ERROR', 'SHARED', 'SORT', 'SOURCE',
+ 'STATIC', 'STATUS', 'STREQUAL', 'STRGREATER', 'STRING', 'STRIP',
+ 'STRLESS', 'SUBSTRING', 'TARGET', 'TEST', 'TOLOWER', 'TOUPPER',
+ 'TRUE', 'VERBATIM', 'VERSION', 'VERSION_EQUAL', 'VERSION_GREATOR',
+ 'VERSION_LESS', 'WORKING_DIRECTORY',
+ )
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => true
+ ),
+ 'SYMBOLS' => array(
+ 0 => array('(', ')')
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #1f3f81; font-style: bold;',
+ 2 => 'color: #1f3f81;',
+ 3 => 'color: #077807; font-sytle: italic;'
+ ),
+ 'BRACKETS' => array(),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;',
+ 1 => 'color: #b08000;',
+ 2 => 'color: #0000cd;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #912f11;',
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #197d8b;'
+ ),
+ 'NUMBERS' => array(),
+ 'METHODS' => array(),
+ 'REGEXPS' => array(
+ 0 => 'color: #b08000;',
+ 1 => 'color: #0000cd;'
+ ),
+ 'SCRIPT' => array()
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.cmake.org/cmake/help/cmake2.6docs.html#command:{FNAMEL}',
+ 2 => 'http://www.cmake.org/cmake/help/cmake2.6docs.html#command:{FNAMEL}',
+ 3 => '',
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'REGEXPS' => array(
+ // Unquoted variables
+ 0 => "\\$(ENV)?\\{[^\\n}]*?\\}",
+ // Unquoted registry keys
+ 1 => "\\[HKEY[^\n\\]]*?]"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ // These keywords cannot come after a open paren
+ 1 => array(
+ 'DISALLOWED_AFTER' => '(?= *\()'
+ ),
+ 2 => array(
+ 'DISALLOWED_AFTER' => '(?= *\()'
+ )
+ ),
+ 'ENABLE_FLAGS' => array(
+ 'BRACKETS' => GESHI_NEVER,
+ 'METHODS' => GESHI_NEVER,
+ 'NUMBERS' => GESHI_NEVER
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/cobol.php b/application/libraries/geshi/cobol.php
new file mode 100644
index 000000000..63abf3f09
--- /dev/null
+++ b/application/libraries/geshi/cobol.php
@@ -0,0 +1,244 @@
+<?php
+/*************************************************************************************
+ * cobol.php
+ * ----------
+ * Author: BenBE (BenBE@omorphia.org)
+ * Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/07/02
+ *
+ * COBOL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *
+ * TODO (updated 2007/07/02)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'COBOL',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(1 => '/^\*.*?$/m'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"', "'"),
+ 'ESCAPE_CHAR' => '\\',
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC |
+ GESHI_NUMBER_FLT_NONSCI |
+ GESHI_NUMBER_FLT_SCI_SHORT |
+ GESHI_NUMBER_FLT_SCI_ZERO,
+ 'KEYWORDS' => array(
+ 1 => array( //Compiler Directives
+ 'ANSI', 'BLANK', 'NOBLANK', 'CALL-SHARED', 'CANCEL', 'NOCANCEL',
+ 'CHECK', 'CODE', 'NOCODE', 'COLUMNS', 'COMPACT', 'NOCOMPACT',
+ 'COMPILE', 'CONSULT', 'NOCONSULT', 'CROSSREF', 'NOCROSSREF',
+ 'DIAGNOSE-74', 'NODIAGNOSE-74', 'DIAGNOSE-85', 'NODIAGNOSE-85',
+ 'DIAGNOSEALL', 'NODIAGNOSEALL', 'ENDIF', 'ENDUNIT', 'ENV',
+ 'ERRORFILE', 'ERRORS', 'FIPS', 'NOFIPS', 'FMAP', 'HEADING', 'HEAP',
+ 'HIGHPIN', 'HIGHREQUESTERS', 'ICODE', 'NOICODE', 'IF', 'IFNOT',
+ 'INNERLIST', 'NOINNERLIST', 'INSPECT', 'NOINSPECT', 'LARGEDATA',
+ 'LD', 'LESS-CODE', 'LIBRARY', 'LINES', 'LIST', 'NOLIST', 'LMAP',
+ 'NOLMAP', 'MAIN', 'MAP', 'NOMAP', 'NLD', 'NONSTOP', 'NON-SHARED',
+ 'OPTIMIZE', 'PERFORM-TRACE', 'PORT', 'NOPORT', 'RESETTOG',
+ 'RUNNABLE', 'RUNNAMED', 'SAVE', 'SAVEABEND', 'NOSAVEABEND',
+ 'SEARCH', 'NOSEARCH', 'SECTION', 'SETTOG', 'SHARED', 'SHOWCOPY',
+ 'NOSHOWCOPY', 'SHOWFILE', 'NOSHOWFILE', 'SOURCE', 'SQL', 'NOSQL',
+ 'SQLMEM', 'SUBSET', 'SUBTYPE', 'SUPPRESS', 'NOSUPPRESS', 'SYMBOLS',
+ 'NOSYMBOLS', 'SYNTAX', 'TANDEM', 'TRAP2', 'NOTRAP2', 'TRAP2-74',
+ 'NOTRAP2-74', 'UL', 'WARN', 'NOWARN'
+ ),
+ 2 => array( //Statement Keywords
+ 'ACCEPT', 'ADD', 'TO', 'GIVING', 'CORRESPONDING', 'ALTER', 'CALL',
+ 'CHECKPOINT', 'CLOSE', 'COMPUTE', 'CONTINUE', 'COPY',
+ 'DELETE', 'DISPLAY', 'DIVIDE', 'INTO', 'REMAINDER', 'ENTER',
+ 'COBOL', 'EVALUATE', 'EXIT', 'GO', 'INITIALIZE',
+ 'TALLYING', 'REPLACING', 'CONVERTING', 'LOCKFILE', 'MERGE', 'MOVE',
+ 'MULTIPLY', 'OPEN', 'PERFORM', 'TIMES',
+ 'UNTIL', 'VARYING', 'RETURN',
+ ),
+ 3 => array( //Reserved in some contexts
+ 'ACCESS', 'ADDRESS', 'ADVANCING', 'AFTER', 'ALL',
+ 'ALPHABET', 'ALPHABETIC', 'ALPHABETIC-LOWER', 'ALPHABETIC-UPPER',
+ 'ALPHANUMERIC', 'ALPHANUMERIC-EDITED', 'ALSO', 'ALTERNATE',
+ 'AND', 'ANY', 'APPROXIMATE', 'AREA', 'AREAS', 'ASCENDING', 'ASSIGN',
+ 'AT', 'AUTHOR', 'BEFORE', 'BINARY', 'BLOCK', 'BOTTOM', 'BY',
+ 'CD', 'CF', 'CH', 'CHARACTER', 'CHARACTERS',
+ 'CHARACTER-SET', 'CLASS', 'CLOCK-UNITS',
+ 'CODE-SET', 'COLLATING', 'COLUMN', 'COMMA',
+ 'COMMON', 'COMMUNICATION', 'COMP', 'COMP-3', 'COMP-5',
+ 'COMPUTATIONAL', 'COMPUTATIONAL-3', 'COMPUTATIONAL-5',
+ 'CONFIGURATION', 'CONTAINS', 'CONTENT', 'CONTROL',
+ 'CONTROLS', 'CORR', 'COUNT',
+ 'CURRENCY', 'DATA', 'DATE', 'DATE-COMPILED', 'DATE-WRITTEN', 'DAY',
+ 'DAY-OF-WEEK', 'DE', 'DEBUG-CONTENTS', 'DEBUG-ITEM', 'DEBUG-LINE',
+ 'DEBUG-SUB-2', 'DEBUG-SUB-3', 'DEBUGGING', 'DECIMAL-POINT',
+ 'DECLARATIVES', 'DEBUG-NAME', 'DEBUG-SUB-1', 'DELIMITED',
+ 'DELIMITER', 'DEPENDING', 'DESCENDING', 'DESTINATION', 'DETAIL',
+ 'DISABLE', 'DIVISION', 'DOWN', 'DUPLICATES',
+ 'DYNAMIC', 'EGI', 'ELSE', 'EMI', 'ENABLE', 'END', 'END-ADD',
+ 'END-COMPUTE', 'END-DELETE', 'END-DIVIDE', 'END-EVALUATE', 'END-IF',
+ 'END-MULTIPLY', 'END-OF-PAGE', 'END-PERFORM', 'END-READ',
+ 'END-RECEIVE', 'END-RETURN', 'END-REWRITE', 'END-SEARCH',
+ 'END-START', 'END-STRING', 'END-SUBTRACT', 'END-UNSTRING',
+ 'END-WRITE', 'EOP', 'EQUAL', 'ERROR', 'ESI',
+ 'EVERY', 'EXCEPTION', 'EXCLUSIVE', 'EXTEND',
+ 'EXTENDED-STORAGE', 'EXTERNAL', 'FALSE', 'FD', 'FILE',
+ 'FILE-CONTROL', 'FILLER', 'FINAL', 'FIRST', 'FOOTING', 'FOR',
+ 'FROM', 'FUNCTION', 'GENERATE', 'GENERIC', 'GLOBAL',
+ 'GREATER', 'GROUP', 'GUARDIAN-ERR', 'HIGH-VALUE',
+ 'HIGH-VALUES', 'I-O', 'I-O-CONTROL', 'IDENTIFICATION', 'IN',
+ 'INDEX', 'INDEXED', 'INDICATE', 'INITIAL', 'INITIATE',
+ 'INPUT', 'INPUT-OUTPUT', 'INSTALLATION',
+ 'INVALID', 'IS', 'JUST', 'JUSTIFIED', 'KEY', 'LABEL', 'LAST',
+ 'LEADING', 'LEFT', 'LESS', 'LIMIT', 'LIMITS', 'LINAGE',
+ 'LINAGE-COUNTER', 'LINE', 'LINE-COUNTER', 'LINKAGE', 'LOCK',
+ 'LOW-VALUE', 'LOW-VALUES', 'MEMORY', 'MESSAGE',
+ 'MODE', 'MODULES', 'MULTIPLE', 'NATIVE',
+ 'NEGATIVE', 'NEXT', 'NO', 'NOT', 'NULL', 'NULLS', 'NUMBER',
+ 'NUMERIC', 'NUMERIC-EDITED', 'OBJECT-COMPUTER', 'OCCURS', 'OF',
+ 'OFF', 'OMITTED', 'ON', 'OPTIONAL', 'OR', 'ORDER',
+ 'ORGANIZATION', 'OTHER', 'OUTPUT', 'OVERFLOW', 'PACKED-DECIMAL',
+ 'PADDING', 'PAGE', 'PAGE-COUNTER', 'PF', 'PH', 'PIC',
+ 'PICTURE', 'PLUS', 'POINTER', 'POSITION', 'POSITIVE', 'PRINTING',
+ 'PROCEDURE', 'PROCEDURES', 'PROCEED', 'PROGRAM', 'PROGRAM-ID',
+ 'PROGRAM-STATUS', 'PROGRAM-STATUS-1', 'PROGRAM-STATUS-2', 'PROMPT',
+ 'PROTECTED', 'PURGE', 'QUEUE', 'QUOTE', 'QUOTES', 'RD',
+ 'RECEIVE', 'RECEIVE-CONTROL', 'RECORD', 'RECORDS',
+ 'REDEFINES', 'REEL', 'REFERENCE', 'REFERENCES', 'RELATIVE',
+ 'REMOVAL', 'RENAMES', 'REPLACE',
+ 'REPLY', 'REPORT', 'REPORTING', 'REPORTS', 'RERUN',
+ 'RESERVE', 'RESET', 'REVERSED', 'REWIND', 'REWRITE', 'RF',
+ 'RH', 'RIGHT', 'ROUNDED', 'RUN', 'SAME', 'SD',
+ 'SECURITY', 'SEGMENT', 'SEGMENT-LIMIT', 'SELECT', 'SEND',
+ 'SENTENCE', 'SEPARATE', 'SEQUENCE', 'SEQUENTIAL', 'SET',
+ 'SIGN', 'SIZE', 'SORT', 'SORT-MERGE', 'SOURCE-COMPUTER',
+ 'SPACE', 'SPACES', 'SPECIAL-NAMES', 'STANDARD', 'STANDARD-1',
+ 'STANDARD-2', 'START', 'STARTBACKUP', 'STATUS', 'STOP', 'STRING',
+ 'SUB-QUEUE-1', 'SUB-QUEUE-2', 'SUB-QUEUE-3', 'SUBTRACT',
+ 'SYMBOLIC', 'SYNC', 'SYNCDEPTH', 'SYNCHRONIZED',
+ 'TABLE', 'TAL', 'TAPE', 'TERMINAL', 'TERMINATE', 'TEST',
+ 'TEXT', 'THAN', 'THEN', 'THROUGH', 'THRU', 'TIME',
+ 'TOP', 'TRAILING', 'TRUE', 'TYPE', 'UNIT', 'UNLOCK', 'UNLOCKFILE',
+ 'UNLOCKRECORD', 'UNSTRING', 'UP', 'UPON', 'USAGE', 'USE',
+ 'USING', 'VALUE', 'VALUES', 'WHEN', 'WITH', 'WORDS',
+ 'WORKING-STORAGE', 'WRITE', 'ZERO', 'ZEROES'
+ ),
+ 4 => array( //Standard functions
+ 'ACOS', 'ANNUITY', 'ASIN', 'ATAN', 'CHAR', 'COS', 'CURRENT-DATE',
+ 'DATE-OF-INTEGER', 'DAY-OF-INTEGER', 'FACTORIAL', 'INTEGER',
+ 'INTEGER-OF-DATE', 'INTEGER-OF-DAY', 'INTEGER-PART', 'LENGTH',
+ 'LOG', 'LOG10', 'LOWER-CASE', 'MAX', 'MEAN', 'MEDIAN', 'MIDRANGE',
+ 'MIN', 'MOD', 'NUMVAL', 'NUMVAL-C', 'ORD', 'ORD-MAX', 'ORD-MIN',
+ 'PRESENT-VALUE', 'RANDOM', 'RANGE', 'REM', 'REVERSE', 'SIN', 'SQRT',
+ 'STANDARD-DEVIATION', 'SUM', 'TAN', 'UPPER-CASE', 'VARIANCE',
+ 'WHEN-COMPILED'
+ ),
+ 5 => array( //Privileged Built-in Functions
+ '#IN', '#OUT', '#TERM', '#TEMP', '#DYNAMIC', 'COBOL85^ARMTRAP',
+ 'COBOL85^COMPLETION', 'COBOL_COMPLETION_', 'COBOL_CONTROL_',
+ 'COBOL_GETENV_', 'COBOL_PUTENV_', 'COBOL85^RETURN^SORT^ERRORS',
+ 'COBOL_RETURN_SORT_ERRORS_', 'COBOL85^REWIND^SEQUENTIAL',
+ 'COBOL_REWIND_SEQUENTIAL_', 'COBOL85^SET^SORT^PARAM^TEXT',
+ 'COBOL_SET_SORT_PARAM_TEXT_', 'COBOL85^SET^SORT^PARAM^VALUE',
+ 'COBOL_SET_SORT_PARAM_VALUE_', 'COBOL_SET_MAX_RECORD_',
+ 'COBOL_SETMODE_', 'COBOL85^SPECIAL^OPEN', 'COBOL_SPECIAL_OPEN_',
+ 'COBOLASSIGN', 'COBOL_ASSIGN_', 'COBOLFILEINFO', 'COBOL_FILE_INFO_',
+ 'COBOLSPOOLOPEN', 'CREATEPROCESS', 'ALTERPARAMTEXT',
+ 'CHECKLOGICALNAME', 'CHECKMESSAGE', 'DELETEASSIGN', 'DELETEPARAM',
+ 'DELETESTARTUP', 'GETASSIGNTEXT', 'GETASSIGNVALUE', 'GETBACKUPCPU',
+ 'GETPARAMTEXT', 'GETSTARTUPTEXT', 'PUTASSIGNTEXT', 'PUTASSIGNVALUE',
+ 'PUTPARAMTEXT', 'PUTSTARTUPTEXT'
+ )
+ ),
+ 'SYMBOLS' => array(
+ //Avoid having - in identifiers marked as symbols
+ ' + ', ' - ', ' * ', ' / ', ' ** ',
+ '.', ',',
+ '=',
+ '(', ')', '[', ']'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000080; font-weight: bold;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #008000; font-weight: bold;',
+ 4 => 'color: #000080;',
+ 5 => 'color: #008000;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #a0a0a0; font-style: italic;',
+ 'MULTI' => 'color: #a0a0a0; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #339933;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #993399;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #202020;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+ );
+
+?>
diff --git a/application/libraries/geshi/cpp-qt.php b/application/libraries/geshi/cpp-qt.php
new file mode 100644
index 000000000..a96cd38af
--- /dev/null
+++ b/application/libraries/geshi/cpp-qt.php
@@ -0,0 +1,550 @@
+<?php
+/*************************************************************************************
+ * cpp.php
+ * -------
+ * Author: Iulian M
+ * Copyright: (c) 2006 Iulian M
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/09/27
+ *
+ * C++ (with QT extensions) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/06/28 (1.0.8.4)
+ * - Updated list of Keywords from Qt 4.5
+ *
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'C++ (QT)',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ //Multiline-continued single-line comments
+ 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
+ //Multiline-continued preprocessor define
+ 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
+ ),
+ '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(
+ 'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
+ 'switch', 'while', 'delete', 'new', 'this'
+ ),
+ 2 => array(
+ 'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
+ 'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+ 'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+ 'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+ 'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+ 'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+ 'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+ 'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+ 'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+ 'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
+ 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+ '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' ,
+ 'foreach','connect', 'Q_OBJECT' , 'slots' , 'signals', 'Q_SIGNALS', 'Q_SLOTS',
+ 'Q_FOREACH', 'QCOMPARE', 'QVERIFY', 'qDebug', 'kDebug', 'QBENCHMARK'
+ ),
+ 3 => array(
+ 'cin', 'cerr', 'clog', 'cout',
+ 'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+ 'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+ 'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
+ 'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+ 'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+ 'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
+ 'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+ 'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+ 'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+ 'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+ 'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+ 'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+ 'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+ 'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+ 'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+ 'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+ 'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+ 'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+ 'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+ ),
+ 4 => array(
+ 'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
+ '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',
+ ),
+ 5 => array(
+ "Q_UINT16", "Q_UINT32", "Q_UINT64", "Q_UINT8", "Q_ULLONG",
+ "Q_ULONG", "Q3Accel", "Q3Action", "Q3ActionGroup", "Q3AsciiBucket",
+ "Q3AsciiCache", "Q3AsciiCacheIterator", "Q3AsciiDict",
+ "Q3AsciiDictIterator", "Q3BaseBucket", "Q3BoxLayout", "Q3Button",
+ "Q3ButtonGroup", "Q3Cache", "Q3CacheIterator", "Q3Canvas",
+ "Q3CanvasEllipse", "Q3CanvasItem", "Q3CanvasItemList",
+ "Q3CanvasLine", "Q3CanvasPixmap", "Q3CanvasPixmapArray",
+ "Q3CanvasPolygon", "Q3CanvasPolygonalItem", "Q3CanvasRectangle",
+ "Q3CanvasSpline", "Q3CanvasSprite", "Q3CanvasText", "Q3CanvasView",
+ "Q3CheckListItem", "Q3CheckTableItem", "Q3CleanupHandler",
+ "Q3ColorDrag", "Q3ComboBox", "Q3ComboTableItem", "Q3CString",
+ "Q3DataBrowser", "Q3DataTable", "Q3DataView", "Q3DateEdit",
+ "Q3DateTimeEdit", "Q3DateTimeEditBase", "Q3DeepCopy", "Q3Dict",
+ "Q3DictIterator", "Q3Dns", "Q3DnsSocket", "Q3DockArea",
+ "Q3DockAreaLayout", "Q3DockWindow", "Q3DragObject", "Q3DropSite",
+ "Q3EditorFactory", "Q3FileDialog", "Q3FileIconProvider",
+ "Q3FilePreview", "Q3Frame", "Q3Ftp", "Q3GArray", "Q3GCache",
+ "Q3GCacheIterator", "Q3GDict", "Q3GDictIterator", "Q3GList",
+ "Q3GListIterator", "Q3GListStdIterator", "Q3Grid", "Q3GridLayout",
+ "Q3GridView", "Q3GroupBox", "Q3GVector", "Q3HBox", "Q3HBoxLayout",
+ "Q3HButtonGroup", "Q3Header", "Q3HGroupBox", "Q3Http",
+ "Q3HttpHeader", "Q3HttpRequestHeader", "Q3HttpResponseHeader",
+ "Q3IconDrag", "Q3IconDragItem", "Q3IconView", "Q3IconViewItem",
+ "Q3ImageDrag", "Q3IntBucket", "Q3IntCache", "Q3IntCacheIterator",
+ "Q3IntDict", "Q3IntDictIterator", "Q3ListBox", "Q3ListBoxItem",
+ "Q3ListBoxPixmap", "Q3ListBoxText", "Q3ListView", "Q3ListViewItem",
+ "Q3ListViewItemIterator", "Q3LNode", "Q3LocalFs", "Q3MainWindow",
+ "Q3MemArray", "Q3MimeSourceFactory", "Q3MultiLineEdit",
+ "Q3NetworkOperation", "Q3NetworkProtocol", "Q3NetworkProtocolDict",
+ "Q3NetworkProtocolFactory", "Q3NetworkProtocolFactoryBase",
+ "Q3ObjectDictionary", "Q3PaintDeviceMetrics", "Q3Painter",
+ "Q3Picture", "Q3PointArray", "Q3PolygonScanner", "Q3PopupMenu",
+ "Q3Process", "Q3ProgressBar", "Q3ProgressDialog", "Q3PtrBucket",
+ "Q3PtrCollection", "Q3PtrDict", "Q3PtrDictIterator", "Q3PtrList",
+ "Q3PtrListIterator", "Q3PtrListStdIterator", "Q3PtrQueue",
+ "Q3PtrStack", "Q3PtrVector", "Q3RangeControl", "Q3ScrollView",
+ "Q3Semaphore", "Q3ServerSocket", "Q3Shared", "Q3Signal",
+ "Q3SimpleRichText", "Q3SingleCleanupHandler", "Q3Socket",
+ "Q3SocketDevice", "Q3SortedList", "Q3SpinWidget", "Q3SqlCursor",
+ "Q3SqlEditorFactory", "Q3SqlFieldInfo", "Q3SqlFieldInfoList",
+ "Q3SqlForm", "Q3SqlPropertyMap", "Q3SqlRecordInfo",
+ "Q3SqlSelectCursor", "Q3StoredDrag", "Q3StrIList", "Q3StringBucket",
+ "Q3StrIVec", "Q3StrList", "Q3StrListIterator", "Q3StrVec",
+ "Q3StyleSheet", "Q3StyleSheetItem", "Q3SyntaxHighlighter",
+ "Q3TabDialog", "Q3Table", "Q3TableItem", "Q3TableSelection",
+ "Q3TextBrowser", "Q3TextDrag", "Q3TextEdit",
+ "Q3TextEditOptimPrivate", "Q3TextStream", "Q3TextView",
+ "Q3TimeEdit", "Q3ToolBar", "Q3TSFUNC", "Q3UriDrag", "Q3Url",
+ "Q3UrlOperator", "Q3ValueList", "Q3ValueListConstIterator",
+ "Q3ValueListIterator", "Q3ValueStack", "Q3ValueVector", "Q3VBox",
+ "Q3VBoxLayout", "Q3VButtonGroup", "Q3VGroupBox", "Q3WhatsThis",
+ "Q3WidgetStack", "Q3Wizard", "QAbstractButton",
+ "QAbstractEventDispatcher", "QAbstractExtensionFactory",
+ "QAbstractExtensionManager", "QAbstractFileEngine",
+ "QAbstractFileEngineHandler", "QAbstractFileEngineIterator",
+ "QAbstractFormBuilder", "QAbstractGraphicsShapeItem",
+ "QAbstractItemDelegate", "QAbstractItemModel", "QAbstractItemView",
+ "QAbstractListModel", "QAbstractMessageHandler",
+ "QAbstractNetworkCache", "QAbstractPageSetupDialog",
+ "QAbstractPrintDialog", "QAbstractProxyModel",
+ "QAbstractScrollArea", "QAbstractSlider", "QAbstractSocket",
+ "QAbstractSpinBox", "QAbstractTableModel",
+ "QAbstractTextDocumentLayout", "QAbstractUndoItem",
+ "QAbstractUriResolver", "QAbstractXmlNodeModel",
+ "QAbstractXmlReceiver", "QAccessible", "QAccessible2Interface",
+ "QAccessibleApplication", "QAccessibleBridge",
+ "QAccessibleBridgeFactoryInterface", "QAccessibleBridgePlugin",
+ "QAccessibleEditableTextInterface", "QAccessibleEvent",
+ "QAccessibleFactoryInterface", "QAccessibleInterface",
+ "QAccessibleInterfaceEx", "QAccessibleObject",
+ "QAccessibleObjectEx", "QAccessiblePlugin",
+ "QAccessibleSimpleEditableTextInterface",
+ "QAccessibleTableInterface", "QAccessibleTextInterface",
+ "QAccessibleValueInterface", "QAccessibleWidget",
+ "QAccessibleWidgetEx", "QAction", "QActionEvent", "QActionGroup",
+ "QApplication", "QArgument", "QAssistantClient", "QAtomicInt",
+ "QAtomicPointer", "QAuthenticator", "QBasicAtomicInt",
+ "QBasicAtomicPointer", "QBasicTimer", "QBitArray", "QBitmap",
+ "QBitRef", "QBool", "QBoxLayout", "QBrush", "QBrushData", "QBuffer",
+ "QButtonGroup", "QByteArray", "QByteArrayMatcher", "QByteRef",
+ "QCache", "QCalendarWidget", "QCDEStyle", "QChar", "QCharRef",
+ "QCheckBox", "QChildEvent", "QCleanlooksStyle", "QClipboard",
+ "QClipboardEvent", "QCloseEvent", "QColor", "QColorDialog",
+ "QColorGroup", "QColormap", "QColumnView", "QComboBox",
+ "QCommandLinkButton", "QCommonStyle", "QCompleter",
+ "QConicalGradient", "QConstString", "QContextMenuEvent", "QCOORD",
+ "QCoreApplication", "QCryptographicHash", "QCursor", "QCursorShape",
+ "QCustomEvent", "QDataStream", "QDataWidgetMapper", "QDate",
+ "QDateEdit", "QDateTime", "QDateTimeEdit", "QDB2Driver",
+ "QDB2Result", "QDBusAbstractAdaptor", "QDBusAbstractInterface",
+ "QDBusArgument", "QDBusConnection", "QDBusConnectionInterface",
+ "QDBusContext", "QDBusError", "QDBusInterface", "QDBusMessage",
+ "QDBusMetaType", "QDBusObjectPath", "QDBusPendingCall",
+ "QDBusPendingCallWatcher", "QDBusPendingReply",
+ "QDBusPendingReplyData", "QDBusReply", "QDBusServer",
+ "QDBusSignature", "QDBusVariant", "QDebug",
+ "QDesignerActionEditorInterface", "QDesignerBrushManagerInterface",
+ "QDesignerComponents", "QDesignerContainerExtension",
+ "QDesignerCustomWidgetCollectionInterface",
+ "QDesignerCustomWidgetInterface", "QDesignerDnDItemInterface",
+ "QDesignerDynamicPropertySheetExtension", "QDesignerExportWidget",
+ "QDesignerExtraInfoExtension", "QDesignerFormEditorInterface",
+ "QDesignerFormEditorPluginInterface", "QDesignerFormWindowCursorInterface",
+ "QDesignerFormWindowInterface", "QDesignerFormWindowManagerInterface",
+ "QDesignerFormWindowToolInterface",
+ "QDesignerIconCacheInterface", "QDesignerIntegrationInterface",
+ "QDesignerLanguageExtension", "QDesignerLayoutDecorationExtension",
+ "QDesignerMemberSheetExtension", "QDesignerMetaDataBaseInterface",
+ "QDesignerMetaDataBaseItemInterface",
+ "QDesignerObjectInspectorInterface", "QDesignerPromotionInterface",
+ "QDesignerPropertyEditorInterface",
+ "QDesignerPropertySheetExtension", "QDesignerResourceBrowserInterface",
+ "QDesignerTaskMenuExtension", "QDesignerWidgetBoxInterface",
+ "QDesignerWidgetDataBaseInterface", "QDesignerWidgetDataBaseItemInterface",
+ "QDesignerWidgetFactoryInterface", "QDesktopServices",
+ "QDesktopWidget", "QDial", "QDialog", "QDialogButtonBox", "QDir",
+ "QDirIterator", "QDirModel", "QDockWidget", "QDomAttr",
+ "QDomCDATASection", "QDomCharacterData", "QDomComment",
+ "QDomDocument", "QDomDocumentFragment", "QDomDocumentType",
+ "QDomElement", "QDomEntity", "QDomEntityReference",
+ "QDomImplementation", "QDomNamedNodeMap", "QDomNode",
+ "QDomNodeList", "QDomNotation", "QDomProcessingInstruction",
+ "QDomText", "QDoubleSpinBox", "QDoubleValidator", "QDrag",
+ "QDragEnterEvent", "QDragLeaveEvent", "QDragMoveEvent",
+ "QDragResponseEvent", "QDropEvent", "QDynamicPropertyChangeEvent",
+ "QErrorMessage", "QEvent", "QEventLoop", "QEventSizeOfChecker",
+ "QExplicitlySharedDataPointer", "QExtensionFactory",
+ "QExtensionManager", "QFactoryInterface", "QFile", "QFileDialog",
+ "QFileIconProvider", "QFileInfo", "QFileInfoList",
+ "QFileInfoListIterator", "QFileOpenEvent", "QFileSystemModel",
+ "QFileSystemWatcher", "QFlag", "QFlags", "QFocusEvent",
+ "QFocusFrame", "QFont", "QFontComboBox", "QFontDatabase",
+ "QFontDialog", "QFontInfo", "QFontMetrics", "QFontMetricsF",
+ "QForeachContainer", "QForeachContainerBase", "QFormBuilder",
+ "QFormLayout", "QFrame", "QFSFileEngine", "QFtp", "QFuture",
+ "QFutureInterface", "QFutureInterfaceBase", "QFutureIterator",
+ "QFutureSynchronizer", "QFutureWatcher", "QFutureWatcherBase",
+ "QGenericArgument", "QGenericReturnArgument", "QGLColormap",
+ "QGLContext", "QGLFormat", "QGLFramebufferObject", "QGlobalStatic",
+ "QGlobalStaticDeleter", "QGLPixelBuffer", "QGLWidget", "QGradient",
+ "QGradientStop", "QGradientStops", "QGraphicsEllipseItem",
+ "QGraphicsGridLayout", "QGraphicsItem", "QGraphicsItemAnimation",
+ "QGraphicsItemGroup", "QGraphicsLayout", "QGraphicsLayoutItem",
+ "QGraphicsLinearLayout", "QGraphicsLineItem", "QGraphicsPathItem",
+ "QGraphicsPixmapItem", "QGraphicsPolygonItem",
+ "QGraphicsProxyWidget", "QGraphicsRectItem", "QGraphicsScene",
+ "QGraphicsSceneContextMenuEvent", "QGraphicsSceneDragDropEvent",
+ "QGraphicsSceneEvent", "QGraphicsSceneHelpEvent",
+ "QGraphicsSceneHoverEvent", "QGraphicsSceneMouseEvent",
+ "QGraphicsSceneMoveEvent", "QGraphicsSceneResizeEvent",
+ "QGraphicsSceneWheelEvent", "QGraphicsSimpleTextItem",
+ "QGraphicsSvgItem", "QGraphicsTextItem", "QGraphicsView",
+ "QGraphicsWidget", "QGridLayout", "QGroupBox", "QGtkStyle", "QHash",
+ "QHashData", "QHashDummyNode", "QHashDummyValue", "QHashIterator",
+ "QHashNode", "QHBoxLayout", "QHeaderView", "QHelpContentItem",
+ "QHelpContentModel", "QHelpContentWidget", "QHelpEngine",
+ "QHelpEngineCore", "QHelpEvent", "QHelpGlobal", "QHelpIndexModel",
+ "QHelpIndexWidget", "QHelpSearchEngine", "QHelpSearchQuery",
+ "QHelpSearchQueryWidget", "QHelpSearchResultWidget", "QHideEvent",
+ "QHostAddress", "QHostInfo", "QHoverEvent", "QHttp", "QHttpHeader",
+ "QHttpRequestHeader", "QHttpResponseHeader", "QIBaseDriver",
+ "QIBaseResult", "QIcon", "QIconDragEvent", "QIconEngine",
+ "QIconEngineFactoryInterface", "QIconEngineFactoryInterfaceV2",
+ "QIconEnginePlugin", "QIconEnginePluginV2", "QIconEngineV2",
+ "QIconSet", "QImage", "QImageIOHandler",
+ "QImageIOHandlerFactoryInterface", "QImageIOPlugin", "QImageReader",
+ "QImageTextKeyLang", "QImageWriter", "QIncompatibleFlag",
+ "QInputContext", "QInputContextFactory",
+ "QInputContextFactoryInterface", "QInputContextPlugin",
+ "QInputDialog", "QInputEvent", "QInputMethodEvent", "Q_INT16",
+ "Q_INT32", "Q_INT64", "Q_INT8", "QInternal", "QIntForSize",
+ "QIntForType", "QIntValidator", "QIODevice", "Q_IPV6ADDR",
+ "QIPv6Address", "QItemDelegate", "QItemEditorCreator",
+ "QItemEditorCreatorBase", "QItemEditorFactory", "QItemSelection",
+ "QItemSelectionModel", "QItemSelectionRange", "QKeyEvent",
+ "QKeySequence", "QLabel", "QLatin1Char", "QLatin1String", "QLayout",
+ "QLayoutItem", "QLayoutIterator", "QLCDNumber", "QLibrary",
+ "QLibraryInfo", "QLine", "QLinearGradient", "QLineEdit", "QLineF",
+ "QLinkedList", "QLinkedListData", "QLinkedListIterator",
+ "QLinkedListNode", "QList", "QListData", "QListIterator",
+ "QListView", "QListWidget", "QListWidgetItem", "Q_LLONG", "QLocale",
+ "QLocalServer", "QLocalSocket", "Q_LONG", "QMacCompatGLenum",
+ "QMacCompatGLint", "QMacCompatGLuint", "QMacGLCompatTypes",
+ "QMacMime", "QMacPasteboardMime", "QMainWindow", "QMap", "QMapData",
+ "QMapIterator", "QMapNode", "QMapPayloadNode", "QMatrix",
+ "QMdiArea", "QMdiSubWindow", "QMenu", "QMenuBar",
+ "QMenubarUpdatedEvent", "QMenuItem", "QMessageBox",
+ "QMetaClassInfo", "QMetaEnum", "QMetaMethod", "QMetaObject",
+ "QMetaObjectExtraData", "QMetaProperty", "QMetaType", "QMetaTypeId",
+ "QMetaTypeId2", "QMimeData", "QMimeSource", "QModelIndex",
+ "QModelIndexList", "QMotifStyle", "QMouseEvent", "QMoveEvent",
+ "QMovie", "QMultiHash", "QMultiMap", "QMutableFutureIterator",
+ "QMutableHashIterator", "QMutableLinkedListIterator",
+ "QMutableListIterator", "QMutableMapIterator",
+ "QMutableSetIterator", "QMutableStringListIterator",
+ "QMutableVectorIterator", "QMutex", "QMutexLocker", "QMYSQLDriver",
+ "QMYSQLResult", "QNetworkAccessManager", "QNetworkAddressEntry",
+ "QNetworkCacheMetaData", "QNetworkCookie", "QNetworkCookieJar",
+ "QNetworkDiskCache", "QNetworkInterface", "QNetworkProxy",
+ "QNetworkProxyFactory", "QNetworkProxyQuery", "QNetworkReply",
+ "QNetworkRequest", "QNoDebug", "QNoImplicitBoolCast", "QObject",
+ "QObjectCleanupHandler", "QObjectData", "QObjectList",
+ "QObjectUserData", "QOCIDriver", "QOCIResult", "QODBCDriver",
+ "QODBCResult", "QPageSetupDialog", "QPaintDevice", "QPaintEngine",
+ "QPaintEngineState", "QPainter", "QPainterPath",
+ "QPainterPathPrivate", "QPainterPathStroker", "QPaintEvent",
+ "QPair", "QPalette", "QPen", "QPersistentModelIndex", "QPicture",
+ "QPictureFormatInterface", "QPictureFormatPlugin", "QPictureIO",
+ "Q_PID", "QPixmap", "QPixmapCache", "QPlainTextDocumentLayout",
+ "QPlainTextEdit", "QPlastiqueStyle", "QPluginLoader", "QPoint",
+ "QPointer", "QPointF", "QPolygon", "QPolygonF", "QPrintDialog",
+ "QPrintEngine", "QPrinter", "QPrinterInfo", "QPrintPreviewDialog",
+ "QPrintPreviewWidget", "QProcess", "QProgressBar",
+ "QProgressDialog", "QProxyModel", "QPSQLDriver", "QPSQLResult",
+ "QPushButton", "QQueue", "QRadialGradient", "QRadioButton",
+ "QReadLocker", "QReadWriteLock", "QRect", "QRectF", "QRegExp",
+ "QRegExpValidator", "QRegion", "QResizeEvent", "QResource",
+ "QReturnArgument", "QRgb", "QRubberBand", "QRunnable",
+ "QScriptable", "QScriptClass", "QScriptClassPropertyIterator",
+ "QScriptContext", "QScriptContextInfo", "QScriptContextInfoList",
+ "QScriptEngine", "QScriptEngineAgent", "QScriptEngineDebugger",
+ "QScriptExtensionInterface", "QScriptExtensionPlugin",
+ "QScriptString", "QScriptSyntaxCheckResult", "QScriptValue",
+ "QScriptValueIterator", "QScriptValueList", "QScrollArea",
+ "QScrollBar", "QSemaphore", "QSessionManager", "QSet",
+ "QSetIterator", "QSettings", "QSharedData", "QSharedDataPointer",
+ "QSharedMemory", "QSharedPointer", "QShortcut", "QShortcutEvent",
+ "QShowEvent", "QSignalMapper", "QSignalSpy", "QSimpleXmlNodeModel",
+ "QSize", "QSizeF", "QSizeGrip", "QSizePolicy", "QSlider",
+ "QSocketNotifier", "QSortFilterProxyModel", "QSound",
+ "QSourceLocation", "QSpacerItem", "QSpinBox", "QSplashScreen",
+ "QSplitter", "QSplitterHandle", "QSpontaneKeyEvent", "QSqlDatabase",
+ "QSqlDriver", "QSqlDriverCreator", "QSqlDriverCreatorBase",
+ "QSqlDriverFactoryInterface", "QSqlDriverPlugin", "QSqlError",
+ "QSqlField", "QSqlIndex", "QSQLite2Driver", "QSQLite2Result",
+ "QSQLiteDriver", "QSQLiteResult", "QSqlQuery", "QSqlQueryModel",
+ "QSqlRecord", "QSqlRelation", "QSqlRelationalDelegate",
+ "QSqlRelationalTableModel", "QSqlResult", "QSqlTableModel", "QSsl",
+ "QSslCertificate", "QSslCipher", "QSslConfiguration", "QSslError",
+ "QSslKey", "QSslSocket", "QStack", "QStackedLayout",
+ "QStackedWidget", "QStandardItem", "QStandardItemEditorCreator",
+ "QStandardItemModel", "QStatusBar", "QStatusTipEvent",
+ "QStdWString", "QString", "QStringList", "QStringListIterator",
+ "QStringListModel", "QStringMatcher", "QStringRef", "QStyle",
+ "QStyledItemDelegate", "QStyleFactory", "QStyleFactoryInterface",
+ "QStyleHintReturn", "QStyleHintReturnMask",
+ "QStyleHintReturnVariant", "QStyleOption", "QStyleOptionButton",
+ "QStyleOptionComboBox", "QStyleOptionComplex",
+ "QStyleOptionDockWidget", "QStyleOptionDockWidgetV2",
+ "QStyleOptionFocusRect", "QStyleOptionFrame", "QStyleOptionFrameV2",
+ "QStyleOptionFrameV3", "QStyleOptionGraphicsItem",
+ "QStyleOptionGroupBox", "QStyleOptionHeader",
+ "QStyleOptionMenuItem", "QStyleOptionProgressBar",
+ "QStyleOptionProgressBarV2", "QStyleOptionQ3DockWindow",
+ "QStyleOptionQ3ListView", "QStyleOptionQ3ListViewItem",
+ "QStyleOptionRubberBand", "QStyleOptionSizeGrip",
+ "QStyleOptionSlider", "QStyleOptionSpinBox", "QStyleOptionTab",
+ "QStyleOptionTabBarBase", "QStyleOptionTabBarBaseV2",
+ "QStyleOptionTabV2", "QStyleOptionTabV3",
+ "QStyleOptionTabWidgetFrame", "QStyleOptionTitleBar",
+ "QStyleOptionToolBar", "QStyleOptionToolBox",
+ "QStyleOptionToolBoxV2", "QStyleOptionToolButton",
+ "QStyleOptionViewItem", "QStyleOptionViewItemV2",
+ "QStyleOptionViewItemV3", "QStyleOptionViewItemV4", "QStylePainter",
+ "QStylePlugin", "QSvgGenerator", "QSvgRenderer", "QSvgWidget",
+ "QSyntaxHighlighter", "QSysInfo", "QSystemLocale",
+ "QSystemSemaphore", "QSystemTrayIcon", "Qt", "Qt3Support",
+ "QTabBar", "QTabletEvent", "QTableView", "QTableWidget",
+ "QTableWidgetItem", "QTableWidgetSelectionRange", "QTabWidget",
+ "QtAlgorithms", "QtAssistant", "QtCleanUpFunction",
+ "QtConcurrentFilter", "QtConcurrentMap", "QtConcurrentRun",
+ "QtContainerFwd", "QtCore", "QTcpServer", "QTcpSocket", "QtDBus",
+ "QtDebug", "QtDesigner", "QTDSDriver", "QTDSResult",
+ "QTemporaryFile", "QtEndian", "QTest", "QTestAccessibility",
+ "QTestAccessibilityEvent", "QTestData", "QTestDelayEvent",
+ "QTestEvent", "QTestEventList", "QTestEventLoop",
+ "QTestKeyClicksEvent", "QTestKeyEvent", "QTestMouseEvent",
+ "QtEvents", "QTextBlock", "QTextBlockFormat", "QTextBlockGroup",
+ "QTextBlockUserData", "QTextBoundaryFinder", "QTextBrowser",
+ "QTextCharFormat", "QTextCodec", "QTextCodecFactoryInterface",
+ "QTextCodecPlugin", "QTextCursor", "QTextDecoder", "QTextDocument",
+ "QTextDocumentFragment", "QTextDocumentWriter", "QTextEdit",
+ "QTextEncoder", "QTextFormat", "QTextFragment", "QTextFrame",
+ "QTextFrameFormat", "QTextFrameLayoutData", "QTextImageFormat",
+ "QTextInlineObject", "QTextIStream", "QTextItem", "QTextLayout",
+ "QTextLength", "QTextLine", "QTextList", "QTextListFormat",
+ "QTextObject", "QTextObjectInterface", "QTextOption",
+ "QTextOStream", "QTextStream", "QTextStreamFunction",
+ "QTextStreamManipulator", "QTextTable", "QTextTableCell",
+ "QTextTableCellFormat", "QTextTableFormat", "QtGlobal", "QtGui",
+ "QtHelp", "QThread", "QThreadPool", "QThreadStorage",
+ "QThreadStorageData", "QTime", "QTimeEdit", "QTimeLine", "QTimer",
+ "QTimerEvent", "QtMsgHandler", "QtNetwork", "QToolBar",
+ "QToolBarChangeEvent", "QToolBox", "QToolButton", "QToolTip",
+ "QtOpenGL", "QtPlugin", "QtPluginInstanceFunction", "QTransform",
+ "QTranslator", "QTreeView", "QTreeWidget", "QTreeWidgetItem",
+ "QTreeWidgetItemIterator", "QTS", "QtScript", "QtScriptTools",
+ "QtSql", "QtSvg", "QtTest", "QtUiTools", "QtWebKit", "QtXml",
+ "QtXmlPatterns", "QTypeInfo", "QUdpSocket", "QUiLoader",
+ "QUintForSize", "QUintForType", "QUndoCommand", "QUndoGroup",
+ "QUndoStack", "QUndoView", "QUnixPrintWidget", "QUpdateLaterEvent",
+ "QUrl", "QUrlInfo", "QUuid", "QValidator", "QVariant",
+ "QVariantComparisonHelper", "QVariantHash", "QVariantList",
+ "QVariantMap", "QVarLengthArray", "QVBoxLayout", "QVector",
+ "QVectorData", "QVectorIterator", "QVectorTypedData",
+ "QWaitCondition", "QWeakPointer", "QWebDatabase", "QWebFrame",
+ "QWebHistory", "QWebHistoryInterface", "QWebHistoryItem",
+ "QWebHitTestResult", "QWebPage", "QWebPluginFactory",
+ "QWebSecurityOrigin", "QWebSettings", "QWebView", "QWhatsThis",
+ "QWhatsThisClickedEvent", "QWheelEvent", "QWidget", "QWidgetAction",
+ "QWidgetData", "QWidgetItem", "QWidgetItemV2", "QWidgetList",
+ "QWidgetMapper", "QWidgetSet", "QWindowsCEStyle", "QWindowsMime",
+ "QWindowsMobileStyle", "QWindowsStyle", "QWindowStateChangeEvent",
+ "QWindowsVistaStyle", "QWindowsXPStyle", "QWizard", "QWizardPage",
+ "QWMatrix", "QWorkspace", "QWriteLocker", "QX11EmbedContainer",
+ "QX11EmbedWidget", "QX11Info", "QXmlAttributes",
+ "QXmlContentHandler", "QXmlDeclHandler", "QXmlDefaultHandler",
+ "QXmlDTDHandler", "QXmlEntityResolver", "QXmlErrorHandler",
+ "QXmlFormatter", "QXmlInputSource", "QXmlItem",
+ "QXmlLexicalHandler", "QXmlLocator", "QXmlName", "QXmlNamePool",
+ "QXmlNamespaceSupport", "QXmlNodeModelIndex", "QXmlParseException",
+ "QXmlQuery", "QXmlReader", "QXmlResultItems", "QXmlSerializer",
+ "QXmlSimpleReader", "QXmlStreamAttribute", "QXmlStreamAttributes",
+ "QXmlStreamEntityDeclaration", "QXmlStreamEntityDeclarations",
+ "QXmlStreamEntityResolver", "QXmlStreamNamespaceDeclaration",
+ "QXmlStreamNamespaceDeclarations", "QXmlStreamNotationDeclaration",
+ "QXmlStreamNotationDeclarations", "QXmlStreamReader",
+ "QXmlStreamStringRef", "QXmlStreamWriter"
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ',', ';', '|', '<', '>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight:bold;',
+ 2 => 'color: #0057AE;',
+ 3 => 'color: #2B74C7;',
+ 4 => 'color: #0057AE;',
+ 5 => 'color: #22aadd;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #888888;',
+ 2 => 'color: #006E28;',
+ 'MULTI' => 'color: #888888; 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: #006E28;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #BF0303;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #B08000;',
+ 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: #2B74C7;',
+ 2 => 'color: #2B74C7;',
+ 3 => 'color: #2B74C7;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #006E28;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => 'http://doc.trolltech.com/latest/{FNAMEL}.html'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::',
+ 3 => '-&gt;',
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+ 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
+ ),
+ 'OOLANG' => array(
+ 'MATCH_AFTER' => '~?[a-zA-Z][a-zA-Z0-9_]*',
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/cpp.php b/application/libraries/geshi/cpp.php
new file mode 100644
index 000000000..7fb1da360
--- /dev/null
+++ b/application/libraries/geshi/cpp.php
@@ -0,0 +1,226 @@
+<?php
+/*************************************************************************************
+ * cpp.php
+ * -------
+ * Author: Dennis Bayer (Dennis.Bayer@mnifh-giessen.de)
+ * Contributors:
+ * - 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
+ * Date Started: 2004/09/27
+ *
+ * C++ language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/XX/XX (1.0.2)
+ * - Added several new keywords (Jack Lloyd)
+ * 2004/11/27 (1.0.1)
+ * - Added StdCLib function and constant names, changed color scheme to
+ * a cleaner one. (M. Uli Kusterer)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'C++',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ //Multiline-continued single-line comments
+ 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
+ //Multiline-continued preprocessor define
+ 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
+ ),
+ '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(
+ 'break', 'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
+ 'switch', 'throw', 'while'
+ ),
+ 2 => array(
+ 'NULL', 'false', 'true', 'enum', 'errno', 'EDOM',
+ 'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+ 'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+ 'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+ 'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+ 'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+ 'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+ 'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+ 'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+ 'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
+ 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+ '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'
+ ),
+ 3 => array(
+ 'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
+ 'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+ 'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+ 'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
+ 'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+ 'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+ 'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
+ 'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+ 'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+ 'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+ 'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+ 'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+ 'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+ 'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+ 'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+ 'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+ 'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+ 'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+ 'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+ 'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+ ),
+ 4 => array(
+ 'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
+ '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',
+ ),
+ ),
+ 'SYMBOLS' => array(
+ 0 => array('(', ')', '{', '}', '[', ']'),
+ 1 => array('<', '>','='),
+ 2 => array('+', '-', '*', '/', '%'),
+ 3 => array('!', '^', '&', '|'),
+ 4 => array('?', ':', ';')
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000ff;',
+ 2 => 'color: #0000ff;',
+ 3 => 'color: #0000dd;',
+ 4 => 'color: #0000ff;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666;',
+ 2 => 'color: #339900;',
+ 'MULTI' => 'color: #ff0000; 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: #008000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #FF0000;'
+ ),
+ '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: #007788;',
+ 2 => 'color: #007788;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #008000;',
+ 1 => 'color: #000080;',
+ 2 => 'color: #000040;',
+ 3 => 'color: #000040;',
+ 4 => 'color: #008080;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#])",
+ 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-])"
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/csharp.php b/application/libraries/geshi/csharp.php
new file mode 100644
index 000000000..aa166801d
--- /dev/null
+++ b/application/libraries/geshi/csharp.php
@@ -0,0 +1,253 @@
+<?php
+/*************************************************************************************
+ * csharp.php
+ * ----------
+ * 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
+ * Date Started: 2004/06/04
+ *
+ * C# language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/04/03 (1.0.8.6)
+ * - Added missing keywords identified by Rosetta Code users.
+ * 2008/05/25 (1.0.7.22)
+ * - Added highlighting of using and namespace directives as non-OOP
+ * 2005/01/05 (1.0.1)
+ * - Used hardquote support for @"..." strings (Cliff Stanford)
+ * 2004/11/27 (1.0.0)
+ * - Initial release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'C#',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ '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('"'),
+ 'HARDCHAR' => '"',
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'as', 'auto', 'base', 'break', 'case', 'catch', 'const', 'continue',
+ 'default', 'do', 'else', 'event', 'explicit', 'extern', 'false',
+ 'finally', 'fixed', 'for', 'foreach', 'from', 'goto', 'if',
+ 'implicit', 'in', 'internal', 'lock', 'namespace', 'null',
+ 'operator', 'out', 'override', 'params', 'partial', 'private',
+ 'protected', 'public', 'readonly', 'ref', 'return', 'sealed',
+ 'select', 'stackalloc', 'static', 'switch', 'this', 'throw', 'true',
+ 'try', 'unsafe', 'using', 'virtual', 'where', 'while', 'yield'
+ ),
+ 2 => array(
+ '#elif', '#endif', '#endregion', '#else', '#error', '#define', '#if',
+ '#line', '#region', '#undef', '#warning'
+ ),
+ 3 => array(
+ 'checked', 'is', 'new', 'sizeof', 'typeof', 'unchecked'
+ ),
+ 4 => array(
+ 'bool', 'byte', 'char', 'class', 'decimal', 'delegate', 'double',
+ 'enum', 'float', 'int', 'interface', 'long', 'object', 'sbyte',
+ 'short', 'string', 'struct', 'uint', 'ulong', 'ushort', 'void'
+ ),
+ 5 => array(
+ 'Microsoft.Win32',
+ 'System',
+ 'System.CodeDOM',
+ 'System.CodeDOM.Compiler',
+ 'System.Collections',
+ 'System.Collections.Bases',
+ 'System.ComponentModel',
+ 'System.ComponentModel.Design',
+ 'System.ComponentModel.Design.CodeModel',
+ 'System.Configuration',
+ 'System.Configuration.Assemblies',
+ 'System.Configuration.Core',
+ 'System.Configuration.Install',
+ 'System.Configuration.Interceptors',
+ 'System.Configuration.Schema',
+ 'System.Configuration.Web',
+ 'System.Core',
+ 'System.Data',
+ 'System.Data.ADO',
+ 'System.Data.Design',
+ 'System.Data.Internal',
+ 'System.Data.SQL',
+ 'System.Data.SQLTypes',
+ 'System.Data.XML',
+ 'System.Data.XML.DOM',
+ 'System.Data.XML.XPath',
+ 'System.Data.XML.XSLT',
+ 'System.Diagnostics',
+ 'System.Diagnostics.SymbolStore',
+ 'System.DirectoryServices',
+ 'System.Drawing',
+ 'System.Drawing.Design',
+ 'System.Drawing.Drawing2D',
+ 'System.Drawing.Imaging',
+ 'System.Drawing.Printing',
+ 'System.Drawing.Text',
+ 'System.Globalization',
+ 'System.IO',
+ 'System.IO.IsolatedStorage',
+ 'System.Messaging',
+ 'System.Net',
+ 'System.Net.Sockets',
+ 'System.NewXml',
+ 'System.NewXml.XPath',
+ 'System.NewXml.Xsl',
+ 'System.Reflection',
+ 'System.Reflection.Emit',
+ 'System.Resources',
+ 'System.Runtime.InteropServices',
+ 'System.Runtime.InteropServices.Expando',
+ 'System.Runtime.Remoting',
+ 'System.Runtime.Serialization',
+ 'System.Runtime.Serialization.Formatters',
+ 'System.Runtime.Serialization.Formatters.Binary',
+ 'System.Security',
+ 'System.Security.Cryptography',
+ 'System.Security.Cryptography.X509Certificates',
+ 'System.Security.Permissions',
+ 'System.Security.Policy',
+ 'System.Security.Principal',
+ 'System.ServiceProcess',
+ 'System.Text',
+ 'System.Text.RegularExpressions',
+ 'System.Threading',
+ 'System.Timers',
+ 'System.Web',
+ 'System.Web.Caching',
+ 'System.Web.Configuration',
+ 'System.Web.Security',
+ 'System.Web.Services',
+ 'System.Web.Services.Description',
+ 'System.Web.Services.Discovery',
+ 'System.Web.Services.Protocols',
+ 'System.Web.UI',
+ 'System.Web.UI.Design',
+ 'System.Web.UI.Design.WebControls',
+ 'System.Web.UI.Design.WebControls.ListControls',
+ 'System.Web.UI.HtmlControls',
+ 'System.Web.UI.WebControls',
+ 'System.WinForms',
+ 'System.WinForms.ComponentModel',
+ 'System.WinForms.Design',
+ 'System.Xml',
+ 'System.Xml.Serialization',
+ 'System.Xml.Serialization.Code',
+ 'System.Xml.Serialization.Schema'
+ ),
+ ),
+ '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; font-weight: bold;',
+ 2 => 'color: #FF8000; font-weight: bold;',
+ 3 => 'color: #008000;',
+ 4 => 'color: #6666cc; font-weight: bold;',
+ 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: #008000;'
+ ),
+ '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 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com',
+ 4 => '',
+ 5 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+ 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_%\\-])"
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/css.php b/application/libraries/geshi/css.php
new file mode 100644
index 000000000..04313d6d8
--- /dev/null
+++ b/application/libraries/geshi/css.php
@@ -0,0 +1,212 @@
+<?php
+/*************************************************************************************
+ * css.php
+ * -------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/18
+ *
+ * CSS language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/11/27 (1.0.3)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ * - Changed regexps to catch "-" symbols
+ * - Added support for URLs
+ * 2004/08/05 (1.0.1)
+ * - Added support for symbols
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Improve or drop regexps for class/id/psuedoclass highlighting
+ * * Re-look at keywords - possibly to make several CSS language
+ * files, all with different versions of CSS in them
+ *
+ *************************************************************************************
+ *
+ * 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' => 'CSS',
+ 'COMMENT_SINGLE' => array(1 => '@'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ 2 => "/(?<=\\()\\s*(?:(?:[a-z0-9]+?:\\/\\/)?[a-z0-9_\\-\\.\\/:]+?)?[a-z]+?\\.[a-z]+?(\\?[^\)]+?)?\\s*?(?=\\))/i"
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"', "'"),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'aqua', 'azimuth', 'background-attachment', 'background-color',
+ 'background-image', 'background-position', 'background-repeat',
+ 'background', 'black', 'blue', 'border-bottom-color',
+ 'border-bottom-style', 'border-bottom-width', 'border-left-color',
+ 'border-left-style', 'border-left-width', 'border-right',
+ 'border-right-color', 'border-right-style', 'border-right-width',
+ 'border-top-color', 'border-top-style',
+ 'border-top-width','border-bottom', 'border-collapse',
+ 'border-left', 'border-width', 'border-color', 'border-spacing',
+ 'border-style', 'border-top', 'border', 'caption-side', 'clear',
+ 'clip', 'color', 'content', 'counter-increment', 'counter-reset',
+ 'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display',
+ 'elevation', 'empty-cells', 'float', 'font-family', 'font-size',
+ 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant',
+ 'font-weight', 'font', 'line-height', 'letter-spacing',
+ 'list-style', 'list-style-image', 'list-style-position',
+ 'list-style-type', 'margin-bottom', 'margin-left', 'margin-right',
+ 'margin-top', 'margin', 'marker-offset', 'marks', 'max-height',
+ 'max-width', 'min-height', 'min-width', 'orphans', 'outline',
+ 'outline-color', 'outline-style', 'outline-width', 'overflow',
+ 'padding-bottom', 'padding-left', 'padding-right', 'padding-top',
+ 'padding', 'page', 'page-break-after', 'page-break-before',
+ 'page-break-inside', 'pause-after', 'pause-before', 'pause',
+ 'pitch', 'pitch-range', 'play-during', 'position', 'quotes',
+ 'richness', 'right', 'size', 'speak-header', 'speak-numeral',
+ 'speak-punctuation', 'speak', 'speech-rate', 'stress',
+ 'table-layout', 'text-align', 'text-decoration', 'text-indent',
+ 'text-shadow', 'text-transform', 'top', 'unicode-bidi',
+ 'vertical-align', 'visibility', 'voice-family', 'volume',
+ 'white-space', 'widows', 'width', 'word-spacing', 'z-index',
+ 'bottom', 'left', 'height'
+ ),
+ 2 => array(
+ 'above', 'absolute', 'always', 'armenian', 'aural', 'auto',
+ 'avoid', 'baseline', 'behind', 'below', 'bidi-override', 'blink',
+ 'block', 'bold', 'bolder', 'both', 'capitalize', 'center-left',
+ 'center-right', 'center', 'circle', 'cjk-ideographic',
+ 'close-quote', 'collapse', 'condensed', 'continuous', 'crop',
+ 'crosshair', 'cross', 'cursive', 'dashed', 'decimal-leading-zero',
+ 'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
+ 'e-resize', 'embed', 'extra-condensed', 'extra-expanded',
+ 'expanded', 'fantasy', 'far-left', 'far-right', 'faster', 'fast',
+ 'fixed', 'fuchsia', 'georgian', 'gray', 'green', 'groove',
+ 'hebrew', 'help', 'hidden', 'hide', 'higher', 'high',
+ 'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table',
+ 'inline', 'inset', 'inside', 'invert', 'italic', 'justify',
+ 'katakana-iroha', 'katakana', 'landscape', 'larger', 'large',
+ 'left-side', 'leftwards', 'level', 'lighter', 'lime',
+ 'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek',
+ 'lower-roman', 'lowercase', 'ltr', 'lower', 'low', 'maroon',
+ 'medium', 'message-box', 'middle', 'mix', 'monospace', 'n-resize',
+ 'narrower', 'navy', 'ne-resize', 'no-close-quote',
+ 'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap',
+ 'nw-resize', 'oblique', 'olive', 'once', 'open-quote', 'outset',
+ 'outside', 'overline', 'pointer', 'portrait', 'purple', 'px',
+ 'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb',
+ 'ridge', 'right-side', 'rightwards', 's-resize', 'sans-serif',
+ 'scroll', 'se-resize', 'semi-condensed', 'semi-expanded',
+ 'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower',
+ 'small-caps', 'small-caption', 'smaller', 'soft', 'solid',
+ 'spell-out', 'square', 'static', 'status-bar', 'super',
+ 'sw-resize', 'table-caption', 'table-cell', 'table-column',
+ 'table-column-group', 'table-footer-group', 'table-header-group',
+ 'table-row', 'table-row-group', 'teal', 'text', 'text-bottom',
+ 'text-top', 'thick', 'thin', 'transparent', 'ultra-condensed',
+ 'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin',
+ 'upper-roman', 'uppercase', 'url', 'visible', 'w-resize', 'wait',
+ 'white', 'wider', 'x-fast', 'x-high', 'x-large', 'x-loud',
+ 'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small', 'yellow',
+ 'yes'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', ':', ';',
+ '>', '+', '*', ',', '^', '='
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #993333;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #a1a100;',
+ 2 => 'color: #ff0000; font-style: italic;',
+ 'MULTI' => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #00AA00;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #00AA00;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #cc00cc;',
+ 1 => 'color: #6666ff;',
+ 2 => 'color: #3333ff;',
+ 3 => 'color: #933;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //DOM Node ID
+ 0 => '\#[a-zA-Z0-9\-_]+(?:\\\\:[a-zA-Z0-9\-_]+)*',
+ //CSS classname
+ 1 => '\.(?!\d)[a-zA-Z0-9\-_]+(?:\\\\:[a-zA-Z0-9\-_]+)*\b(?=[\{\.#\s,:].|<\|)',
+ //CSS Pseudo classes
+ //note: & is needed for &gt; (i.e. > )
+ 2 => '(?<!\\\\):(?!\d)[a-zA-Z0-9\-]+\b(?:\s*(?=[\{\.#a-zA-Z,:+*&](.|\n)|<\|))',
+ //Measurements
+ 3 => '[+\-]?(\d+|(\d*\.\d+))(em|ex|pt|px|cm|in|%)',
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\.])'
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/cuesheet.php b/application/libraries/geshi/cuesheet.php
new file mode 100644
index 000000000..2fd610c15
--- /dev/null
+++ b/application/libraries/geshi/cuesheet.php
@@ -0,0 +1,138 @@
+<?php
+/*************************************************************************************
+ * cuesheet.php
+ * ----------
+ * Author: Benny Baumann (benbe@geshi.org)
+ * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/12/21
+ *
+ * Cuesheet language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/12/21 (1.0.8.6)
+ * - First Release
+ *
+ * TODO (updated 2009/12/21)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Cuesheet',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ //Single-Line Comments using REM command
+ 1 => "/(?<=\bREM\b).*?$/im",
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'CATALOG','CDTEXTFILE','FILE','FLAGS','INDEX','ISRC','PERFORMER',
+ 'POSTGAP','PREGAP','REM','SONGWRITER','TITLE','TRACK'
+ ),
+ 2 => array(
+ 'AIFF', 'BINARY', 'MOTOROLA', 'MP3', 'WAVE'
+ ),
+ 3 => array(
+ '4CH', 'DCP', 'PRE', 'SCMS'
+ ),
+ 4 => array(
+ 'AUDIO', 'CDG', 'MODE1/2048', 'MODE1/2336', 'MODE2/2336',
+ 'MODE2/2352', 'CDI/2336', 'CDI/2352'
+ )
+ ),
+ 'SYMBOLS' => array(
+ ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #000066; font-weight: bold;',
+ 3 => 'color: #000066; font-weight: bold;',
+ 4 => 'color: #000066; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080;',
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #006600;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 1 => 'color: #000099;',
+ 2 => 'color: #009900;',
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://digitalx.org/cuesheetsyntax.php#{FNAMEL}',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ 2 => '\b[A-Za-z0-9]{5}\d{7}\b',
+ 1 => '(?<=[\s:]|^)\d+(?=[\s:]|$)',
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 2,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => '(?<![\w\.])',
+ 'DISALLOWED_AFTER' => '(?![\w\.])',
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/d.php b/application/libraries/geshi/d.php
new file mode 100644
index 000000000..f9157a514
--- /dev/null
+++ b/application/libraries/geshi/d.php
@@ -0,0 +1,272 @@
+<?php
+/*************************************************************************************
+ * d.php
+ * -----
+ * Author: Thomas Kuehne (thomas@kuehne.cn)
+ * Copyright: (c) 2005 Thomas Kuehne (http://thomas.kuehne.cn/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/04/22
+ *
+ * D language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/04/22 (0.0.2)
+ * - added _d_* and sizeof/ptrdiff_t
+ * 2005/04/20 (0.0.1)
+ * - First release
+ *
+ * TODO (updated 2005/04/22)
+ * -------------------------
+ * * nested comments
+ * * correct handling of r"" and ``
+ * * correct handling of ... and ..
+ *
+ *************************************************************************************
+ *
+ * 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' => 'D',
+ 'COMMENT_SINGLE' => array(2 => '///', 1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ // doxygen comments
+ 3 => '#/\*\*(?![\*\/]).*\*/#sU',
+ // raw strings
+ 4 => '#r"[^"]*"#s',
+ // Script Style interpreter comment
+ 5 => "/\A#!(?=\\/).*?$/m"
+ ),
+ '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}#",
+ //Named entity escapes
+ /*6 => "#\\\\&(?:quot|amp|lt|gt|OElig|oelig|Scaron|scaron|Yuml|circ|tilde|".
+ "ensp|emsp|thinsp|zwnj|zwj|lrm|rlm|ndash|mdash|lsquo|rsquo|sbquo|".
+ "ldquo|rdquo|bdquo|dagger|Dagger|permil|lsaquo|rsaquo|euro|nbsp|".
+ "iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|".
+ "shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|".
+ "sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|".
+ "Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|".
+ "Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|".
+ "times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|".
+ "aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|".
+ "euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|".
+ "otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|".
+ "yuml|fnof|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|".
+ "Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|".
+ "Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|".
+ "kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|".
+ "phi|chi|psi|omega|thetasym|upsih|piv|bull|hellip|prime|Prime|".
+ "oline|frasl|weierp|image|real|trade|alefsym|larr|uarr|rarr|darr|".
+ "harr|crarr|lArr|uArr|rArr|dArr|hArr|forall|part|exist|empty|".
+ "nabla|isin|notin|ni|prod|sum|minus|lowast|radic|prop|infin|ang|".
+ "and|or|cap|cup|int|there4|sim|cong|asymp|ne|equiv|le|ge|sub|sup|".
+ "nsub|sube|supe|oplus|otimes|perp|sdot|lceil|rceil|lfloor|rfloor|".
+ "lang|rang|loz|spades|clubs|hearts|diams);#",*/
+ // optimized:
+ 6 => "#\\\\&(?:A(?:Elig|acute|circ|grave|lpha|ring|tilde|uml)|Beta|".
+ "C(?:cedil|hi)|D(?:agger|elta)|E(?:TH|acute|circ|grave|psilon|ta|uml)|".
+ "Gamma|I(?:acute|circ|grave|ota|uml)|Kappa|Lambda|Mu|N(?:tilde|u)|".
+ "O(?:Elig|acute|circ|grave|m(?:ega|icron)|slash|tilde|uml)|".
+ "P(?:hi|i|rime|si)|Rho|S(?:caron|igma)|T(?:HORN|au|heta)|".
+ "U(?:acute|circ|grave|psilon|uml)|Xi|Y(?:acute|uml)|Zeta|".
+ "a(?:acute|c(?:irc|ute)|elig|grave|l(?:efsym|pha)|mp|n[dg]|ring|".
+ "symp|tilde|uml)|b(?:dquo|eta|rvbar|ull)|c(?:ap|cedil|e(?:dil|nt)|".
+ "hi|irc|lubs|o(?:ng|py)|rarr|u(?:p|rren))|d(?:Arr|a(?:gger|rr)|".
+ "e(?:g|lta)|i(?:ams|vide))|e(?:acute|circ|grave|m(?:pty|sp)|nsp|".
+ "psilon|quiv|t[ah]|u(?:ml|ro)|xist)|f(?:nof|orall|ra(?:c(?:1[24]|34)|sl))|".
+ "g(?:amma|e|t)|h(?:Arr|arr|e(?:arts|llip))|i(?:acute|circ|excl|grave|mage|".
+ "n(?:fin|t)|ota|quest|sin|uml)|kappa|l(?:Arr|a(?:mbda|ng|quo|rr)|ceil|".
+ "dquo|e|floor|o(?:wast|z)|rm|s(?:aquo|quo)|t)|m(?:acr|dash|".
+ "i(?:cro|ddot|nus)|u)|n(?:abla|bsp|dash|e|i|ot(?:in)?|sub|tilde|u)|".
+ "o(?:acute|circ|elig|grave|line|m(?:ega|icron)|plus|r(?:d[fm])?|".
+ "slash|ti(?:lde|mes)|uml)|p(?:ar[at]|er(?:mil|p)|hi|iv?|lusmn|ound|".
+ "r(?:ime|o[dp])|si)|quot|r(?:Arr|a(?:dic|ng|quo|rr)|ceil|dquo|e(?:al|g)|".
+ "floor|ho|lm|s(?:aquo|quo))|s(?:bquo|caron|dot|ect|hy|i(?:gmaf?|m)|".
+ "pades|u(?:be?|m|p[123e]?)|zlig)|t(?:au|h(?:e(?:re4|ta(?:sym)?)|insp|".
+ "orn)|i(?:lde|mes)|rade)|u(?:Arr|a(?:cute|rr)|circ|grave|ml|".
+ "psi(?:h|lon)|uml)|weierp|xi|y(?:acute|en|uml)|z(?:eta|w(?:j|nj)));#",
+ ),
+ 'HARDQUOTE' => array('`', '`'),
+ 'HARDESCAPE' => 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(
+ 'break', 'case', 'continue', 'do', 'else',
+ 'for', 'foreach', 'goto', 'if', 'return',
+ 'switch', 'while'
+ ),
+ 2 => array(
+ 'alias', 'asm', 'assert', 'body', 'cast',
+ 'catch', 'default', 'delegate', 'delete',
+ 'extern', 'false', 'finally', 'function',
+ 'import', 'in', 'inout', 'interface',
+ 'invariant', 'is', 'mixin', 'module', 'new',
+ 'null', 'out', 'pragma', 'ref', 'super', 'this',
+ 'throw', 'true', 'try', 'typedef', 'typeid',
+ 'typeof', 'union', 'with'
+ ),
+ 3 => array(
+ 'ArrayBoundsError', 'AssertError',
+ 'ClassInfo', 'Error', 'Exception',
+ 'Interface', 'ModuleInfo', 'Object',
+ 'OutOfMemoryException', 'SwitchError',
+ 'TypeInfo', '_d_arrayappend',
+ '_d_arrayappendb', '_d_arrayappendc',
+ '_d_arrayappendcb', '_d_arraycast',
+ '_d_arraycast_frombit', '_d_arraycat',
+ '_d_arraycatb', '_d_arraycatn',
+ '_d_arraycopy', '_d_arraycopybit',
+ '_d_arraysetbit', '_d_arraysetbit2',
+ '_d_arraysetlength', '_d_arraysetlengthb',
+ '_d_callfinalizer',
+ '_d_create_exception_object',
+ '_d_criticalenter', '_d_criticalexit',
+ '_d_delarray', '_d_delclass',
+ '_d_delinterface', '_d_delmemory',
+ '_d_dynamic_cast', '_d_exception',
+ '_d_exception_filter', '_d_framehandler',
+ '_d_interface_cast', '_d_interface_vtbl',
+ '_d_invariant', '_d_isbaseof',
+ '_d_isbaseof2', '_d_local_unwind',
+ '_d_monitorenter', '_d_monitorexit',
+ '_d_monitorrelease', '_d_monitor_epilog',
+ '_d_monitor_handler', '_d_monitor_prolog',
+ '_d_new', '_d_newarrayi', '_d_newbitarray',
+ '_d_newclass', '_d_obj_cmp', '_d_obj_eq',
+ '_d_OutOfMemory', '_d_switch_dstring',
+ '_d_switch_string', '_d_switch_ustring',
+ '_d_throw',
+ ),
+ 4 => array(
+ 'abstract', 'align', 'auto', 'bit', 'bool',
+ 'byte', 'cdouble', 'cent', 'cfloat', 'char',
+ 'class', 'const', 'creal', 'dchar', 'debug',
+ 'deprecated', 'double', 'enum', 'export',
+ 'final', 'float', 'idouble', 'ifloat', 'int',
+ 'ireal', 'long', 'override', 'package',
+ 'private', 'protected', 'ptrdiff_t',
+ 'public', 'real', 'short', 'size_t',
+ 'static', 'struct', 'synchronized',
+ 'template', 'ubyte', 'ucent', 'uint',
+ 'ulong', 'unittest', 'ushort', 'version',
+ 'void', 'volatile', 'wchar'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '?', '!', ';', ':', ',', '...', '..',
+ '+', '-', '*', '/', '%', '&', '|', '^', '<', '>', '=', '~',
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #aaaadd; font-weight: bold;',
+ 4 => 'color: #993333;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #009933; font-style: italic;',
+ 3 => 'color: #009933; font-style: italic;',
+ 4 => 'color: #ff0000;',
+ 5 => 'color: #0040ff;',
+ '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;',
+ 6 => 'color: #666699; font-weight: bold; font-style: italic;',
+ 'HARD' => '',
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;',
+ 'HARD' => 'color: #ff0000;'
+ ),
+ '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: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ '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
diff --git a/application/libraries/geshi/dcs.php b/application/libraries/geshi/dcs.php
new file mode 100644
index 000000000..daad329c3
--- /dev/null
+++ b/application/libraries/geshi/dcs.php
@@ -0,0 +1,182 @@
+<?php
+/*************************************************************************************
+ * dcs.php
+ * ---------------------------------
+ * Author: Stelio Passaris (GeSHi@stelio.net)
+ * Copyright: (c) 2009 Stelio Passaris (http://stelio.net/stiki/GeSHi)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/01/20
+ *
+ * DCS language file for GeSHi.
+ *
+ * DCS (Data Conversion System) is part of Sungard iWorks' Prophet suite and is used
+ * to convert external data files into a format that Prophet and Glean can read.
+ * See http://www.prophet-web.com/Products/DCS for product information.
+ * This language file is current for DCS version 7.3.2.
+ *
+ * Note that the DCS IDE does not handle escape characters correctly. The IDE thinks
+ * that a backslash '\' is an escape character, but in practice the backslash does
+ * not escape the string delimiter character '"' when the program runs. A '\\' is
+ * escaped to '\' when the program runs, but '\"' is treated as '\' at the end of a
+ * string. Therefore in this language file, we do not recognise the backslash as an
+ * escape character. For the purposes of GeSHi, there is no character escaping.
+ *
+ * CHANGES
+ * -------
+ * 2009/02/21 (1.0.8.3)
+ * - First Release
+ *
+ * TODO (updated 2009/02/21)
+ * -------------------------
+ * * Add handling for embedded C code. Note that the DCS IDE does not highlight C code
+ * correctly, but that doesn't mean that we can't! This will be included for a
+ * stable release of GeSHi of version 1.1.x (or later) that allows for highlighting
+ * embedded code using that code's appropriate language file.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'DCS',
+ 'COMMENT_SINGLE' => array(
+ 1 => ';'
+ ),
+ 'COMMENT_MULTI' => array(
+ ),
+ 'COMMENT_REGEXP' => array(
+ // Highlight embedded C code in a separate color:
+ 2 => '/\bINSERT_C_CODE\b.*?\bEND_C_CODE\b/ims'
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array(
+ '"'
+ ),
+ 'ESCAPE_CHAR' => '',
+ 'ESCAPE_REGEXP' => '',
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO,
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'abs', 'ascii_value', 'bit_value', 'blank_date', 'calc_unit_values', 'cm',
+ 'complete_months', 'complete_years', 'correct', 'create_input_file', 'cy',
+ 'date_convert', 'day', 'del_output_separator',
+ 'delete_existing_output_files', 'div', 'ex', 'exact_years', 'exp',
+ 'extract_date', 'failed_validation', 'file_number', 'first_record',
+ 'fract', 'fund_fac_a', 'fund_fac_b', 'fund_fac_c', 'fund_fac_d',
+ 'fund_fac_e', 'fund_fac_f', 'fund_fac_g', 'fund_fac_h', 'fund_fac_i',
+ 'fund_fac_j', 'fund_fac_k', 'fund_fac_l', 'fund_fac_m', 'fund_fac_n',
+ 'fund_fac_o', 'fund_fac_p', 'fund_fac_q', 'fund_fac_r', 'fund_fac_s',
+ 'fund_fac_t', 'fund_fac_u', 'fund_fac_v', 'fund_fac_w', 'fund_fac_x',
+ 'fund_fac_y', 'fund_fac_z', 'group', 'group_record',
+ 'input_file_date_time', 'input_file_extension', 'input_file_location',
+ 'input_file_name', 'int', 'invalid', 'last_record', 'leap_year', 'len',
+ 'ln', 'log', 'main_format_name', 'max', 'max_num_subrecords', 'message',
+ 'min', 'mod', 'month', 'months_add', 'months_sub', 'nearest_months',
+ 'nearest_years', 'next_record', 'nm', 'no_of_current_records',
+ 'no_of_records', 'numval', 'ny', 'output', 'output_array_as_constants',
+ 'output_file_path', 'output_record', 'pmdf_output', 'previous', 'rand',
+ 're_start', 'read_generic_table', 'read_generic_table_text',
+ 'read_input_footer', 'read_input_footer_text', 'read_input_header',
+ 'read_input_header_text', 'record_count', 'record_suppressed', 'round',
+ 'round_down', 'round_near', 'round_up', 'run_dcs_program', 'run_parameter',
+ 'run_parameter_text', 'set_main_record', 'set_num_subrecords',
+ 'sort_array', 'sort_current_records', 'sort_input', 'strval', 'substr',
+ 'summarise', 'summarise_record', 'summarise_units',
+ 'summarise_units_record', 'suppress_record', 'table_correct',
+ 'table_validate', 'terminate', 'time', 'today', 'trim', 'ubound', 'year',
+ 'years_add', 'years_sub'
+ ),
+ 2 => array(
+ 'and', 'as', 'begin', 'boolean', 'byref', 'byval', 'call', 'case', 'date',
+ 'default', 'do', 'else', 'elseif', 'end_c_code', 'endfor', 'endfunction',
+ 'endif', 'endproc', 'endswitch', 'endwhile', 'eq',
+ 'explicit_declarations', 'false', 'for', 'from', 'function', 'ge', 'gt',
+ 'if', 'insert_c_code', 'integer', 'le', 'loop', 'lt', 'ne', 'not',
+ 'number', 'or', 'private', 'proc', 'public', 'quitloop', 'return',
+ 'short', 'step', 'switch', 'text', 'then', 'to', 'true', 'while'
+ ),
+ 3 => array(
+ // These keywords are not highlighted by the DCS IDE but we may as well
+ // keep track of them anyway:
+ 'mp_file', 'odbc_file'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']',
+ '=', '<', '>',
+ '+', '-', '*', '/', '^',
+ ':', ','
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: red;',
+ 2 => 'color: blue;',
+ 3 => 'color: black;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: black; background-color: silver;',
+ // Colors for highlighting embedded C code:
+ 2 => 'color: maroon; background-color: pink;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: black;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: green;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: green;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: black;'
+ ),
+ '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(
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/delphi.php b/application/libraries/geshi/delphi.php
new file mode 100644
index 000000000..2b758d7db
--- /dev/null
+++ b/application/libraries/geshi/delphi.php
@@ -0,0 +1,289 @@
+<?php
+/*************************************************************************************
+ * delphi.php
+ * ----------
+ * 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
+ * Date Started: 2004/07/26
+ *
+ * Delphi (Object Pascal) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2005/11/19 (1.0.3)
+ * - Updated the very incomplete keyword and type lists
+ * 2005/09/03 (1.0.2)
+ * - Added support for hex numbers and string entities
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Delphi',
+ '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(
+ 'Abstract', 'And', 'Array', 'As', 'Asm', 'At', 'Begin', 'Case',
+ 'Class', 'Const', 'Constructor', 'Contains', 'Destructor',
+ 'DispInterface', 'Div', 'Do', 'DownTo', 'Else', 'End', 'Except',
+ 'Export', 'Exports', 'External', 'File', 'Finalization', 'Finally',
+ 'For', 'Function', 'Goto', 'If', 'Implementation', 'In', 'Inherited',
+ 'Initialization', 'Inline', 'Interface', 'Is', 'Label', 'Library',
+ 'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Overload', 'Override',
+ 'Package', 'Packed', 'Private', 'Procedure', 'Program', 'Property',
+ 'Protected', 'Public', 'Published', 'Raise', 'Record', 'Register',
+ 'Repeat', 'Requires', 'Resourcestring', 'Set', 'Shl', 'Shr', 'Then',
+ 'ThreadVar', 'To', 'Try', 'Type', 'Unit', 'Until', 'Uses', 'Var',
+ 'Virtual', 'While', 'With', 'Xor', 'assembler', 'far',
+ 'near', 'pascal', 'cdecl', 'safecall', 'stdcall', 'varargs'
+ ),
+ 2 => array(
+ 'nil', 'false', 'self', 'true', 'var', 'type', 'const'
+ ),
+ 3 => array(
+ 'Abs', 'AcquireExceptionObject', 'Addr', 'AnsiToUtf8', 'Append', 'ArcTan',
+ 'Assert', 'AssignFile', 'Assigned', 'BeginThread', 'BlockRead',
+ 'BlockWrite', 'Break', 'ChDir', 'Chr', 'Close', 'CloseFile',
+ 'CompToCurrency', 'CompToDouble', 'Concat', 'Continue', 'Copy', 'Cos',
+ 'Dec', 'Delete', 'Dispose', 'DoubleToComp', 'EndThread', 'EnumModules',
+ 'EnumResourceModules', 'Eof', 'Eoln', 'Erase', 'ExceptAddr',
+ 'ExceptObject', 'Exclude', 'Exit', 'Exp', 'FilePos', 'FileSize',
+ 'FillChar', 'Finalize', 'FindClassHInstance', 'FindHInstance',
+ 'FindResourceHInstance', 'Flush', 'Frac', 'FreeMem', 'Get8087CW',
+ 'GetDir', 'GetLastError', 'GetMem', 'GetMemoryManager',
+ 'GetModuleFileName', 'GetVariantManager', 'Halt', 'Hi', 'High',
+ 'IOResult', 'Inc', 'Include', 'Initialize', 'Insert', 'Int',
+ 'IsMemoryManagerSet', 'IsVariantManagerSet', 'Length', 'Ln', 'Lo', 'Low',
+ 'MkDir', 'Move', 'New', 'Odd', 'OleStrToStrVar', 'OleStrToString', 'Ord',
+ 'PUCS4Chars', 'ParamCount', 'ParamStr', 'Pi', 'Pos', 'Pred', 'Ptr',
+ 'Random', 'Randomize', 'Read', 'ReadLn', 'ReallocMem',
+ 'ReleaseExceptionObject', 'Rename', 'Reset', 'Rewrite', 'RmDir', 'Round',
+ 'RunError', 'Seek', 'SeekEof', 'SeekEoln', 'Set8087CW', 'SetLength',
+ 'SetLineBreakStyle', 'SetMemoryManager', 'SetString', 'SetTextBuf',
+ 'SetVariantManager', 'Sin', 'SizeOf', 'Slice', 'Sqr', 'Sqrt', 'Str',
+ 'StringOfChar', 'StringToOleStr', 'StringToWideChar', 'Succ', 'Swap',
+ 'Trunc', 'Truncate', 'TypeInfo', 'UCS4StringToWideString', 'UTF8Decode',
+ 'UTF8Encode', 'UnicodeToUtf8', 'UniqueString', 'UpCase', 'Utf8ToAnsi',
+ 'Utf8ToUnicode', 'Val', 'VarArrayRedim', 'VarClear',
+ 'WideCharLenToStrVar', 'WideCharLenToString', 'WideCharToStrVar',
+ 'WideCharToString', 'WideStringToUCS4String', 'Write', 'WriteLn',
+
+ 'Abort', 'AddExitProc', 'AddTerminateProc', 'AdjustLineBreaks', 'AllocMem',
+ 'AnsiCompareFileName', 'AnsiCompareStr', 'AnsiCompareText',
+ 'AnsiDequotedStr', 'AnsiExtractQuotedStr', 'AnsiLastChar',
+ 'AnsiLowerCase', 'AnsiLowerCaseFileName', 'AnsiPos', 'AnsiQuotedStr',
+ 'AnsiSameStr', 'AnsiSameText', 'AnsiStrComp', 'AnsiStrIComp',
+ 'AnsiStrLComp', 'AnsiStrLIComp', 'AnsiStrLastChar', 'AnsiStrLower',
+ 'AnsiStrPos', 'AnsiStrRScan', 'AnsiStrScan', 'AnsiStrUpper',
+ 'AnsiUpperCase', 'AnsiUpperCaseFileName', 'AppendStr', 'AssignStr',
+ 'Beep', 'BoolToStr', 'ByteToCharIndex', 'ByteToCharLen', 'ByteType',
+ 'CallTerminateProcs', 'ChangeFileExt', 'CharLength', 'CharToByteIndex',
+ 'CharToByteLen', 'CompareMem', 'CompareStr', 'CompareText', 'CreateDir',
+ 'CreateGUID', 'CurrToStr', 'CurrToStrF', 'CurrentYear', 'Date',
+ 'DateTimeToFileDate', 'DateTimeToStr', 'DateTimeToString',
+ 'DateTimeToSystemTime', 'DateTimeToTimeStamp', 'DateToStr', 'DayOfWeek',
+ 'DecodeDate', 'DecodeDateFully', 'DecodeTime', 'DeleteFile',
+ 'DirectoryExists', 'DiskFree', 'DiskSize', 'DisposeStr', 'EncodeDate',
+ 'EncodeTime', 'ExceptionErrorMessage', 'ExcludeTrailingBackslash',
+ 'ExcludeTrailingPathDelimiter', 'ExpandFileName', 'ExpandFileNameCase',
+ 'ExpandUNCFileName', 'ExtractFileDir', 'ExtractFileDrive',
+ 'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath',
+ 'ExtractRelativePath', 'ExtractShortPathName', 'FileAge', 'FileClose',
+ 'FileCreate', 'FileDateToDateTime', 'FileExists', 'FileGetAttr',
+ 'FileGetDate', 'FileIsReadOnly', 'FileOpen', 'FileRead', 'FileSearch',
+ 'FileSeek', 'FileSetAttr', 'FileSetDate', 'FileSetReadOnly', 'FileWrite',
+ 'FinalizePackage', 'FindClose', 'FindCmdLineSwitch', 'FindFirst',
+ 'FindNext', 'FloatToCurr', 'FloatToDateTime', 'FloatToDecimal',
+ 'FloatToStr', 'FloatToStrF', 'FloatToText', 'FloatToTextFmt',
+ 'FmtLoadStr', 'FmtStr', 'ForceDirectories', 'Format', 'FormatBuf',
+ 'FormatCurr', 'FormatDateTime', 'FormatFloat', 'FreeAndNil',
+ 'GUIDToString', 'GetCurrentDir', 'GetEnvironmentVariable',
+ 'GetFileVersion', 'GetFormatSettings', 'GetLocaleFormatSettings',
+ 'GetModuleName', 'GetPackageDescription', 'GetPackageInfo', 'GetTime',
+ 'IncAMonth', 'IncMonth', 'IncludeTrailingBackslash',
+ 'IncludeTrailingPathDelimiter', 'InitializePackage', 'IntToHex',
+ 'IntToStr', 'InterlockedDecrement', 'InterlockedExchange',
+ 'InterlockedExchangeAdd', 'InterlockedIncrement', 'IsDelimiter',
+ 'IsEqualGUID', 'IsLeapYear', 'IsPathDelimiter', 'IsValidIdent',
+ 'Languages', 'LastDelimiter', 'LoadPackage', 'LoadStr', 'LowerCase',
+ 'MSecsToTimeStamp', 'NewStr', 'NextCharIndex', 'Now', 'OutOfMemoryError',
+ 'QuotedStr', 'RaiseLastOSError', 'RaiseLastWin32Error', 'RemoveDir',
+ 'RenameFile', 'ReplaceDate', 'ReplaceTime', 'SafeLoadLibrary',
+ 'SameFileName', 'SameText', 'SetCurrentDir', 'ShowException', 'Sleep',
+ 'StrAlloc', 'StrBufSize', 'StrByteType', 'StrCat', 'StrCharLength',
+ 'StrComp', 'StrCopy', 'StrDispose', 'StrECopy', 'StrEnd', 'StrFmt',
+ 'StrIComp', 'StrLCat', 'StrLComp', 'StrLCopy', 'StrLFmt', 'StrLIComp',
+ 'StrLen', 'StrLower', 'StrMove', 'StrNew', 'StrNextChar', 'StrPCopy',
+ 'StrPLCopy', 'StrPas', 'StrPos', 'StrRScan', 'StrScan', 'StrToBool',
+ 'StrToBoolDef', 'StrToCurr', 'StrToCurrDef', 'StrToDate', 'StrToDateDef',
+ 'StrToDateTime', 'StrToDateTimeDef', 'StrToFloat', 'StrToFloatDef',
+ 'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime',
+ 'StrToTimeDef', 'StrUpper', 'StringReplace', 'StringToGUID', 'Supports',
+ 'SysErrorMessage', 'SystemTimeToDateTime', 'TextToFloat', 'Time',
+ 'TimeStampToDateTime', 'TimeStampToMSecs', 'TimeToStr', 'Trim',
+ 'TrimLeft', 'TrimRight', 'TryEncodeDate', 'TryEncodeTime',
+ 'TryFloatToCurr', 'TryFloatToDateTime', 'TryStrToBool', 'TryStrToCurr',
+ 'TryStrToDate', 'TryStrToDateTime', 'TryStrToFloat', 'TryStrToInt',
+ 'TryStrToInt64', 'TryStrToTime', 'UnloadPackage', 'UpperCase',
+ 'WideCompareStr', 'WideCompareText', 'WideFmtStr', 'WideFormat',
+ 'WideFormatBuf', 'WideLowerCase', 'WideSameStr', 'WideSameText',
+ 'WideUpperCase', 'Win32Check', 'WrapText',
+
+ 'ActivateClassGroup', 'AllocateHwnd', 'BinToHex', 'CheckSynchronize',
+ 'CollectionsEqual', 'CountGenerations', 'DeallocateHwnd', 'EqualRect',
+ 'ExtractStrings', 'FindClass', 'FindGlobalComponent', 'GetClass',
+ 'GroupDescendantsWith', 'HexToBin', 'IdentToInt',
+ 'InitInheritedComponent', 'IntToIdent', 'InvalidPoint',
+ 'IsUniqueGlobalComponentName', 'LineStart', 'ObjectBinaryToText',
+ 'ObjectResourceToText', 'ObjectTextToBinary', 'ObjectTextToResource',
+ 'PointsEqual', 'ReadComponentRes', 'ReadComponentResEx',
+ 'ReadComponentResFile', 'Rect', 'RegisterClass', 'RegisterClassAlias',
+ 'RegisterClasses', 'RegisterComponents', 'RegisterIntegerConsts',
+ 'RegisterNoIcon', 'RegisterNonActiveX', 'SmallPoint', 'StartClassGroup',
+ 'TestStreamFormat', 'UnregisterClass', 'UnregisterClasses',
+ 'UnregisterIntegerConsts', 'UnregisterModuleClasses',
+ 'WriteComponentResFile',
+
+ 'ArcCos', 'ArcCosh', 'ArcCot', 'ArcCotH', 'ArcCsc', 'ArcCscH', 'ArcSec',
+ 'ArcSecH', 'ArcSin', 'ArcSinh', 'ArcTan2', 'ArcTanh', 'Ceil',
+ 'CompareValue', 'Cosecant', 'Cosh', 'Cot', 'CotH', 'Cotan', 'Csc', 'CscH',
+ 'CycleToDeg', 'CycleToGrad', 'CycleToRad', 'DegToCycle', 'DegToGrad',
+ 'DegToRad', 'DivMod', 'DoubleDecliningBalance', 'EnsureRange', 'Floor',
+ 'Frexp', 'FutureValue', 'GetExceptionMask', 'GetPrecisionMode',
+ 'GetRoundMode', 'GradToCycle', 'GradToDeg', 'GradToRad', 'Hypot',
+ 'InRange', 'IntPower', 'InterestPayment', 'InterestRate',
+ 'InternalRateOfReturn', 'IsInfinite', 'IsNan', 'IsZero', 'Ldexp', 'LnXP1',
+ 'Log10', 'Log2', 'LogN', 'Max', 'MaxIntValue', 'MaxValue', 'Mean',
+ 'MeanAndStdDev', 'Min', 'MinIntValue', 'MinValue', 'MomentSkewKurtosis',
+ 'NetPresentValue', 'Norm', 'NumberOfPeriods', 'Payment', 'PeriodPayment',
+ 'Poly', 'PopnStdDev', 'PopnVariance', 'Power', 'PresentValue',
+ 'RadToCycle', 'RadToDeg', 'RadToGrad', 'RandG', 'RandomRange', 'RoundTo',
+ 'SLNDepreciation', 'SYDDepreciation', 'SameValue', 'Sec', 'SecH',
+ 'Secant', 'SetExceptionMask', 'SetPrecisionMode', 'SetRoundMode', 'Sign',
+ 'SimpleRoundTo', 'SinCos', 'Sinh', 'StdDev', 'Sum', 'SumInt',
+ 'SumOfSquares', 'SumsAndSquares', 'Tan', 'Tanh', 'TotalVariance',
+ 'Variance'
+ ),
+ 4 => array(
+ 'AnsiChar', 'AnsiString', 'Bool', 'Boolean', 'Byte', 'ByteBool', 'Cardinal', 'Char',
+ 'Comp', 'Currency', 'DWORD', 'Double', 'Extended', 'Int64', 'Integer', 'IUnknown',
+ 'LongBool', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PBool', 'PBoolean', 'PByte',
+ 'PByteArray', 'PCardinal', 'PChar', 'PComp', 'PCurrency', 'PDWORD', 'PDate', 'PDateTime',
+ 'PDouble', 'PExtended', 'PInt64', 'PInteger', 'PLongInt', 'PLongWord', 'Pointer', 'PPointer',
+ 'PShortInt', 'PShortString', 'PSingle', 'PSmallInt', 'PString', 'PHandle', 'PVariant', 'PWord',
+ 'PWordArray', 'PWordBool', 'PWideChar', 'PWideString', 'Real', 'Real48', 'ShortInt', 'ShortString',
+ 'Single', 'SmallInt', 'String', 'TClass', 'TDate', 'TDateTime', 'TextFile', 'THandle',
+ 'TObject', 'TTime', 'Variant', 'WideChar', 'WideString', 'Word', 'WordBool'
+ ),
+ ),
+ '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: #006600;'
+ ),
+ '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-9a-fA-F]{1,2}|\d{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/diff.php b/application/libraries/geshi/diff.php
new file mode 100644
index 000000000..f1a4baf65
--- /dev/null
+++ b/application/libraries/geshi/diff.php
@@ -0,0 +1,196 @@
+<?php
+/*************************************************************************************
+ * diff.php
+ * --------
+ * 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
+ * Date Started: 2004/12/29
+ *
+ * Diff-output language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2006/02/27
+ * - changing language file to use matching of start (^) and end ($) (wt)
+ * 2004/12/29 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2006/02/27)
+ * -------------------------
+ *
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Diff',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => ' ',
+ 'KEYWORDS' => array(
+ 1 => array(
+ '\ No newline at end of file'
+ ),
+// 2 => array(
+// '***************' /* This only seems to works in some cases? */
+// ),
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'CASE_SENSITIVE' => array(
+ 1 => false,
+// 2 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #aaaaaa; font-style: italic;',
+// 2 => 'color: #dd6611;',
+ ),
+ 'COMMENTS' => array(
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => ''
+ ),
+ 'STRINGS' => array(
+ 0 => ''
+ ),
+ 'NUMBERS' => array(
+ 0 => ''
+ ),
+ 'METHODS' => array(
+ 0 => ''
+ ),
+ 'SYMBOLS' => array(
+ 0 => ''
+ ),
+ 'SCRIPT' => array(
+ 0 => ''
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #440088;',
+ 1 => 'color: #991111;',
+ 2 => 'color: #00b000;',
+ 3 => 'color: #888822;',
+ 4 => 'color: #888822;',
+ 5 => 'color: #0011dd;',
+ 6 => 'color: #440088;',
+ 7 => 'color: #991111;',
+ 8 => 'color: #00b000;',
+ 9 => 'color: #888822;',
+ ),
+ ),
+ 'URLS' => array(
+ 1 => '',
+// 2 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'REGEXPS' => array(
+ 0 => "[0-9,]+[acd][0-9,]+",
+ //Removed lines
+ 1 => array(
+ GESHI_SEARCH => '(^|(?<=\A\s))\\&lt;.*$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //Inserted lines
+ 2 => array(
+ GESHI_SEARCH => '(^|(?<=\A\s))\\&gt;.*$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //Location line
+ 3 => array(
+ GESHI_SEARCH => '(^|(?<=\A\s))-{3}\\s.*$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //Inserted line
+ 4 => array(
+ GESHI_SEARCH => '(^|(?<=\A\s))(\\+){3}\\s.*$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //Modified line
+ 5 => array(
+ GESHI_SEARCH => '(^|(?<=\A\s))\\!.*$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //File specification
+ 6 => array(
+ GESHI_SEARCH => '(^|(?<=\A\s))[\\@]{2}.*$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //Removed line
+ 7 => array(
+ GESHI_SEARCH => '(^|(?<=\A\s))\\-.*$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //Inserted line
+ 8 => array(
+ GESHI_SEARCH => '(^|(?<=\A\s))\\+.*$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //File specification
+ 9 => array(
+ GESHI_SEARCH => '(^|(?<=\A\s))(\\*){3}\\s.*$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/div.php b/application/libraries/geshi/div.php
new file mode 100644
index 000000000..5804bb727
--- /dev/null
+++ b/application/libraries/geshi/div.php
@@ -0,0 +1,126 @@
+<?php
+/*************************************************************************************
+ * div.php
+ * ---------------------------------
+ * Author: Gabriel Lorenzo (ermakina@gmail.com)
+ * Copyright: (c) 2005 Gabriel Lorenzo (http://ermakina.gazpachito.net)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/06/19
+ *
+ * DIV language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/06/22 (1.0.0)
+ * - First Release, includes "2nd gen" ELSEIF statement
+ *
+ * TODO (updated 2005/06/22)
+ * -------------------------
+ * - I'm pretty satisfied with this, so nothing for now... :P
+ *
+ *************************************************************************************
+ *
+ * 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' => 'DIV',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'while','until','to','switch','step','return','repeat','loop','if','from','frame','for','end','elseif',
+ 'else','default','debug','continue','clone','case','break','begin'
+ ),
+ 2 => array(
+ 'xor','whoami','type','sizeof','pointer','or','offset','not','neg','mod','id','dup','and','_ne','_lt',
+ '_le','_gt','_ge','_eq'
+ ),
+ 3 => array(
+ 'setup_program','program','process','private','local','import','global','function','const',
+ 'compiler_options'
+ ),
+ 4 => array(
+ 'word','struct','string','int','byte'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(',')','[',']','=','+','-','*','/','!','%','^','&',':',';',',','<','>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0040b1;',
+ 2 => 'color: #000000;',
+ 3 => 'color: #000066; font-weight: bold;',
+ 4 => 'color: #993333;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 'MULTI' => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #44aa44;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #202020;',
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #44aa44;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => 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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/dos.php b/application/libraries/geshi/dos.php
new file mode 100644
index 000000000..c111e1b5e
--- /dev/null
+++ b/application/libraries/geshi/dos.php
@@ -0,0 +1,198 @@
+<?php
+/*************************************************************************************
+ * dos.php
+ * -------
+ * Author: Alessandro Staltari (staltari@geocities.com)
+ * Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/07/05
+ *
+ * DOS language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2005/07/05 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2005/07/05)
+ * -------------------------
+ *
+ * - Highlight pipes and redirection (do we really need this?)
+ * - Add missing keywords.
+ * - Find a good hyperlink for keywords.
+ * - Improve styles.
+ *
+ * KNOWN ISSUES (updated 2005/07/07)
+ * ---------------------------------
+ *
+ * - Doesn't even try to handle spaces in variables name or labels (I can't
+ * find a reliable way to establish if a sting is a name or not, in some
+ * cases it depends on the contex or enviroment status).
+ * - Doesn't handle %%[letter] pseudo variable used inside FOR constructs
+ * (it should be done only into its scope: how to handle variable it?).
+ * - Doesn't handle %~[something] pseudo arguments.
+ * - If the same keyword is placed at the end of the line and the
+ * beginning of the next, the second occourrence is not highlighted
+ * (this should be a GeSHi bug, not related to the language definition).
+ * - I can't avoid to have keyword highlighted even when they are not used
+ * as keywords but, for example, as arguments to the echo command.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'DOS',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ //DOS comment lines
+ 'COMMENT_REGEXP' => array(1 => "/^\s*@?REM.*$/mi"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ /* Flow control keywords */
+ 1 => array(
+ 'if', 'else', 'goto', 'shift',
+ 'for', 'in', 'do',
+ 'call', 'exit'
+ ),
+ /* IF statement keywords */
+ 2 => array(
+ 'not', 'exist', 'errorlevel',
+ 'defined',
+ 'equ', 'neq', 'lss', 'leq', 'gtr', 'geq'
+ ),
+ /* Internal commands */
+ 3 => array(
+ 'cd', 'md', 'rd', 'chdir', 'mkdir', 'rmdir', 'dir',
+ 'del', 'copy', 'move', 'ren', 'rename',
+ 'echo',
+ 'setlocal', 'endlocal', 'set',
+ 'pause',
+ 'pushd', 'popd', 'title', 'verify'
+ ),
+ /* Special files */
+ 4 => array(
+ 'prn', 'nul', 'lpt3', 'lpt2', 'lpt1', 'con',
+ 'com4', 'com3', 'com2', 'com1', 'aux'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '@', '%'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #00b100; font-weight: bold;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #b1b100; font-weight: bold;',
+ 4 => 'color: #0000ff; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #ff0000; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #33cc33;',
+ 1 => 'color: #33cc33;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #b100b1; font-weight: bold;',
+ 1 => 'color: #448844;',
+ 2 => 'color: #448888;'
+ )
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.ss64.com/nt/{FNAMEL}.html',
+ 2 => 'http://www.ss64.com/nt/{FNAMEL}.html',
+ 3 => 'http://www.ss64.com/nt/{FNAMEL}.html',
+ 4 => 'http://www.ss64.com/nt/{FNAMEL}.html'
+ ),
+ 'REGEXPS' => array(
+ /* Label */
+ 0 => array(
+/* GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\s\n]*)',*/
+ GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\n]*)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'si',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ /* Variable assignement */
+ 1 => array(
+/* GESHI_SEARCH => '(SET[\s]+(?si:\/A[\s]+|\/P[\s]+|))([^=\s\n]+)([\s]*=)',*/
+ GESHI_SEARCH => '(SET[\s]+(?si:\/A[\s]+|\/P[\s]+|))([^=\n]+)([\s]*=)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'si',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ /* Arguments or variable evaluation */
+ 2 => array(
+/* GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((?<!%\d)%|)',*/
+ GESHI_SEARCH => '(%(?:%(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^%\n]*(?=%))((?<!%\d)%|)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'si',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 4 => array(
+ 'DISALLOWED_BEFORE' => '(?<!\w)'
+ )
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/dot.php b/application/libraries/geshi/dot.php
new file mode 100644
index 000000000..6e4df2fff
--- /dev/null
+++ b/application/libraries/geshi/dot.php
@@ -0,0 +1,164 @@
+<?php
+/*************************************************************************************
+ * dot.php
+ * ---------------------------------
+ * Author: Adrien Friggeri (adrien@friggeri.net)
+ * Copyright: (c) 2007 Adrien Friggeri (http://www.friggeri.net)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/05/30
+ *
+ * dot language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/05/30 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2007/05/30)
+ * -------------------------
+ * Everything
+ *
+ *************************************************************************************
+ *
+ * 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' => 'dot',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'URL', 'arrowhead', 'arrowsize', 'arrowtail', 'bb', 'bgcolor', 'bottomlabel',
+ 'center', 'clusterrank', 'color', 'comment', 'constraint', 'decorate',
+ 'dir', 'distortion', 'fillcolor', 'fixedsize', 'fontcolor',
+ 'fontname', 'fontsize', 'group', 'headclip', 'headlabel', 'headport',
+ 'height', 'id', 'label', 'labelangle', 'labeldistance', 'labelfontcolor',
+ 'labelfontname', 'labelfontsize', 'layer', 'layers', 'margin', 'mclimit',
+ 'minlen', 'nodesep', 'nslimit', 'ordering', 'orientation', 'page',
+ 'pagedir', 'peripheries', 'port_label_distance', 'quantum', 'rank', 'rankdir',
+ 'ranksep', 'ratio', 'regular', 'rotate', 'samehead', 'sametail', 'searchsize',
+ 'shape', 'shapefile', 'showboxes', 'sides', 'size', 'skew', 'style',
+ 'tailclip', 'taillabel', 'tailport', 'toplabel', 'weight', 'width'
+ ),
+ 2 => array(
+ 'node', 'graph', 'digraph', 'strict', 'edge', 'subgraph'
+ ),
+ 3 => array(
+ 'Mcircle', 'Mdiamond', 'Mrecord', 'Msquare', 'auto', 'back', 'bold',
+ 'both', 'box', 'circle', 'compress', 'dashed', 'diamond', 'dot',
+ 'dotted', 'doublecircle', 'doubleoctagon', 'egg', 'ellipse', 'epsf',
+ 'false', 'fill', 'filled', 'forward', 'global', 'hexagon', 'house',
+ 'inv', 'invdot', 'invhouse', 'invis', 'invodot', 'invtrapezium',
+ 'invtriangle', 'local', 'max', 'min', 'none', 'normal', 'octagon',
+ 'odot', 'out', 'parallelogram', 'plaintext', 'polygon', 'record',
+ 'same', 'solid', 'trapezium', 'triangle', 'tripleoctagon', 'true'
+ ),
+ 4 => array(
+ 'aliceblue', 'antiquewhite', 'aquamarine', 'azure', 'beige', 'bisque', 'black',
+ 'blanchedalmond', 'blue', 'blueviolet', 'brown', 'burlywood', 'cadetblue',
+ 'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson',
+ 'cyan', 'darkgoldenrod', 'darkgreen', 'darkkhaki', 'darkolivegreen',
+ 'darkorange', 'darkorchid', 'darksalmon', 'darkseagreen', 'darkslateblue',
+ 'darkslategray', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue',
+ 'dimgray', 'dodgerblue', 'firebrick', 'forestgreen', 'gainsboro', 'ghostwhite',
+ 'gold', 'goldenrod', 'gray', 'green', 'greenyellow', 'honeydew', 'hotpink',
+ 'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush',
+ 'lawngreen', 'lemonchiffon', 'lightblue', 'lightcyan', 'lightgoldenrod',
+ 'lightgoldenrodyellow', 'lightgray', 'lightpink', 'lightsalmon',
+ 'lightseagreen', 'lightskyblue', 'lightslateblue', 'lightslategray',
+ 'lightyellow', 'limegreen', 'linen', 'magenta', 'maroon', 'mediumaquamarine',
+ 'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen',
+ 'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred',
+ 'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'navy',
+ 'navyblue', 'oldlace', 'olivedrab', 'oralwhite', 'orange', 'orangered',
+ 'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred',
+ 'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'purple',
+ 'red', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'salmon2', 'sandybrown',
+ 'seagreen', 'seashell', 'sienna', 'skyblue', 'slateblue', 'slategray', 'snow',
+ 'springgreen', 'steelblue', 'tan', 'thistle', 'tomato', 'turquoise', 'violet',
+ 'violetred', 'wheat', 'white', 'whitesmoke', 'yellow', 'yellowgreen'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '{', '}', '-', '+', '*', '/', '<', '>', '!', '~', '%', '&', '|', '='
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000066;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #993333;',
+ 4 => 'color: #b1b100;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #339933;',
+ 'MULTI' => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #af624d; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'REGEXPS' => array(),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/eiffel.php b/application/libraries/geshi/eiffel.php
new file mode 100644
index 000000000..fa293c074
--- /dev/null
+++ b/application/libraries/geshi/eiffel.php
@@ -0,0 +1,395 @@
+<?php
+/*************************************************************************************
+ * eiffel.php
+ * ----------
+ * Author: Zoran Simic (zsimic@axarosenberg.com)
+ * Copyright: (c) 2005 Zoran Simic
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/06/30
+ *
+ * Eiffel language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/06/30 (1.0.7)
+ * - Initial release
+ *
+ * TODO (updated 2005/06/30)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Eiffel',
+ 'COMMENT_SINGLE' => array(1 => '--'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '%',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'separate',
+ 'invariant',
+ 'inherit',
+ 'indexing',
+ 'feature',
+ 'expanded',
+ 'deferred',
+ 'class'
+ ),
+ 2 => array(
+ 'xor',
+ 'when',
+ 'variant',
+ 'until',
+ 'unique',
+ 'undefine',
+ 'then',
+ 'strip',
+ 'select',
+ 'retry',
+ 'rescue',
+ 'require',
+ 'rename',
+ 'reference',
+ 'redefine',
+ 'prefix',
+ 'or',
+ 'once',
+ 'old',
+ 'obsolete',
+ 'not',
+ 'loop',
+ 'local',
+ 'like',
+ 'is',
+ 'inspect',
+ 'infix',
+ 'include',
+ 'implies',
+ 'if',
+ 'frozen',
+ 'from',
+ 'external',
+ 'export',
+ 'ensure',
+ 'end',
+ 'elseif',
+ 'else',
+ 'do',
+ 'creation',
+ 'create',
+ 'check',
+ 'as',
+ 'and',
+ 'alias',
+ 'agent'
+ ),
+ 3 => array(
+ 'Void',
+ 'True',
+ 'Result',
+ 'Precursor',
+ 'False',
+ 'Current'
+ ),
+ 4 => array(
+ 'UNIX_SIGNALS',
+ 'UNIX_FILE_INFO',
+ 'UNBOUNDED',
+ 'TWO_WAY_TREE_CURSOR',
+ 'TWO_WAY_TREE',
+ 'TWO_WAY_SORTED_SET',
+ 'TWO_WAY_LIST',
+ 'TWO_WAY_CURSOR_TREE',
+ 'TWO_WAY_CIRCULAR',
+ 'TWO_WAY_CHAIN_ITERATOR',
+ 'TUPLE',
+ 'TREE',
+ 'TRAVERSABLE',
+ 'TO_SPECIAL',
+ 'THREAD_CONTROL',
+ 'THREAD_ATTRIBUTES',
+ 'THREAD',
+ 'TABLE',
+ 'SUBSET',
+ 'STRING_HANDLER',
+ 'STRING',
+ 'STREAM',
+ 'STORABLE',
+ 'STD_FILES',
+ 'STACK',
+ 'SPECIAL',
+ 'SORTED_TWO_WAY_LIST',
+ 'SORTED_STRUCT',
+ 'SORTED_LIST',
+ 'SINGLE_MATH',
+ 'SET',
+ 'SEQUENCE',
+ 'SEQ_STRING',
+ 'SEMAPHORE',
+ 'ROUTINE',
+ 'RESIZABLE',
+ 'RECURSIVE_TREE_CURSOR',
+ 'RECURSIVE_CURSOR_TREE',
+ 'REAL_REF',
+ 'REAL',
+ 'RAW_FILE',
+ 'RANDOM',
+ 'QUEUE',
+ 'PROXY',
+ 'PROFILING_SETTING',
+ 'PROCEDURE',
+ 'PRIORITY_QUEUE',
+ 'PRIMES',
+ 'PRECOMP',
+ 'POINTER_REF',
+ 'POINTER',
+ 'PLATFORM',
+ 'PLAIN_TEXT_FILE',
+ 'PATH_NAME',
+ 'PART_SORTED_TWO_WAY_LIST',
+ 'PART_SORTED_SET',
+ 'PART_SORTED_LIST',
+ 'PART_COMPARABLE',
+ 'OPERATING_ENVIRONMENT',
+ 'ONCE_CONTROL',
+ 'OBJECT_OWNER',
+ 'OBJECT_CONTROL',
+ 'NUMERIC',
+ 'NONE',
+ 'MUTEX',
+ 'MULTI_ARRAY_LIST',
+ 'MULTAR_LIST_CURSOR',
+ 'MEMORY',
+ 'MEM_INFO',
+ 'MEM_CONST',
+ 'MATH_CONST',
+ 'LIST',
+ 'LINKED_TREE_CURSOR',
+ 'LINKED_TREE',
+ 'LINKED_STACK',
+ 'LINKED_SET',
+ 'LINKED_QUEUE',
+ 'LINKED_PRIORITY_QUEUE',
+ 'LINKED_LIST_CURSOR',
+ 'LINKED_LIST',
+ 'LINKED_CURSOR_TREE',
+ 'LINKED_CIRCULAR',
+ 'LINKABLE',
+ 'LINEAR_ITERATOR',
+ 'LINEAR',
+ 'ITERATOR',
+ 'IO_MEDIUM',
+ 'INTERNAL',
+ 'INTEGER_REF',
+ 'INTEGER_INTERVAL',
+ 'INTEGER',
+ 'INFINITE',
+ 'INDEXABLE',
+ 'IDENTIFIED_CONTROLLER',
+ 'IDENTIFIED',
+ 'HIERARCHICAL',
+ 'HEAP_PRIORITY_QUEUE',
+ 'HASHABLE',
+ 'HASH_TABLE_CURSOR',
+ 'HASH_TABLE',
+ 'GENERAL',
+ 'GC_INFO',
+ 'FUNCTION',
+ 'FORMAT_INTEGER',
+ 'FORMAT_DOUBLE',
+ 'FIXED_TREE',
+ 'FIXED_LIST',
+ 'FIXED',
+ 'FINITE',
+ 'FILE_NAME',
+ 'FILE',
+ 'FIBONACCI',
+ 'EXECUTION_ENVIRONMENT',
+ 'EXCEPTIONS',
+ 'EXCEP_CONST',
+ 'DYNAMIC_TREE',
+ 'DYNAMIC_LIST',
+ 'DYNAMIC_CIRCULAR',
+ 'DYNAMIC_CHAIN',
+ 'DOUBLE_REF',
+ 'DOUBLE_MATH',
+ 'DOUBLE',
+ 'DISPENSER',
+ 'DIRECTORY_NAME',
+ 'DIRECTORY',
+ 'DECLARATOR',
+ 'DEBUG_OUTPUT',
+ 'CURSOR_TREE_ITERATOR',
+ 'CURSOR_TREE',
+ 'CURSOR_STRUCTURE',
+ 'CURSOR',
+ 'COUNTABLE_SEQUENCE',
+ 'COUNTABLE',
+ 'CONTAINER',
+ 'CONSOLE',
+ 'CONDITION_VARIABLE',
+ 'COMPARABLE_STRUCT',
+ 'COMPARABLE_SET',
+ 'COMPARABLE',
+ 'COMPACT_TREE_CURSOR',
+ 'COMPACT_CURSOR_TREE',
+ 'COLLECTION',
+ 'CIRCULAR_CURSOR',
+ 'CIRCULAR',
+ 'CHARACTER_REF',
+ 'CHARACTER',
+ 'CHAIN',
+ 'CELL',
+ 'BOX',
+ 'BOUNDED_STACK',
+ 'BOUNDED_QUEUE',
+ 'BOUNDED',
+ 'BOOLEAN_REF',
+ 'BOOLEAN',
+ 'BOOL_STRING',
+ 'BIT_REF',
+ 'BINARY_TREE',
+ 'BINARY_SEARCH_TREE_SET',
+ 'BINARY_SEARCH_TREE',
+ 'BILINEAR',
+ 'BI_LINKABLE',
+ 'BASIC_ROUTINES',
+ 'BAG',
+ 'ASCII',
+ 'ARRAYED_TREE',
+ 'ARRAYED_STACK',
+ 'ARRAYED_QUEUE',
+ 'ARRAYED_LIST_CURSOR',
+ 'ARRAYED_LIST',
+ 'ARRAYED_CIRCULAR',
+ 'ARRAY2',
+ 'ARRAY',
+ 'ARGUMENTS',
+ 'ANY',
+ 'ACTIVE'
+ ),
+ 5 => array(
+ 'yes',
+ 'visible',
+ 'trace',
+ 'system',
+ 'root',
+ 'profile',
+ 'override_cluster',
+ 'object',
+ 'no',
+ 'multithreaded',
+ 'msil_generation_type',
+ 'line_generation',
+ 'library',
+ 'inlining_size',
+ 'inlining',
+ 'include_path',
+ 'il_verifiable',
+ 'exclude',
+ 'exception_trace',
+ 'dynamic_runtime',
+ 'dotnet_naming_convention',
+ 'disabled_debug',
+ 'default',
+ 'debug',
+ 'dead_code_removal',
+ 'console_application',
+ 'cluster',
+ 'cls_compliant',
+ 'check_vape',
+ 'assertion',
+ 'array_optimization',
+ 'all',
+ 'address_expression'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', '|', ':',
+ '(', ')', '{', '}', '[', ']', '#'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => true,
+ 5 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0600FF; font-weight: bold;',
+ 2 => 'color: #0600FF; font-weight: bold;',
+ 3 => 'color: #800080;',
+ 4 => 'color: #800000',
+ 5 => 'color: #603000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000; font-style: italic;',
+ 'MULTI' => ''
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #005070; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #FF0000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #0080A0;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #FF0000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #000060;',
+ 2 => 'color: #000050;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #600000;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => 'http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+{FNAMEL}&amp;btnI=I%27m+Feeling+Lucky',
+ 5 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/email.php b/application/libraries/geshi/email.php
new file mode 100644
index 000000000..a902433bf
--- /dev/null
+++ b/application/libraries/geshi/email.php
@@ -0,0 +1,210 @@
+<?php
+/*************************************************************************************
+ * email.php
+ * ---------------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/10/19
+ *
+ * Email (mbox \ eml \ RFC format) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/19 (1.0.8.1)
+ * - First Release
+ *
+ * TODO (updated 2008/10/19)
+ * -------------------------
+ * * Better checks when a header field should be expected
+ * * Fix the bound checks for kw groups 2 and 3, as well as rx group 1
+ *
+ *************************************************************************************
+ *
+ * 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' => 'eMail (mbox)',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'HTTP', 'SMTP', 'ASMTP', 'ESMTP'
+ ),
+ 2 => array(
+ 'Authentication-Results','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'
+ ),
+ 3 => array(
+ 'Date','From','Subject','To',
+ ),
+ 4 => array(
+ 'by', 'for', 'from', 'id', 'with'
+ )
+ ),
+ 'SYMBOLS' => array(
+ ':', ';', '<', '>', '[', ']'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => false,
+ 3 => false,
+ 4 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000FF; font-weight: bold;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #800000; font-weight: bold;',
+ 4 => 'font-weight: bold;',
+ ),
+ '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(
+ 0 => 'color: #000040;',
+ ),
+ 'REGEXPS' => array(
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #0000FF;',
+ 3 => 'color: #008000;',
+ 4 => 'color: #0000FF; font-weight: bold;',
+ 5 => 'font-weight: bold;',
+ 6 => 'color: #400080;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ // Non-Standard-Header
+ 1 => array(
+ GESHI_SEARCH => "(?<=\A\x20|\n)x-[a-z0-9\-]*(?=\s*:|\s*<)",
+ GESHI_REPLACE => "\\0",
+ GESHI_MODIFIERS => "smi",
+ GESHI_BEFORE => "",
+ GESHI_AFTER => ""
+ ),
+ //Email-Adresses or Mail-IDs
+ 2 => array(
+ GESHI_SEARCH => "\b[\w\.\-]+@\w+(?:(?:\.\w+)*\.\w{2,4})?",
+ GESHI_REPLACE => "\\0",
+ GESHI_MODIFIERS => "mi",
+ GESHI_BEFORE => "",
+ GESHI_AFTER => ""
+ ),
+ //Date values in RFC format
+ 3 => array(
+ GESHI_SEARCH => "\b(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s+\d\d?\s+" .
+ "(?:Jan|Feb|Mar|apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+" .
+ "\d{4}\s+\d\d?:\d\d:\d\d\s+[+\-]\d{4}(?:\s+\(\w+\))?",
+ GESHI_REPLACE => "\\0",
+ GESHI_MODIFIERS => "mi",
+ GESHI_BEFORE => "",
+ GESHI_AFTER => ""
+ ),
+ //IP addresses
+ 4 => array(
+ GESHI_SEARCH => "(?<=\s)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\s)|".
+ "(?<=\[)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\])|".
+ "(?<==)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=<)",
+ GESHI_REPLACE => "\\0",
+ GESHI_MODIFIERS => "i",
+ GESHI_BEFORE => "",
+ GESHI_AFTER => ""
+ ),
+ //Field-Assignments
+ 5 => array(
+ GESHI_SEARCH => "(?<=\s)[A-Z0-9\-\.]+(?==(?:$|\s$|[^\s=]))",
+ GESHI_REPLACE => "\\0",
+ GESHI_MODIFIERS => "mi",
+ GESHI_BEFORE => "",
+ GESHI_AFTER => ""
+ ),
+ //MIME type
+ 6 => array(
+ GESHI_SEARCH => "(?<=\s)(?:audio|application|image|multipart|text|".
+ "video|x-[a-z0-9\-]+)\/[a-z0-9][a-z0-9\-]*(?=\s|<|$)",
+ GESHI_REPLACE => "\\0",
+ GESHI_MODIFIERS => "m",
+ GESHI_BEFORE => "",
+ GESHI_AFTER => ""
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => "/(?P<start>^)[A-Z][a-zA-Z0-9\-]*\s*:\s*(?:.|(?=\n\s)\n)*(?P<end>$)/m"
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 2 => array(
+ 'DISALLOWED_BEFORE' => '(?<=\A\x20|\n)',
+ 'DISALLOWED_AFTER' => '(?=\s*:)',
+ ),
+ 3 => array(
+ 'DISALLOWED_BEFORE' => '(?<=\A\x20|\n)',
+ 'DISALLOWED_AFTER' => '(?=\s*:)',
+ ),
+ 4 => array(
+ 'DISALLOWED_BEFORE' => '(?<=\s)',
+ 'DISALLOWED_AFTER' => '(?=\s|\b)',
+ )
+ ),
+ 'ENABLE_FLAGS' => array(
+ 'BRACKETS' => GESHI_NEVER,
+ 'COMMENTS' => GESHI_NEVER,
+ 'NUMBERS' => GESHI_NEVER
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/erlang.php b/application/libraries/geshi/erlang.php
new file mode 100644
index 000000000..cb7f25bf8
--- /dev/null
+++ b/application/libraries/geshi/erlang.php
@@ -0,0 +1,441 @@
+<?php
+/*************************************************************************************
+ * erlang.php
+ * --------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Contributions:
+ * - 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
+ * Date Started: 2008-09-27
+ *
+ * Erlang language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/05/02 (1.0.8.3)
+ * - Now using 'PARSER_CONTROL' instead of huge rexgexps, better and cleaner
+ *
+ * 2009/04/26 (1.0.8.3)
+ * - Only link to existing docs / Fixes
+ *
+ * 2008-09-28 (1.0.0.1)
+ * [!] Bug fixed with keyword module.
+ * [+] Added more function names
+ *
+ * 2008-09-27 (1.0.0)
+ * [ ] First Release
+ *
+ * TODO (updated 2008-09-27)
+ * -------------------------
+ * [!] Stop ';' from being transformed to '<SEMI>'
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Erlang',
+ 'COMMENT_SINGLE' => array(1 => '%'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'HARDQUOTE' => array("'", "'"),
+ 'HARDESCAPE' => array("'", "\\"),
+ 'HARDCHAR' => "\\",
+ 'ESCAPE_CHAR' => '\\',
+ 'NUMBERS' => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO,
+ 'KEYWORDS' => array(
+ //Control flow keywrods
+ 1 => array(
+ 'after', 'andalso', 'begin', 'case', 'catch', 'end', 'fun', 'if',
+ 'of', 'orelse', 'receive', 'try', 'when', 'query'
+ ),
+ //Binary operators
+ 2 => array(
+ 'and', 'band', 'bnot', 'bor', 'bsl', 'bsr', 'bxor', 'div', 'not',
+ 'or', 'rem', 'xor'
+ ),
+ 3 => array(
+ 'abs', 'alive', 'apply', 'atom_to_list', 'binary_to_list',
+ 'binary_to_term', 'concat_binary', 'date', 'disconnect_node',
+ 'element', 'erase', 'exit', 'float', 'float_to_list', 'get',
+ 'get_keys', 'group_leader', 'halt', 'hd', 'integer_to_list',
+ 'is_alive', 'length', 'link', 'list_to_atom', 'list_to_binary',
+ 'list_to_float', 'list_to_integer', 'list_to_pid', 'list_to_tuple',
+ 'load_module', 'make_ref', 'monitor_node', 'node', 'nodes', 'now',
+ 'open_port', 'pid_to_list', 'process_flag', 'process_info',
+ 'process', 'put', 'register', 'registered', 'round', 'self',
+ 'setelement', 'size', 'spawn', 'spawn_link', 'split_binary',
+ 'statistics', 'term_to_binary', 'throw', 'time', 'tl', 'trunc',
+ 'tuple_to_list', 'unlink', 'unregister', 'whereis'
+ ),
+ // Built-In Functions
+ 4 => array(
+ 'atom', 'binary', 'constant', 'function', 'integer', 'is_atom',
+ 'is_binary', 'is_constant', 'is_function', 'is_integer', 'is_list',
+ 'is_number', 'is_pid', 'is_reference', 'is_record', 'list',
+ 'number', 'pid', 'ports', 'port_close', 'port_info', 'reference'
+ ),
+ // Erlang/OTP internal modules (scary one)
+ 5 => array(
+ 'alarm_handler', 'any', 'app', 'application', 'appmon', 'appup',
+ 'array', 'asn1ct', 'asn1rt', 'auth', 'base64', 'beam_lib', 'c',
+ 'calendar', 'code', 'common_test_app', 'compile', 'config',
+ 'corba', 'corba_object', 'cosEventApp', 'CosEventChannelAdmin',
+ 'CosEventChannelAdmin_ConsumerAdmin',
+ 'CosEventChannelAdmin_EventChannel',
+ 'CosEventChannelAdmin_ProxyPullConsumer',
+ 'CosEventChannelAdmin_ProxyPullSupplier',
+ 'CosEventChannelAdmin_ProxyPushConsumer',
+ 'CosEventChannelAdmin_ProxyPushSupplier',
+ 'CosEventChannelAdmin_SupplierAdmin', 'CosEventDomainAdmin',
+ 'CosEventDomainAdmin_EventDomain',
+ 'CosEventDomainAdmin_EventDomainFactory',
+ 'cosEventDomainApp', 'CosFileTransfer_Directory',
+ 'CosFileTransfer_File', 'CosFileTransfer_FileIterator',
+ 'CosFileTransfer_FileTransferSession',
+ 'CosFileTransfer_VirtualFileSystem',
+ 'cosFileTransferApp', 'CosNaming', 'CosNaming_BindingIterator',
+ 'CosNaming_NamingContext', 'CosNaming_NamingContextExt',
+ 'CosNotification', 'CosNotification_AdminPropertiesAdmin',
+ 'CosNotification_QoSAdmin', 'cosNotificationApp',
+ 'CosNotifyChannelAdmin_ConsumerAdmin',
+ 'CosNotifyChannelAdmin_EventChannel',
+ 'CosNotifyChannelAdmin_EventChannelFactory',
+ 'CosNotifyChannelAdmin_ProxyConsumer',
+ 'CosNotifyChannelAdmin_ProxyPullConsumer',
+ 'CosNotifyChannelAdmin_ProxyPullSupplier',
+ 'CosNotifyChannelAdmin_ProxyPushConsumer',
+ 'CosNotifyChannelAdmin_ProxyPushSupplier',
+ 'CosNotifyChannelAdmin_ProxySupplier',
+ 'CosNotifyChannelAdmin_SequenceProxyPullConsumer',
+ 'CosNotifyChannelAdmin_SequenceProxyPullSupplier',
+ 'CosNotifyChannelAdmin_SequenceProxyPushConsumer',
+ 'CosNotifyChannelAdmin_SequenceProxyPushSupplier',
+ 'CosNotifyChannelAdmin_StructuredProxyPullConsumer',
+ 'CosNotifyChannelAdmin_StructuredProxyPullSupplier',
+ 'CosNotifyChannelAdmin_StructuredProxyPushConsumer',
+ 'CosNotifyChannelAdmin_StructuredProxyPushSupplier',
+ 'CosNotifyChannelAdmin_SupplierAdmin',
+ 'CosNotifyComm_NotifyPublish', 'CosNotifyComm_NotifySubscribe',
+ 'CosNotifyFilter_Filter', 'CosNotifyFilter_FilterAdmin',
+ 'CosNotifyFilter_FilterFactory', 'CosNotifyFilter_MappingFilter',
+ 'cosProperty', 'CosPropertyService_PropertiesIterator',
+ 'CosPropertyService_PropertyNamesIterator',
+ 'CosPropertyService_PropertySet',
+ 'CosPropertyService_PropertySetDef',
+ 'CosPropertyService_PropertySetDefFactory',
+ 'CosPropertyService_PropertySetFactory', 'cosTime',
+ 'CosTime_TimeService', 'CosTime_TIO', 'CosTime_UTO',
+ 'CosTimerEvent_TimerEventHandler',
+ 'CosTimerEvent_TimerEventService', 'cosTransactions',
+ 'CosTransactions_Control', 'CosTransactions_Coordinator',
+ 'CosTransactions_RecoveryCoordinator', 'CosTransactions_Resource',
+ 'CosTransactions_SubtransactionAwareResource',
+ 'CosTransactions_Terminator', 'CosTransactions_TransactionFactory',
+ 'cover', 'cprof', 'cpu_sup', 'crashdump', 'crypto', 'crypto_app',
+ 'ct', 'ct_cover', 'ct_ftp', 'ct_master', 'ct_rpc', 'ct_snmp',
+ 'ct_ssh', 'ct_telnet', 'dbg', 'debugger', 'dets', 'dialyzer',
+ 'dict', 'digraph', 'digraph_utils', 'disk_log', 'disksup',
+ 'docb_gen', 'docb_transform', 'docb_xml_check', 'docbuilder_app',
+ 'driver_entry', 'edoc', 'edoc_doclet', 'edoc_extract',
+ 'edoc_layout', 'edoc_lib', 'edoc_run', 'egd', 'ei', 'ei_connect',
+ 'epmd', 'epp', 'epp_dodger', 'eprof', 'erl', 'erl_boot_server',
+ 'erl_call', 'erl_comment_scan', 'erl_connect', 'erl_ddll',
+ 'erl_driver', 'erl_error', 'erl_eterm', 'erl_eval',
+ 'erl_expand_records', 'erl_format', 'erl_global', 'erl_id_trans',
+ 'erl_internal', 'erl_lint', 'erl_malloc', 'erl_marshal',
+ 'erl_parse', 'erl_pp', 'erl_prettypr', 'erl_prim_loader',
+ 'erl_prim_loader_stub', 'erl_recomment', 'erl_scan',
+ 'erl_set_memory_block', 'erl_syntax', 'erl_syntax_lib', 'erl_tar',
+ 'erl_tidy', 'erlang', 'erlang_mode', 'erlang_stub', 'erlc',
+ 'erlsrv', 'error_handler', 'error_logger', 'erts_alloc',
+ 'erts_alloc_config', 'escript', 'et', 'et_collector',
+ 'et_selector', 'et_viewer', 'etop', 'ets', 'eunit', 'file',
+ 'file_sorter', 'filelib', 'filename', 'fixed', 'fprof', 'ftp',
+ 'gb_sets', 'gb_trees', 'gen_event', 'gen_fsm', 'gen_sctp',
+ 'gen_server', 'gen_tcp', 'gen_udp', 'gl', 'global', 'global_group',
+ 'glu', 'gs', 'heart', 'http', 'httpd', 'httpd_conf',
+ 'httpd_socket', 'httpd_util', 'i', 'ic', 'ic_c_protocol',
+ 'ic_clib', 'igor', 'inet', 'inets', 'init', 'init_stub',
+ 'instrument', 'int', 'interceptors', 'inviso', 'inviso_as_lib',
+ 'inviso_lfm', 'inviso_lfm_tpfreader', 'inviso_rt',
+ 'inviso_rt_meta', 'io', 'io_lib', 'kernel_app', 'lib', 'lists',
+ 'lname', 'lname_component', 'log_mf_h', 'make', 'math', 'megaco',
+ 'megaco_codec_meas', 'megaco_codec_transform',
+ 'megaco_edist_compress', 'megaco_encoder', 'megaco_flex_scanner',
+ 'megaco_tcp', 'megaco_transport', 'megaco_udp', 'megaco_user',
+ 'memsup', 'mnesia', 'mnesia_frag_hash', 'mnesia_registry',
+ 'mod_alias', 'mod_auth', 'mod_esi', 'mod_security',
+ 'Module_Interface', 'ms_transform', 'net_adm', 'net_kernel',
+ 'new_ssl', 'nteventlog', 'observer_app', 'odbc', 'orber',
+ 'orber_acl', 'orber_diagnostics', 'orber_ifr', 'orber_tc',
+ 'orddict', 'ordsets', 'os', 'os_mon', 'os_mon_mib', 'os_sup',
+ 'otp_mib', 'overload', 'packages', 'percept', 'percept_profile',
+ 'pg', 'pg2', 'pman', 'pool', 'prettypr', 'proc_lib', 'proplists',
+ 'public_key', 'qlc', 'queue', 'random', 'rb', 're', 'regexp',
+ 'registry', 'rel', 'release_handler', 'reltool', 'relup', 'rpc',
+ 'run_erl', 'run_test', 'runtime_tools_app', 'sasl_app', 'script',
+ 'seq_trace', 'sets', 'shell', 'shell_default', 'slave', 'snmp',
+ 'snmp_app', 'snmp_community_mib', 'snmp_framework_mib',
+ 'snmp_generic', 'snmp_index', 'snmp_notification_mib', 'snmp_pdus',
+ 'snmp_standard_mib', 'snmp_target_mib', 'snmp_user_based_sm_mib',
+ 'snmp_view_based_acm_mib', 'snmpa', 'snmpa_conf', 'snmpa_error',
+ 'snmpa_error_io', 'snmpa_error_logger', 'snmpa_error_report',
+ 'snmpa_local_db', 'snmpa_mpd', 'snmpa_network_interface',
+ 'snmpa_network_interface_filter',
+ 'snmpa_notification_delivery_info_receiver',
+ 'snmpa_notification_filter', 'snmpa_supervisor', 'snmpc', 'snmpm',
+ 'snmpm_conf', 'snmpm_mpd', 'snmpm_network_interface', 'snmpm_user',
+ 'sofs', 'ssh', 'ssh_channel', 'ssh_connection', 'ssh_sftp',
+ 'ssh_sftpd', 'ssl', 'ssl_app', 'ssl_pkix', 'start', 'start_erl',
+ 'start_webtool', 'stdlib_app', 'string', 'supervisor',
+ 'supervisor_bridge', 'sys', 'systools', 'tags', 'test_server',
+ 'test_server_app', 'test_server_ctrl', 'tftp', 'timer', 'toolbar',
+ 'ttb', 'tv', 'unicode', 'unix_telnet', 'user', 'webtool', 'werl',
+ 'win32reg', 'wrap_log_reader', 'wx', 'wx_misc', 'wx_object',
+ 'wxAcceleratorEntry', 'wxAcceleratorTable', 'wxArtProvider',
+ 'wxAuiDockArt', 'wxAuiManager', 'wxAuiNotebook', 'wxAuiPaneInfo',
+ 'wxAuiTabArt', 'wxBitmap', 'wxBitmapButton', 'wxBitmapDataObject',
+ 'wxBoxSizer', 'wxBrush', 'wxBufferedDC', 'wxBufferedPaintDC',
+ 'wxButton', 'wxCalendarCtrl', 'wxCalendarDateAttr',
+ 'wxCalendarEvent', 'wxCaret', 'wxCheckBox', 'wxCheckListBox',
+ 'wxChildFocusEvent', 'wxChoice', 'wxClientDC', 'wxClipboard',
+ 'wxCloseEvent', 'wxColourData', 'wxColourDialog',
+ 'wxColourPickerCtrl', 'wxColourPickerEvent', 'wxComboBox',
+ 'wxCommandEvent', 'wxContextMenuEvent', 'wxControl',
+ 'wxControlWithItems', 'wxCursor', 'wxDataObject', 'wxDateEvent',
+ 'wxDatePickerCtrl', 'wxDC', 'wxDialog', 'wxDirDialog',
+ 'wxDirPickerCtrl', 'wxDisplayChangedEvent', 'wxEraseEvent',
+ 'wxEvent', 'wxEvtHandler', 'wxFileDataObject', 'wxFileDialog',
+ 'wxFileDirPickerEvent', 'wxFilePickerCtrl', 'wxFindReplaceData',
+ 'wxFindReplaceDialog', 'wxFlexGridSizer', 'wxFocusEvent', 'wxFont',
+ 'wxFontData', 'wxFontDialog', 'wxFontPickerCtrl',
+ 'wxFontPickerEvent', 'wxFrame', 'wxGauge', 'wxGBSizerItem',
+ 'wxGenericDirCtrl', 'wxGLCanvas', 'wxGraphicsBrush',
+ 'wxGraphicsContext', 'wxGraphicsFont', 'wxGraphicsMatrix',
+ 'wxGraphicsObject', 'wxGraphicsPath', 'wxGraphicsPen',
+ 'wxGraphicsRenderer', 'wxGrid', 'wxGridBagSizer', 'wxGridCellAttr',
+ 'wxGridCellEditor', 'wxGridCellRenderer', 'wxGridEvent',
+ 'wxGridSizer', 'wxHelpEvent', 'wxHtmlEasyPrinting', 'wxIcon',
+ 'wxIconBundle', 'wxIconizeEvent', 'wxIdleEvent', 'wxImage',
+ 'wxImageList', 'wxJoystickEvent', 'wxKeyEvent',
+ 'wxLayoutAlgorithm', 'wxListBox', 'wxListCtrl', 'wxListEvent',
+ 'wxListItem', 'wxListView', 'wxMask', 'wxMaximizeEvent',
+ 'wxMDIChildFrame', 'wxMDIClientWindow', 'wxMDIParentFrame',
+ 'wxMemoryDC', 'wxMenu', 'wxMenuBar', 'wxMenuEvent', 'wxMenuItem',
+ 'wxMessageDialog', 'wxMiniFrame', 'wxMirrorDC',
+ 'wxMouseCaptureChangedEvent', 'wxMouseEvent', 'wxMoveEvent',
+ 'wxMultiChoiceDialog', 'wxNavigationKeyEvent', 'wxNcPaintEvent',
+ 'wxNotebook', 'wxNotebookEvent', 'wxNotifyEvent',
+ 'wxPageSetupDialog', 'wxPageSetupDialogData', 'wxPaintDC',
+ 'wxPaintEvent', 'wxPalette', 'wxPaletteChangedEvent', 'wxPanel',
+ 'wxPasswordEntryDialog', 'wxPen', 'wxPickerBase', 'wxPostScriptDC',
+ 'wxPreviewCanvas', 'wxPreviewControlBar', 'wxPreviewFrame',
+ 'wxPrintData', 'wxPrintDialog', 'wxPrintDialogData', 'wxPrinter',
+ 'wxPrintout', 'wxPrintPreview', 'wxProgressDialog',
+ 'wxQueryNewPaletteEvent', 'wxRadioBox', 'wxRadioButton',
+ 'wxRegion', 'wxSashEvent', 'wxSashLayoutWindow', 'wxSashWindow',
+ 'wxScreenDC', 'wxScrollBar', 'wxScrolledWindow', 'wxScrollEvent',
+ 'wxScrollWinEvent', 'wxSetCursorEvent', 'wxShowEvent',
+ 'wxSingleChoiceDialog', 'wxSizeEvent', 'wxSizer', 'wxSizerFlags',
+ 'wxSizerItem', 'wxSlider', 'wxSpinButton', 'wxSpinCtrl',
+ 'wxSpinEvent', 'wxSplashScreen', 'wxSplitterEvent',
+ 'wxSplitterWindow', 'wxStaticBitmap', 'wxStaticBox',
+ 'wxStaticBoxSizer', 'wxStaticLine', 'wxStaticText', 'wxStatusBar',
+ 'wxStdDialogButtonSizer', 'wxStyledTextCtrl', 'wxStyledTextEvent',
+ 'wxSysColourChangedEvent', 'wxTextAttr', 'wxTextCtrl',
+ 'wxTextDataObject', 'wxTextEntryDialog', 'wxToggleButton',
+ 'wxToolBar', 'wxToolTip', 'wxTopLevelWindow', 'wxTreeCtrl',
+ 'wxTreeEvent', 'wxUpdateUIEvent', 'wxWindow', 'wxWindowCreateEvent',
+ 'wxWindowDC', 'wxWindowDestroyEvent', 'wxXmlResource', 'xmerl',
+ 'xmerl_eventp', 'xmerl_scan', 'xmerl_xpath', 'xmerl_xs',
+ 'xmerl_xsd', 'xref', 'yecc', 'zip', 'zlib', 'zlib_stub'
+ ),
+ // Binary modifiers
+ 6 => array(
+ 'big', 'binary', 'float', 'integer', 'little', 'signed', 'unit', 'unsigned'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 0 => array('(', ')', '[', ']', '{', '}'),
+ 1 => array('->', ',', ';', '.'),
+ 2 => array('<<', '>>'),
+ 3 => array('=', '||', '-', '+', '*', '/', '++', '--', '!', '<', '>', '>=',
+ '=<', '==', '/=', '=:=', '=/=')
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true,
+ 6 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #186895;',
+ 2 => 'color: #014ea4;',
+ 3 => 'color: #fa6fff;',
+ 4 => 'color: #fa6fff;',
+ 5 => 'color: #ff4e18;',
+ 6 => 'color: #9d4f37;'
+ ),
+ '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: #109ab8;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff7800;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #ff9600;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #004866;',
+ 1 => 'color: #6bb810;',
+ 2 => 'color: #ee3800;',
+ 3 => 'color: #014ea4;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #6941fd;',
+ 1 => 'color: #d400ed;',
+ 2 => 'color: #5400b3;',
+ 3 => 'color: #ff3c00;',
+ 4 => 'color: #6941fd;',
+ 5 => 'color: #45b3e6;',
+ 6 => 'color: #ff9600;',
+ 7 => 'color: #d400ed;',
+ 8 => 'color: #ff9600;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => 'http://erlang.org/doc/man/{FNAME}.html',
+ 6 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '-&gt;',
+ 2 => ':'
+ ),
+ 'REGEXPS' => array(
+ // Macro definitions
+ 0 => array(
+ GESHI_SEARCH => '(-define\s*\()([a-zA-Z0-9_]+)(\(|,)',
+ GESHI_REPLACE => '\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => '\3'
+ ),
+ // Record definitions
+ 1 => array(
+ GESHI_SEARCH => '(-record\s*\()([a-zA-Z0-9_]+)(,)',
+ GESHI_REPLACE => '\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => '\3'
+ ),
+ // Precompiler directives
+ 2 => array(
+ GESHI_SEARCH => '(-)([a-z][a-zA-Z0-9_]*)(\()',
+ GESHI_REPLACE => '\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => '\3'
+ ),
+ // Functions
+ 3 => array(
+ GESHI_SEARCH => '([a-z][a-zA-Z0-9_]*|\'[a-zA-Z0-9_]*\')\s*(\()',
+ GESHI_REPLACE => '\1',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => '\2'
+ ),
+ // Macros
+ 4 => array(
+ GESHI_SEARCH => '(\?)([a-zA-Z0-9_]+)',
+ GESHI_REPLACE => '\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => ''
+ ),
+ // Variables - With hack to avoid interfering wish GeSHi internals
+ 5 => array(
+ GESHI_SEARCH => '([([{,<+*-\/=\s!]|&lt;)(?!(?:PIPE|SEMI|DOT|NUM|REG3XP\d*)[^a-zA-Z0-9_])([A-Z_][a-zA-Z0-9_]*)',
+ GESHI_REPLACE => '\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => ''
+ ),
+ // ASCII codes
+ 6 => '(\$[a-zA-Z0-9_])',
+ // Records
+ 7 => array(
+ GESHI_SEARCH => '(#)([a-z][a-zA-Z0-9_]*)(\.|\{)',
+ GESHI_REPLACE => '\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => '\3'
+ ),
+ // Numbers with a different radix
+ 8 => '(?<=>)(#[a-zA-Z0-9]*)'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 3 => array(
+ 'DISALLOWED_BEFORE' => '',
+ 'DISALLOWED_AFTER' => '(?=\s*\()'
+ ),
+ 5 => array(
+ 'DISALLOWED_BEFORE' => '(?<=\'|)',
+ 'DISALLOWED_AFTER' => '(?=(\'|):)'
+ ),
+ 6 => array(
+ 'DISALLOWED_BEFORE' => '(?<=\/|-)',
+ 'DISALLOWED_AFTER' => ''
+ )
+ )
+ ),
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/fo.php b/application/libraries/geshi/fo.php
new file mode 100644
index 000000000..aa4567961
--- /dev/null
+++ b/application/libraries/geshi/fo.php
@@ -0,0 +1,327 @@
+<?php
+/*************************************************************************************
+ * fo.php
+ * --------
+ * Author: Tan-Vinh Nguyen (tvnguyen@web.de)
+ * Copyright: (c) 2009 Tan-Vinh Nguyen
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/03/23
+ *
+ * fo language file for GeSHi.
+ *
+ * FO stands for "Flexible Oberflaechen" (Flexible Surfaces) and
+ * is part of the abas-ERP.
+ *
+ * CHANGES
+ * -------
+ * 2009/03/23 (1.0.0)
+ * - First Release
+ * Basic commands in German and English
+ *
+ *************************************************************************************
+ *
+ * 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' => 'FO (abas-ERP)',
+ 'COMMENT_SINGLE' => array(1 => '..'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ //Control Flow
+ 1 => array(
+ /* see http://www.abas.de/sub_de/kunden/help/hd/html/9.html */
+
+ /* fo keywords, part 1: control flow */
+ '.weiter', '.continue'
+
+ /* this language works with goto's only*/
+ ),
+
+ //FO Keywords
+ 2 => array(
+ /* fo keywords, part 2 */
+ '.fo', '.formel', '.formula',
+ '.zuweisen', '.assign',
+ '.fehler', '.error',
+ '.ende', '.end'
+ ),
+
+ //Java Keywords
+ 3 => array(
+ /* Java keywords, part 3: primitive data types */
+ '.art', '.type',
+ 'integer', 'real', 'bool', 'text', 'datum', 'woche', 'termin', 'zeit',
+ 'mehr', 'MEHR'
+ ),
+
+ //Reserved words in fo literals
+ 4 => array(
+ /* other reserved words in fo literals */
+ /* should be styled to look similar to numbers and Strings */
+ 'false', 'null', 'true',
+ 'OBJEKT',
+ 'VORGANG', 'PROCESS',
+ 'OFFEN', 'OPEN',
+ 'ABORT',
+ 'AN', 'ADDEDTO',
+ 'AUF', 'NEW',
+ 'BILDSCHIRM', 'TERMINAL',
+ 'PC',
+ 'MASKE', 'SCREEN',
+ 'ZEILE', 'LINE'
+ ),
+
+ // interpreter settings
+ 5 => array (
+ '..!INTERPRETER', 'DEBUG'
+ ),
+
+ // database commands
+ 6 => array (
+ '.hole', '.hol', '.select',
+ '.lade', '.load',
+ '.aktion', '.action',
+ '.belegen', '.occupy',
+ '.bringe', '.rewrite',
+ '.dazu', '.add',
+ '.löschen', '.delete',
+ '.mache', '.make',
+ '.merke', '.reserve',
+ '.setze', '.set',
+ 'SPERREN', 'LOCK',
+ 'TEIL', 'PART',
+ 'KEINESPERRE',
+ 'AMASKE', 'ASCREEN',
+ 'BETRIEB', 'WORK-ORDER',
+ 'NUMERISCH', 'NUMERICAL',
+ 'VORSCHLAG', 'SUGGESTION',
+ 'OBLIGO', 'OUTSTANDING',
+ 'LISTE', 'LIST',
+ 'DRUCK', 'PRINT',
+ 'ÃœBERNAHME', 'TAGEOVER',
+ 'ABLAGE', 'FILINGSYSTEM',
+ 'BDE', 'PDC',
+ 'BINDUNG', 'ALLOCATION',
+ 'BUCHUNG', 'ENTRY',
+ 'COLLI', 'SERIAL',
+ 'DATEI', 'FILE',
+ 'VERKAUF', 'SALES',
+ 'EINKAUF', 'PURCHASING',
+ 'EXEMPLAR', 'EXAMPLE',
+ 'FERTIGUNG', 'PRODUCTION',
+ 'FIFO',
+ 'GRUPPE', 'GROUP',
+ 'JAHR', 'YEAR',
+ 'JOURNAL',
+ 'KOPF', 'HEADER',
+ 'KOSTEN',
+ 'LIFO',
+ 'LMENGE', 'SQUANTITY',
+ 'LOHNFERTIGUNG', 'SUBCONTRACTING',
+ 'LPLATZ', 'LOCATION',
+ 'MBELEGUNG', 'MACHLOADING',
+ 'MONAT', 'MONTH', 'MZ',
+ 'NACHRICHT', 'MESSAGE',
+ 'PLAN', 'TARGET',
+ 'REGIONEN', 'REGIONS',
+ 'SERVICEANFRAGE', 'SERVICEREQUEST',
+ 'VERWENDUNG', 'APPLICATION',
+ 'WEITER', 'CONTINUE',
+ 'ABBRUCH', 'CANCEL',
+ 'ABLAGEKENNZEICHEN', 'FILLINGCODE',
+ 'ALLEIN', 'SINGLEUSER',
+ 'AUFZAEHLTYP', 'ENUMERATION-TYPE',
+ 'AUSGABE', 'OUTPUT',
+ 'DEZPUNKT', 'DECPOINT'
+ ),
+
+ // output settings
+ 7 => array (
+ '.absatz', '.para',
+ '.blocksatz', '.justified',
+ '.flattersatz', '.unjustified',
+ '.format',
+ '.box',
+ '.drucken', '.print',
+ '.gedruckt', '.printed',
+ '.länge', '.length',
+ '.links', '.left',
+ '.rechts', '.right',
+ '.oben', '.up',
+ '.unten', '.down',
+ '.seite', '.page',
+ '.tabellensatz', '.tablerecord',
+ '.trenner', '.separator',
+ 'ARCHIV'
+ ),
+
+ // text commands
+ 8 => array (
+ '.text',
+ '.atext',
+ '.println',
+ '.uebersetzen', '.translate'
+ ),
+
+ // I/O commands
+ 9 => array (
+ '.aus', '.ausgabe', '.output',
+ '.ein', '.eingabe', '.input',
+ '.datei', '.file',
+ '.lesen', '.read',
+ '.sortiere', '.sort',
+ '-ÖFFNEN', '-OPEN',
+ '-TEST',
+ '-LESEN', '-READ',
+ 'VON', 'FROM'
+ ),
+
+ //system
+ 10 => array (
+ '.browser',
+ '.kommando', '.command',
+ '.system', '.dde',
+ '.editiere', '.edit',
+ '.hilfe', '.help',
+ '.kopieren', '.copy',
+ '.pc.clip',
+ '.pc.copy',
+ '.pc.dll',
+ '.pc.exec',
+ '.pc.open',
+ 'DIAGNOSE', 'ERRORREPORT',
+ 'DOPPELPUNKT', 'COLON',
+ 'ERSETZUNG', 'REPLACEMENT',
+ 'WARTEN', 'PARALLEL'
+ ),
+
+ //fibu/accounting specific commands
+ 11 => array (
+ '.budget',
+ '.chart',
+ 'VKZ',
+ 'KONTO', 'ACCOUNT',
+ 'AUSZUG', 'STATEMENT',
+ 'WAEHRUNG', 'CURRENCY',
+ 'WAEHRUNGSKURS', 'EXCHANGERATE',
+ 'AUSWAEHR', 'FORCURR',
+ 'BUCHUNGSKREIS', 'SET OF BOOKS'
+ ),
+
+ // efop - extended flexible surface
+ 12 => array (
+ '.cursor',
+ '.farbe', '.colour',
+ '.fenster', '.window',
+ '.hinweis', '.note',
+ '.menue', '.menu',
+ '.schutz', '.protection',
+ '.zeigen', '.view',
+ '.zeile', '.line',
+ 'VORDERGRUND', 'FOREGROUND',
+ 'HINTERGRUND', 'BACKGROUND',
+ 'SOFORT', 'IMMEDIATELY',
+ 'AKTUALISIEREN', 'UPDATE',
+ 'FENSTERSCHLIESSEN', 'CLOSEWINDOWS'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ 0 => array('(', ')', '[', ']', '{', '}', '*', '&', '%', ';', '<', '>'),
+ 1 => array('?', '!')
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ /* all fo keywords are case sensitive, don't have to but I like this type of coding */
+ 1 => true, 2 => true, 3 => true, 4 => true,
+ 5 => true, 6 => true, 7 => true, 8 => true, 9 => true,
+ 10 => true, 11 => true, 12 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #006600; font-weight: bold;',
+ 4 => 'color: #006600; font-weight: bold;',
+ 5 => 'color: #003399; font-weight: bold;',
+ 6 => 'color: #003399; font-weight: bold;',
+ 7 => 'color: #003399; font-weight: bold;',
+ 8 => 'color: #003399; font-weight: bold;',
+ 9 => 'color: #003399; font-weight: bold;',
+ 10 => 'color: #003399; font-weight: bold;',
+ 11 => 'color: #003399; font-weight: bold;',
+ 12 => 'color: #003399; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ //2 => 'color: #006699;',
+ '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(
+ 1 => 'color: #006633;',
+ 2 => 'color: #006633;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;',
+ 1 => 'color: #000000; font-weight: bold;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => ''
+ ),
+ '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/fortran.php b/application/libraries/geshi/fortran.php
new file mode 100644
index 000000000..7b390eda7
--- /dev/null
+++ b/application/libraries/geshi/fortran.php
@@ -0,0 +1,160 @@
+<?php
+/*************************************************************************************
+ * fortran.php
+ * -----------
+ * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr)
+ * Copyright: (C) 2006 Cetric Arrabie
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/04/22
+ *
+ * Fortran language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2006/04/20 (1.0.0)
+ * - First Release
+ *
+ * TODO
+ * -------------------------
+ * - Get a list of inbuilt functions to add (and explore fortran more
+ * to complete this rather bare language file)
+ *
+ *************************************************************************************
+ *
+ * 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'=>'Fortran',
+ 'COMMENT_SINGLE'=> array(1 =>'!',2=>'Cf2py'),
+ 'COMMENT_MULTI'=> array(),
+ //Fortran Comments
+ 'COMMENT_REGEXP' => array(1 => '/^C.*?$/mi'),
+ 'CASE_KEYWORDS'=> GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS'=> array("'",'"'),
+ 'ESCAPE_CHAR'=>'\\',
+ 'KEYWORDS'=> array(
+ 1 => array(
+ 'allocate','block','call','case','contains','continue','cycle','deallocate',
+ 'default','do','else','elseif','elsewhere','end','enddo','endif','endwhere',
+ 'entry','exit','function','go','goto','if','interface','module','nullify','only',
+ 'operator','procedure','program','recursive','return','select','stop',
+ 'subroutine','then','to','where','while',
+ 'access','action','advance','blank','blocksize','carriagecontrol',
+ 'delim','direct','eor','err','exist','file','flen','fmt','form','formatted',
+ 'iostat','name','named','nextrec','nml','number','opened','pad','position',
+ 'readwrite','recl','sequential','status','unformatted','unit'
+ ),
+ 2 => array(
+ '.AND.','.EQ.','.EQV.','.GE.','.GT.','.LE.','.LT.','.NE.','.NEQV.','.NOT.',
+ '.OR.','.TRUE.','.FALSE.'
+ ),
+ 3 => array(
+ 'allocatable','character','common','complex','data','dimension','double',
+ 'equivalence','external','implicit','in','inout','integer','intent','intrinsic',
+ 'kind','logical','namelist','none','optional','out','parameter','pointer',
+ 'private','public','real','result','save','sequence','target','type','use'
+ ),
+ 4 => array(
+ 'abs','achar','acos','adjustl','adjustr','aimag','aint','all','allocated',
+ 'anint','any','asin','atan','atan2','bit_size','break','btest','carg',
+ 'ceiling','char','cmplx','conjg','cos','cosh','cpu_time','count','cshift',
+ 'date_and_time','dble','digits','dim','dot_product','dprod dvchk',
+ 'eoshift','epsilon','error','exp','exponent','floor','flush','fraction',
+ 'getcl','huge','iachar','iand','ibclr','ibits','ibset','ichar','ieor','index',
+ 'int','intrup','invalop','ior','iostat_msg','ishft','ishftc','lbound',
+ 'len','len_trim','lge','lgt','lle','llt','log','log10','matmul','max','maxexponent',
+ 'maxloc','maxval','merge','min','minexponent','minloc','minval','mod','modulo',
+ 'mvbits','nbreak','ndperr','ndpexc','nearest','nint','not','offset','ovefl',
+ 'pack','precfill','precision','present','product','prompt','radix',
+ 'random_number','random_seed','range','repeat','reshape','rrspacing',
+ 'scale','scan','segment','selected_int_kind','selected_real_kind',
+ 'set_exponent','shape','sign','sin','sinh','size','spacing','spread','sqrt',
+ 'sum system','system_clock','tan','tanh','timer','tiny','transfer','transpose',
+ 'trim','ubound','undfl','unpack','val','verify'
+ ),
+ ),
+ 'SYMBOLS'=> array(
+ '(',')','{','}','[',']','=','+','-','*','/','!','%','^','&',':'
+ ),
+ 'CASE_SENSITIVE'=> array(
+ GESHI_COMMENTS => true,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 'STYLES'=> array(
+ 'KEYWORDS'=> array(
+ 1 =>'color: #b1b100;',
+ 2 =>'color: #000000; font-weight: bold;',
+ 3 =>'color: #000066;',
+ 4 =>'color: #993333;'
+ ),
+ 'COMMENTS'=> array(
+ 1 =>'color: #666666; font-style: italic;',
+ 2 =>'color: #339933;',
+ 'MULTI'=>'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR'=> array(
+ 0 =>'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS'=> array(
+ 0 =>'color: #009900;'
+ ),
+ 'STRINGS'=> array(
+ 0 =>'color: #ff0000;'
+ ),
+ 'NUMBERS'=> array(
+ 0 =>'color: #cc66cc;'
+ ),
+ 'METHODS'=> array(
+ 1 =>'color: #202020;',
+ 2 =>'color: #202020;'
+ ),
+ 'SYMBOLS'=> array(
+ 0 =>'color: #339933;'
+ ),
+ 'REGEXPS'=> array(
+ ),
+ 'SCRIPT'=> array(
+ )
+ ),
+ 'URLS'=> array(
+ 1 =>'',
+ 2 =>'',
+ 3 =>'',
+ 4 =>''
+ ),
+ 'OOLANG'=> true,
+ 'OBJECT_SPLITTERS'=> array(
+ 1 =>'.',
+ 2 =>'::'
+ ),
+ 'REGEXPS'=> array(
+ ),
+ 'STRICT_MODE_APPLIES'=> GESHI_NEVER,
+ 'SCRIPT_DELIMITERS'=> array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK'=> array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/freebasic.php b/application/libraries/geshi/freebasic.php
new file mode 100644
index 000000000..faeee92f9
--- /dev/null
+++ b/application/libraries/geshi/freebasic.php
@@ -0,0 +1,141 @@
+<?php
+/*************************************************************************************
+ * freebasic.php
+ * -------------
+ * Author: Roberto Rossi
+ * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/08/19
+ *
+ * FreeBasic (http://www.freebasic.net/) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/19 (1.0.0)
+ * - 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' => 'FreeBasic',
+ 'COMMENT_SINGLE' => array(1 => "'", 2 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ "append", "as", "asc", "asin", "asm", "atan2", "atn", "beep", "bin", "binary", "bit",
+ "bitreset", "bitset", "bload", "bsave", "byref", "byte", "byval", "call",
+ "callocate", "case", "cbyte", "cdbl", "cdecl", "chain", "chdir", "chr", "cint",
+ "circle", "clear", "clng", "clngint", "close", "cls", "color", "command",
+ "common", "cons", "const", "continue", "cos", "cshort", "csign", "csng",
+ "csrlin", "cubyte", "cuint", "culngint", "cunsg", "curdir", "cushort", "custom",
+ "cvd", "cvi", "cvl", "cvlongint", "cvs", "cvshort", "data", "date",
+ "deallocate", "declare", "defbyte", "defdbl", "defined", "defint", "deflng",
+ "deflngint", "defshort", "defsng", "defstr", "defubyte", "defuint",
+ "defulngint", "defushort", "dim", "dir", "do", "double", "draw", "dylibload",
+ "dylibsymbol", "else", "elseif", "end", "enum", "environ", 'environ$', "eof",
+ "eqv", "erase", "err", "error", "exec", "exepath", "exit", "exp", "export",
+ "extern", "field", "fix", "flip", "for", "fre", "freefile", "function", "get",
+ "getjoystick", "getkey", "getmouse", "gosub", "goto", "hex", "hibyte", "hiword",
+ "if", "iif", "imagecreate", "imagedestroy", "imp", "inkey", "inp", "input",
+ "instr", "int", "integer", "is", "kill", "lbound", "lcase", "left", "len",
+ "let", "lib", "line", "lobyte", "loc", "local", "locate", "lock", "lof", "log",
+ "long", "longint", "loop", "loword", "lset", "ltrim", "mid", "mkd", "mkdir",
+ "mki", "mkl", "mklongint", "mks", "mkshort", "mod", "multikey", "mutexcreate",
+ "mutexdestroy", "mutexlock", "mutexunlock", "name", "next", "not", "oct", "on",
+ "once", "open", "option", "or", "out", "output", "overload", "paint", "palette",
+ "pascal", "pcopy", "peek", "peeki", "peeks", "pipe", "pmap", "point", "pointer",
+ "poke", "pokei", "pokes", "pos", "preserve", "preset", "print", "private",
+ "procptr", "pset", "ptr", "public", "put", "random", "randomize", "read",
+ "reallocate", "redim", "rem", "reset", "restore", "resume",
+ "return", "rgb", "rgba", "right", "rmdir", "rnd", "rset", "rtrim", "run",
+ "sadd", "screen", "screencopy", "screeninfo", "screenlock", "screenptr",
+ "screenres", "screenset", "screensync", "screenunlock", "seek", "statement",
+ "selectcase", "setdate", "setenviron", "setmouse",
+ "settime", "sgn", "shared", "shell", "shl", "short", "shr", "sin", "single",
+ "sizeof", "sleep", "space", "spc", "sqr", "static", "stdcall", "step", "stop",
+ "str", "string", "strptr", "sub", "swap", "system", "tab", "tan",
+ "then", "threadcreate", "threadwait", "time", "timer", "to", "trans",
+ "trim", "type", "ubound", "ubyte", "ucase", "uinteger", "ulongint", "union",
+ "unlock", "unsigned", "until", "ushort", "using", "va_arg", "va_first",
+ "va_next", "val", "val64", "valint", "varptr", "view", "viewprint", "wait",
+ "wend", "while", "width", "window", "windowtitle", "with", "write", "xor",
+ "zstring", "explicit", "escape", "true", "false"
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080;',
+ 2 => 'color: #339933;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/fsharp.php b/application/libraries/geshi/fsharp.php
new file mode 100644
index 000000000..7743d3643
--- /dev/null
+++ b/application/libraries/geshi/fsharp.php
@@ -0,0 +1,211 @@
+<?php
+/*************************************************************************************
+ * fsharp.php
+ * ----------
+ * Author: julien ortin (jo_spam-divers@yahoo.fr)
+ * Copyright: (c) 2009 julien ortin
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/09/20
+ *
+ * F# language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/09/22 (1.0.1)
+ * - added rules for single char handling (generics ['a] vs char ['x'])
+ * - added symbols and keywords
+ * 2009/09/20 (1.0.0)
+ * - Initial release
+ *
+ * TODO
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'F#',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('(*' => '*)', '/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'HARDQUOTE' => array('@"', '"'),
+ 'HARDESCAPE' => array('"'),
+ 'HARDCHAR' => '"',
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ /* main F# keywords */
+ /* section 3.4 */
+ 1 => array(
+ 'abstract', 'and', 'as', 'assert', 'base', 'begin', 'class', 'default', 'delegate', 'do', 'done',
+ 'downcast', 'downto', 'elif', 'else', 'end', 'exception', 'extern', 'false', 'finally', 'for',
+ 'fun', 'function', 'if', 'in', 'inherit', 'inline', 'interface', 'internal', 'lazy', 'let',
+ 'match', 'member', 'module', 'mutable', 'namespace', 'new', 'not', 'null', 'of', 'open', 'or',
+ 'override', 'private', 'public', 'rec', 'return', 'sig', 'static', 'struct', 'then', 'to',
+ 'true', 'try', 'type', 'upcast', 'use', 'val', 'void', 'when', 'while', 'with', 'yield',
+ 'asr', 'land', 'lor', 'lsl', 'lsr', 'lxor', 'mod',
+ /* identifiers are reserved for future use by F# */
+ 'atomic', 'break', 'checked', 'component', 'const', 'constraint', 'constructor',
+ 'continue', 'eager', 'fixed', 'fori', 'functor', 'global', 'include', 'method', 'mixin',
+ 'object', 'parallel', 'params', 'process', 'protected', 'pure', 'sealed', 'tailcall',
+ 'trait', 'virtual', 'volatile',
+ /* take monads into account */
+ 'let!', 'yield!'
+ ),
+ /* define names of main libraries in F# Core, so we can link to it
+ * http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/namespaces.html
+ */
+ 2 => array(
+ 'Array', 'Array2D', 'Array3D', 'Array4D', 'ComparisonIdentity', 'HashIdentity', 'List',
+ 'Map', 'Seq', 'SequenceExpressionHelpers', 'Set', 'CommonExtensions', 'Event',
+ 'ExtraTopLevelOperators', 'LanguagePrimitives', 'NumericLiterals', 'Operators',
+ 'OptimizedClosures', 'Option', 'String', 'NativePtr', 'Printf'
+ ),
+ /* 17.2 & 17.3 */
+ 3 => array(
+ 'abs', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp',
+ 'floor', 'log', 'log10', 'pown', 'round', 'sign', 'sin', 'sinh', 'sqrt',
+ 'tan', 'tanh',
+ 'ignore',
+ 'fst', 'snd',
+ 'stdin', 'stdout', 'stderr',
+ 'KeyValue',
+ 'max', 'min'
+ ),
+ /* Pervasives Types & Overloaded Conversion Functions */
+ 4 => array(
+ 'bool', 'byref', 'byte', 'char', 'decimal', 'double', 'exn', 'float', 'float32',
+ 'FuncConvert', 'ilsigptr', 'int', 'int16', 'int32', 'int64', 'int8',
+ 'nativeint', 'nativeptr', 'obj', 'option', 'ref', 'sbyte', 'single', 'string', 'uint16',
+ 'uint32', 'uint64', 'uint8', 'unativeint', 'unit',
+ 'enum',
+ 'async', 'seq', 'dict'
+ ),
+ /* 17.2 Exceptions */
+ 5 => array (
+ 'failwith', 'invalidArg', 'raise', 'rethrow'
+ ),
+ /* 3.3 Conditional compilation & 13.3 Compiler Directives + light / light off */
+ 6 => array(
+ '(*IF-FSHARP', 'ENDIF-FSHARP*)', '(*F#', 'F#*)', '(*IF-OCAML', 'ENDIF-OCAML*)',
+ '#light',
+ '#if', '#else', '#endif', '#indent', '#nowarn', '#r', '#reference',
+ '#I', '#Include', '#load', '#time', '#help', '#q', '#quit',
+ ),
+ /* 3.11 Pre-processor Declarations / Identifier Replacements */
+ 7 => array(
+ '__SOURCE_DIRECTORY__', '__SOURCE_FILE__', '__LINE__'
+ ),
+ /* 17.2 Object Transformation Operators */
+ 8 => array(
+ 'box', 'hash', 'sizeof', 'typeof', 'typedefof', 'unbox'
+ )
+ ),
+ /* 17.2 basic operators + the yield and yield! arrows */
+ 'SYMBOLS' => array(
+ 1 => array('+', '-', '/', '*', '**', '%', '~-'),
+ 2 => array('<', '<=', '>', '<=', '=', '<>'),
+ 3 => array('<<<', '>>>', '^^^', '&&&', '|||', '~~~'),
+ 4 => array('|>', '>>', '<|', '<<'),
+ 5 => array('!', '->', '->>'),
+ 6 => array('[',']','(',')','{','}', '[|', '|]', '(|', '|)'),
+ 7 => array(':=', ';', ';;')
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true, /* keywords */
+ 2 => true, /* modules */
+ 3 => true, /* pervasives functions */
+ 4 => true, /* types and overloaded conversion operators */
+ 5 => true, /* exceptions */
+ 6 => true, /* conditional compilation & compiler Directives */
+ 7 => true, /* pre-processor declarations / identifier replacements */
+ 8 => true /* object transformation operators */
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 2 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 3 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 4 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 5 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 6 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 7 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 8 => 'color: #06c; font-weight: bold;' /* nice blue */
+ ),
+ 'COMMENTS' => array(
+ 'MULTI' => 'color: #5d478b; font-style: italic;', /* light purple */
+ 1 => 'color: #5d478b; font-style: italic;',
+ 2 => 'color: #5d478b; font-style: italic;' /* light purple */
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #6c6;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #3cb371;' /* nice green */
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #c6c;' /* pink */
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #060;' /* dark green */
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #a52a2a;' /* maroon */
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ /* some of keywords are Pervasives functions (land, lxor, asr, ...) */
+ 1 => '',
+ 2 => 'http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/namespaces.html',
+ 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,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+ 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/gambas.php b/application/libraries/geshi/gambas.php
new file mode 100644
index 000000000..a848440df
--- /dev/null
+++ b/application/libraries/geshi/gambas.php
@@ -0,0 +1,214 @@
+<?php
+/*************************************************************************************
+ * gambas.php
+ * ---------
+ * 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
+ * Date Started: 2004/08/20
+ *
+ * GAMBAS language file for GeSHi.
+ * GAMBAS Official Site: http://gambas.sourceforge.net
+ *
+ * CHANGES
+ * -------
+ * 2009/09/26 (1.0.1)
+ * - Splitted dollar-ended keywords in another group to match with or without '$'
+ * - Modified URL for object/components keywords search through Google "I'm feeling lucky"
+ * 2009/09/23 (1.0.0)
+ * - Initial release
+ *
+ * TODO (updated 2009/09/26)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'GAMBAS',
+ 'COMMENT_SINGLE' => array(1 => "'"),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |
+ GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+ 'KEYWORDS' => array(
+ //keywords
+ 1 => array(
+ 'APPEND', 'AS', 'BREAK', 'BYREF', 'CASE', 'CATCH', 'CLASS', 'CLOSE', 'CONST', 'CONTINUE', 'COPY',
+ 'CREATE', 'DEBUG', 'DEC', 'DEFAULT', 'DIM', 'DO', 'EACH', 'ELSE', 'END', 'ENDIF', 'ERROR', 'EVENT', 'EXEC',
+ 'EXPORT', 'EXTERN', 'FALSE', 'FINALLY', 'FLUSH', 'FOR', 'FUNCTION', 'GOTO', 'IF', 'IN', 'INC', 'INHERITS',
+ 'INPUT', 'FROM', 'IS', 'KILL', 'LAST', 'LIBRARY', 'LIKE', 'LINE INPUT', 'LINK', 'LOCK', 'LOOP', 'ME',
+ 'MKDIR', 'MOVE', 'NEW', 'NEXT', 'NULL', 'OPEN', 'OPTIONAL', 'OUTPUT', 'PIPE', 'PRINT', 'PRIVATE',
+ 'PROCEDURE', 'PROPERTY', 'PUBLIC', 'QUIT', 'RAISE', 'RANDOMIZE', 'READ', 'REPEAT', 'RETURN', 'RMDIR',
+ 'SEEK', 'SELECT', 'SHELL', 'SLEEP', 'STATIC', 'STEP', 'STOP', 'SUB', 'SUPER', 'SWAP', 'THEN', 'TO',
+ 'TRUE', 'TRY', 'UNLOCK', 'UNTIL', 'WAIT', 'WATCH', 'WEND', 'WHILE', 'WITH', 'WRITE'
+ ),
+ //functions
+ 2 => array(
+ 'Abs', 'Access', 'Acos', 'Acosh', 'Alloc', 'Ang', 'Asc', 'ASin', 'ASinh', 'Asl', 'Asr', 'Assign', 'Atan',
+ 'ATan2', 'ATanh',
+ 'BChg', 'BClr', 'Bin', 'BSet', 'BTst',
+ 'CBool', 'Cbr', 'CByte', 'CDate', 'CFloat', 'Choose', 'Chr', 'CInt', 'CLong', 'Comp', 'Conv', 'Cos',
+ 'Cosh', 'CShort', 'CSng', 'CStr',
+ 'DateAdd', 'DateDiff', 'Day', 'DConv', 'Deg', 'DFree', 'Dir',
+ 'Eof', 'Eval', 'Exist', 'Exp', 'Exp10', 'Exp2', 'Expm',
+ 'Fix', 'Format', 'Frac', 'Free',
+ 'Hex', 'Hour', 'Hyp',
+ 'Iif', 'InStr', 'Int', 'IsAscii', 'IsBlank', 'IsBoolean', 'IsByte', 'IsDate', 'IsDigit', 'IsDir',
+ 'IsFloat', 'IsHexa', 'IsInteger', 'IsLCase', 'IsLetter', 'IsLong', 'IsNull', 'IsNumber', 'IsObject',
+ 'IsPunct', 'IsShort', 'IsSingle', 'IsSpace', 'IsString', 'IsUCase', 'IsVariant',
+ 'LCase', 'Left', 'Len', 'Lof', 'Log', 'Log10', 'Log2', 'Logp', 'Lsl', 'Lsr', 'LTrim',
+ 'Mag', 'Max', 'Mid', 'Min', 'Minute', 'Month', 'Now', 'Quote',
+ 'Rad', 'RDir', 'Realloc', 'Replace', 'Right', 'RInStr', 'Rnd', 'Rol', 'Ror', 'Round', 'RTrim',
+ 'Scan', 'SConv', 'Second', 'Seek', 'Sgn', 'Shl', 'Shr', 'Sin', 'Sinh', 'Space', 'Split', 'Sqr',
+ 'Stat', 'Str', 'StrPtr', 'Subst',
+ 'Tan', 'Tanh', 'Temp$', 'Time', 'Timer', 'Tr', 'Trim', 'TypeOf',
+ 'UCase', 'Unquote', 'Val', 'VarPtr', 'Week', 'WeekDay', 'Year'
+ ),
+ //string functions
+ 3 => array(
+ 'Bin$', 'Chr$', 'Conv$', 'DConv$', 'Format$', 'Hex$', 'LCase$', 'Left$', 'LTrim$', 'Mid$', 'Quote$',
+ 'Replace$', 'Right$', 'SConv$', 'Space$', 'Str$', 'String$', 'Subst$', 'Tr$', 'Trim$', 'UCase$',
+ 'Unquote$'
+ ),
+ //datatypes
+ 4 => array(
+ 'Boolean', 'Byte', 'Short', 'Integer', 'Long', 'Single', 'Float', 'Date', 'String', 'Variant', 'Object',
+ 'Pointer', 'File'
+ ),
+ //operators
+ 5 => array(
+ 'AND', 'DIV', 'MOD', 'NOT', 'OR', 'XOR'
+ ),
+ //objects/classes
+ 6 => array(
+ 'Application', 'Array', 'Byte[]', 'Collection', 'Component', 'Enum', 'Observer', 'Param', 'Process',
+ 'Stream', 'System', 'User', 'Chart', 'Compress', 'Crypt', 'Blob', 'Connection', 'DB', 'Database',
+ 'DatabaseUser', 'Field', 'Index', 'Result', 'ResultField', 'Table', 'DataBrowser', 'DataCombo',
+ 'DataControl', 'DataSource', 'DataView', 'Desktop', 'DesktopFile', 'Balloon', 'ColorButton',
+ 'ColorChooser', 'DateChooser', 'DirChooser', 'DirView', 'Expander', 'FileChooser', 'FileView',
+ 'FontChooser', 'InputBox', 'ListContainer', 'SidePanel', 'Stock', 'TableView', 'ToolPanel', 'ValueBox',
+ 'Wizard', 'Dialog', 'ToolBar', 'WorkSpace', 'DnsClient', 'SerialPort', 'ServerSocket', 'Socket',
+ 'UdpSocket', 'FtpClient', 'HttpClient', 'SmtpClient', 'Regexp', 'Action', 'Button', 'CheckBox',
+ 'ColumnView', 'ComboBox', 'Draw', 'Container', 'Control', 'Cursor', 'DrawingArea', 'Embedder',
+ 'Font', 'Form', 'Frame', 'GridView', 'HBox', 'HPanel', 'HSplit', 'IconView', 'Image', 'Key', 'Label',
+ 'Line', 'ListBox', 'ListView', 'Menu', 'Message', 'Mouse', 'MovieBox', 'Panel', 'Picture', 'PictureBox',
+ 'ProgressBar', 'RadioButton', 'ScrollBar', 'ScrollView', 'Separator', 'Slider', 'SpinBox', 'TabStrip',
+ 'TextArea', 'TextBox', 'TextLabel', 'ToggleButton', 'TrayIcon', 'TreeView', 'VBox', 'VPanel', 'VSplit',
+ 'Watcher', 'Window', 'Dial', 'Editor', 'LCDNumber', 'Printer', 'TextEdit', 'WebBrowser', 'GLarea',
+ 'Report', 'ReportCloner', 'ReportContainer', 'ReportControl', 'ReportDrawing', 'ReportField', 'ReportHBox',
+ 'ReportImage', 'ReportLabel', 'ReportSection', 'ReportSpecialField', 'ReportTextLabel', 'ReportVBox',
+ 'CDRom', 'Channel', 'Music', 'Sound', 'Settings', 'VideoDevice', 'Vb', 'CGI', 'HTML', 'Request', 'Response',
+ 'Session', 'XmlDocument', 'XmlNode', 'XmlReader', 'XmlReaderNodeType', 'XmlWriter', 'RpcArray', 'RpcClient',
+ 'RpcFunction', 'RpcServer', 'RpcStruct', 'RpcType', 'XmlRpc', 'Xslt'
+ ),
+ //constants
+ 7 => array(
+ 'Pi'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '&', '&=', '&/', '*', '*=', '+', '+=', '-', '-=', '//', '/', '/=', '=', '==', '\\', '\\=',
+ '^', '^=', '[', ']', '{', '}', '<', '>', '<>', '<=', '>='
+ ),
+ '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: #0600FF; font-weight: bold;', // Keywords
+ 2 => 'color: #8B1433;', // Functions
+ 3 => 'color: #8B1433;', // String Functions
+ 4 => 'color: #0600FF;', // Data Types
+ 5 => 'color: #1E90FF;', // Operators
+ 6 => 'color: #0600FF;', // Objects/Components
+ 7 => 'color: #0600FF;' // Constants
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #1A5B1A; font-style: italic;',
+ 'MULTI' => 'color: #1A5B1A; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #008080;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #612188;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #7E4B05;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #FF0000;',
+ GESHI_NUMBER_INT_BASIC => 'color: #FF0000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #0000FF;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #6132B2;'
+ ),
+ 'REGEXPS' => array(
+ //3 => 'color: #8B1433;' //fakes '$' colour matched by REGEXP
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://gambasdoc.org/help/lang/{FNAMEL}',
+ 2 => 'http://gambasdoc.org/help/lang/{FNAMEL}',
+ 3 => 'http://www.google.com/search?hl=en&amp;q={FNAMEL}+site:http://gambasdoc.org/help/lang/&amp;btnI=I%27m%20Feeling%20Lucky',
+ 4 => 'http://gambasdoc.org/help/lang/type/{FNAMEL}',
+ 5 => 'http://gambasdoc.org/help/lang/{FNAMEL}',
+ 6 => 'http://www.google.com/search?hl=en&amp;q={FNAMEL}+site:http://gambasdoc.org/&amp;btnI=I%27m%20Feeling%20Lucky',
+ 7 => 'http://gambasdoc.org/help/lang/{FNAMEL}'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 =>'.'
+ ),
+ 'REGEXPS' => array(
+ //3 => "\\$(?!\\w)" //matches '$' at the end of Keyword
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 2 => array(
+ 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-&;\$])"
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/gdb.php b/application/libraries/geshi/gdb.php
new file mode 100644
index 000000000..10a35cd38
--- /dev/null
+++ b/application/libraries/geshi/gdb.php
@@ -0,0 +1,175 @@
+<?php
+/*************************************************************************************
+ * gdb.php
+ * --------
+ * Author: Milian Wolff (mail@milianw.de)
+ * Copyright: (c) 2009 Milian Wolff
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/06/24
+ *
+ * GDB language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/06/24 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2009/06/24)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'GDB',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 0 => array(
+ 'Application',
+ 'signal',
+ ),
+ 1 => array(
+ 'Segmentation fault',
+ '[KCrash Handler]',
+ ),
+ ),
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC,
+ 'SYMBOLS' => array(
+ ),
+ 'CASE_SENSITIVE' => array(
+ 0 => true,
+ 1 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 0 => 'font-weight:bold;',
+ 1 => 'font-weight:bold; color: #ff0000;'
+ ),
+ 'COMMENTS' => array(
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => 'font-weight:bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #933;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;',
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => 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;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 0 => '',
+ 1 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //[Current Thread...], [KCrash Handler] etc.
+ 0 => array(
+ GESHI_SEARCH => '^\[.+\]',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //stack number
+ 1 => array(
+ GESHI_SEARCH => '^#\d+',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //Thread X (Thread...)
+ 2 => array(
+ GESHI_SEARCH => '^Thread \d.+$',
+ GESHI_REPLACE => '\\0',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ //Files with linenumbers
+ 3 => array(
+ GESHI_SEARCH => '(at )(.+)(:\d+\s*)$',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ //Libs without linenumbers
+ 4 => array(
+ GESHI_SEARCH => '(from )(.+)(\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(
+ GESHI_SEARCH => '(:)(\d+)(\s*)$',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ //Location
+ 7 => array(
+ GESHI_SEARCH => '( in )([^ \(\)]+)( \()',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/genero.php b/application/libraries/geshi/genero.php
new file mode 100644
index 000000000..0b5611627
--- /dev/null
+++ b/application/libraries/geshi/genero.php
@@ -0,0 +1,463 @@
+<?php
+/*************************************************************************************
+ * genero.php
+ * ----------
+ * Author: Lars Gersmann (lars.gersmann@gmail.com)
+ * Copyright: (c) 2007 Lars Gersmann, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/07/01
+ *
+ * Genero (FOURJ's Genero 4GL) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/07/01 (1.0.0)
+ * - Initial 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' => 'genero',
+ 'COMMENT_SINGLE' => array(1 => '--', 2 => '#'),
+ 'COMMENT_MULTI' => array('{' => '}'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ "ABSOLUTE",
+ "ACCEPT",
+ "ACTION",
+ "ADD",
+ "AFTER",
+ "ALL",
+ "ALTER",
+ "AND",
+ "ANY",
+ "APPEND",
+ "APPLICATION",
+ "AS",
+ "AT",
+ "ATTRIBUTE",
+ "ATTRIBUTES",
+ "AUDIT",
+ "AVG",
+ "BEFORE",
+ "BEGIN",
+ "BETWEEN",
+ "BORDER",
+ "BOTTOM",
+ "BREAKPOINT",
+ "BUFFER",
+ "BUFFERED",
+ "BY",
+ "CALL",
+ "CANCEL",
+ "CASE",
+ "CENTURY",
+ "CHANGE",
+ "CHECK",
+ "CLEAR",
+ "CLIPPED",
+ "CLOSE",
+ "CLUSTER",
+ "COLUMN",
+ "COLUMNS",
+ "COMMAND",
+ "COMMENT",
+ "COMMIT",
+ "COMMITTED",
+ "CONCURRENT ",
+ "CONNECT",
+ "CONNECTION",
+ "CONSTANT",
+ "CONSTRAINED",
+ "CONSTRAINT",
+ "CONSTRUCT",
+ "CONTINUE",
+ "CONTROL",
+ "COUNT",
+ "CREATE",
+ "CROSS",
+ "CURRENT",
+ "DATABASE",
+ "DBA",
+ "DEC",
+ "DECLARE",
+ "DEFAULT",
+ "DEFAULTS",
+ "DEFER",
+ "DEFINE",
+ "DELETE",
+ "DELIMITER",
+ "DESCRIBE",
+ "DESTINATION",
+ "DIM",
+ "DIALOG",
+ "DIMENSION",
+ "DIRTY",
+ "DISCONNECT",
+ "DISPLAY",
+ "DISTINCT",
+ "DORMANT",
+ "DOWN",
+ "DROP",
+ "DYNAMIC",
+ "ELSE",
+ "END",
+ "ERROR",
+ "ESCAPE",
+ "EVERY",
+ "EXCLUSIVE",
+ "EXECUTE",
+ "EXISTS",
+ "EXIT",
+ "EXPLAIN",
+ "EXTEND",
+ "EXTENT",
+ "EXTERNAL",
+ "FETCH",
+ "FGL_DRAWBOX",
+ "FIELD",
+ "FIELD_TOUCHED",
+ "FILE",
+ "FILL",
+ "FINISH",
+ "FIRST",
+ "FLOAT",
+ "FLUSH",
+ "FOR",
+ "FOREACH",
+ "FORM",
+ "FORMAT",
+ "FOUND",
+ "FRACTION",
+ "FREE",
+ "FROM",
+ "FULL",
+ "FUNCTION",
+ "GET_FLDBUF",
+ "GLOBALS",
+ "GO",
+ "GOTO",
+ "GRANT",
+ "GROUP",
+ "HAVING",
+ "HEADER",
+ "HELP",
+ "HIDE",
+ "HOLD",
+ "HOUR",
+ "IDLE",
+ "IF",
+ "IMAGE",
+ "IMMEDIATE",
+ "IN",
+ "INDEX",
+ "INFIELD",
+ "INITIALIZE",
+ "INNER",
+ "INPUT",
+ "INSERT",
+ "INTERRUPT",
+ "INTERVAL",
+ "INTO",
+ "INVISIBLE",
+ "IS",
+ "ISOLATION",
+ "JOIN",
+ "KEEP",
+ "KEY",
+ "LABEL",
+ "LAST",
+ "LEFT",
+ "LENGTH",
+ "LET",
+ "LIKE",
+ "LINE",
+ "LINENO",
+ "LINES",
+ "LOAD",
+ "LOCATE",
+ "LOCK",
+ "LOG",
+ "LSTR",
+ "MAIN",
+ "MARGIN",
+ "MATCHES",
+ "MAX",
+ "MAXCOUNT",
+ "MDY",
+ "MEMORY",
+ "MENU",
+ "MESSAGE",
+ "MIN",
+ "MINUTE",
+ "MOD",
+ "MODE",
+ "MODIFY",
+ "MONEY",
+ "NAME",
+ "NEED",
+ "NEXT",
+ "NO",
+ "NORMAL",
+ "NOT",
+ "NOTFOUND",
+ "NULL",
+ "NUMERIC",
+ "OF",
+ "ON",
+ "OPEN",
+ "OPTION",
+ "OPTIONS",
+ "OR",
+ "ORDER",
+ "OTHERWISE",
+ "OUTER",
+ "OUTPUT",
+ "PAGE",
+ "PAGENO",
+ "PAUSE",
+ "PERCENT",
+ "PICTURE",
+ "PIPE",
+ "PRECISION",
+ "PREPARE",
+ "PREVIOUS",
+ "PRINT",
+ "PRINTER",
+ "PRINTX",
+ "PRIOR",
+ "PRIVILEGES",
+ "PROCEDURE",
+ "PROGRAM",
+ "PROMPT",
+ "PUBLIC",
+ "PUT",
+ "QUIT",
+ "READ",
+ "REAL",
+ "RECORD",
+ "RECOVER",
+ "RED ",
+ "RELATIVE",
+ "RENAME",
+ "REOPTIMIZATION",
+ "REPEATABLE",
+ "REPORT",
+ "RESOURCE",
+ "RETURN",
+ "RETURNING",
+ "REVERSE",
+ "REVOKE",
+ "RIGHT",
+ "ROLLBACK",
+ "ROLLFORWARD",
+ "ROW",
+ "ROWS",
+ "RUN",
+ "SCHEMA",
+ "SCREEN",
+ "SCROLL",
+ "SECOND",
+ "SELECT",
+ "SERIAL",
+ "SET",
+ "SFMT",
+ "SHARE",
+ "SHIFT",
+ "SHOW",
+ "SIGNAL ",
+ "SIZE",
+ "SKIP",
+ "SLEEP",
+ "SOME",
+ "SPACE",
+ "SPACES",
+ "SQL",
+ "SQLERRMESSAGE",
+ "SQLERROR",
+ "SQLSTATE",
+ "STABILITY",
+ "START",
+ "STATISTICS",
+ "STEP",
+ "STOP",
+ "STYLE",
+ "SUM",
+ "SYNONYM",
+ "TABLE",
+ "TEMP",
+ "TERMINATE",
+ "TEXT",
+ "THEN",
+ "THROUGH",
+ "THRU",
+ "TO",
+ "TODAY",
+ "TOP",
+ "TRAILER",
+ "TRANSACTION ",
+ "UNBUFFERED",
+ "UNCONSTRAINED",
+ "UNDERLINE",
+ "UNION",
+ "UNIQUE",
+ "UNITS",
+ "UNLOAD",
+ "UNLOCK",
+ "UP",
+ "UPDATE",
+ "USE",
+ "USER",
+ "USING",
+ "VALIDATE",
+ "VALUE",
+ "VALUES",
+ "VARCHAR",
+ "VIEW",
+ "WAIT",
+ "WAITING",
+ "WARNING",
+ "WHEN",
+ "WHENEVER",
+ "WHERE",
+ "WHILE",
+ "WINDOW",
+ "WITH",
+ "WITHOUT",
+ "WORDWRAP",
+ "WORK",
+ "WRAP"
+ ),
+ 2 => array(
+ '&amp;IFDEF', '&amp;ENDIF'
+ ),
+ 3 => array(
+ "ARRAY",
+ "BYTE",
+ "CHAR",
+ "CHARACTER",
+ "CURSOR",
+ "DATE",
+ "DATETIME",
+ "DECIMAL",
+ "DOUBLE",
+ "FALSE",
+ "INT",
+ "INTEGER",
+ "SMALLFLOAT",
+ "SMALLINT",
+ "STRING",
+ "TIME",
+ "TRUE"
+ ),
+ 4 => array(
+ "BLACK",
+ "BLINK",
+ "BLUE",
+ "BOLD",
+ "ANSI",
+ "ASC",
+ "ASCENDING",
+ "ASCII",
+ "CYAN",
+ "DESC",
+ "DESCENDING",
+ "GREEN",
+ "MAGENTA",
+ "OFF",
+ "WHITE",
+ "YELLOW",
+ "YEAR",
+ "DAY",
+ "MONTH",
+ "WEEKDAY"
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '+', '-', '*', '?', '=', '/', '%', '>', '<', '^', '!', '|', ':',
+ '(', ')', '[', ']'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0600FF;',
+ 2 => 'color: #0000FF; font-weight: bold;',
+ 3 => 'color: #008000;',
+ 4 => 'color: #FF0000;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008080; font-style: italic;',
+ 2 => 'color: #008080;',
+ 'MULTI' => 'color: #008080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #008080; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #808080;'
+ ),
+ '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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/gettext.php b/application/libraries/geshi/gettext.php
new file mode 100644
index 000000000..10201bd1a
--- /dev/null
+++ b/application/libraries/geshi/gettext.php
@@ -0,0 +1,97 @@
+<?php
+/*************************************************************************************
+ * gettext.php
+ * --------
+ * Author: Milian Wolff (mail@milianw.de)
+ * Copyright: (c) 2008 Milian Wolff
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/05/25
+ *
+ * GNU Gettext .po/.pot language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/08/02 (1.0.8)
+ * - New comments: flags and previous-fields
+ * - New keywords: msgctxt, msgid_plural
+ * - Msgstr array indices
+ *
+ *************************************************************************************
+ *
+ * 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' => 'GNU Gettext',
+ 'COMMENT_SINGLE' => array('#:', '#.', '#,', '#|', '#'),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array('msgctxt', 'msgid_plural', 'msgid', 'msgstr'),
+ ),
+ 'SYMBOLS' => array(),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 0 => 'color: #000099;',
+ 1 => 'color: #000099;',
+ 2 => 'color: #000099;',
+ 3 => 'color: #006666;',
+ 4 => 'color: #666666; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'REGEXPS' => array(),
+ 'SYMBOLS' => array(),
+ 'NUMBERS' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'METHODS' => array(),
+ 'SCRIPT' => array(),
+ 'BRACKETS' => array(
+ 0 => 'color: #000099;'
+ ),
+ ),
+ '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,
+);
+
+?>
diff --git a/application/libraries/geshi/glsl.php b/application/libraries/geshi/glsl.php
new file mode 100644
index 000000000..8f521bfc1
--- /dev/null
+++ b/application/libraries/geshi/glsl.php
@@ -0,0 +1,205 @@
+<?php
+/*************************************************************************************
+ * glsl.php
+ * -----
+ * Author: Benny Baumann (BenBE@omorphia.de)
+ * Copyright: (c) 2008 Benny Baumann (BenBE@omorphia.de)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/03/20
+ *
+ * glSlang language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/03/20 (1.0.7.21)
+ * - First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'glSlang',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ //Multiline-continued single-line comments
+ 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
+ //Multiline-continued preprocessor define
+ 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'if', 'else', 'for', 'while', 'do', 'break', 'continue', 'asm',
+ 'switch', 'case', 'default', 'return', 'discard',
+ 'namespace', 'using', 'sizeof', 'cast'
+ ),
+ 2 => array(
+ 'const', 'uniform', 'attribute', 'centroid', 'varying', 'invariant',
+ 'in', 'out', 'inout', 'input', 'output', 'typedef', 'volatile',
+ 'public', 'static', 'extern', 'external', 'packed',
+ 'inline', 'noinline', 'noperspective', 'flat'
+ ),
+ 3 => array(
+ 'void', 'bool', 'int', 'long', 'short', 'float', 'half', 'fixed',
+ 'unsigned', 'lowp', 'mediump', 'highp', 'precision',
+ 'vec2', 'vec3', 'vec4', 'bvec2', 'bvec3', 'bvec4',
+ 'dvec2', 'dvec3', 'dvec4', 'fvec2', 'fvec3', 'fvec4',
+ 'hvec2', 'hvec3', 'hvec4', 'ivec2', 'ivec3', 'ivec4',
+ 'mat2', 'mat3', 'mat4', 'mat2x2', 'mat3x2', 'mat4x2',
+ 'mat2x3', 'mat3x3', 'mat4x3', 'mat2x4', 'mat3x4', 'mat4x4',
+ 'sampler1D', 'sampler2D', 'sampler3D', 'samplerCube',
+ 'sampler1DShadow', 'sampler2DShadow',
+ 'struct', 'class', 'union', 'enum', 'interface', 'template'
+ ),
+ 4 => array(
+ 'this', 'false', 'true'
+ ),
+ 5 => array(
+ 'radians', 'degrees', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan',
+ 'pow', 'exp2', 'log2', 'sqrt', 'inversesqrt', 'abs', 'sign', 'ceil',
+ 'floor', 'fract', 'mod', 'min', 'max', 'clamp', 'mix', 'step',
+ 'smoothstep', 'length', 'distance', 'dot', 'cross', 'normalize',
+ 'ftransform', 'faceforward', 'reflect', 'matrixCompMult', 'equal',
+ 'lessThan', 'lessThanEqual', 'greaterThan', 'greaterThanEqual',
+ 'notEqual', 'any', 'all', 'not', 'texture1D', 'texture1DProj',
+ 'texture1DLod', 'texture1DProjLod', 'texture2D', 'texture2DProj',
+ 'texture2DLod', 'texture2DProjLod', 'texture3D', 'texture3DProj',
+ 'texture3DLod', 'texture3DProjLod', 'textureCube', 'textureCubeLod',
+ 'shadow1D', 'shadow1DProj', 'shadow1DLod', 'shadow1DProjLod',
+ 'shadow2D', 'shadow2DProj', 'shadow2DLod', 'shadow2DProjLod',
+ 'noise1', 'noise2', 'noise3', 'noise4'
+ ),
+ 6 => array(
+ 'gl_Position', 'gl_PointSize', 'gl_ClipVertex', 'gl_FragColor',
+ 'gl_FragData', 'gl_FragDepth', 'gl_FragCoord', 'gl_FrontFacing',
+ 'gl_Color', 'gl_SecondaryColor', 'gl_Normal', 'gl_Vertex',
+ 'gl_MultiTexCoord0', 'gl_MultiTexCoord1', 'gl_MultiTexCoord2',
+ 'gl_MultiTexCoord3', 'gl_MultiTexCoord4', 'gl_MultiTexCoord5',
+ 'gl_MultiTexCoord6', 'gl_MultiTexCoord7', 'gl_FogCoord',
+ 'gl_MaxLights', 'gl_MaxClipPlanes', 'gl_MaxTextureUnits',
+ 'gl_MaxTextureCoords', 'gl_MaxVertexAttribs', 'gl_MaxVaryingFloats',
+ 'gl_MaxVertexUniformComponents', 'gl_MaxVertexTextureImageUnits',
+ 'gl_MaxCombinedTextureImageUnits', 'gl_MaxTextureImageUnits',
+ 'gl_MaxFragmentUniformComponents', 'gl_MaxDrawBuffers', 'gl_Point',
+ 'gl_ModelViewMatrix', 'gl_ProjectionMatrix', 'gl_FrontMaterial',
+ 'gl_ModelViewProjectionMatrix', 'gl_TextureMatrix', 'gl_ClipPlane',
+ 'gl_NormalMatrix', 'gl_ModelViewMatrixInverse', 'gl_BackMaterial',
+ 'gl_ProjectionMatrixInverse', 'gl_ModelViewProjectionMatrixInverse',
+ 'gl_TextureMatrixInverse', 'gl_ModelViewMatrixTranspose', 'gl_Fog',
+ 'gl_ProjectionMatrixTranspose', 'gl_NormalScale', 'gl_DepthRange',
+ 'gl_odelViewProjectionMatrixTranspose', 'gl_TextureMatrixTranspose',
+ 'gl_ModelViewMatrixInverseTranspose', 'gl_LightSource',
+ 'gl_ProjectionMatrixInverseTranspose', 'gl_LightModel',
+ 'gl_ModelViewProjectionMatrixInverseTranspose', 'gl_TexCoord',
+ 'gl_TextureMatrixInverseTranspose', 'gl_TextureEnvColor',
+ 'gl_FrontLightModelProduct', 'gl_BackLightModelProduct',
+ 'gl_FrontLightProduct', 'gl_BackLightProduct', 'gl_ObjectPlaneS',
+ 'gl_ObjectPlaneT', 'gl_ObjectPlaneR', 'gl_ObjectPlaneQ',
+ 'gl_EyePlaneS', 'gl_EyePlaneT', 'gl_EyePlaneR', 'gl_EyePlaneQ',
+ 'gl_FrontColor', 'gl_BackColor', 'gl_FrontSecondaryColor',
+ 'gl_BackSecondaryColor', 'gl_FogFragCoord', 'gl_PointCoord'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^',
+ '&', '?', ':', '.', '|', ';', ',', '<', '>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true,
+ 6 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #333399; font-weight: bold;',
+ 3 => 'color: #000066; font-weight: bold;',
+ 4 => 'color: #333399; font-weight: bold;',
+ 5 => 'color: #993333; font-weight: bold;',
+ 6 => 'color: #551111;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #009900;',
+ 'MULTI' => 'color: #666666; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => ''
+ ),
+ '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(
+ 'OOLANG' => array(
+ 'MATCH_BEFORE' => '',
+ 'MATCH_AFTER' => '[a-zA-Z_][a-zA-Z0-9_]*',
+ 'MATCH_SPACES' => '[\s]*'
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/gml.php b/application/libraries/geshi/gml.php
new file mode 100644
index 000000000..ec7cb5512
--- /dev/null
+++ b/application/libraries/geshi/gml.php
@@ -0,0 +1,506 @@
+<?php
+/*************************************************************************************
+ * gml.php
+ * --------
+ * 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
+ * Date Started: 2005/06/21
+ *
+ * GML language file for GeSHi.
+ *
+ * GML (Game Maker Language) is a script language that is built-in into Game Maker,
+ * a game creation program, more info about Game Maker can be found at
+ * http://www.gamemaker.nl/
+ * All GML keywords were extracted from the Game Maker HTML Help file using a PHP
+ * script (one section at a time). I love PHP for saving me that bunch of work :P!.
+ * I think all GML functions have been indexed here, but I'm not sure about it, so
+ * please let me know of any issue you may find.
+ *
+ * CHANGES
+ * -------
+ * 2005/11/11
+ * - Changed 'CASE_KEYWORDS' fom 'GESHI_CAPS_LOWER' to 'GESHI_CAPS_NO_CHANGE',
+ * so that MCI_command appears correctly (the only GML function using capitals).
+ * - Changed 'CASE_SENSITIVE' options, 'GESHI_COMMENTS' from true to false and all
+ * of the others from false to true.
+ * - Deleted repeated entries.
+ * - div and mod are language keywords, moved (from symbols) to the appropiate section (1).
+ * - Moved self, other, all, noone and global identifiers to language keywords section 1.
+ * - Edited this file lines to a maximum width of 100 characters (as stated in
+ * the GeSHi docs). Well, not strictly to 100 but around it.
+ * - Corrected some minor issues (the vk_f1...vk_f12 keys and similar).
+ * - Deleted the KEYWORDS=>5 and KEYWORDS=>6 sections (actually, they were empty).
+ * I was planning of using those for the GML functions available only in the
+ * registered version of the program, but not anymore.
+ *
+ * 2005/06/26 (1.0.3)
+ * - First Release.
+ *
+ * TODO (updated 2005/11/11)
+ * -------------------------
+ * - Test it for a while and make the appropiate corrections.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'GML',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'"),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ // language keywords
+ 1 => array(
+ 'break', 'continue', 'do', 'until', 'if', 'else',
+ 'exit', 'for', 'repeat', 'return', 'switch',
+ 'case', 'default', 'var', 'while', 'with', 'div', 'mod',
+ // GML Language overview
+ 'self', 'other', 'all', 'noone', 'global',
+ ),
+ // modifiers and built-in variables
+ 2 => array(
+ // Game play
+ 'x','y','xprevious','yprevious','xstart','ystart','hspeed','vspeed','direction','speed',
+ 'friction','gravity','gravity_direction',
+ 'path_index','path_position','path_positionprevious','path_speed','path_orientation',
+ 'path_endaction',
+ 'object_index','id','mask_index','solid','persistent','instance_count','instance_id',
+ 'room_speed','fps','current_time','current_year','current_month','current_day','current_weekday',
+ 'current_hour','current_minute','current_second','alarm','timeline_index','timeline_position',
+ 'timeline_speed',
+ 'room','room_first','room_last','room_width','room_height','room_caption','room_persistent',
+ 'score','lives','health','show_score','show_lives','show_health','caption_score','caption_lives',
+ 'caption_health',
+ 'event_type','event_number','event_object','event_action',
+ 'error_occurred','error_last',
+ // User interaction
+ 'keyboard_lastkey','keyboard_key','keyboard_lastchar','keyboard_string',
+ 'mouse_x','mouse_y','mouse_button','mouse_lastbutton',
+ // Game Graphics
+ 'sprite_index','sprite_width','sprite_height','sprite_xoffset','sprite_yoffset',
+ 'image_number','image_index','image_speed','image_xscale','image_yscale','image_angle',
+ 'image_alpha','image_blend','bbox_left','bbox_right','bbox_top','bbox_bottom',
+ 'background_color','background_showcolor','background_visible','background_foreground',
+ 'background_index','background_x','background_y','background_width','background_height',
+ 'background_htiled','background_vtiled','background_xscale','background_yscale',
+ 'background_hspeed','background_vspeed','background_blend','background_alpha',
+ 'background','left, top, width, height','depth','visible','xscale','yscale','blend','alpha',
+ 'view_enabled','view_current','view_visible','view_yview','view_wview','view_hview','view_xport',
+ 'view_yport','view_wport','view_hport','view_angle','view_hborder','view_vborder','view_hspeed',
+ 'view_vspeed','view_object',
+ 'transition_kind',
+ // Files, registry and executing programs
+ 'game_id','working_directory','temp_directory',
+ 'secure_mode',
+ // Creating particles
+ 'xmin', 'xmax', 'ymin', 'ymax','shape','distribution','particle type','number',
+ 'force','dist','kind','additive', 'parttype1', 'parttype2'
+ ),
+ // functions
+ 3 => array(
+ // Computing things
+ 'random','choose','abs','sign','round','floor','ceil','frac','sqrt','sqr','power','exp','ln',
+ 'log2','log10','logn','sin','cos','tan','arcsin','arccos','arctan','arctan2','degtorad',
+ 'radtodeg','min','max','mean','median','point_distance','point_direction','lengthdir_x',
+ 'lengthdir_y','is_real','is_string',
+ 'chr','ord','real','string','string_format','string_length','string_pos','string_copy',
+ 'string_char_at','string_delete','string_insert','string_replace','string_replace_all',
+ 'string_count','string_lower','string_upper','string_repeat','string_letters','string_digits',
+ 'string_lettersdigits','clipboard_has_text','clipboard_get_text','clipboard_set_text',
+ 'date_current_datetime','date_current_date','date_current_time','date_create_datetime',
+ 'date_create_date','date_create_time','date_valid_datetime','date_valid_date','date_valid_time',
+ 'date_inc_year','date_inc_month','date_inc_week','date_inc_day','date_inc_hour',
+ 'date_inc_minute','date_inc_second','date_get_year','date_get_month','date_get_week',
+ 'date_get_day','date_get_hour', 'date_get_minute','date_get_second','date_get_weekday',
+ 'date_get_day_of_year','date_get_hour_of_year','date_get_minute_of_year',
+ 'date_get_second_of_year','date_year_span','date_month_span','date_week_span','date_day_span',
+ 'date_hour_span','date_minute_span','date_second_span','date_compare_datetime',
+ 'date_compare_date','date_compare_time','date_date_of','date_time_of','date_datetime_string',
+ 'date_date_string','date_time_string','date_days_in_month','date_days_in_year','date_leap_year',
+ 'date_is_today',
+ // Game play
+ 'motion_set','motion_add','place_free','place_empty','place_meeting','place_snapped',
+ 'move_random','move_snap','move_wrap','move_towards_point','move_bounce_solid','move_bounce_all',
+ 'move_contact_solid','move_contact_all','move_outside_solid','move_outside_all',
+ 'distance_to_point','distance_to_object','position_empty','position_meeting',
+ 'path_start','path_end',
+ 'mp_linear_step','mp_linear_step_object','mp_potential_step','mp_potential_step_object',
+ 'mp_potential_settings','mp_linear_path','mp_linear_path_object', 'mp_potential_path',
+ 'mp_potential_path_object','mp_grid_create','mp_grid_destroy','mp_grid_clear_all',
+ 'mp_grid_clear_cell','mp_grid_clear_rectangle','mp_grid_add_cell','mp_grid_add_rectangle',
+ 'mp_grid_add_instances','mp_grid_path','mp_grid_draw',
+ 'collision_point','collision_rectangle','collision_circle','collision_ellipse','collision_line',
+ 'instance_find','instance_exists','instance_number','instance_position','instance_nearest',
+ 'instance_furthest','instance_place','instance_create','instance_copy','instance_destroy',
+ 'instance_change','position_destroy','position_change',
+ 'instance_deactivate_all','instance_deactivate_object','instance_deactivate_region',
+ 'instance_activate_all','instance_activate_object','instance_activate_region',
+ 'sleep',
+ 'room_goto','room_goto_previous','room_goto_next','room_restart','room_previous','room_next',
+ 'game_end','game_restart','game_save','game_load',
+ 'event_perform', 'event_perform_object','event_user','event_inherited',
+ 'show_debug_message','variable_global_exists','variable_local_exists','variable_global_get',
+ 'variable_global_array_get','variable_global_array2_get','variable_local_get',
+ 'variable_local_array_get','variable_local_array2_get','variable_global_set',
+ 'variable_global_array_set','variable_global_array2_set','variable_local_set',
+ 'variable_local_array_set','variable_local_array2_set','set_program_priority',
+ // User interaction
+ 'keyboard_set_map','keyboard_get_map','keyboard_unset_map','keyboard_check',
+ 'keyboard_check_pressed','keyboard_check_released','keyboard_check_direct',
+ 'keyboard_get_numlock','keyboard_set_numlock','keyboard_key_press','keyboard_key_release',
+ 'keyboard_clear','io_clear','io_handle','keyboard_wait',
+ 'mouse_check_button','mouse_check_button_pressed','mouse_check_button_released','mouse_clear',
+ 'mouse_wait',
+ 'joystick_exists','joystick_name','joystick_axes','joystick_buttons','joystick_has_pov',
+ 'joystick_direction','joystick_check_button','joystick_xpos','joystick_ypos','joystick_zpos',
+ 'joystick_rpos','joystick_upos','joystick_vpos','joystick_pov',
+ // Game Graphics
+ 'draw_sprite','draw_sprite_stretched','draw_sprite_tiled','draw_sprite_part','draw_background',
+ 'draw_background_stretched','draw_background_tiled','draw_background_part','draw_sprite_ext',
+ 'draw_sprite_stretched_ext','draw_sprite_tiled_ext','draw_sprite_part_ext','draw_sprite_general',
+ 'draw_background_ext','draw_background_stretched_ext','draw_background_tiled_ext',
+ 'draw_background_part_ext','draw_background_general',
+ 'draw_clear','draw_clear_alpha','draw_point','draw_line','draw_rectangle','draw_roundrect',
+ 'draw_triangle','draw_circle','draw_ellipse','draw_arrow','draw_button','draw_path',
+ 'draw_healthbar','draw_set_color','draw_set_alpha','draw_get_color','draw_get_alpha',
+ 'make_color_rgb','make_color_hsv','color_get_red','color_get_green','color_get_blue',
+ 'color_get_hue','color_get_saturation','color_get_value','merge_color','draw_getpixel',
+ 'screen_save','screen_save_part',
+ 'draw_set_font','draw_set_halign','draw_set_valign','draw_text','draw_text_ext','string_width',
+ 'string_height','string_width_ext','string_height_ext','draw_text_transformed',
+ 'draw_text_ext_transformed','draw_text_color','draw_text_ext_color',
+ 'draw_text_transformed_color','draw_text_ext_transformed_color',
+ 'draw_point_color','draw_line_color','draw_rectangle_color','draw_roundrect_color',
+ 'draw_triangle_color','draw_circle_color','draw_ellipse_color','draw_primitive_begin',
+ 'draw_vertex','draw_vertex_color','draw_primitive_end','sprite_get_texture',
+ 'background_get_texture','texture_preload','texture_set_priority',
+ 'texture_get_width','texture_get_height','draw_primitive_begin_texture','draw_vertex_texture',
+ 'draw_vertex_texture_color','texture_set_interpolation',
+ 'texture_set_blending','texture_set_repeat','draw_set_blend_mode','draw_set_blend_mode_ext',
+ 'surface_create','surface_free','surface_exists','surface_get_width','surface_get_height',
+ 'surface_get_texture','surface_set_target','surface_reset_target','surface_getpixel',
+ 'surface_save','surface_save_part','draw_surface','draw_surface_stretched','draw_surface_tiled',
+ 'draw_surface_part','draw_surface_ext','draw_surface_stretched_ext','draw_surface_tiled_ext',
+ 'draw_surface_part_ext','draw_surface_general','surface_copy','surface_copy_part',
+ 'tile_add','tile_delete','tile_exists','tile_get_x','tile_get_y','tile_get_left','tile_get_top',
+ 'tile_get_width','tile_get_height','tile_get_depth','tile_get_visible','tile_get_xscale',
+ 'tile_get_yscale','tile_get_background','tile_get_blend','tile_get_alpha','tile_set_position',
+ 'tile_set_region','tile_set_background','tile_set_visible','tile_set_depth','tile_set_scale',
+ 'tile_set_blend','tile_set_alpha','tile_layer_hide','tile_layer_show','tile_layer_delete',
+ 'tile_layer_shift','tile_layer_find','tile_layer_delete_at','tile_layer_depth',
+ 'display_get_width','display_get_height','display_get_colordepth','display_get_frequency',
+ 'display_set_size','display_set_colordepth','display_set_frequency','display_set_all',
+ 'display_test_all','display_reset','display_mouse_get_x','display_mouse_get_y','display_mouse_set',
+ 'window_set_visible','window_get_visible','window_set_fullscreen','window_get_fullscreen',
+ 'window_set_showborder','window_get_showborder','window_set_showicons','window_get_showicons',
+ 'window_set_stayontop','window_get_stayontop','window_set_sizeable','window_get_sizeable',
+ 'window_set_caption','window_get_caption','window_set_cursor', 'window_get_cursor',
+ 'window_set_color','window_get_color','window_set_region_scale','window_get_region_scale',
+ 'window_set_position','window_set_size','window_set_rectangle','window_center','window_default',
+ 'window_get_x','window_get_y','window_get_width','window_get_height','window_mouse_get_x',
+ 'window_mouse_get_y','window_mouse_set',
+ 'window_set_region_size','window_get_region_width','window_get_region_height',
+ 'window_view_mouse_get_x','window_view_mouse_get_y','window_view_mouse_set',
+ 'window_views_mouse_get_x','window_views_mouse_get_y','window_views_mouse_set',
+ 'screen_redraw','screen_refresh','set_automatic_draw','set_synchronization','screen_wait_vsync',
+ // Sound and music)
+ 'sound_play','sound_loop','sound_stop','sound_stop_all','sound_isplaying','sound_volume',
+ 'sound_global_volume','sound_fade','sound_pan','sound_background_tempo','sound_set_search_directory',
+ 'sound_effect_set','sound_effect_chorus','sound_effect_echo', 'sound_effect_flanger',
+ 'sound_effect_gargle','sound_effect_reverb','sound_effect_compressor','sound_effect_equalizer',
+ 'sound_3d_set_sound_position','sound_3d_set_sound_velocity','sound_3d_set_sound_distance',
+ 'sound_3d_set_sound_cone',
+ 'cd_init','cd_present','cd_number','cd_playing','cd_paused','cd_track','cd_length',
+ 'cd_track_length','cd_position','cd_track_position','cd_play','cd_stop','cd_pause','cd_resume',
+ 'cd_set_position','cd_set_track_position','cd_open_door','cd_close_door','MCI_command',
+ // Splash screens, highscores, and other pop-ups
+ 'show_text','show_image','show_video','show_info','load_info',
+ 'show_message','show_message_ext','show_question','get_integer','get_string',
+ 'message_background','message_alpha','message_button','message_text_font','message_button_font',
+ 'message_input_font','message_mouse_color','message_input_color','message_caption',
+ 'message_position','message_size','show_menu','show_menu_pos','get_color','get_open_filename',
+ 'get_save_filename','get_directory','get_directory_alt','show_error',
+ 'highscore_show','highscore_set_background','highscore_set_border','highscore_set_font',
+ 'highscore_set_colors','highscore_set_strings','highscore_show_ext','highscore_clear',
+ 'highscore_add','highscore_add_current','highscore_value','highscore_name','draw_highscore',
+ // Resources
+ 'sprite_exists','sprite_get_name','sprite_get_number','sprite_get_width','sprite_get_height',
+ 'sprite_get_transparent','sprite_get_smooth','sprite_get_preload','sprite_get_xoffset',
+ 'sprite_get_yoffset','sprite_get_bbox_left','sprite_get_bbox_right','sprite_get_bbox_top',
+ 'sprite_get_bbox_bottom','sprite_get_bbox_mode','sprite_get_precise',
+ 'sound_exists','sound_get_name','sound_get_kind','sound_get_preload','sound_discard',
+ 'sound_restore',
+ 'background_exists','background_get_name','background_get_width','background_get_height',
+ 'background_get_transparent','background_get_smooth','background_get_preload',
+ 'font_exists','font_get_name','font_get_fontname','font_get_bold','font_get_italic',
+ 'font_get_first','font_get_last',
+ 'path_exists','path_get_name','path_get_length','path_get_kind','path_get_closed',
+ 'path_get_precision','path_get_number','path_get_point_x','path_get_point_y',
+ 'path_get_point_speed','path_get_x','path_get_y','path_get_speed',
+ 'script_exists','script_get_name','script_get_text',
+ 'timeline_exists','timeline_get_name',
+ 'object_exists','object_get_name','object_get_sprite','object_get_solid','object_get_visible',
+ 'object_get_depth','object_get_persistent','object_get_mask','object_get_parent',
+ 'object_is_ancestor',
+ 'room_exists','room_get_name',
+ // Changing resources
+ 'sprite_set_offset','sprite_set_bbox_mode','sprite_set_bbox','sprite_set_precise',
+ 'sprite_duplicate','sprite_assign','sprite_merge','sprite_add','sprite_replace',
+ 'sprite_create_from_screen','sprite_add_from_screen','sprite_create_from_surface',
+ 'sprite_add_from_surface','sprite_delete','sprite_set_alpha_from_sprite',
+ 'sound_add','sound_replace','sound_delete',
+ 'background_duplicate','background_assign','background_add','background_replace',
+ 'background_create_color','background_create_gradient','background_create_from_screen',
+ 'background_create_from_surface','background_delete','background_set_alpha_from_background',
+ 'font_add','font_add_sprite','font_replace_sprite','font_delete',
+ 'path_set_kind','path_set_closed','path_set_precision','path_add','path_delete','path_duplicate',
+ 'path_assign','path_append','path_add_point','path_insert_point','path_change_point',
+ 'path_delete_point','path_clear_points','path_reverse','path_mirror','path_flip','path_rotate',
+ 'path_scale','path_shift',
+ 'execute_string','execute_file','script_execute',
+ 'timeline_add','timeline_delete','timeline_moment_add','timeline_moment_clear',
+ 'object_set_sprite','object_set_solid','object_set_visible','object_set_depth',
+ 'object_set_persistent','object_set_mask','object_set_parent','object_add','object_delete',
+ 'object_event_add','object_event_clear',
+ 'room_set_width','room_set_height','room_set_caption','room_set_persistent','room_set_code',
+ 'room_set_background_color','room_set_background','room_set_view','room_set_view_enabled',
+ 'room_add','room_duplicate','room_assign','room_instance_add','room_instance_clear',
+ 'room_tile_add','room_tile_add_ext','room_tile_clear',
+ // Files, registry and executing programs
+ 'file_text_open_read','file_text_open_write','file_text_open_append','file_text_close',
+ 'file_text_write_string','file_text_write_real','file_text_writeln','file_text_read_string',
+ 'file_text_read_real','file_text_readln','file_text_eof','file_exists','file_delete',
+ 'file_rename','file_copy','directory_exists','directory_create','file_find_first',
+ 'file_find_next','file_find_close','file_attributes', 'filename_name','filename_path',
+ 'filename_dir','filename_drive','filename_ext','filename_change_ext','file_bin_open',
+ 'file_bin_rewrite','file_bin_close','file_bin_size','file_bin_position','file_bin_seek',
+ 'file_bin_write_byte','file_bin_read_byte','parameter_count','parameter_string',
+ 'environment_get_variable',
+ 'registry_write_string','registry_write_real','registry_read_string','registry_read_real',
+ 'registry_exists','registry_write_string_ext','registry_write_real_ext',
+ 'registry_read_string_ext','registry_read_real_ext','registry_exists_ext','registry_set_root',
+ 'ini_open','ini_close','ini_read_string','ini_read_real','ini_write_string','ini_write_real',
+ 'ini_key_exists','ini_section_exists','ini_key_delete','ini_section_delete',
+ 'execute_program','execute_shell',
+ // Data structures
+ 'ds_stack_create','ds_stack_destroy','ds_stack_clear','ds_stack_size','ds_stack_empty',
+ 'ds_stack_push','ds_stack_pop','ds_stack_top',
+ 'ds_queue_create','ds_queue_destroy','ds_queue_clear','ds_queue_size','ds_queue_empty',
+ 'ds_queue_enqueue','ds_queue_dequeue','ds_queue_head','ds_queue_tail',
+ 'ds_list_create','ds_list_destroy','ds_list_clear','ds_list_size','ds_list_empty','ds_list_add',
+ 'ds_list_insert','ds_list_replace','ds_list_delete','ds_list_find_index','ds_list_find_value',
+ 'ds_list_sort',
+ 'ds_map_create','ds_map_destroy','ds_map_clear','ds_map_size','ds_map_empty','ds_map_add',
+ 'ds_map_replace','ds_map_delete','ds_map_exists','ds_map_find_value','ds_map_find_previous',
+ 'ds_map_find_next','ds_map_find_first','ds_map_find_last',
+ 'ds_priority_create','ds_priority_destroy','ds_priority_clear','ds_priority_size',
+ 'ds_priority_empty','ds_priority_add','ds_priority_change_priority','ds_priority_find_priority',
+ 'ds_priority_delete_value','ds_priority_delete_min','ds_priority_find_min',
+ 'ds_priority_delete_max','ds_priority_find_max',
+ 'ds_grid_create','ds_grid_destroy','ds_grid_resize','ds_grid_width','ds_grid_height',
+ 'ds_grid_clear','ds_grid_set','ds_grid_add','ds_grid_multiply','ds_grid_set_region',
+ 'ds_grid_add_region','ds_grid_multiply_region','ds_grid_set_disk','ds_grid_add_disk',
+ 'ds_grid_multiply_disk','ds_grid_get','ds_grid_get_sum','ds_grid_get_max','ds_grid_get_min',
+ 'ds_grid_get_mean','ds_grid_get_disk_sum','ds_grid_get_disk_min','ds_grid_get_disk_max',
+ 'ds_grid_get_disk_mean','ds_grid_value_exists','ds_grid_value_x','ds_grid_value_y',
+ 'ds_grid_value_disk_exists','ds_grid_value_disk_x','ds_grid_value_disk_y',
+ // Creating particles
+ 'effect_create_below','effect_create_above','effect_clear',
+ 'part_type_create','part_type_destroy','part_type_exists','part_type_clear','part_type_shape',
+ 'part_type_sprite','part_type_size','part_type_scale',
+ 'part_type_orientation','part_type_color1','part_type_color2','part_type_color3',
+ 'part_type_color_mix','part_type_color_rgb','part_type_color_hsv',
+ 'part_type_alpha1','part_type_alpha2','part_type_alpha3','part_type_blend','part_type_life',
+ 'part_type_step','part_type_death','part_type_speed','part_type_direction','part_type_gravity',
+ 'part_system_create','part_system_destroy','part_system_exists','part_system_clear',
+ 'part_system_draw_order','part_system_depth','part_system_position',
+ 'part_system_automatic_update','part_system_automatic_draw','part_system_update',
+ 'part_system_drawit','part_particles_create','part_particles_create_color',
+ 'part_particles_clear','part_particles_count',
+ 'part_emitter_create','part_emitter_destroy','part_emitter_destroy_all','part_emitter_exists',
+ 'part_emitter_clear','part_emitter_region','part_emitter_burst','part_emitter_stream',
+ 'part_attractor_create','part_attractor_destroy','part_attractor_destroy_all',
+ 'part_attractor_exists','part_attractor_clear','part_attractor_position','part_attractor_force',
+ 'part_destroyer_create','part_destroyer_destroy','part_destroyer_destroy_all',
+ 'part_destroyer_exists','part_destroyer_clear','part_destroyer_region',
+ 'part_deflector_create','part_deflector_destroy','part_deflector_destroy_all',
+ 'part_deflector_exists','part_deflector_clear','part_deflector_region','part_deflector_kind',
+ 'part_deflector_friction',
+ 'part_changer_create','part_changer_destroy','part_changer_destroy_all','part_changer_exists',
+ 'part_changer_clear','part_changer_region','part_changer_types','part_changer_kind',
+ // Multiplayer games
+ 'mplay_init_ipx','mplay_init_tcpip','mplay_init_modem','mplay_init_serial',
+ 'mplay_connect_status','mplay_end','mplay_ipaddress',
+ 'mplay_session_create','mplay_session_find','mplay_session_name','mplay_session_join',
+ 'mplay_session_mode','mplay_session_status','mplay_session_end',
+ 'mplay_player_find','mplay_player_name','mplay_player_id',
+ 'mplay_data_write','mplay_data_read','mplay_data_mode',
+ 'mplay_message_send','mplay_message_send_guaranteed','mplay_message_receive','mplay_message_id',
+ 'mplay_message_value','mplay_message_player','mplay_message_name','mplay_message_count',
+ 'mplay_message_clear',
+ // Using DLL's
+ 'external_define','external_call','external_free','window_handle',
+ // 3D Graphics
+ 'd3d_start','d3d_end','d3d_set_hidden','d3d_set_perspective',
+ 'd3d_set_depth',
+ 'd3d_primitive_begin','d3d_vertex','d3d_vertex_color','d3d_primitive_end',
+ 'd3d_primitive_begin_texture','d3d_vertex_texture','d3d_vertex_texture_color','d3d_set_culling',
+ 'd3d_draw_block','d3d_draw_cylinder','d3d_draw_cone','d3d_draw_ellipsoid','d3d_draw_wall',
+ 'd3d_draw_floor',
+ 'd3d_set_projection','d3d_set_projection_ext','d3d_set_projection_ortho',
+ 'd3d_set_projection_perspective',
+ 'd3d_transform_set_identity','d3d_transform_set_translation','d3d_transform_set_scaling',
+ 'd3d_transform_set_rotation_x','d3d_transform_set_rotation_y','d3d_transform_set_rotation_z',
+ 'd3d_transform_set_rotation_axis','d3d_transform_add_translation','d3d_transform_add_scaling',
+ 'd3d_transform_add_rotation_x','d3d_transform_add_rotation_y','d3d_transform_add_rotation_z',
+ 'd3d_transform_add_rotation_axis','d3d_transform_stack_clear','d3d_transform_stack_empty',
+ 'd3d_transform_stack_push','d3d_transform_stack_pop','d3d_transform_stack_top',
+ 'd3d_transform_stack_discard',
+ 'd3d_set_fog',
+ 'd3d_set_lighting','d3d_set_shading','d3d_light_define_direction','d3d_light_define_point',
+ 'd3d_light_enable','d3d_vertex_normal','d3d_vertex_normal_color','d3d_vertex_normal_texture',
+ 'd3d_vertex_normal_texture_color',
+ 'd3d_model_create','d3d_model_destroy','d3d_model_clear','d3d_model_save','d3d_model_load',
+ 'd3d_model_draw','d3d_model_primitive_begin','d3d_model_vertex','d3d_model_vertex_color',
+ 'd3d_model_vertex_texture','d3d_model_vertex_texture_color','d3d_model_vertex_normal',
+ 'd3d_model_vertex_normal_color','d3d_model_vertex_normal_texture',
+ 'd3d_model_vertex_normal_texture_color','d3d_model_primitive_end','d3d_model_block',
+ 'd3d_model_cylinder','d3d_model_cone','d3d_model_ellipsoid','d3d_model_wall','d3d_model_floor'
+ ),
+ // constants
+ 4 => array(
+ 'true', 'false', 'pi',
+ 'ev_destroy','ev_step','ev_alarm','ev_keyboard','ev_mouse','ev_collision','ev_other','ev_draw',
+ 'ev_keypress','ev_keyrelease','ev_left_button','ev_right_button','ev_middle_button',
+ 'ev_no_button','ev_left_press','ev_right_press','ev_middle_press','ev_left_release',
+ 'ev_right_release','ev_middle_release','ev_mouse_enter','ev_mouse_leave','ev_mouse_wheel_up',
+ 'ev_mouse_wheel_down','ev_global_left_button','ev_global_right_button','ev_global_middle_button',
+ 'ev_global_left_press','ev_global_right_press','ev_global_middle_press','ev_global_left_release',
+ 'ev_global_right_release','ev_global_middle_release','ev_joystick1_left','ev_joystick1_right',
+ 'ev_joystick1_up','ev_joystick1_down','ev_joystick1_button1','ev_joystick1_button2',
+ 'ev_joystick1_button3','ev_joystick1_button4','ev_joystick1_button5','ev_joystick1_button6',
+ 'ev_joystick1_button7','ev_joystick1_button8','ev_joystick2_left','ev_joystick2_right',
+ 'ev_joystick2_up','ev_joystick2_down','ev_joystick2_button1','ev_joystick2_button2',
+ 'ev_joystick2_button3','ev_joystick2_button4','ev_joystick2_button5','ev_joystick2_button6',
+ 'ev_joystick2_button7','ev_joystick2_button8',
+ 'ev_outside','ev_boundary','ev_game_start','ev_game_end','ev_room_start','ev_room_end',
+ 'ev_no_more_lives','ev_no_more_health','ev_animation_end','ev_end_of_path','ev_user0','ev_user1',
+ 'ev_user2','ev_user3','ev_user4','ev_user5','ev_user6','ev_user7','ev_user8','ev_user9',
+ 'ev_user10','ev_user11','ev_user12','ev_user13','ev_user14','ev_user15','ev_step_normal',
+ 'ev_step_begin','ev_step_end',
+ 'vk_nokey','vk_anykey','vk_left','vk_right','vk_up','vk_down','vk_enter','vk_escape','vk_space',
+ 'vk_shift','vk_control','vk_alt','vk_backspace','vk_tab','vk_home','vk_end','vk_delete',
+ 'vk_insert','vk_pageup','vk_pagedown','vk_pause','vk_printscreen',
+ 'vk_f1','vk_f2','vk_f3','vk_f4','vk_f5','vk_f6','vk_f7','vk_f8','vk_f9','vk_f10','vk_f11','vk_f12',
+ 'vk_numpad0','vk_numpad1','vk_numpad2','vk_numpad3','vk_numpad4','vk_numpad5','vk_numpad6',
+ 'vk_numpad7','vk_numpad8','vk_numpad9', 'vk_multiply','vk_divide','vk_add','vk_subtract',
+ 'vk_decimal','vk_lshift','vk_lcontrol','vk_lalt','vk_rshift','vk_rcontrol','vk_ralt',
+ 'c_aqua','c_black','c_blue','c_dkgray','c_fuchsia','c_gray','c_green','c_lime','c_ltgray',
+ 'c_maroon','c_navy','c_olive','c_purple','c_red','c_silver','c_teal','c_white','c_yellow',
+ 'fa_left', 'fa_center','fa_right','fa_top','fa_middle','fa_bottom',
+ 'pr_pointlist','pr_linelist','pr_linestrip','pr_trianglelist','pr_trianglestrip',
+ 'pr_trianglefan',
+ 'cr_none','cr_arrow','cr_cross','cr_beam','cr_size_nesw','cr_size_ns','cr_size_nwse',
+ 'cr_size_we','cr_uparrow','cr_hourglass','cr_drag','cr_nodrop','cr_hsplit','cr_vsplit',
+ 'cr_multidrag','cr_sqlwait','cr_no','cr_appstart','cr_help','cr_handpoint','cr_size_all',
+ 'se_chorus','se_echo','se_flanger','se_gargle','se_reverb','se_compressor','se_equalizer',
+ 'fa_readonly','fa_hidden','fa_sysfile','fa_volumeid','fa_directory','fa_archive',
+ 'pt_shape_pixel','pt_shape_disk','pt_shape_square','pt_shape_line','pt_shape_star',
+ 'pt_shape_circle','pt_shape_ring','pt_shape_sphere','pt_shape_flare','pt_shape_spark',
+ 'pt_shape_explosion','pt_shape_cloud','pt_shape_smoke','pt_shape_snow',
+ 'ps_shape_rectangle','ps_shape_ellipse ','ps_shape_diamond','ps_shape_line',
+ 'ps_distr_linear','ps_distr_gaussian','ps_force_constant','ps_force_linear','ps_force_quadratic',
+ 'ps_deflect_horizontal', 'ps_deflect_vertical',
+ 'ps_change_motion','ps_change_shape','ps_change_all'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']',
+ '&&', '||', '^^', '&', '|', '^',
+ '<', '<=', '==', '!=', '>', '>=', '=',
+ '<<', '>>',
+ '+=', '-=', '*=', '/=',
+ '+', '-', '*', '/',
+ '!', '~', ',', ';'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'font-weight: bold; color: #000000;',
+ 2 => 'font-weight: bold; color: #000000;',
+ 3 => 'color: navy;',
+ 4 => 'color: #663300;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'font-style: italic; color: green;',
+ 'MULTI' => 'font-style: italic; color: green;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;' //'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #202020;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66; font-weight: bold;'
+ ),
+ '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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/gnuplot.php b/application/libraries/geshi/gnuplot.php
new file mode 100644
index 000000000..b4762156c
--- /dev/null
+++ b/application/libraries/geshi/gnuplot.php
@@ -0,0 +1,296 @@
+<?php
+/*************************************************************************************
+ * gnuplot.php
+ * ----------
+ * Author: Milian Wolff (mail@milianw.de)
+ * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/07/07
+ *
+ * Gnuplot script language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/07 (1.0.8)
+ * - Initial import
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Gnuplot',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('`', '"', "'"),
+ 'ESCAPE_CHAR' => '\\',
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC |
+ GESHI_NUMBER_FLT_NONSCI |
+ GESHI_NUMBER_FLT_SCI_SHORT |
+ GESHI_NUMBER_FLT_SCI_ZERO,
+ 'KEYWORDS' => array(
+ // copy output of help command, indent properly and use this replace regexp:
+ // ([a-z0-9_\-]+)(( )+|$) => '\1',\3
+
+ // commands as found in `help commands`
+ 1 => array(
+ 'bind', 'call', 'cd', 'clear',
+ 'exit', 'fit', 'help', 'history',
+ 'if', 'load', 'lower', 'pause',
+ 'plot', 'print', 'pwd', 'quit',
+ 'raise', 'replot', 'reread', 'reset',
+ 'save', 'set', 'shell', 'show',
+ 'splot', 'system', 'test', 'unset',
+ 'update'
+ ),
+ 2 => array(
+ // set commands as returned by `help set`
+ 'angles', 'arrow', 'autoscale', 'bars',
+ 'bmargin', 'border', 'boxwidth', 'cbdata',
+ 'cbdtics', 'cblabel', 'cbmtics', 'cbrange',
+ 'cbtics', 'clabel', 'clip', 'cntrparam',
+ 'colorbox', 'contour', 'datafile', 'date_specifiers',
+ 'decimalsign', 'dgrid3d', 'dummy', 'encoding',
+ 'fontpath', 'format', 'grid',
+ 'hidden3d', 'historysize', 'isosamples', 'key',
+ 'label', 'lmargin', 'loadpath', 'locale',
+ 'log', 'logscale', 'macros', 'mapping',
+ 'margin', 'missing', 'mouse', 'multiplot',
+ 'mx2tics', 'mxtics', 'my2tics', 'mytics',
+ 'mztics', 'object', 'offsets', 'origin',
+ 'output', 'palette', 'parametric', 'pm3d',
+ 'pointsize', 'polar', 'rmargin',
+ 'rrange', 'samples', 'size', 'style',
+ 'surface', 'table', 'term', 'terminal',
+ 'termoption', 'tics', 'ticscale', 'ticslevel',
+ 'time_specifiers', 'timefmt', 'timestamp', 'title',
+ 'trange', 'urange', 'view',
+ 'vrange', 'x2data', 'x2dtics', 'x2label',
+ 'x2mtics', 'x2range', 'x2tics', 'x2zeroaxis',
+ 'xdata', 'xdtics', 'xlabel', 'xmtics',
+ 'xrange', 'xtics', 'xyplane', 'xzeroaxis',
+ 'y2data', 'y2dtics', 'y2label', 'y2mtics',
+ 'y2range', 'y2tics', 'y2zeroaxis', 'ydata',
+ 'ydtics', 'ylabel', 'ymtics', 'yrange',
+ 'ytics', 'yzeroaxis', 'zdata', 'zdtics',
+ 'zero', 'zeroaxis', 'zlabel', 'zmtics',
+ 'zrange', 'ztics', 'zzeroaxis',
+ // same but with leading no
+ 'noangles', 'noarrow', 'noautoscale', 'nobars',
+ 'nobmargin', 'noborder', 'noboxwidth', 'nocbdata',
+ 'nocbdtics', 'nocblabel', 'nocbmtics', 'nocbrange',
+ 'nocbtics', 'noclabel', 'noclip', 'nocntrparam',
+ 'nocolorbox', 'nocontour', 'nodatafile', 'nodate_specifiers',
+ 'nodecimalsign', 'nodgrid3d', 'nodummy', 'noencoding',
+ 'nofit', 'nofontpath', 'noformat', 'nogrid',
+ 'nohidden3d', 'nohistorysize', 'noisosamples', 'nokey',
+ 'nolabel', 'nolmargin', 'noloadpath', 'nolocale',
+ 'nolog', 'nologscale', 'nomacros', 'nomapping',
+ 'nomargin', 'nomissing', 'nomouse', 'nomultiplot',
+ 'nomx2tics', 'nomxtics', 'nomy2tics', 'nomytics',
+ 'nomztics', 'noobject', 'nooffsets', 'noorigin',
+ 'nooutput', 'nopalette', 'noparametric', 'nopm3d',
+ 'nopointsize', 'nopolar', 'noprint', 'normargin',
+ 'norrange', 'nosamples', 'nosize', 'nostyle',
+ 'nosurface', 'notable', 'noterm', 'noterminal',
+ 'notermoption', 'notics', 'noticscale', 'noticslevel',
+ 'notime_specifiers', 'notimefmt', 'notimestamp', 'notitle',
+ 'notmargin', 'notrange', 'nourange', 'noview',
+ 'novrange', 'nox2data', 'nox2dtics', 'nox2label',
+ 'nox2mtics', 'nox2range', 'nox2tics', 'nox2zeroaxis',
+ 'noxdata', 'noxdtics', 'noxlabel', 'noxmtics',
+ 'noxrange', 'noxtics', 'noxyplane', 'noxzeroaxis',
+ 'noy2data', 'noy2dtics', 'noy2label', 'noy2mtics',
+ 'noy2range', 'noy2tics', 'noy2zeroaxis', 'noydata',
+ 'noydtics', 'noylabel', 'noymtics', 'noyrange',
+ 'noytics', 'noyzeroaxis', 'nozdata', 'nozdtics',
+ 'nozero', 'nozeroaxis', 'nozlabel', 'nozmtics',
+ 'nozrange', 'noztics', 'nozzeroaxis',
+ ),
+ 3 => array(
+ // predefined variables
+ 'pi', 'NaN', 'GNUTERM',
+ 'GPVAL_X_MIN', 'GPVAL_X_MAX', 'GPVAL_Y_MIN', 'GPVAL_Y_MAX',
+ 'GPVAL_TERM', 'GPVAL_TERMOPTIONS', 'GPVAL_OUTPUT',
+ 'GPVAL_VERSION', 'GPVAL_PATcHLEVEL', 'GPVAL_COMPILE_OPTIONS',
+ 'MOUSE_KEY', 'MOUSE_X', 'MOUSE_X2', 'MOUSE_Y', 'MOUSE_Y2',
+ 'MOUSE_BUTTON', 'MOUSE_SHIFT', 'MOUSE_ALT', 'MOUSE_CTRL'
+ ),
+ 4 => array(
+ // predefined functions `help functions`
+ 'abs', 'acos', 'acosh', 'arg',
+ 'asin', 'asinh', 'atan', 'atan2',
+ 'atanh', 'besj0', 'besj1', 'besy0',
+ 'besy1', 'ceil', 'column', 'cos',
+ 'cosh', 'defined', 'erf', 'erfc',
+ 'exists', 'exp', 'floor', 'gamma',
+ 'gprintf', 'ibeta', 'igamma', 'imag',
+ 'int', 'inverf', 'invnorm', 'lambertw',
+ 'lgamma', 'log10', 'norm',
+ 'rand', 'random', 'real', 'sgn',
+ 'sin', 'sinh', 'sprintf', 'sqrt',
+ 'stringcolumn', 'strlen', 'strstrt', 'substr',
+ 'tan', 'tanh', 'timecolumn',
+ 'tm_hour', 'tm_mday', 'tm_min', 'tm_mon',
+ 'tm_sec', 'tm_wday', 'tm_yday', 'tm_year',
+ 'valid', 'word', 'words',
+ ),
+ 5 => array(
+ // mixed arguments
+ // there is no sane way to get these ones easily...
+ 'autofreq', 'x', 'y', 'z',
+ 'lt', 'linetype', 'lw', 'linewidth', 'ls', 'linestyle',
+ 'out', 'rotate by', 'screen',
+ 'enhanced', 'via',
+ // `help set key`
+ 'on', 'off', 'default', 'inside', 'outside', 'tmargin',
+ 'at', 'left', 'right', 'center', 'top', 'bottom', 'vertical', 'horizontal', 'Left', 'Right',
+ 'noreverse', 'reverse', 'noinvert', 'invert', 'samplen', 'spacing', 'width', 'height',
+ 'noautotitle', 'autotitle', 'noenhanced', 'nobox', 'box',
+
+ // help set terminal postscript
+ 'landscape', 'portrait', 'eps', 'defaultplex', 'simplex', 'duplex',
+ 'fontfile', 'add', 'delete', 'nofontfiles', 'level1', 'leveldefault',
+ 'color', 'colour', 'monochrome', 'solid', 'dashed', 'dashlength', 'dl',
+ 'rounded', 'butt', 'palfuncparam', 'blacktext', 'colortext', 'colourtext',
+ 'font',
+
+ // help set terminal png
+ 'notransparent', 'transparent', 'nointerlace', 'interlace',
+ 'notruecolor', 'truecolor', 'tiny', 'small', 'medium', 'large', 'giant',
+ 'nocrop', 'crop',
+
+ // `help plot`
+ 'acsplines', 'bezier', 'binary', 'csplines',
+ 'every',
+ 'example', 'frequency', 'index', 'matrix',
+ 'ranges', 'sbezier', 'smooth',
+ 'special-filenames', 'thru',
+ 'unique', 'using', 'with',
+
+ // `help plotting styles`
+ 'boxerrorbars', 'boxes', 'boxxyerrorbars', 'candlesticks',
+ 'dots', 'errorbars', 'errorlines', 'filledcurves',
+ 'financebars', 'fsteps', 'histeps', 'histograms',
+ 'image', 'impulses', 'labels', 'lines',
+ 'linespoints', 'points', 'rgbimage', 'steps',
+ 'vectors', 'xerrorbars', 'xerrorlines', 'xyerrorbars',
+ 'xyerrorlines', 'yerrorbars', 'yerrorlines',
+
+
+ // terminals `help terminals`
+ 'aed512', 'aed767', 'aifm', 'bitgraph',
+ 'cgm', 'corel', 'dumb', 'dxf',
+ 'eepic', 'emf', 'emtex', 'epslatex',
+ 'epson-180dpi', 'epson-60dpi', 'epson-lx800', 'fig',
+ 'gif', 'gpic', 'hp2623a', 'hp2648',
+ 'hp500c', 'hpdj', 'hpgl', 'hpljii',
+ 'hppj', 'imagen', 'jpeg', 'kc-tek40xx',
+ 'km-tek40xx', 'latex', 'mf', 'mif',
+ 'mp', 'nec-cp6', 'okidata', 'pbm',
+ 'pcl5', 'png', 'pop', 'postscript',
+ 'pslatex', 'pstex', 'pstricks', 'push',
+ 'qms', 'regis', 'selanar', 'starc',
+ 'svg', 'tandy-60dpi', 'tek40xx', 'tek410x',
+ 'texdraw', 'tgif', 'tkcanvas', 'tpic',
+ 'vttek', 'x11', 'xlib',
+ )
+ ),
+ 'REGEXPS' => array(
+ //Variable assignment
+ 0 => "(?<![?;>\w])([a-zA-Z_][a-zA-Z0-9_]*)\s*=",
+ //Numbers with unit
+ 1 => "(?<=^|\s)([0-9]*\.?[0-9]+\s*cm)"
+ ),
+ 'SYMBOLS' => array(
+ '-', '+', '~', '!', '$',
+ '*', '/', '%', '=', '<', '>', '&',
+ '^', '|', '.', 'eq', 'ne', '?:', ':', '`', ','
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #990000;',
+ 3 => 'color: #550000;',
+ 4 => 'color: #7a0874;',
+ 5 => 'color: #448888;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #adadad; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight:bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000099; font-weight:bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #0000ff;',
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #007800;',
+ 1 => 'color: #cc66cc;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => 'http://www.google.com/search?q=%22set+{FNAME}%22+site%3Ahttp%3A%2F%2Fwww.gnuplot.info%2Fdocs%2F&amp;btnI=lucky',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 4 => array(
+ 'DISALLOWED_AFTER' => "(?![\.\-a-zA-Z0-9_%])"
+ )
+ )
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/groovy.php b/application/libraries/geshi/groovy.php
new file mode 100644
index 000000000..0270d0135
--- /dev/null
+++ b/application/libraries/geshi/groovy.php
@@ -0,0 +1,1011 @@
+<?php
+/*************************************************************************************
+ * groovy.php
+ * ----------
+ * 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
+ * Date Started: 2006/04/29
+ *
+ * Groovy language file for GeSHi.
+ *
+ * Keywords from http: http://docs.codehaus.org/download/attachments/2715/groovy-reference-card.pdf?version=1
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2006/04/29 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2006/04/29)
+ * -------------------------
+ * Testing
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Groovy',
+ 'COMMENT_SINGLE' => array(1 => '//', 3 => '#'),
+ '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',
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'''", '"""', "'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'case', 'do', 'else', 'for', 'foreach', 'if', 'in', 'switch',
+ 'while',
+ ),
+ 2 => array(
+ 'abstract', 'as', 'assert', 'break', 'catch', 'class', 'const',
+ 'continue', 'def', 'default', 'enum', 'extends',
+ 'false', 'final', 'finally', 'goto', 'implements', 'import',
+ 'instanceof', 'interface', 'native', 'new', 'null',
+ 'package', 'private', 'property', 'protected',
+ 'public', 'return', 'static', 'strictfp', 'super',
+ 'synchronized', 'this', 'throw', 'throws',
+ 'transient', 'true', 'try', 'volatile'
+ ),
+ 3 => array(
+ 'AbstractAction', 'AbstractBorder', 'AbstractButton',
+ 'AbstractCellEditor', 'AbstractCollection',
+ 'AbstractColorChooserPanel', 'AbstractDocument',
+ 'AbstractDocument.AttributeContext',
+ 'AbstractDocument.Content',
+ 'AbstractDocument.ElementEdit',
+ 'AbstractLayoutCache',
+ 'AbstractLayoutCache.NodeDimensions', 'AbstractList',
+ 'AbstractListModel', 'AbstractMap',
+ 'AbstractMethodError', 'AbstractSequentialList',
+ 'AbstractSet', 'AbstractTableModel',
+ 'AbstractUndoableEdit', 'AbstractWriter',
+ 'AccessControlContext', 'AccessControlException',
+ 'AccessController', 'AccessException', 'Accessible',
+ 'AccessibleAction', 'AccessibleBundle',
+ 'AccessibleComponent', 'AccessibleContext',
+ 'AccessibleHyperlink', 'AccessibleHypertext',
+ 'AccessibleIcon', 'AccessibleObject',
+ 'AccessibleRelation', 'AccessibleRelationSet',
+ 'AccessibleResourceBundle', 'AccessibleRole',
+ 'AccessibleSelection', 'AccessibleState',
+ 'AccessibleStateSet', 'AccessibleTable',
+ 'AccessibleTableModelChange', 'AccessibleText',
+ 'AccessibleValue', 'Acl', 'AclEntry',
+ 'AclNotFoundException', 'Action', 'ActionEvent',
+ 'ActionListener', 'ActionMap', 'ActionMapUIResource',
+ 'Activatable', 'ActivateFailedException',
+ 'ActivationDesc', 'ActivationException',
+ 'ActivationGroup', 'ActivationGroupDesc',
+ 'ActivationGroupDesc.CommandEnvironment',
+ 'ActivationGroupID', 'ActivationID',
+ 'ActivationInstantiator', 'ActivationMonitor',
+ 'ActivationSystem', 'Activator', 'ActiveEvent',
+ 'Adjustable', 'AdjustmentEvent',
+ 'AdjustmentListener', 'Adler32', 'AffineTransform',
+ 'AffineTransformOp', 'AlgorithmParameterGenerator',
+ 'AlgorithmParameterGeneratorSpi',
+ 'AlgorithmParameters', 'AlgorithmParameterSpec',
+ 'AlgorithmParametersSpi', 'AllPermission',
+ 'AlphaComposite', 'AlreadyBound',
+ 'AlreadyBoundException', 'AlreadyBoundHelper',
+ 'AlreadyBoundHolder', 'AncestorEvent',
+ 'AncestorListener', 'Annotation', 'Any', 'AnyHolder',
+ 'AnySeqHelper', 'AnySeqHolder', 'Applet',
+ 'AppletContext', 'AppletInitializer', 'AppletStub',
+ 'ApplicationException', 'Arc2D', 'Arc2D.Double',
+ 'Arc2D.Float', 'Area', 'AreaAveragingScaleFilter',
+ 'ARG_IN', 'ARG_INOUT', 'ARG_OUT',
+ 'ArithmeticException', 'Array',
+ 'ArrayIndexOutOfBoundsException', 'ArrayList',
+ 'Arrays', 'ArrayStoreException', 'AsyncBoxView',
+ 'Attribute', 'AttributedCharacterIterator',
+ 'AttributedCharacterIterator.Attribute',
+ 'AttributedString', 'AttributeInUseException',
+ 'AttributeList', 'AttributeModificationException',
+ 'Attributes', 'Attributes.Name', 'AttributeSet',
+ 'AttributeSet.CharacterAttribute',
+ 'AttributeSet.ColorAttribute',
+ 'AttributeSet.FontAttribute',
+ 'AttributeSet.ParagraphAttribute', 'AudioClip',
+ 'AudioFileFormat', 'AudioFileFormat.Type',
+ 'AudioFileReader', 'AudioFileWriter', 'AudioFormat',
+ 'AudioFormat.Encoding', 'AudioInputStream',
+ 'AudioPermission', 'AudioSystem',
+ 'AuthenticationException',
+ 'AuthenticationNotSupportedException',
+ 'Authenticator', 'Autoscroll', 'AWTError',
+ 'AWTEvent', 'AWTEventListener',
+ 'AWTEventMulticaster', 'AWTException',
+ 'AWTPermission', 'BadKind', 'BadLocationException',
+ 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION',
+ 'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE',
+ 'BAD_POLICY_VALUE', 'BAD_TYPECODE', 'BandCombineOp',
+ 'BandedSampleModel', 'BasicArrowButton',
+ 'BasicAttribute', 'BasicAttributes', 'BasicBorders',
+ 'BasicBorders.ButtonBorder',
+ 'BasicBorders.FieldBorder',
+ 'BasicBorders.MarginBorder',
+ 'BasicBorders.MenuBarBorder',
+ 'BasicBorders.RadioButtonBorder',
+ 'BasicBorders.SplitPaneBorder',
+ 'BasicBorders.ToggleButtonBorder',
+ 'BasicButtonListener', 'BasicButtonUI',
+ 'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI',
+ 'BasicColorChooserUI', 'BasicComboBoxEditor',
+ 'BasicComboBoxEditor.UIResource',
+ 'BasicComboBoxRenderer',
+ 'BasicComboBoxRenderer.UIResource',
+ 'BasicComboBoxUI', 'BasicComboPopup',
+ 'BasicDesktopIconUI', 'BasicDesktopPaneUI',
+ 'BasicDirectoryModel', 'BasicEditorPaneUI',
+ 'BasicFileChooserUI', 'BasicGraphicsUtils',
+ 'BasicHTML', 'BasicIconFactory',
+ 'BasicInternalFrameTitlePane',
+ 'BasicInternalFrameUI', 'BasicLabelUI',
+ 'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI',
+ 'BasicMenuItemUI', 'BasicMenuUI',
+ 'BasicOptionPaneUI',
+ 'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI',
+ 'BasicPasswordFieldUI', 'BasicPermission',
+ 'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI',
+ 'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI',
+ 'BasicRadioButtonUI', 'BasicRootPaneUI',
+ 'BasicScrollBarUI', 'BasicScrollPaneUI',
+ 'BasicSeparatorUI', 'BasicSliderUI',
+ 'BasicSplitPaneDivider', 'BasicSplitPaneUI',
+ 'BasicStroke', 'BasicTabbedPaneUI',
+ 'BasicTableHeaderUI', 'BasicTableUI',
+ 'BasicTextAreaUI', 'BasicTextFieldUI',
+ 'BasicTextPaneUI', 'BasicTextUI',
+ 'BasicTextUI.BasicCaret',
+ 'BasicTextUI.BasicHighlighter',
+ 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI',
+ 'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI',
+ 'BasicViewportUI', 'BatchUpdateException',
+ 'BeanContext', 'BeanContextChild',
+ 'BeanContextChildComponentProxy',
+ 'BeanContextChildSupport',
+ 'BeanContextContainerProxy', 'BeanContextEvent',
+ 'BeanContextMembershipEvent',
+ 'BeanContextMembershipListener', 'BeanContextProxy',
+ 'BeanContextServiceAvailableEvent',
+ 'BeanContextServiceProvider',
+ 'BeanContextServiceProviderBeanInfo',
+ 'BeanContextServiceRevokedEvent',
+ 'BeanContextServiceRevokedListener',
+ 'BeanContextServices', 'BeanContextServicesListener',
+ 'BeanContextServicesSupport',
+ 'BeanContextServicesSupport.BCSSServiceProvider',
+ 'BeanContextSupport',
+ 'BeanContextSupport.BCSIterator', 'BeanDescriptor',
+ 'BeanInfo', 'Beans', 'BevelBorder', 'BigDecimal',
+ 'BigInteger', 'BinaryRefAddr', 'BindException',
+ 'Binding', 'BindingHelper', 'BindingHolder',
+ 'BindingIterator', 'BindingIteratorHelper',
+ 'BindingIteratorHolder', 'BindingIteratorOperations',
+ 'BindingListHelper', 'BindingListHolder',
+ 'BindingType', 'BindingTypeHelper',
+ 'BindingTypeHolder', 'BitSet', 'Blob', 'BlockView',
+ 'Book', 'Boolean', 'BooleanControl',
+ 'BooleanControl.Type', 'BooleanHolder',
+ 'BooleanSeqHelper', 'BooleanSeqHolder', 'Border',
+ 'BorderFactory', 'BorderLayout', 'BorderUIResource',
+ 'BorderUIResource.BevelBorderUIResource',
+ 'BorderUIResource.CompoundBorderUIResource',
+ 'BorderUIResource.EmptyBorderUIResource',
+ 'BorderUIResource.EtchedBorderUIResource',
+ 'BorderUIResource.LineBorderUIResource',
+ 'BorderUIResource.MatteBorderUIResource',
+ 'BorderUIResource.TitledBorderUIResource',
+ 'BoundedRangeModel', 'Bounds', 'Box', 'Box.Filler',
+ 'BoxedValueHelper', 'BoxLayout', 'BoxView',
+ 'BreakIterator', 'BufferedImage',
+ 'BufferedImageFilter', 'BufferedImageOp',
+ 'BufferedInputStream', 'BufferedOutputStream',
+ 'BufferedReader', 'BufferedWriter', 'Button',
+ 'ButtonGroup', 'ButtonModel', 'ButtonUI', 'Byte',
+ 'ByteArrayInputStream', 'ByteArrayOutputStream',
+ 'ByteHolder', 'ByteLookupTable', 'Calendar',
+ 'CallableStatement', 'CannotProceed',
+ 'CannotProceedException', 'CannotProceedHelper',
+ 'CannotProceedHolder', 'CannotRedoException',
+ 'CannotUndoException', 'Canvas', 'CardLayout',
+ 'Caret', 'CaretEvent', 'CaretListener', 'CellEditor',
+ 'CellEditorListener', 'CellRendererPane',
+ 'Certificate', 'Certificate.CertificateRep',
+ 'CertificateEncodingException',
+ 'CertificateException',
+ 'CertificateExpiredException', 'CertificateFactory',
+ 'CertificateFactorySpi',
+ 'CertificateNotYetValidException',
+ 'CertificateParsingException',
+ 'ChangedCharSetException', 'ChangeEvent',
+ 'ChangeListener', 'Character', 'Character.Subset',
+ 'Character.UnicodeBlock', 'CharacterIterator',
+ 'CharArrayReader', 'CharArrayWriter',
+ 'CharConversionException', 'CharHolder',
+ 'CharSeqHelper', 'CharSeqHolder', 'Checkbox',
+ 'CheckboxGroup', 'CheckboxMenuItem',
+ 'CheckedInputStream', 'CheckedOutputStream',
+ 'Checksum', 'Choice', 'ChoiceFormat', 'Class',
+ 'ClassCastException', 'ClassCircularityError',
+ 'ClassDesc', 'ClassFormatError', 'ClassLoader',
+ 'ClassNotFoundException', 'Clip', 'Clipboard',
+ 'ClipboardOwner', 'Clob', 'Cloneable',
+ 'CloneNotSupportedException', 'CMMException',
+ 'CodeSource', 'CollationElementIterator',
+ 'CollationKey', 'Collator', 'Collection',
+ 'Collections', 'Color',
+ 'ColorChooserComponentFactory', 'ColorChooserUI',
+ 'ColorConvertOp', 'ColorModel',
+ 'ColorSelectionModel', 'ColorSpace',
+ 'ColorUIResource', 'ComboBoxEditor', 'ComboBoxModel',
+ 'ComboBoxUI', 'ComboPopup', 'CommunicationException',
+ 'COMM_FAILURE', 'Comparable', 'Comparator',
+ 'Compiler', 'CompletionStatus',
+ 'CompletionStatusHelper', 'Component',
+ 'ComponentAdapter', 'ComponentColorModel',
+ 'ComponentEvent', 'ComponentInputMap',
+ 'ComponentInputMapUIResource', 'ComponentListener',
+ 'ComponentOrientation', 'ComponentSampleModel',
+ 'ComponentUI', 'ComponentView', 'Composite',
+ 'CompositeContext', 'CompositeName', 'CompositeView',
+ 'CompoundBorder', 'CompoundControl',
+ 'CompoundControl.Type', 'CompoundEdit',
+ 'CompoundName', 'ConcurrentModificationException',
+ 'ConfigurationException', 'ConnectException',
+ 'ConnectIOException', 'Connection', 'Constructor',
+ 'Container', 'ContainerAdapter', 'ContainerEvent',
+ 'ContainerListener', 'ContentHandler',
+ 'ContentHandlerFactory', 'ContentModel', 'Context',
+ 'ContextList', 'ContextNotEmptyException',
+ 'ContextualRenderedImageFactory', 'Control',
+ 'Control.Type', 'ControlFactory',
+ 'ControllerEventListener', 'ConvolveOp', 'CRC32',
+ 'CRL', 'CRLException', 'CropImageFilter', 'CSS',
+ 'CSS.Attribute', 'CTX_RESTRICT_SCOPE',
+ 'CubicCurve2D', 'CubicCurve2D.Double',
+ 'CubicCurve2D.Float', 'Current', 'CurrentHelper',
+ 'CurrentHolder', 'CurrentOperations', 'Cursor',
+ 'Customizer', 'CustomMarshal', 'CustomValue',
+ 'DatabaseMetaData', 'DataBuffer', 'DataBufferByte',
+ 'DataBufferInt', 'DataBufferShort',
+ 'DataBufferUShort', 'DataFlavor',
+ 'DataFormatException', 'DatagramPacket',
+ 'DatagramSocket', 'DatagramSocketImpl',
+ 'DatagramSocketImplFactory', 'DataInput',
+ 'DataInputStream', 'DataLine', 'DataLine.Info',
+ 'DataOutput', 'DataOutputStream', 'DataTruncation',
+ 'DATA_CONVERSION', 'Date', 'DateFormat',
+ 'DateFormatSymbols', 'DebugGraphics',
+ 'DecimalFormat', 'DecimalFormatSymbols',
+ 'DefaultBoundedRangeModel', 'DefaultButtonModel',
+ 'DefaultCaret', 'DefaultCellEditor',
+ 'DefaultColorSelectionModel', 'DefaultComboBoxModel',
+ 'DefaultDesktopManager', 'DefaultEditorKit',
+ 'DefaultEditorKit.BeepAction',
+ 'DefaultEditorKit.CopyAction',
+ 'DefaultEditorKit.CutAction',
+ 'DefaultEditorKit.DefaultKeyTypedAction',
+ 'DefaultEditorKit.InsertBreakAction',
+ 'DefaultEditorKit.InsertContentAction',
+ 'DefaultEditorKit.InsertTabAction',
+ 'DefaultEditorKit.PasteAction,',
+ 'DefaultFocusManager', 'DefaultHighlighter',
+ 'DefaultHighlighter.DefaultHighlightPainter',
+ 'DefaultListCellRenderer',
+ 'DefaultListCellRenderer.UIResource',
+ 'DefaultListModel', 'DefaultListSelectionModel',
+ 'DefaultMenuLayout', 'DefaultMetalTheme',
+ 'DefaultMutableTreeNode',
+ 'DefaultSingleSelectionModel',
+ 'DefaultStyledDocument',
+ 'DefaultStyledDocument.AttributeUndoableEdit',
+ 'DefaultStyledDocument.ElementSpec',
+ 'DefaultTableCellRenderer',
+ 'DefaultTableCellRenderer.UIResource',
+ 'DefaultTableColumnModel', 'DefaultTableModel',
+ 'DefaultTextUI', 'DefaultTreeCellEditor',
+ 'DefaultTreeCellRenderer', 'DefaultTreeModel',
+ 'DefaultTreeSelectionModel', 'DefinitionKind',
+ 'DefinitionKindHelper', 'Deflater',
+ 'DeflaterOutputStream', 'Delegate', 'DesignMode',
+ 'DesktopIconUI', 'DesktopManager', 'DesktopPaneUI',
+ 'DGC', 'Dialog', 'Dictionary', 'DigestException',
+ 'DigestInputStream', 'DigestOutputStream',
+ 'Dimension', 'Dimension2D', 'DimensionUIResource',
+ 'DirContext', 'DirectColorModel', 'DirectoryManager',
+ 'DirObjectFactory', 'DirStateFactory',
+ 'DirStateFactory.Result', 'DnDConstants', 'Document',
+ 'DocumentEvent', 'DocumentEvent.ElementChange',
+ 'DocumentEvent.EventType', 'DocumentListener',
+ 'DocumentParser', 'DomainCombiner', 'DomainManager',
+ 'DomainManagerOperations', 'Double', 'DoubleHolder',
+ 'DoubleSeqHelper', 'DoubleSeqHolder',
+ 'DragGestureEvent', 'DragGestureListener',
+ 'DragGestureRecognizer', 'DragSource',
+ 'DragSourceContext', 'DragSourceDragEvent',
+ 'DragSourceDropEvent', 'DragSourceEvent',
+ 'DragSourceListener', 'Driver', 'DriverManager',
+ 'DriverPropertyInfo', 'DropTarget',
+ 'DropTarget.DropTargetAutoScroller',
+ 'DropTargetContext', 'DropTargetDragEvent',
+ 'DropTargetDropEvent', 'DropTargetEvent',
+ 'DropTargetListener', 'DSAKey',
+ 'DSAKeyPairGenerator', 'DSAParameterSpec',
+ 'DSAParams', 'DSAPrivateKey', 'DSAPrivateKeySpec',
+ 'DSAPublicKey', 'DSAPublicKeySpec', 'DTD',
+ 'DTDConstants', 'DynamicImplementation', 'DynAny',
+ 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence',
+ 'DynStruct', 'DynUnion', 'DynValue', 'EditorKit',
+ 'Element', 'ElementIterator', 'Ellipse2D',
+ 'Ellipse2D.Double', 'Ellipse2D.Float', 'EmptyBorder',
+ 'EmptyStackException', 'EncodedKeySpec', 'Entity',
+ 'EnumControl', 'EnumControl.Type', 'Enumeration',
+ 'Environment', 'EOFException', 'Error',
+ 'EtchedBorder', 'Event', 'EventContext',
+ 'EventDirContext', 'EventListener',
+ 'EventListenerList', 'EventObject', 'EventQueue',
+ 'EventSetDescriptor', 'Exception',
+ 'ExceptionInInitializerError', 'ExceptionList',
+ 'ExpandVetoException', 'ExportException',
+ 'ExtendedRequest', 'ExtendedResponse',
+ 'Externalizable', 'FeatureDescriptor', 'Field',
+ 'FieldNameHelper', 'FieldPosition', 'FieldView',
+ 'File', 'FileChooserUI', 'FileDescriptor',
+ 'FileDialog', 'FileFilter', 'FileInputStream',
+ 'FilenameFilter', 'FileNameMap',
+ 'FileNotFoundException', 'FileOutputStream',
+ 'FilePermission', 'FileReader', 'FileSystemView',
+ 'FileView', 'FileWriter', 'FilteredImageSource',
+ 'FilterInputStream', 'FilterOutputStream',
+ 'FilterReader', 'FilterWriter',
+ 'FixedHeightLayoutCache', 'FixedHolder',
+ 'FlatteningPathIterator', 'FlavorMap', 'Float',
+ 'FloatControl', 'FloatControl.Type', 'FloatHolder',
+ 'FloatSeqHelper', 'FloatSeqHolder', 'FlowLayout',
+ 'FlowView', 'FlowView.FlowStrategy', 'FocusAdapter',
+ 'FocusEvent', 'FocusListener', 'FocusManager',
+ 'Font', 'FontFormatException', 'FontMetrics',
+ 'FontRenderContext', 'FontUIResource', 'Format',
+ 'FormatConversionProvider', 'FormView', 'Frame',
+ 'FREE_MEM', 'GapContent', 'GeneralPath',
+ 'GeneralSecurityException', 'GlyphJustificationInfo',
+ 'GlyphMetrics', 'GlyphVector', 'GlyphView',
+ 'GlyphView.GlyphPainter', 'GradientPaint',
+ 'GraphicAttribute', 'Graphics', 'Graphics2D',
+ 'GraphicsConfigTemplate', 'GraphicsConfiguration',
+ 'GraphicsDevice', 'GraphicsEnvironment',
+ 'GrayFilter', 'GregorianCalendar',
+ 'GridBagConstraints', 'GridBagLayout', 'GridLayout',
+ 'Group', 'Guard', 'GuardedObject', 'GZIPInputStream',
+ 'GZIPOutputStream', 'HasControls', 'HashMap',
+ 'HashSet', 'Hashtable', 'HierarchyBoundsAdapter',
+ 'HierarchyBoundsListener', 'HierarchyEvent',
+ 'HierarchyListener', 'Highlighter',
+ 'Highlighter.Highlight',
+ 'Highlighter.HighlightPainter', 'HTML',
+ 'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag',
+ 'HTMLDocument', 'HTMLDocument.Iterator',
+ 'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory',
+ 'HTMLEditorKit.HTMLTextAction',
+ 'HTMLEditorKit.InsertHTMLTextAction',
+ 'HTMLEditorKit.LinkController',
+ 'HTMLEditorKit.Parser',
+ 'HTMLEditorKit.ParserCallback',
+ 'HTMLFrameHyperlinkEvent', 'HTMLWriter',
+ 'HttpURLConnection', 'HyperlinkEvent',
+ 'HyperlinkEvent.EventType', 'HyperlinkListener',
+ 'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray',
+ 'ICC_ProfileRGB', 'Icon', 'IconUIResource',
+ 'IconView', 'IdentifierHelper', 'Identity',
+ 'IdentityScope', 'IDLEntity', 'IDLType',
+ 'IDLTypeHelper', 'IDLTypeOperations',
+ 'IllegalAccessError', 'IllegalAccessException',
+ 'IllegalArgumentException',
+ 'IllegalComponentStateException',
+ 'IllegalMonitorStateException',
+ 'IllegalPathStateException', 'IllegalStateException',
+ 'IllegalThreadStateException', 'Image',
+ 'ImageConsumer', 'ImageFilter',
+ 'ImageGraphicAttribute', 'ImageIcon',
+ 'ImageObserver', 'ImageProducer',
+ 'ImagingOpException', 'IMP_LIMIT',
+ 'IncompatibleClassChangeError',
+ 'InconsistentTypeCode', 'IndexColorModel',
+ 'IndexedPropertyDescriptor',
+ 'IndexOutOfBoundsException', 'IndirectionException',
+ 'InetAddress', 'Inflater', 'InflaterInputStream',
+ 'InheritableThreadLocal', 'InitialContext',
+ 'InitialContextFactory',
+ 'InitialContextFactoryBuilder', 'InitialDirContext',
+ 'INITIALIZE', 'Initializer', 'InitialLdapContext',
+ 'InlineView', 'InputContext', 'InputEvent',
+ 'InputMap', 'InputMapUIResource', 'InputMethod',
+ 'InputMethodContext', 'InputMethodDescriptor',
+ 'InputMethodEvent', 'InputMethodHighlight',
+ 'InputMethodListener', 'InputMethodRequests',
+ 'InputStream', 'InputStreamReader', 'InputSubset',
+ 'InputVerifier', 'Insets', 'InsetsUIResource',
+ 'InstantiationError', 'InstantiationException',
+ 'Instrument', 'InsufficientResourcesException',
+ 'Integer', 'INTERNAL', 'InternalError',
+ 'InternalFrameAdapter', 'InternalFrameEvent',
+ 'InternalFrameListener', 'InternalFrameUI',
+ 'InterruptedException', 'InterruptedIOException',
+ 'InterruptedNamingException', 'INTF_REPOS',
+ 'IntHolder', 'IntrospectionException',
+ 'Introspector', 'Invalid',
+ 'InvalidAlgorithmParameterException',
+ 'InvalidAttributeIdentifierException',
+ 'InvalidAttributesException',
+ 'InvalidAttributeValueException',
+ 'InvalidClassException',
+ 'InvalidDnDOperationException',
+ 'InvalidKeyException', 'InvalidKeySpecException',
+ 'InvalidMidiDataException', 'InvalidName',
+ 'InvalidNameException', 'InvalidNameHelper',
+ 'InvalidNameHolder', 'InvalidObjectException',
+ 'InvalidParameterException',
+ 'InvalidParameterSpecException',
+ 'InvalidSearchControlsException',
+ 'InvalidSearchFilterException', 'InvalidSeq',
+ 'InvalidTransactionException', 'InvalidValue',
+ 'INVALID_TRANSACTION', 'InvocationEvent',
+ 'InvocationHandler', 'InvocationTargetException',
+ 'InvokeHandler', 'INV_FLAG', 'INV_IDENT',
+ 'INV_OBJREF', 'INV_POLICY', 'IOException',
+ 'IRObject', 'IRObjectOperations', 'IstringHelper',
+ 'ItemEvent', 'ItemListener', 'ItemSelectable',
+ 'Iterator', 'JApplet', 'JarEntry', 'JarException',
+ 'JarFile', 'JarInputStream', 'JarOutputStream',
+ 'JarURLConnection', 'JButton', 'JCheckBox',
+ 'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox',
+ 'JComboBox.KeySelectionManager', 'JComponent',
+ 'JDesktopPane', 'JDialog', 'JEditorPane',
+ 'JFileChooser', 'JFrame', 'JInternalFrame',
+ 'JInternalFrame.JDesktopIcon', 'JLabel',
+ 'JLayeredPane', 'JList', 'JMenu', 'JMenuBar',
+ 'JMenuItem', 'JobAttributes',
+ 'JobAttributes.DefaultSelectionType',
+ 'JobAttributes.DestinationType',
+ 'JobAttributes.DialogType',
+ 'JobAttributes.MultipleDocumentHandlingType',
+ 'JobAttributes.SidesType', 'JOptionPane', 'JPanel',
+ 'JPasswordField', 'JPopupMenu',
+ 'JPopupMenu.Separator', 'JProgressBar',
+ 'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane',
+ 'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider',
+ 'JSplitPane', 'JTabbedPane', 'JTable',
+ 'JTableHeader', 'JTextArea', 'JTextComponent',
+ 'JTextComponent.KeyBinding', 'JTextField',
+ 'JTextPane', 'JToggleButton',
+ 'JToggleButton.ToggleButtonModel', 'JToolBar',
+ 'JToolBar.Separator', 'JToolTip', 'JTree',
+ 'JTree.DynamicUtilTreeNode',
+ 'JTree.EmptySelectionModel', 'JViewport', 'JWindow',
+ 'Kernel', 'Key', 'KeyAdapter', 'KeyEvent',
+ 'KeyException', 'KeyFactory', 'KeyFactorySpi',
+ 'KeyListener', 'KeyManagementException', 'Keymap',
+ 'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi',
+ 'KeySpec', 'KeyStore', 'KeyStoreException',
+ 'KeyStoreSpi', 'KeyStroke', 'Label', 'LabelUI',
+ 'LabelView', 'LastOwnerException',
+ 'LayeredHighlighter',
+ 'LayeredHighlighter.LayerPainter', 'LayoutManager',
+ 'LayoutManager2', 'LayoutQueue', 'LdapContext',
+ 'LdapReferralException', 'Lease',
+ 'LimitExceededException', 'Line', 'Line.Info',
+ 'Line2D', 'Line2D.Double', 'Line2D.Float',
+ 'LineBorder', 'LineBreakMeasurer', 'LineEvent',
+ 'LineEvent.Type', 'LineListener', 'LineMetrics',
+ 'LineNumberInputStream', 'LineNumberReader',
+ 'LineUnavailableException', 'LinkageError',
+ 'LinkedList', 'LinkException', 'LinkLoopException',
+ 'LinkRef', 'List', 'ListCellRenderer',
+ 'ListDataEvent', 'ListDataListener', 'ListIterator',
+ 'ListModel', 'ListResourceBundle',
+ 'ListSelectionEvent', 'ListSelectionListener',
+ 'ListSelectionModel', 'ListUI', 'ListView',
+ 'LoaderHandler', 'Locale', 'LocateRegistry',
+ 'LogStream', 'Long', 'LongHolder',
+ 'LongLongSeqHelper', 'LongLongSeqHolder',
+ 'LongSeqHelper', 'LongSeqHolder', 'LookAndFeel',
+ 'LookupOp', 'LookupTable', 'MalformedLinkException',
+ 'MalformedURLException', 'Manifest', 'Map',
+ 'Map.Entry', 'MARSHAL', 'MarshalException',
+ 'MarshalledObject', 'Math', 'MatteBorder',
+ 'MediaTracker', 'Member', 'MemoryImageSource',
+ 'Menu', 'MenuBar', 'MenuBarUI', 'MenuComponent',
+ 'MenuContainer', 'MenuDragMouseEvent',
+ 'MenuDragMouseListener', 'MenuElement', 'MenuEvent',
+ 'MenuItem', 'MenuItemUI', 'MenuKeyEvent',
+ 'MenuKeyListener', 'MenuListener',
+ 'MenuSelectionManager', 'MenuShortcut',
+ 'MessageDigest', 'MessageDigestSpi', 'MessageFormat',
+ 'MetaEventListener', 'MetalBorders',
+ 'MetalBorders.ButtonBorder',
+ 'MetalBorders.Flush3DBorder',
+ 'MetalBorders.InternalFrameBorder',
+ 'MetalBorders.MenuBarBorder',
+ 'MetalBorders.MenuItemBorder',
+ 'MetalBorders.OptionDialogBorder',
+ 'MetalBorders.PaletteBorder',
+ 'MetalBorders.PopupMenuBorder',
+ 'MetalBorders.RolloverButtonBorder',
+ 'MetalBorders.ScrollPaneBorder',
+ 'MetalBorders.TableHeaderBorder',
+ 'MetalBorders.TextFieldBorder',
+ 'MetalBorders.ToggleButtonBorder',
+ 'MetalBorders.ToolBarBorder', 'MetalButtonUI',
+ 'MetalCheckBoxIcon', 'MetalCheckBoxUI',
+ 'MetalComboBoxButton', 'MetalComboBoxEditor',
+ 'MetalComboBoxEditor.UIResource',
+ 'MetalComboBoxIcon', 'MetalComboBoxUI',
+ 'MetalDesktopIconUI', 'MetalFileChooserUI',
+ 'MetalIconFactory', 'MetalIconFactory.FileIcon16',
+ 'MetalIconFactory.FolderIcon16',
+ 'MetalIconFactory.PaletteCloseIcon',
+ 'MetalIconFactory.TreeControlIcon',
+ 'MetalIconFactory.TreeFolderIcon',
+ 'MetalIconFactory.TreeLeafIcon',
+ 'MetalInternalFrameTitlePane',
+ 'MetalInternalFrameUI', 'MetalLabelUI',
+ 'MetalLookAndFeel', 'MetalPopupMenuSeparatorUI',
+ 'MetalProgressBarUI', 'MetalRadioButtonUI',
+ 'MetalScrollBarUI', 'MetalScrollButton',
+ 'MetalScrollPaneUI', 'MetalSeparatorUI',
+ 'MetalSliderUI', 'MetalSplitPaneUI',
+ 'MetalTabbedPaneUI', 'MetalTextFieldUI',
+ 'MetalTheme', 'MetalToggleButtonUI',
+ 'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI',
+ 'MetaMessage', 'Method', 'MethodDescriptor',
+ 'MidiChannel', 'MidiDevice', 'MidiDevice.Info',
+ 'MidiDeviceProvider', 'MidiEvent', 'MidiFileFormat',
+ 'MidiFileReader', 'MidiFileWriter', 'MidiMessage',
+ 'MidiSystem', 'MidiUnavailableException',
+ 'MimeTypeParseException', 'MinimalHTMLWriter',
+ 'MissingResourceException', 'Mixer', 'Mixer.Info',
+ 'MixerProvider', 'ModificationItem', 'Modifier',
+ 'MouseAdapter', 'MouseDragGestureRecognizer',
+ 'MouseEvent', 'MouseInputAdapter',
+ 'MouseInputListener', 'MouseListener',
+ 'MouseMotionAdapter', 'MouseMotionListener',
+ 'MultiButtonUI', 'MulticastSocket',
+ 'MultiColorChooserUI', 'MultiComboBoxUI',
+ 'MultiDesktopIconUI', 'MultiDesktopPaneUI',
+ 'MultiFileChooserUI', 'MultiInternalFrameUI',
+ 'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel',
+ 'MultiMenuBarUI', 'MultiMenuItemUI',
+ 'MultiOptionPaneUI', 'MultiPanelUI',
+ 'MultiPixelPackedSampleModel', 'MultipleMaster',
+ 'MultiPopupMenuUI', 'MultiProgressBarUI',
+ 'MultiScrollBarUI', 'MultiScrollPaneUI',
+ 'MultiSeparatorUI', 'MultiSliderUI',
+ 'MultiSplitPaneUI', 'MultiTabbedPaneUI',
+ 'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI',
+ 'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI',
+ 'MultiViewportUI', 'MutableAttributeSet',
+ 'MutableComboBoxModel', 'MutableTreeNode', 'Name',
+ 'NameAlreadyBoundException', 'NameClassPair',
+ 'NameComponent', 'NameComponentHelper',
+ 'NameComponentHolder', 'NamedValue', 'NameHelper',
+ 'NameHolder', 'NameNotFoundException', 'NameParser',
+ 'NamespaceChangeListener', 'NameValuePair',
+ 'NameValuePairHelper', 'Naming', 'NamingContext',
+ 'NamingContextHelper', 'NamingContextHolder',
+ 'NamingContextOperations', 'NamingEnumeration',
+ 'NamingEvent', 'NamingException',
+ 'NamingExceptionEvent', 'NamingListener',
+ 'NamingManager', 'NamingSecurityException',
+ 'NegativeArraySizeException', 'NetPermission',
+ 'NoClassDefFoundError', 'NoInitialContextException',
+ 'NoninvertibleTransformException',
+ 'NoPermissionException', 'NoRouteToHostException',
+ 'NoSuchAlgorithmException',
+ 'NoSuchAttributeException', 'NoSuchElementException',
+ 'NoSuchFieldError', 'NoSuchFieldException',
+ 'NoSuchMethodError', 'NoSuchMethodException',
+ 'NoSuchObjectException', 'NoSuchProviderException',
+ 'NotActiveException', 'NotBoundException',
+ 'NotContextException', 'NotEmpty', 'NotEmptyHelper',
+ 'NotEmptyHolder', 'NotFound', 'NotFoundHelper',
+ 'NotFoundHolder', 'NotFoundReason',
+ 'NotFoundReasonHelper', 'NotFoundReasonHolder',
+ 'NotOwnerException', 'NotSerializableException',
+ 'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION',
+ 'NO_RESOURCES', 'NO_RESPONSE',
+ 'NullPointerException', 'Number', 'NumberFormat',
+ 'NumberFormatException', 'NVList', 'Object',
+ 'ObjectChangeListener', 'ObjectFactory',
+ 'ObjectFactoryBuilder', 'ObjectHelper',
+ 'ObjectHolder', 'ObjectImpl', 'ObjectInput',
+ 'ObjectInputStream', 'ObjectInputStream.GetField',
+ 'ObjectInputValidation', 'ObjectOutput',
+ 'ObjectOutputStream', 'ObjectOutputStream.PutField',
+ 'ObjectStreamClass', 'ObjectStreamConstants',
+ 'ObjectStreamException', 'ObjectStreamField',
+ 'ObjectView', 'OBJECT_NOT_EXIST', 'ObjID',
+ 'OBJ_ADAPTER', 'Observable', 'Observer',
+ 'OctetSeqHelper', 'OctetSeqHolder', 'OMGVMCID',
+ 'OpenType', 'Operation',
+ 'OperationNotSupportedException', 'Option',
+ 'OptionalDataException', 'OptionPaneUI', 'ORB',
+ 'OutOfMemoryError', 'OutputStream',
+ 'OutputStreamWriter', 'OverlayLayout', 'Owner',
+ 'Package', 'PackedColorModel', 'Pageable',
+ 'PageAttributes', 'PageAttributes.ColorType',
+ 'PageAttributes.MediaType',
+ 'PageAttributes.OrientationRequestedType',
+ 'PageAttributes.OriginType',
+ 'PageAttributes.PrintQualityType', 'PageFormat',
+ 'Paint', 'PaintContext', 'PaintEvent', 'Panel',
+ 'PanelUI', 'Paper', 'ParagraphView',
+ 'ParameterBlock', 'ParameterDescriptor',
+ 'ParseException', 'ParsePosition', 'Parser',
+ 'ParserDelegator', 'PartialResultException',
+ 'PasswordAuthentication', 'PasswordView', 'Patch',
+ 'PathIterator', 'Permission', 'PermissionCollection',
+ 'Permissions', 'PERSIST_STORE', 'PhantomReference',
+ 'PipedInputStream', 'PipedOutputStream',
+ 'PipedReader', 'PipedWriter', 'PixelGrabber',
+ 'PixelInterleavedSampleModel', 'PKCS8EncodedKeySpec',
+ 'PlainDocument', 'PlainView', 'Point', 'Point2D',
+ 'Point2D.Double', 'Point2D.Float', 'Policy',
+ 'PolicyError', 'PolicyHelper', 'PolicyHolder',
+ 'PolicyListHelper', 'PolicyListHolder',
+ 'PolicyOperations', 'PolicyTypeHelper', 'Polygon',
+ 'PopupMenu', 'PopupMenuEvent', 'PopupMenuListener',
+ 'PopupMenuUI', 'Port', 'Port.Info',
+ 'PortableRemoteObject',
+ 'PortableRemoteObjectDelegate', 'Position',
+ 'Position.Bias', 'PreparedStatement', 'Principal',
+ 'PrincipalHolder', 'Printable',
+ 'PrinterAbortException', 'PrinterException',
+ 'PrinterGraphics', 'PrinterIOException',
+ 'PrinterJob', 'PrintGraphics', 'PrintJob',
+ 'PrintStream', 'PrintWriter', 'PrivateKey',
+ 'PRIVATE_MEMBER', 'PrivilegedAction',
+ 'PrivilegedActionException',
+ 'PrivilegedExceptionAction', 'Process',
+ 'ProfileDataException', 'ProgressBarUI',
+ 'ProgressMonitor', 'ProgressMonitorInputStream',
+ 'Properties', 'PropertyChangeEvent',
+ 'PropertyChangeListener', 'PropertyChangeSupport',
+ 'PropertyDescriptor', 'PropertyEditor',
+ 'PropertyEditorManager', 'PropertyEditorSupport',
+ 'PropertyPermission', 'PropertyResourceBundle',
+ 'PropertyVetoException', 'ProtectionDomain',
+ 'ProtocolException', 'Provider', 'ProviderException',
+ 'Proxy', 'PublicKey', 'PUBLIC_MEMBER',
+ 'PushbackInputStream', 'PushbackReader',
+ 'QuadCurve2D', 'QuadCurve2D.Double',
+ 'QuadCurve2D.Float', 'Random', 'RandomAccessFile',
+ 'Raster', 'RasterFormatException', 'RasterOp',
+ 'Reader', 'Receiver', 'Rectangle', 'Rectangle2D',
+ 'Rectangle2D.Double', 'Rectangle2D.Float',
+ 'RectangularShape', 'Ref', 'RefAddr', 'Reference',
+ 'Referenceable', 'ReferenceQueue',
+ 'ReferralException', 'ReflectPermission', 'Registry',
+ 'RegistryHandler', 'RemarshalException', 'Remote',
+ 'RemoteCall', 'RemoteException', 'RemoteObject',
+ 'RemoteRef', 'RemoteServer', 'RemoteStub',
+ 'RenderableImage', 'RenderableImageOp',
+ 'RenderableImageProducer', 'RenderContext',
+ 'RenderedImage', 'RenderedImageFactory', 'Renderer',
+ 'RenderingHints', 'RenderingHints.Key',
+ 'RepaintManager', 'ReplicateScaleFilter',
+ 'Repository', 'RepositoryIdHelper', 'Request',
+ 'RescaleOp', 'Resolver', 'ResolveResult',
+ 'ResourceBundle', 'ResponseHandler', 'ResultSet',
+ 'ResultSetMetaData', 'ReverbType', 'RGBImageFilter',
+ 'RMIClassLoader', 'RMIClientSocketFactory',
+ 'RMIFailureHandler', 'RMISecurityException',
+ 'RMISecurityManager', 'RMIServerSocketFactory',
+ 'RMISocketFactory', 'Robot', 'RootPaneContainer',
+ 'RootPaneUI', 'RoundRectangle2D',
+ 'RoundRectangle2D.Double', 'RoundRectangle2D.Float',
+ 'RowMapper', 'RSAKey', 'RSAKeyGenParameterSpec',
+ 'RSAPrivateCrtKey', 'RSAPrivateCrtKeySpec',
+ 'RSAPrivateKey', 'RSAPrivateKeySpec', 'RSAPublicKey',
+ 'RSAPublicKeySpec', 'RTFEditorKit',
+ 'RuleBasedCollator', 'Runnable', 'Runtime',
+ 'RunTime', 'RuntimeException', 'RunTimeOperations',
+ 'RuntimePermission', 'SampleModel',
+ 'SchemaViolationException', 'Scrollable',
+ 'Scrollbar', 'ScrollBarUI', 'ScrollPane',
+ 'ScrollPaneConstants', 'ScrollPaneLayout',
+ 'ScrollPaneLayout.UIResource', 'ScrollPaneUI',
+ 'SearchControls', 'SearchResult',
+ 'SecureClassLoader', 'SecureRandom',
+ 'SecureRandomSpi', 'Security', 'SecurityException',
+ 'SecurityManager', 'SecurityPermission', 'Segment',
+ 'SeparatorUI', 'Sequence', 'SequenceInputStream',
+ 'Sequencer', 'Sequencer.SyncMode', 'Serializable',
+ 'SerializablePermission', 'ServantObject',
+ 'ServerCloneException', 'ServerError',
+ 'ServerException', 'ServerNotActiveException',
+ 'ServerRef', 'ServerRequest',
+ 'ServerRuntimeException', 'ServerSocket',
+ 'ServiceDetail', 'ServiceDetailHelper',
+ 'ServiceInformation', 'ServiceInformationHelper',
+ 'ServiceInformationHolder',
+ 'ServiceUnavailableException', 'Set',
+ 'SetOverrideType', 'SetOverrideTypeHelper', 'Shape',
+ 'ShapeGraphicAttribute', 'Short', 'ShortHolder',
+ 'ShortLookupTable', 'ShortMessage', 'ShortSeqHelper',
+ 'ShortSeqHolder', 'Signature', 'SignatureException',
+ 'SignatureSpi', 'SignedObject', 'Signer',
+ 'SimpleAttributeSet', 'SimpleBeanInfo',
+ 'SimpleDateFormat', 'SimpleTimeZone',
+ 'SinglePixelPackedSampleModel',
+ 'SingleSelectionModel', 'SizeLimitExceededException',
+ 'SizeRequirements', 'SizeSequence', 'Skeleton',
+ 'SkeletonMismatchException',
+ 'SkeletonNotFoundException', 'SliderUI', 'Socket',
+ 'SocketException', 'SocketImpl', 'SocketImplFactory',
+ 'SocketOptions', 'SocketPermission',
+ 'SocketSecurityException', 'SoftBevelBorder',
+ 'SoftReference', 'SortedMap', 'SortedSet',
+ 'Soundbank', 'SoundbankReader', 'SoundbankResource',
+ 'SourceDataLine', 'SplitPaneUI', 'SQLData',
+ 'SQLException', 'SQLInput', 'SQLOutput',
+ 'SQLPermission', 'SQLWarning', 'Stack',
+ 'StackOverflowError', 'StateEdit', 'StateEditable',
+ 'StateFactory', 'Statement', 'Streamable',
+ 'StreamableValue', 'StreamCorruptedException',
+ 'StreamTokenizer', 'StrictMath', 'String',
+ 'StringBuffer', 'StringBufferInputStream',
+ 'StringCharacterIterator', 'StringContent',
+ 'StringHolder', 'StringIndexOutOfBoundsException',
+ 'StringReader', 'StringRefAddr', 'StringSelection',
+ 'StringTokenizer', 'StringValueHelper',
+ 'StringWriter', 'Stroke', 'Struct', 'StructMember',
+ 'StructMemberHelper', 'Stub', 'StubDelegate',
+ 'StubNotFoundException', 'Style', 'StyleConstants',
+ 'StyleConstants.CharacterConstants',
+ 'StyleConstants.ColorConstants',
+ 'StyleConstants.FontConstants',
+ 'StyleConstants.ParagraphConstants', 'StyleContext',
+ 'StyledDocument', 'StyledEditorKit',
+ 'StyledEditorKit.AlignmentAction',
+ 'StyledEditorKit.BoldAction',
+ 'StyledEditorKit.FontFamilyAction',
+ 'StyledEditorKit.FontSizeAction',
+ 'StyledEditorKit.ForegroundAction',
+ 'StyledEditorKit.ItalicAction',
+ 'StyledEditorKit.StyledTextAction',
+ 'StyledEditorKit.UnderlineAction', 'StyleSheet',
+ 'StyleSheet.BoxPainter', 'StyleSheet.ListPainter',
+ 'SwingConstants', 'SwingPropertyChangeSupport',
+ 'SwingUtilities', 'SyncFailedException',
+ 'Synthesizer', 'SysexMessage', 'System',
+ 'SystemColor', 'SystemException', 'SystemFlavorMap',
+ 'TabableView', 'TabbedPaneUI', 'TabExpander',
+ 'TableCellEditor', 'TableCellRenderer',
+ 'TableColumn', 'TableColumnModel',
+ 'TableColumnModelEvent', 'TableColumnModelListener',
+ 'TableHeaderUI', 'TableModel', 'TableModelEvent',
+ 'TableModelListener', 'TableUI', 'TableView',
+ 'TabSet', 'TabStop', 'TagElement', 'TargetDataLine',
+ 'TCKind', 'TextAction', 'TextArea', 'TextAttribute',
+ 'TextComponent', 'TextEvent', 'TextField',
+ 'TextHitInfo', 'TextLayout',
+ 'TextLayout.CaretPolicy', 'TextListener',
+ 'TextMeasurer', 'TextUI', 'TexturePaint', 'Thread',
+ 'ThreadDeath', 'ThreadGroup', 'ThreadLocal',
+ 'Throwable', 'Tie', 'TileObserver', 'Time',
+ 'TimeLimitExceededException', 'Timer', 'TimerTask',
+ 'Timestamp', 'TimeZone', 'TitledBorder', 'ToolBarUI',
+ 'Toolkit', 'ToolTipManager', 'ToolTipUI',
+ 'TooManyListenersException', 'Track',
+ 'TransactionRequiredException',
+ 'TransactionRolledbackException',
+ 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK',
+ 'Transferable', 'TransformAttribute', 'TRANSIENT',
+ 'Transmitter', 'Transparency', 'TreeCellEditor',
+ 'TreeCellRenderer', 'TreeExpansionEvent',
+ 'TreeExpansionListener', 'TreeMap', 'TreeModel',
+ 'TreeModelEvent', 'TreeModelListener', 'TreeNode',
+ 'TreePath', 'TreeSelectionEvent',
+ 'TreeSelectionListener', 'TreeSelectionModel',
+ 'TreeSet', 'TreeUI', 'TreeWillExpandListener',
+ 'TypeCode', 'TypeCodeHolder', 'TypeMismatch',
+ 'Types', 'UID', 'UIDefaults',
+ 'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap',
+ 'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue',
+ 'UIManager', 'UIManager.LookAndFeelInfo',
+ 'UIResource', 'ULongLongSeqHelper',
+ 'ULongLongSeqHolder', 'ULongSeqHelper',
+ 'ULongSeqHolder', 'UndeclaredThrowableException',
+ 'UndoableEdit', 'UndoableEditEvent',
+ 'UndoableEditListener', 'UndoableEditSupport',
+ 'UndoManager', 'UnexpectedException',
+ 'UnicastRemoteObject', 'UnionMember',
+ 'UnionMemberHelper', 'UNKNOWN', 'UnknownError',
+ 'UnknownException', 'UnknownGroupException',
+ 'UnknownHostException', 'UnknownObjectException',
+ 'UnknownServiceException', 'UnknownUserException',
+ 'UnmarshalException', 'UnrecoverableKeyException',
+ 'Unreferenced', 'UnresolvedPermission',
+ 'UnsatisfiedLinkError', 'UnsolicitedNotification',
+ 'UnsolicitedNotificationEvent',
+ 'UnsolicitedNotificationListener',
+ 'UnsupportedAudioFileException',
+ 'UnsupportedClassVersionError',
+ 'UnsupportedEncodingException',
+ 'UnsupportedFlavorException',
+ 'UnsupportedLookAndFeelException',
+ 'UnsupportedOperationException',
+ 'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE',
+ 'URL', 'URLClassLoader', 'URLConnection',
+ 'URLDecoder', 'URLEncoder', 'URLStreamHandler',
+ 'URLStreamHandlerFactory', 'UserException',
+ 'UShortSeqHelper', 'UShortSeqHolder',
+ 'UTFDataFormatException', 'Util', 'UtilDelegate',
+ 'Utilities', 'ValueBase', 'ValueBaseHelper',
+ 'ValueBaseHolder', 'ValueFactory', 'ValueHandler',
+ 'ValueMember', 'ValueMemberHelper',
+ 'VariableHeightLayoutCache', 'Vector', 'VerifyError',
+ 'VersionSpecHelper', 'VetoableChangeListener',
+ 'VetoableChangeSupport', 'View', 'ViewFactory',
+ 'ViewportLayout', 'ViewportUI',
+ 'VirtualMachineError', 'Visibility',
+ 'VisibilityHelper', 'VMID', 'VM_ABSTRACT',
+ 'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE',
+ 'VoiceStatus', 'Void', 'WCharSeqHelper',
+ 'WCharSeqHolder', 'WeakHashMap', 'WeakReference',
+ 'Window', 'WindowAdapter', 'WindowConstants',
+ 'WindowEvent', 'WindowListener', 'WrappedPlainView',
+ 'WritableRaster', 'WritableRenderedImage',
+ 'WriteAbortedException', 'Writer',
+ 'WrongTransaction', 'WStringValueHelper',
+ 'X509Certificate', 'X509CRL', 'X509CRLEntry',
+ 'X509EncodedKeySpec', 'X509Extension', 'ZipEntry',
+ 'ZipException', 'ZipFile', 'ZipInputStream',
+ 'ZipOutputStream', 'ZoneView',
+ '_BindingIteratorImplBase', '_BindingIteratorStub',
+ '_IDLTypeStub', '_NamingContextImplBase',
+ '_NamingContextStub', '_PolicyStub', '_Remote_Stub'
+ ),
+ 4 => array(
+ 'boolean', 'byte', 'char', 'double', 'float', 'int', 'long',
+ 'short', 'void'
+ ),
+ 5 => array(
+ 'allProperties', 'asImmutable', 'asSynchronized', 'collect',
+ 'count', 'each', 'eachProperty', 'eachPropertyName',
+ 'eachWithIndex', 'find', 'findAll', 'findIndexOf',
+ 'flatten', 'get', 'grep', 'inject', 'intersect',
+ 'join', 'max', 'min', 'pop', 'reverse',
+ 'reverseEach', 'size', 'sort', 'subMap', 'toList'
+ ),
+ 6 => array(
+ 'center', 'contains', 'eachMatch', 'padLeft', 'padRight',
+ 'toCharacter', 'tokenize', 'toLong', 'toURL'
+ ),
+ 7 => array(
+ 'append', 'eachByte', 'eachFile', 'eachFileRecurse', 'eachLine',
+ 'eachLines', 'encodeBase64', 'filterLine', 'getText',
+ 'splitEachLine', 'transformChar', 'transformLine',
+ 'withOutputStream', 'withPrintWriter', 'withReader',
+ 'withStream', 'withStreams', 'withWriter',
+ 'withWriterAppend', 'write', 'writeLine'
+ ),
+ 8 => array(
+ 'dump', 'getLastMatcher', 'inspect', 'invokeMethod', 'print',
+ 'println', 'start', 'startDaemon', 'step', 'times',
+ 'upto', 'use'
+ ),
+ 9 => array(
+ 'call', 'close', 'eachRow', 'execute', 'executeUpdate', 'Sql'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '|', '=',
+ '=>', '||', '-', '+', '<<', '<<<', '&&'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => true,
+ 1 => false,
+ 2 => false,
+ 3 => true,
+ 4 => true,
+ 5 => true,
+ 6 => true,
+ 7 => true,
+ 8 => true,
+ 9 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #aaaadd; font-weight: bold;',
+ 4 => 'color: #993333;',
+ 5 => 'color: #663399;',
+ 6 => 'color: #CC0099;',
+ 7 => 'color: #FFCC33;',
+ 8 => 'color: #993399;',
+ 9 => 'color: #993399; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1=> 'color: #808080; font-style: italic;',
+ 2=> 'color: #a1a100;',
+ 3=> 'color: #808080; font-style: italic;',
+ 'MULTI' => '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: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff;'
+ )
+ ),
+ '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}',
+ 3 => 'http://www.google.de/search?as_q={FNAME}&amp;num=100&amp;hl=en&amp;as_occt=url&amp;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}'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ //Variables
+ 0 => '\\$\\{[a-zA-Z_][a-zA-Z0-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
new file mode 100644
index 000000000..024382deb
--- /dev/null
+++ b/application/libraries/geshi/haskell.php
@@ -0,0 +1,198 @@
+<?php
+/*************************************************************************************
+ * haskell.php
+ * ----------
+ * 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
+ * Date Started: 2005/08/27
+ *
+ * Haskell language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2005/08/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Haskell',
+ 'COMMENT_SINGLE' => array( 1 => '--'),
+ 'COMMENT_MULTI' => array('{-' => '-}'),
+ 'COMMENT_REGEXP' => array(2 => "/-->/"),
+ 'CASE_KEYWORDS' => 0,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => "\\",
+ 'KEYWORDS' => array(
+ /* main haskell keywords */
+ 1 => array(
+ 'as',
+ 'case', 'of', 'class', 'data', 'default',
+ 'deriving', 'do', 'forall', 'hiding', 'if', 'then',
+ 'else', 'import', 'infix', 'infixl', 'infixr',
+ 'instance', 'let', 'in', 'module', 'newtype',
+ 'qualified', 'type', 'where'
+ ),
+ /* define names of main librarys, so we can link to it */
+ 2 => array(
+ 'Foreign', 'Numeric', 'Prelude'
+ ),
+ /* just link to Prelude functions, cause it's the default opened library when starting Haskell */
+ 3 => array(
+ 'not', 'otherwise', 'maybe',
+ 'either', 'fst', 'snd', 'curry', 'uncurry',
+ 'compare',
+ 'max', 'min', 'succ', 'pred', 'toEnum', 'fromEnum',
+ 'enumFrom', 'enumFromThen', 'enumFromTo',
+ 'enumFromThenTo', 'minBound', 'maxBound',
+ 'negate', 'abs', 'signum',
+ 'fromInteger', 'toRational', 'quot', 'rem',
+ 'div', 'mod', 'quotRem', 'divMod', 'toInteger',
+ 'recip', 'fromRational', 'pi', 'exp',
+ 'log', 'sqrt', 'logBase', 'sin', 'cos',
+ 'tan', 'asin', 'acos', 'atan', 'sinh', 'cosh',
+ 'tanh', 'asinh', 'acosh', 'atanh',
+ 'properFraction', 'truncate', 'round', 'ceiling',
+ 'floor', 'floatRadix', 'floatDigits', 'floatRange',
+ 'decodeFloat', 'encodeFloat', 'exponent',
+ 'significand', 'scaleFloat', 'isNaN', 'isInfinite',
+ 'isDenomalized', 'isNegativeZero', 'isIEEE',
+ 'atan2', 'subtract', 'even', 'odd', 'gcd',
+ 'lcm', 'fromIntegral', 'realToFrac',
+ 'return', 'fail', 'fmap',
+ 'mapM', 'mapM_', 'sequence', 'sequence_',
+ 'id', 'const','flip',
+ 'until', 'asTypeOf', 'error', 'undefined',
+ 'seq','map','filter', 'head',
+ 'last', 'tail', 'init', 'null', 'length',
+ 'reverse', 'foldl', 'foldl1', 'foldr',
+ 'foldr1', 'and', 'or', 'any', 'all', 'sum',
+ 'product', 'concat', 'concatMap', 'maximum',
+ 'minimum', 'scanl', 'scanl1', 'scanr', 'scanr1',
+ 'iterate', 'repeat', 'cycle', 'take', 'drop',
+ 'splitAt', 'teakWhile', 'dropWhile', 'span',
+ 'break', 'elem', 'notElem', 'lookup', 'zip',
+ 'zip3', 'zipWith', 'zipWith3', 'unzip', 'unzip3',
+ 'lines', 'words', 'unlines',
+ 'unwords', 'showPrec', 'show', 'showList',
+ 'shows', 'showChar', 'showString', 'showParen',
+ 'readsPrec', 'readList', 'reads', 'readParen',
+ 'read', 'lex', 'putChar', 'putStr', 'putStrLn',
+ 'print', 'getChar', 'getLine', 'getContents',
+ 'interact', 'readFile', 'writeFile', 'appendFile',
+ 'readIO', 'readLn', 'ioError', 'userError', 'catch'
+ ),
+ /* here Prelude Types */
+ 4 => array (
+ 'Bool', 'Maybe', 'Either', 'Ord', 'Ordering',
+ 'Char', 'String', 'Eq', 'Enum', 'Bounded',
+ 'Int', 'Integer', 'Float', 'Double', 'Rational',
+ 'Num', 'Real', 'Integral', 'Fractional',
+ 'Floating', 'RealFrac', 'RealFloat', 'Monad',
+ 'Functor', 'Show', 'ShowS', 'Read', 'ReadS',
+ 'IO'
+ ),
+ /* finally Prelude Exceptions */
+ 5 => array (
+ 'IOError', 'IOException'
+ )
+ ),
+ /* highlighting symbols is really important in Haskell */
+ 'SYMBOLS' => array(
+ '|', '->', '<-', '@', '!', '::', '_', '~', '=', '?',
+ '&&', '||', '==', '/=', '<', '<=', '>',
+ '>=','+', '-', '*','/', '%', '**', '^', '^^',
+ '>>=', '>>', '=<<', '$', '.', ',', '$!',
+ '++', '!!'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true, /* functions name are case seinsitive */
+ 3 => true, /* types name too */
+ 4 => true, /* finally exceptions too */
+ 5 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 2 => 'color: #06c; font-weight: bold;', /* blue as well */
+ 3 => 'font-weight: bold;', /* make the preduled functions bold */
+ 4 => 'color: #cccc00; font-weight: bold;', /* give types a different bg */
+ 5 => 'color: maroon;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #5d478b; font-style: italic;',
+ 2 => 'color: #339933; font-weight: bold;',
+ 'MULTI' => 'color: #5d478b; font-style: italic;' /* light purpHle */
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'background-color: #3cb371; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: green;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'background-color: #3cb371;' /* nice green */
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: red;' /* pink */
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #060;' /* dark green */
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933; font-weight: bold;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ /* some of keywords are Prelude functions */
+ 1 => '',
+ /* link to the wanted library */
+ 2 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/{FNAME}.html',
+ /* link to Prelude functions */
+ 3 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:{FNAME}',
+ /* link to Prelude types */
+ 4 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}',
+ /* link to Prelude exceptions */
+ 5 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}',
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/hq9plus.php b/application/libraries/geshi/hq9plus.php
new file mode 100644
index 000000000..89af3bee8
--- /dev/null
+++ b/application/libraries/geshi/hq9plus.php
@@ -0,0 +1,104 @@
+<?php
+/*************************************************************************************
+ * hq9plus.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/10/31
+ *
+ * HQ9+ language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ * - First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'HQ9+',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 'H', 'Q', '9', '+', 'h', 'q'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ ),
+ 'COMMENTS' => array(
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #a16000;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ ),
+ '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(
+ 'ENABLE_FLAGS' => array(
+ 'KEYWORDS' => GESHI_NEVER,
+ 'COMMENTS' => GESHI_NEVER,
+ 'STRINGS' => GESHI_NEVER,
+ 'REGEXPS' => GESHI_NEVER,
+ 'NUMBERS' => GESHI_NEVER
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/html4strict.php b/application/libraries/geshi/html4strict.php
new file mode 100644
index 000000000..08c7f30c7
--- /dev/null
+++ b/application/libraries/geshi/html4strict.php
@@ -0,0 +1,203 @@
+<?php
+/*************************************************************************************
+ * html4strict.php
+ * ---------------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/07/10
+ *
+ * HTML 4.01 strict language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/28 (1.0.4)
+ * - Removed escape character for strings
+ * 2004/11/27 (1.0.3)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ * - Added support for URLs
+ * 2004/08/05 (1.0.1)
+ * - Added INS and DEL
+ * - Removed the background colour from tags' styles
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Check that only HTML4 strict attributes are highlighted
+ * * Eliminate empty tags that aren't allowed in HTML4 strict
+ * * Split to several files - html4trans, xhtml1 etc
+ *
+ *************************************************************************************
+ *
+ * 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' => 'HTML',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ '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(
+ 'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+ 'background', 'bgcolor', 'border',
+ 'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+ 'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+ 'enctype',
+ 'face', 'for', 'frame', 'frameborder',
+ 'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+ 'id', 'ismap',
+ 'label', 'lang', 'language', 'link', 'longdesc',
+ 'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+ 'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+ 'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+ 'profile', 'prompt',
+ 'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+ 'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+ '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(
+ -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(
+ -1 => array(
+ '<!--' => '-->'
+ ),
+ 0 => array(
+ '<!DOCTYPE' => '>'
+ ),
+ 1 => array(
+ '&' => ';'
+ ),
+ 2 => array(
+ '<' => '>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ -1 => false,
+ 0 => false,
+ 1 => false,
+ 2 => true
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 2 => array(
+ 'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+ 'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+ )
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/idl.php b/application/libraries/geshi/idl.php
new file mode 100644
index 000000000..64472140a
--- /dev/null
+++ b/application/libraries/geshi/idl.php
@@ -0,0 +1,123 @@
+<?php
+/*************************************************************************************
+ * idl.php
+ * -------
+ * Author: Cedric Bosdonnat (cedricbosdo@openoffice.org)
+ * Copyright: (c) 2006 Cedric Bosdonnat
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/08/20
+ *
+ * Unoidl language file for GeSHi.
+ *
+ * 2006/08/20 (1.0.0)
+ * - 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' => 'Uno Idl',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'published', 'get', 'set', 'service', 'singleton', 'type', 'module', 'interface', 'struct',
+ 'const', 'constants', 'exception', 'enum', 'raises', 'typedef'
+ ),
+ 2 => array(
+ 'bound', 'maybeambiguous', 'maybedefault', 'maybevoid', 'oneway', 'optional',
+ 'readonly', 'in', 'out', 'inout', 'attribute', 'transient', 'removable'
+ ),
+ 3 => array(
+ 'True', 'False', 'TRUE', 'FALSE'
+ ),
+ 4 => array(
+ 'string', 'long', 'byte', 'hyper', 'boolean', 'any', 'char', 'double',
+ 'void', 'sequence', 'unsigned'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ';', '...'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #990078; font-weight: bold',
+ 2 => 'color: #36dd1c;',
+ 3 => 'color: #990078; font-weight: bold',
+ 4 => 'color: #0000ec;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #3f7f5f;',
+ 2 => 'color: #808080;',
+ 'MULTI' => 'color: #4080ff; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #666666; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #808080;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #0000dd;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ '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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/ini.php b/application/libraries/geshi/ini.php
new file mode 100644
index 000000000..ae0e81ec4
--- /dev/null
+++ b/application/libraries/geshi/ini.php
@@ -0,0 +1,128 @@
+<?php
+/*************************************************************************************
+ * ini.php
+ * --------
+ * Author: deguix (cevo_deguix@yahoo.com.br)
+ * Copyright: (c) 2005 deguix
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/03/27
+ *
+ * INI language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2005/12/28 (1.0.1)
+ * - Removed unnecessary keyword style index
+ * - Added support for " strings
+ * 2005/04/05 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2005/03/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'INI',
+ 'COMMENT_SINGLE' => array(0 => ';'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '='
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ ),
+ 'COMMENTS' => array(
+ 0 => 'color: #666666; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => ''
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #933;'
+ ),
+ 'NUMBERS' => array(
+ 0 => ''
+ ),
+ 'METHODS' => array(
+ 0 => ''
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066; font-weight:bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #000066; font-weight:bold;',
+ 1 => 'color: #000099;',
+ 2 => 'color: #660066;'
+ ),
+ 'SCRIPT' => array(
+ 0 => ''
+ )
+ ),
+ 'URLS' => array(
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Section names
+ 0 => '\[.+\]',
+ //Entry names
+ 1 => array(
+ GESHI_SEARCH => '^(\s*)([a-zA-Z0-9_\-]+)(\s*=)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ //Entry values
+ 2 => array(
+ // Evil hackery to get around GeSHi bug: <>" and ; are added so <span>s can be matched
+ // Explicit match on variable names because if a comment is before the first < of the span
+ // gets chewed up...
+ GESHI_SEARCH => '([<>";a-zA-Z0-9_]+\s*)=(.*)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1=',
+ GESHI_AFTER => ''
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/inno.php b/application/libraries/geshi/inno.php
new file mode 100644
index 000000000..6d1b97965
--- /dev/null
+++ b/application/libraries/geshi/inno.php
@@ -0,0 +1,212 @@
+<?php
+/*************************************************************************************
+ * Inno.php
+ * ----------
+ * 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
+ * Date Started: 2005/07/29
+ *
+ * Inno Script language inkl. Delphi (Object Pascal) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/09/03
+ * - First Release
+ *
+ * TODO (updated 2005/07/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Inno',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('(*' => '*)'),
+ 'CASE_KEYWORDS' => 0,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'Setup','Types','Components','Tasks','Dirs','Files','Icons','INI',
+ 'InstallDelete','Languages','Messages','CustomMessage',
+ 'LangOptions','Registry','RUN','UninstallDelete','UninstallRun',
+ 'app','win','sys','syswow64','src','sd','pf','pf32','pf64','cf',
+ 'cf32','cf64','tmp','fonts','dao','group','localappdata','sendto',
+ 'userappdata','commonappdata','userdesktop','commondesktop',
+ 'userdocs','commondocs','userfavorites','commonfavorites',
+ 'userprograms','commonprograms','userstartmenu','commonstartmenu',
+ 'userstartup','commonstartup','usertemplates','commontemplates'
+ ),
+ 2 => array(
+ 'nil', 'false', 'true', 'var', 'type', 'const','And', 'Array', 'As', 'Begin', 'Case', 'Class', 'Constructor', 'Destructor', 'Div', 'Do', 'DownTo', 'Else',
+ 'End', 'Except', 'File', 'Finally', 'For', 'Function', 'Goto', 'If', 'Implementation', 'In', 'Inherited', 'Interface',
+ 'Is', 'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Packed', 'Procedure', 'Property', 'Raise', 'Record',
+ 'Repeat', 'Set', 'Shl', 'Shr', 'Then', 'ThreadVar', 'To', 'Try', 'Unit', 'Until', 'Uses', 'While', 'With', 'Xor',
+
+ 'HKCC','HKCR','HKCU','HKLM','HKU','alwaysoverwrite','alwaysskipifsameorolder','append',
+ 'binary','classic','closeonexit','comparetimestamp','confirmoverwrite',
+ 'createkeyifdoesntexist','createonlyiffileexists','createvalueifdoesntexist',
+ 'deleteafterinstall','deletekey','deletevalue','dirifempty','dontcloseonexit',
+ 'dontcopy','dontcreatekey','disablenouninstallwarning','dword','exclusive','expandsz',
+ 'external','files','filesandordirs','fixed','fontisnttruetype','ignoreversion','iscustom','isreadme',
+ 'modern','multisz','new','noerror','none','normal','nowait','onlyifdestfileexists',
+ 'onlyifdoesntexist','onlyifnewer','overwrite','overwritereadonly','postinstall',
+ 'preservestringtype','promptifolder','regserver','regtypelib','restart','restartreplace',
+ 'runhidden','runmaximized','runminimized','sharedfile','shellexec','showcheckbox',
+ 'skipifnotsilent','skipifsilent','silent','skipifdoesntexist',
+ 'skipifsourcedoesntexist','sortfilesbyextension','unchecked','uninsalwaysuninstall',
+ 'uninsclearvalue','uninsdeleteentry','uninsdeletekey','uninsdeletekeyifempty',
+ 'uninsdeletesection','uninsdeletesectionifempty','uninsdeletevalue',
+ 'uninsneveruninstall','useapppaths','verysilent','waituntilidle'
+ ),
+ 3 => array(
+ 'Abs', 'Addr', 'AnsiCompareStr', 'AnsiCompareText', 'AnsiContainsStr', 'AnsiEndsStr', 'AnsiIndexStr', 'AnsiLeftStr',
+ 'AnsiLowerCase', 'AnsiMatchStr', 'AnsiMidStr', 'AnsiPos', 'AnsiReplaceStr', 'AnsiReverseString', 'AnsiRightStr',
+ 'AnsiStartsStr', 'AnsiUpperCase', 'ArcCos', 'ArcSin', 'ArcTan', 'Assigned', 'BeginThread', 'Bounds', 'CelsiusToFahrenheit',
+ 'ChangeFileExt', 'Chr', 'CompareStr', 'CompareText', 'Concat', 'Convert', 'Copy', 'Cos', 'CreateDir', 'CurrToStr',
+ 'CurrToStrF', 'Date', 'DateTimeToFileDate', 'DateTimeToStr', 'DateToStr', 'DayOfTheMonth', 'DayOfTheWeek', 'DayOfTheYear',
+ 'DayOfWeek', 'DaysBetween', 'DaysInAMonth', 'DaysInAYear', 'DaySpan', 'DegToRad', 'DeleteFile', 'DiskFree', 'DiskSize',
+ 'DupeString', 'EncodeDate', 'EncodeDateTime', 'EncodeTime', 'EndOfADay', 'EndOfAMonth', 'Eof', 'Eoln', 'Exp', 'ExtractFileDir',
+ 'ExtractFileDrive', 'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath', 'FahrenheitToCelsius', 'FileAge',
+ 'FileDateToDateTime', 'FileExists', 'FilePos', 'FileSearch', 'FileSetDate', 'FileSize', 'FindClose', 'FindCmdLineSwitch',
+ 'FindFirst', 'FindNext', 'FloatToStr', 'FloatToStrF', 'Format', 'FormatCurr', 'FormatDateTime', 'FormatFloat', 'Frac',
+ 'GetCurrentDir', 'GetLastError', 'GetMem', 'High', 'IncDay', 'IncMinute', 'IncMonth', 'IncYear', 'InputBox',
+ 'InputQuery', 'Int', 'IntToHex', 'IntToStr', 'IOResult', 'IsInfinite', 'IsLeapYear', 'IsMultiThread', 'IsNaN',
+ 'LastDelimiter', 'Length', 'Ln', 'Lo', 'Log10', 'Low', 'LowerCase', 'Max', 'Mean', 'MessageDlg', 'MessageDlgPos',
+ 'MonthOfTheYear', 'Now', 'Odd', 'Ord', 'ParamCount', 'ParamStr', 'Pi', 'Point', 'PointsEqual', 'Pos', 'Pred',
+ 'Printer', 'PromptForFileName', 'PtInRect', 'RadToDeg', 'Random', 'RandomRange', 'RecodeDate', 'RecodeTime', 'Rect',
+ 'RemoveDir', 'RenameFile', 'Round', 'SeekEof', 'SeekEoln', 'SelectDirectory', 'SetCurrentDir', 'Sin', 'SizeOf',
+ 'Slice', 'Sqr', 'Sqrt', 'StringOfChar', 'StringReplace', 'StringToWideChar', 'StrToCurr', 'StrToDate', 'StrToDateTime',
+ 'StrToFloat', 'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime', 'StuffString', 'Succ', 'Sum', 'Tan',
+ 'Time', 'TimeToStr', 'Tomorrow', 'Trunc', 'UpCase', 'UpperCase', 'VarType', 'WideCharToString', 'WrapText', 'Yesterday',
+ 'Append', 'AppendStr', 'Assign', 'AssignFile', 'AssignPrn', 'Beep', 'BlockRead', 'BlockWrite', 'Break',
+ 'ChDir', 'Close', 'CloseFile', 'Continue', 'DateTimeToString', 'Dec', 'DecodeDate', 'DecodeDateTime',
+ 'DecodeTime', 'Delete', 'Dispose', 'EndThread', 'Erase', 'Exclude', 'Exit', 'FillChar', 'Flush', 'FreeAndNil',
+ 'FreeMem', 'GetDir', 'GetLocaleFormatSettings', 'Halt', 'Inc', 'Include', 'Insert', 'MkDir', 'Move', 'New',
+ 'ProcessPath', 'Randomize', 'Read', 'ReadLn', 'ReallocMem', 'Rename', 'ReplaceDate', 'ReplaceTime',
+ 'Reset', 'ReWrite', 'RmDir', 'RunError', 'Seek', 'SetLength', 'SetString', 'ShowMessage', 'ShowMessageFmt',
+ 'ShowMessagePos', 'Str', 'Truncate', 'Val', 'Write', 'WriteLn',
+
+ 'AdminPrivilegesRequired','AfterInstall','AllowCancelDuringInstall','AllowNoIcons','AllowRootDirectory','AllowUNCPath','AlwaysRestart','AlwaysShowComponentsList','AlwaysShowDirOnReadyPage','AlwaysShowGroupOnReadyPage ','AlwaysUsePersonalGroup','AppComments','AppContact','AppCopyright','AppendDefaultDirName',
+ 'AppendDefaultGroupName','AppId','AppModifyPath','AppMutex','AppName','AppPublisher',
+ 'AppPublisherURL','AppReadmeFile','AppSupportURL','AppUpdatesURL','AppVerName','AppVersion',
+ 'Attribs','BackColor','BackColor2','BackColorDirection','BackSolid','BeforeInstall',
+ 'ChangesAssociations','ChangesEnvironment','Check','CodeFile','Comment','Compression','CopyMode',
+ 'CreateAppDir','CreateUninstallRegKey','DefaultDirName','DefaultGroupName',
+ 'DefaultUserInfoName','DefaultUserInfoOrg','DefaultUserInfoSerial',
+ 'Description','DestDir','DestName','DirExistsWarning',
+ 'DisableDirPage','DisableFinishedPage',
+ 'DisableProgramGroupPage','DisableReadyMemo','DisableReadyPage',
+ 'DisableStartupPrompt','DiskClusterSize','DiskSliceSize','DiskSpaceMBLabel',
+ 'DiskSpanning','DontMergeDuplicateFiles','EnableDirDoesntExistWarning','Encryption',
+ 'Excludes','ExtraDiskSpaceRequired','Filename','Flags','FlatComponentsList','FontInstall',
+ 'GroupDescription','HotKey','IconFilename','IconIndex','InfoAfterFile','InfoBeforeFile',
+ 'InternalCompressLevel','Key','LanguageDetectionMethod',
+ 'LicenseFile','MergeDuplicateFiles','MessagesFile','MinVersion','Name',
+ 'OnlyBelowVersion','OutputBaseFilename','OutputManifestFile','OutputDir',
+ 'Parameters','Password','Permissions','PrivilegesRequired','ReserveBytes',
+ 'RestartIfNeededByRun','Root','RunOnceId','Section','SetupIconFile',
+ 'ShowComponentSizes','ShowLanguageDialog','ShowTasksTreeLines','SlicesPerDisk',
+ 'SolidCompression','Source','SourceDir','StatusMsg','Subkey',
+ 'TimeStampRounding','TimeStampsInUTC','TouchDate','TouchTime','Type',
+ 'UninstallDisplayIcon','UninstallDisplayName','UninstallFilesDir','UninstallIconFile',
+ 'UninstallLogMode','UninstallRestartComputer','UninstallStyle','Uninstallable',
+ 'UpdateUninstallLogAppName','UsePreviousAppDir','UsePreviousGroup',
+ 'UsePreviousTasks','UsePreviousSetupType','UsePreviousUserInfo',
+ 'UserInfoPage','UseSetupLdr','ValueData','ValueName','ValueType',
+ 'VersionInfoVersion','VersionInfoCompany','VersionInfoDescription','VersionInfoTextVersion',
+ 'WindowResizable','WindowShowCaption','WindowStartMaximized',
+ 'WindowVisible','WizardImageBackColor','WizardImageFile','WizardImageStretch','WizardSmallImageBackColor','WizardSmallImageFile','WizardStyle','WorkingDir'
+ ),
+ 4 => array(
+ 'AnsiChar', 'AnsiString', 'Boolean', 'Byte', 'Cardinal', 'Char', 'Comp', 'Currency', 'Double', 'Extended',
+ 'Int64', 'Integer', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PChar', 'PCurrency', 'PDateTime',
+ 'PExtended', 'PInt64', 'Pointer', 'PShortString', 'PString', 'PVariant', 'PWideChar', 'PWideString',
+ 'Real', 'Real48', 'ShortInt', 'ShortString', 'Single', 'SmallInt', 'String', 'TBits', 'TConvType', 'TDateTime',
+ 'Text', 'TextFile', 'TFloatFormat', 'TFormatSettings', 'TList', 'TObject', 'TOpenDialog', 'TPoint',
+ 'TPrintDialog', 'TRect', 'TReplaceFlags', 'TSaveDialog', 'TSearchRec', 'TStringList', 'TSysCharSet',
+ 'TThreadFunc', 'Variant', 'WideChar', 'WideString', 'Word'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '@', '%', '&', '*', '|', '/', '<', '>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;',/*bold Black*/
+ 2 => 'color: #000000;font-style: italic;',/*Black*/
+ 3 => 'color: #0000FF;',/*blue*/
+ 4 => 'color: #CC0000;'/*red*/
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #33FF00; font-style: italic;',
+ 'MULTI' => 'color: #33FF00; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000; font-weight: bold;',
+ ),
+ '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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/intercal.php b/application/libraries/geshi/intercal.php
new file mode 100644
index 000000000..958f886ce
--- /dev/null
+++ b/application/libraries/geshi/intercal.php
@@ -0,0 +1,122 @@
+<?php
+/*************************************************************************************
+ * intercal.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/10/31
+ *
+ * INTERCAL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ * - First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'INTERCAL',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ //Politeness
+ 1 => array(
+ 'DO', 'DOES', 'DONT', 'DON\'T', 'NOT', 'PLEASE', 'PLEASENT', 'PLEASEN\'T', 'MAYBE'
+ ),
+ //Statements
+ 2 => array(
+ 'STASH', 'RETRIEVE', 'NEXT', 'RESUME', 'FORGET', 'ABSTAIN', 'ABSTAINING',
+ 'COME', 'FROM', 'CALCULATING', 'REINSTATE', 'IGNORE', 'REMEMBER',
+ 'WRITE', 'IN', 'READ', 'OUT', 'GIVE', 'UP'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '.', ',', ':', ';', '#',
+ '~', '$', '&', '?',
+ '\'', '"', '<-'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000080; font-weight: bold;',
+ 2 => 'color: #000080; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 1 => 'color: #808080; font-style: italic;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ 1 => '^\(\d+\)'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'ENABLE_FLAGS' => array(
+ 'COMMENTS' => GESHI_NEVER,
+ 'STRINGS' => GESHI_NEVER,
+ 'NUMBERS' => GESHI_NEVER
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/io.php b/application/libraries/geshi/io.php
new file mode 100644
index 000000000..eb4d8646e
--- /dev/null
+++ b/application/libraries/geshi/io.php
@@ -0,0 +1,138 @@
+<?php
+/*************************************************************************************
+ * io.php
+ * -------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2006 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/09/23
+ *
+ * Io language file for GeSHi. Thanks to Johnathan Wright for the suggestion and help
+ * with this language :)
+ *
+ * CHANGES
+ * -------
+ * 2006/09/23(1.0.0)
+ * - First Release
+ *
+ * TODO
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Io',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'and', 'break', 'else', 'elseif', 'exit', 'for', 'foreach', 'if', 'ifFalse', 'ifNil',
+ 'ifTrue', 'or', 'pass', 'raise', 'return', 'then', 'try', 'wait', 'while', 'yield'
+ ),
+ 2 => array(
+ 'activate', 'activeCoroCount', 'asString', 'block', 'catch', 'clone', 'collectGarbage',
+ 'compileString', 'continue', 'do', 'doFile', 'doMessage', 'doString', 'forward',
+ 'getSlot', 'getenv', 'hasSlot', 'isActive', 'isNil', 'isResumable', 'list', 'message',
+ 'method', 'parent', 'pause', 'perform', 'performWithArgList', 'print', 'proto',
+ 'raiseResumable', 'removeSlot', 'resend', 'resume', 'schedulerSleepSeconds', 'self',
+ 'sender', 'setSchedulerSleepSeconds', 'setSlot', 'shallowCopy', 'slotNames', 'super',
+ 'system', 'thisBlock', 'thisContext', 'thisMessage', 'type', 'uniqueId', 'updateSlot',
+ 'write'
+ ),
+ 3 => array(
+ 'Array', 'AudioDevice', 'AudioMixer', 'Block', 'Box', 'Buffer', 'CFunction', 'CGI',
+ 'Color', 'Curses', 'DBM', 'DNSResolver', 'DOConnection', 'DOProxy', 'DOServer',
+ 'Date', 'Directory', 'Duration', 'DynLib', 'Error', 'Exception', 'FFT', 'File',
+ 'Fnmatch', 'Font', 'Future', 'GL', 'GLE', 'GLScissor', 'GLU', 'GLUCylinder',
+ 'GLUQuadric', 'GLUSphere', 'GLUT', 'Host', 'Image', 'Importer', 'LinkList', 'List',
+ 'Lobby', 'Locals', 'MD5', 'MP3Decoder', 'MP3Encoder', 'Map', 'Message', 'Movie',
+ 'NULL', 'Nil', 'Nop', 'Notifiction', 'Number', 'Object', 'OpenGL', 'Point', 'Protos',
+ 'Regex', 'SGMLTag', 'SQLite', 'Server', 'ShowMessage', 'SleepyCat', 'SleepyCatCursor',
+ 'Socket', 'SocketManager', 'Sound', 'Soup', 'Store', 'String', 'Tree', 'UDPSender',
+ 'UDPReceiver', 'URL', 'User', 'Warning', 'WeakLink'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #000066;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #808080; font-style: italic;',
+ 'MULTI' => '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: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ 0 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/java.php b/application/libraries/geshi/java.php
new file mode 100644
index 000000000..b4080f7ac
--- /dev/null
+++ b/application/libraries/geshi/java.php
@@ -0,0 +1,983 @@
+<?php
+/*************************************************************************************
+ * java.php
+ * --------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/07/10
+ *
+ * Java language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/25 (1.0.7.22)
+ * - Added highlighting of import and package directives as non-OOP
+ * 2005/12/28 (1.0.4)
+ * - Added instanceof keyword
+ * 2004/11/27 (1.0.3)
+ * - Added support for multiple object splitters
+ * 2004/08/05 (1.0.2)
+ * - Added URL support
+ * - Added keyword "this", as bugs in GeSHi class ironed out
+ * 2004/08/05 (1.0.1)
+ * - Added support for symbols
+ * - Added extra missed keywords
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Compact the class names like the first few have been
+ * and eliminate repeats
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Java',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ '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',
+ // javadoc comments
+ 3 => '#/\*\*(?![\*\/]).*\*/#sU'
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'for', 'foreach', 'if', 'else', 'while', 'do',
+ 'switch', 'case', 'return', 'public',
+ 'private', 'protected', 'extends', 'break', 'class',
+ 'new', 'try', 'catch', 'throws', 'finally', 'implements',
+ 'interface', 'throw', 'final', 'native', 'synchronized', 'this',
+ 'abstract', 'transient', 'instanceof', 'assert', 'continue',
+ 'default', 'enum', 'package', 'static', 'strictfp', 'super',
+ 'volatile', 'const', 'goto', 'import'
+ ),
+ 2 => array(
+ 'null', 'false', 'true'
+ ),
+ 3 => array(
+ 'AbstractAction', 'AbstractBorder', 'AbstractButton',
+ 'AbstractCellEditor', 'AbstractCollection',
+ 'AbstractColorChooserPanel', 'AbstractDocument',
+ 'AbstractDocument.AttributeContext',
+ 'AbstractDocument.Content',
+ 'AbstractDocument.ElementEdit',
+ 'AbstractLayoutCache',
+ 'AbstractLayoutCache.NodeDimensions', 'AbstractList',
+ 'AbstractListModel', 'AbstractMap',
+ 'AbstractMethodError', 'AbstractSequentialList',
+ 'AbstractSet', 'AbstractTableModel',
+ 'AbstractUndoableEdit', 'AbstractWriter',
+ 'AccessControlContext', 'AccessControlException',
+ 'AccessController', 'AccessException', 'Accessible',
+ 'AccessibleAction', 'AccessibleBundle',
+ 'AccessibleComponent', 'AccessibleContext',
+ 'AccessibleHyperlink', 'AccessibleHypertext',
+ 'AccessibleIcon', 'AccessibleObject',
+ 'AccessibleRelation', 'AccessibleRelationSet',
+ 'AccessibleResourceBundle', 'AccessibleRole',
+ 'AccessibleSelection', 'AccessibleState',
+ 'AccessibleStateSet', 'AccessibleTable',
+ 'AccessibleTableModelChange', 'AccessibleText',
+ 'AccessibleValue', 'Acl', 'AclEntry',
+ 'AclNotFoundException', 'Action', 'ActionEvent',
+ 'ActionListener', 'ActionMap', 'ActionMapUIResource',
+ 'Activatable', 'ActivateFailedException',
+ 'ActivationDesc', 'ActivationException',
+ 'ActivationGroup', 'ActivationGroupDesc',
+ 'ActivationGroupDesc.CommandEnvironment',
+ 'ActivationGroupID', 'ActivationID',
+ 'ActivationInstantiator', 'ActivationMonitor',
+ 'ActivationSystem', 'Activator', 'ActiveEvent',
+ 'Adjustable', 'AdjustmentEvent',
+ 'AdjustmentListener', 'Adler32', 'AffineTransform',
+ 'AffineTransformOp', 'AlgorithmParameterGenerator',
+ 'AlgorithmParameterGeneratorSpi',
+ 'AlgorithmParameters', 'AlgorithmParameterSpec',
+ 'AlgorithmParametersSpi', 'AllPermission',
+ 'AlphaComposite', 'AlreadyBound',
+ 'AlreadyBoundException', 'AlreadyBoundHelper',
+ 'AlreadyBoundHolder', 'AncestorEvent',
+ 'AncestorListener', 'Annotation', 'Any', 'AnyHolder',
+ 'AnySeqHelper', 'AnySeqHolder', 'Applet',
+ 'AppletContext', 'AppletInitializer', 'AppletStub',
+ 'ApplicationException', 'Arc2D', 'Arc2D.Double',
+ 'Arc2D.Float', 'Area', 'AreaAveragingScaleFilter',
+ 'ARG_IN', 'ARG_INOUT', 'ARG_OUT',
+ 'ArithmeticException', 'Array',
+ 'ArrayIndexOutOfBoundsException', 'ArrayList',
+ 'Arrays', 'ArrayStoreException', 'AsyncBoxView',
+ 'Attribute', 'AttributedCharacterIterator',
+ 'AttributedCharacterIterator.Attribute',
+ 'AttributedString', 'AttributeInUseException',
+ 'AttributeList', 'AttributeModificationException',
+ 'Attributes', 'Attributes.Name', 'AttributeSet',
+ 'AttributeSet.CharacterAttribute',
+ 'AttributeSet.ColorAttribute',
+ 'AttributeSet.FontAttribute',
+ 'AttributeSet.ParagraphAttribute', 'AudioClip',
+ 'AudioFileFormat', 'AudioFileFormat.Type',
+ 'AudioFileReader', 'AudioFileWriter', 'AudioFormat',
+ 'AudioFormat.Encoding', 'AudioInputStream',
+ 'AudioPermission', 'AudioSystem',
+ 'AuthenticationException',
+ 'AuthenticationNotSupportedException',
+ 'Authenticator', 'Autoscroll', 'AWTError',
+ 'AWTEvent', 'AWTEventListener',
+ 'AWTEventMulticaster', 'AWTException',
+ 'AWTPermission', 'BadKind', 'BadLocationException',
+ 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION',
+ 'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE',
+ 'BAD_POLICY_VALUE', 'BAD_TYPECODE', 'BandCombineOp',
+ 'BandedSampleModel', 'BasicArrowButton',
+ 'BasicAttribute', 'BasicAttributes', 'BasicBorders',
+ 'BasicBorders.ButtonBorder',
+ 'BasicBorders.FieldBorder',
+ 'BasicBorders.MarginBorder',
+ 'BasicBorders.MenuBarBorder',
+ 'BasicBorders.RadioButtonBorder',
+ 'BasicBorders.SplitPaneBorder',
+ 'BasicBorders.ToggleButtonBorder',
+ 'BasicButtonListener', 'BasicButtonUI',
+ 'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI',
+ 'BasicColorChooserUI', 'BasicComboBoxEditor',
+ 'BasicComboBoxEditor.UIResource',
+ 'BasicComboBoxRenderer',
+ 'BasicComboBoxRenderer.UIResource',
+ 'BasicComboBoxUI', 'BasicComboPopup',
+ 'BasicDesktopIconUI', 'BasicDesktopPaneUI',
+ 'BasicDirectoryModel', 'BasicEditorPaneUI',
+ 'BasicFileChooserUI', 'BasicGraphicsUtils',
+ 'BasicHTML', 'BasicIconFactory',
+ 'BasicInternalFrameTitlePane',
+ 'BasicInternalFrameUI', 'BasicLabelUI',
+ 'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI',
+ 'BasicMenuItemUI', 'BasicMenuUI',
+ 'BasicOptionPaneUI',
+ 'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI',
+ 'BasicPasswordFieldUI', 'BasicPermission',
+ 'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI',
+ 'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI',
+ 'BasicRadioButtonUI', 'BasicRootPaneUI',
+ 'BasicScrollBarUI', 'BasicScrollPaneUI',
+ 'BasicSeparatorUI', 'BasicSliderUI',
+ 'BasicSplitPaneDivider', 'BasicSplitPaneUI',
+ 'BasicStroke', 'BasicTabbedPaneUI',
+ 'BasicTableHeaderUI', 'BasicTableUI',
+ 'BasicTextAreaUI', 'BasicTextFieldUI',
+ 'BasicTextPaneUI', 'BasicTextUI',
+ 'BasicTextUI.BasicCaret',
+ 'BasicTextUI.BasicHighlighter',
+ 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI',
+ 'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI',
+ 'BasicViewportUI', 'BatchUpdateException',
+ 'BeanContext', 'BeanContextChild',
+ 'BeanContextChildComponentProxy',
+ 'BeanContextChildSupport',
+ 'BeanContextContainerProxy', 'BeanContextEvent',
+ 'BeanContextMembershipEvent',
+ 'BeanContextMembershipListener', 'BeanContextProxy',
+ 'BeanContextServiceAvailableEvent',
+ 'BeanContextServiceProvider',
+ 'BeanContextServiceProviderBeanInfo',
+ 'BeanContextServiceRevokedEvent',
+ 'BeanContextServiceRevokedListener',
+ 'BeanContextServices', 'BeanContextServicesListener',
+ 'BeanContextServicesSupport',
+ 'BeanContextServicesSupport.BCSSServiceProvider',
+ 'BeanContextSupport',
+ 'BeanContextSupport.BCSIterator', 'BeanDescriptor',
+ 'BeanInfo', 'Beans', 'BevelBorder', 'BigDecimal',
+ 'BigInteger', 'BinaryRefAddr', 'BindException',
+ 'Binding', 'BindingHelper', 'BindingHolder',
+ 'BindingIterator', 'BindingIteratorHelper',
+ 'BindingIteratorHolder', 'BindingIteratorOperations',
+ 'BindingListHelper', 'BindingListHolder',
+ 'BindingType', 'BindingTypeHelper',
+ 'BindingTypeHolder', 'BitSet', 'Blob', 'BlockView',
+ 'Book', 'Boolean', 'BooleanControl',
+ 'BooleanControl.Type', 'BooleanHolder',
+ 'BooleanSeqHelper', 'BooleanSeqHolder', 'Border',
+ 'BorderFactory', 'BorderLayout', 'BorderUIResource',
+ 'BorderUIResource.BevelBorderUIResource',
+ 'BorderUIResource.CompoundBorderUIResource',
+ 'BorderUIResource.EmptyBorderUIResource',
+ 'BorderUIResource.EtchedBorderUIResource',
+ 'BorderUIResource.LineBorderUIResource',
+ 'BorderUIResource.MatteBorderUIResource',
+ 'BorderUIResource.TitledBorderUIResource',
+ 'BoundedRangeModel', 'Bounds', 'Box', 'Box.Filler',
+ 'BoxedValueHelper', 'BoxLayout', 'BoxView',
+ 'BreakIterator', 'BufferedImage',
+ 'BufferedImageFilter', 'BufferedImageOp',
+ 'BufferedInputStream', 'BufferedOutputStream',
+ 'BufferedReader', 'BufferedWriter', 'Button',
+ 'ButtonGroup', 'ButtonModel', 'ButtonUI', 'Byte',
+ 'ByteArrayInputStream', 'ByteArrayOutputStream',
+ 'ByteHolder', 'ByteLookupTable', 'Calendar',
+ 'CallableStatement', 'CannotProceed',
+ 'CannotProceedException', 'CannotProceedHelper',
+ 'CannotProceedHolder', 'CannotRedoException',
+ 'CannotUndoException', 'Canvas', 'CardLayout',
+ 'Caret', 'CaretEvent', 'CaretListener', 'CellEditor',
+ 'CellEditorListener', 'CellRendererPane',
+ 'Certificate', 'Certificate.CertificateRep',
+ 'CertificateEncodingException',
+ 'CertificateException',
+ 'CertificateExpiredException', 'CertificateFactory',
+ 'CertificateFactorySpi',
+ 'CertificateNotYetValidException',
+ 'CertificateParsingException',
+ 'ChangedCharSetException', 'ChangeEvent',
+ 'ChangeListener', 'Character', 'Character.Subset',
+ 'Character.UnicodeBlock', 'CharacterIterator',
+ 'CharArrayReader', 'CharArrayWriter',
+ 'CharConversionException', 'CharHolder',
+ 'CharSeqHelper', 'CharSeqHolder', 'Checkbox',
+ 'CheckboxGroup', 'CheckboxMenuItem',
+ 'CheckedInputStream', 'CheckedOutputStream',
+ 'Checksum', 'Choice', 'ChoiceFormat', 'Class',
+ 'ClassCastException', 'ClassCircularityError',
+ 'ClassDesc', 'ClassFormatError', 'ClassLoader',
+ 'ClassNotFoundException', 'Clip', 'Clipboard',
+ 'ClipboardOwner', 'Clob', 'Cloneable',
+ 'CloneNotSupportedException', 'CMMException',
+ 'CodeSource', 'CollationElementIterator',
+ 'CollationKey', 'Collator', 'Collection',
+ 'Collections', 'Color',
+ 'ColorChooserComponentFactory', 'ColorChooserUI',
+ 'ColorConvertOp', 'ColorModel',
+ 'ColorSelectionModel', 'ColorSpace',
+ 'ColorUIResource', 'ComboBoxEditor', 'ComboBoxModel',
+ 'ComboBoxUI', 'ComboPopup', 'CommunicationException',
+ 'COMM_FAILURE', 'Comparable', 'Comparator',
+ 'Compiler', 'CompletionStatus',
+ 'CompletionStatusHelper', 'Component',
+ 'ComponentAdapter', 'ComponentColorModel',
+ 'ComponentEvent', 'ComponentInputMap',
+ 'ComponentInputMapUIResource', 'ComponentListener',
+ 'ComponentOrientation', 'ComponentSampleModel',
+ 'ComponentUI', 'ComponentView', 'Composite',
+ 'CompositeContext', 'CompositeName', 'CompositeView',
+ 'CompoundBorder', 'CompoundControl',
+ 'CompoundControl.Type', 'CompoundEdit',
+ 'CompoundName', 'ConcurrentModificationException',
+ 'ConfigurationException', 'ConnectException',
+ 'ConnectIOException', 'Connection', 'Constructor', 'Container',
+ 'ContainerAdapter', 'ContainerEvent',
+ 'ContainerListener', 'ContentHandler',
+ 'ContentHandlerFactory', 'ContentModel', 'Context',
+ 'ContextList', 'ContextNotEmptyException',
+ 'ContextualRenderedImageFactory', 'Control',
+ 'Control.Type', 'ControlFactory',
+ 'ControllerEventListener', 'ConvolveOp', 'CRC32',
+ 'CRL', 'CRLException', 'CropImageFilter', 'CSS',
+ 'CSS.Attribute', 'CTX_RESTRICT_SCOPE',
+ 'CubicCurve2D', 'CubicCurve2D.Double',
+ 'CubicCurve2D.Float', 'Current', 'CurrentHelper',
+ 'CurrentHolder', 'CurrentOperations', 'Cursor',
+ 'Customizer', 'CustomMarshal', 'CustomValue',
+ 'DatabaseMetaData', 'DataBuffer', 'DataBufferByte',
+ 'DataBufferInt', 'DataBufferShort',
+ 'DataBufferUShort', 'DataFlavor',
+ 'DataFormatException', 'DatagramPacket',
+ 'DatagramSocket', 'DatagramSocketImpl',
+ 'DatagramSocketImplFactory', 'DataInput',
+ 'DataInputStream', 'DataLine', 'DataLine.Info',
+ 'DataOutput', 'DataOutputStream',
+ 'DataTruncation', 'DATA_CONVERSION', 'Date',
+ 'DateFormat', 'DateFormatSymbols', 'DebugGraphics',
+ 'DecimalFormat', 'DecimalFormatSymbols',
+ 'DefaultBoundedRangeModel', 'DefaultButtonModel',
+ 'DefaultCaret', 'DefaultCellEditor',
+ 'DefaultColorSelectionModel', 'DefaultComboBoxModel',
+ 'DefaultDesktopManager', 'DefaultEditorKit',
+ 'DefaultEditorKit.BeepAction',
+ 'DefaultEditorKit.CopyAction',
+ 'DefaultEditorKit.CutAction',
+ 'DefaultEditorKit.DefaultKeyTypedAction',
+ 'DefaultEditorKit.InsertBreakAction',
+ 'DefaultEditorKit.InsertContentAction',
+ 'DefaultEditorKit.InsertTabAction',
+ 'DefaultEditorKit.PasteAction,',
+ 'DefaultFocusManager', 'DefaultHighlighter',
+ 'DefaultHighlighter.DefaultHighlightPainter',
+ 'DefaultListCellRenderer',
+ 'DefaultListCellRenderer.UIResource',
+ 'DefaultListModel', 'DefaultListSelectionModel',
+ 'DefaultMenuLayout', 'DefaultMetalTheme',
+ 'DefaultMutableTreeNode',
+ 'DefaultSingleSelectionModel',
+ 'DefaultStyledDocument',
+ 'DefaultStyledDocument.AttributeUndoableEdit',
+ 'DefaultStyledDocument.ElementSpec',
+ 'DefaultTableCellRenderer',
+ 'DefaultTableCellRenderer.UIResource',
+ 'DefaultTableColumnModel', 'DefaultTableModel',
+ 'DefaultTextUI', 'DefaultTreeCellEditor',
+ 'DefaultTreeCellRenderer', 'DefaultTreeModel',
+ 'DefaultTreeSelectionModel', 'DefinitionKind',
+ 'DefinitionKindHelper', 'Deflater',
+ 'DeflaterOutputStream', 'Delegate', 'DesignMode',
+ 'DesktopIconUI', 'DesktopManager', 'DesktopPaneUI',
+ 'DGC', 'Dialog', 'Dictionary', 'DigestException',
+ 'DigestInputStream', 'DigestOutputStream',
+ 'Dimension', 'Dimension2D', 'DimensionUIResource',
+ 'DirContext', 'DirectColorModel', 'DirectoryManager',
+ 'DirObjectFactory', 'DirStateFactory',
+ 'DirStateFactory.Result', 'DnDConstants', 'Document',
+ 'DocumentEvent', 'DocumentEvent.ElementChange',
+ 'DocumentEvent.EventType', 'DocumentListener',
+ 'DocumentParser', 'DomainCombiner', 'DomainManager',
+ 'DomainManagerOperations', 'Double', 'DoubleHolder',
+ 'DoubleSeqHelper', 'DoubleSeqHolder',
+ 'DragGestureEvent', 'DragGestureListener',
+ 'DragGestureRecognizer', 'DragSource',
+ 'DragSourceContext', 'DragSourceDragEvent',
+ 'DragSourceDropEvent', 'DragSourceEvent',
+ 'DragSourceListener', 'Driver', 'DriverManager',
+ 'DriverPropertyInfo', 'DropTarget',
+ 'DropTarget.DropTargetAutoScroller',
+ 'DropTargetContext', 'DropTargetDragEvent',
+ 'DropTargetDropEvent', 'DropTargetEvent',
+ 'DropTargetListener', 'DSAKey',
+ 'DSAKeyPairGenerator', 'DSAParameterSpec',
+ 'DSAParams', 'DSAPrivateKey', 'DSAPrivateKeySpec',
+ 'DSAPublicKey', 'DSAPublicKeySpec', 'DTD',
+ 'DTDConstants', 'DynamicImplementation', 'DynAny',
+ 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence',
+ 'DynStruct', 'DynUnion', 'DynValue', 'EditorKit',
+ 'Element', 'ElementIterator', 'Ellipse2D',
+ 'Ellipse2D.Double', 'Ellipse2D.Float', 'EmptyBorder',
+ 'EmptyStackException', 'EncodedKeySpec', 'Entity',
+ 'EnumControl', 'EnumControl.Type', 'Enumeration',
+ 'Environment', 'EOFException', 'Error',
+ 'EtchedBorder', 'Event', 'EventContext',
+ 'EventDirContext', 'EventListener',
+ 'EventListenerList', 'EventObject', 'EventQueue',
+ 'EventSetDescriptor', 'Exception',
+ 'ExceptionInInitializerError', 'ExceptionList',
+ 'ExpandVetoException', 'ExportException',
+ 'ExtendedRequest', 'ExtendedResponse',
+ 'Externalizable', 'FeatureDescriptor', 'Field',
+ 'FieldNameHelper', 'FieldPosition', 'FieldView',
+ 'File', 'FileChooserUI', 'FileDescriptor',
+ 'FileDialog', 'FileFilter',
+ 'FileInputStream', 'FilenameFilter', 'FileNameMap',
+ 'FileNotFoundException', 'FileOutputStream',
+ 'FilePermission', 'FileReader', 'FileSystemView',
+ 'FileView', 'FileWriter', 'FilteredImageSource',
+ 'FilterInputStream', 'FilterOutputStream',
+ 'FilterReader', 'FilterWriter',
+ 'FixedHeightLayoutCache', 'FixedHolder',
+ 'FlatteningPathIterator', 'FlavorMap', 'Float',
+ 'FloatControl', 'FloatControl.Type', 'FloatHolder',
+ 'FloatSeqHelper', 'FloatSeqHolder', 'FlowLayout',
+ 'FlowView', 'FlowView.FlowStrategy', 'FocusAdapter',
+ 'FocusEvent', 'FocusListener', 'FocusManager',
+ 'Font', 'FontFormatException', 'FontMetrics',
+ 'FontRenderContext', 'FontUIResource', 'Format',
+ 'FormatConversionProvider', 'FormView', 'Frame',
+ 'FREE_MEM', 'GapContent', 'GeneralPath',
+ 'GeneralSecurityException', 'GlyphJustificationInfo',
+ 'GlyphMetrics', 'GlyphVector', 'GlyphView',
+ 'GlyphView.GlyphPainter', 'GradientPaint',
+ 'GraphicAttribute', 'Graphics', 'Graphics2D',
+ 'GraphicsConfigTemplate', 'GraphicsConfiguration',
+ 'GraphicsDevice', 'GraphicsEnvironment',
+ 'GrayFilter', 'GregorianCalendar',
+ 'GridBagConstraints', 'GridBagLayout', 'GridLayout',
+ 'Group', 'Guard', 'GuardedObject', 'GZIPInputStream',
+ 'GZIPOutputStream', 'HasControls', 'HashMap',
+ 'HashSet', 'Hashtable', 'HierarchyBoundsAdapter',
+ 'HierarchyBoundsListener', 'HierarchyEvent',
+ 'HierarchyListener', 'Highlighter',
+ 'Highlighter.Highlight',
+ 'Highlighter.HighlightPainter', 'HTML',
+ 'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag',
+ 'HTMLDocument', 'HTMLDocument.Iterator',
+ 'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory',
+ 'HTMLEditorKit.HTMLTextAction',
+ 'HTMLEditorKit.InsertHTMLTextAction',
+ 'HTMLEditorKit.LinkController',
+ 'HTMLEditorKit.Parser',
+ 'HTMLEditorKit.ParserCallback',
+ 'HTMLFrameHyperlinkEvent', 'HTMLWriter',
+ 'HttpURLConnection', 'HyperlinkEvent',
+ 'HyperlinkEvent.EventType', 'HyperlinkListener',
+ 'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray',
+ 'ICC_ProfileRGB', 'Icon', 'IconUIResource',
+ 'IconView', 'IdentifierHelper', 'Identity',
+ 'IdentityScope', 'IDLEntity', 'IDLType',
+ 'IDLTypeHelper', 'IDLTypeOperations',
+ 'IllegalAccessError', 'IllegalAccessException',
+ 'IllegalArgumentException',
+ 'IllegalComponentStateException',
+ 'IllegalMonitorStateException',
+ 'IllegalPathStateException', 'IllegalStateException',
+ 'IllegalThreadStateException', 'Image',
+ 'ImageConsumer', 'ImageFilter',
+ 'ImageGraphicAttribute', 'ImageIcon',
+ 'ImageObserver', 'ImageProducer',
+ 'ImagingOpException', 'IMP_LIMIT',
+ 'IncompatibleClassChangeError',
+ 'InconsistentTypeCode', 'IndexColorModel',
+ 'IndexedPropertyDescriptor',
+ 'IndexOutOfBoundsException', 'IndirectionException',
+ 'InetAddress', 'Inflater', 'InflaterInputStream',
+ 'InheritableThreadLocal', 'InitialContext',
+ 'InitialContextFactory',
+ 'InitialContextFactoryBuilder', 'InitialDirContext',
+ 'INITIALIZE', 'Initializer', 'InitialLdapContext',
+ 'InlineView', 'InputContext', 'InputEvent',
+ 'InputMap', 'InputMapUIResource', 'InputMethod',
+ 'InputMethodContext', 'InputMethodDescriptor',
+ 'InputMethodEvent', 'InputMethodHighlight',
+ 'InputMethodListener', 'InputMethodRequests',
+ 'InputStream',
+ 'InputStreamReader', 'InputSubset', 'InputVerifier',
+ 'Insets', 'InsetsUIResource', 'InstantiationError',
+ 'InstantiationException', 'Instrument',
+ 'InsufficientResourcesException', 'Integer',
+ 'INTERNAL', 'InternalError', 'InternalFrameAdapter',
+ 'InternalFrameEvent', 'InternalFrameListener',
+ 'InternalFrameUI', 'InterruptedException',
+ 'InterruptedIOException',
+ 'InterruptedNamingException', 'INTF_REPOS',
+ 'IntHolder', 'IntrospectionException',
+ 'Introspector', 'Invalid',
+ 'InvalidAlgorithmParameterException',
+ 'InvalidAttributeIdentifierException',
+ 'InvalidAttributesException',
+ 'InvalidAttributeValueException',
+ 'InvalidClassException',
+ 'InvalidDnDOperationException',
+ 'InvalidKeyException', 'InvalidKeySpecException',
+ 'InvalidMidiDataException', 'InvalidName',
+ 'InvalidNameException',
+ 'InvalidNameHelper', 'InvalidNameHolder',
+ 'InvalidObjectException',
+ 'InvalidParameterException',
+ 'InvalidParameterSpecException',
+ 'InvalidSearchControlsException',
+ 'InvalidSearchFilterException', 'InvalidSeq',
+ 'InvalidTransactionException', 'InvalidValue',
+ 'INVALID_TRANSACTION', 'InvocationEvent',
+ 'InvocationHandler', 'InvocationTargetException',
+ 'InvokeHandler', 'INV_FLAG', 'INV_IDENT',
+ 'INV_OBJREF', 'INV_POLICY', 'IOException',
+ 'IRObject', 'IRObjectOperations', 'IstringHelper',
+ 'ItemEvent', 'ItemListener', 'ItemSelectable',
+ 'Iterator', 'JApplet', 'JarEntry', 'JarException',
+ 'JarFile', 'JarInputStream', 'JarOutputStream',
+ 'JarURLConnection', 'JButton', 'JCheckBox',
+ 'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox',
+ 'JComboBox.KeySelectionManager', 'JComponent',
+ 'JDesktopPane', 'JDialog', 'JEditorPane',
+ 'JFileChooser', 'JFrame', 'JInternalFrame',
+ 'JInternalFrame.JDesktopIcon', 'JLabel',
+ 'JLayeredPane', 'JList', 'JMenu', 'JMenuBar',
+ 'JMenuItem', 'JobAttributes',
+ 'JobAttributes.DefaultSelectionType',
+ 'JobAttributes.DestinationType',
+ 'JobAttributes.DialogType',
+ 'JobAttributes.MultipleDocumentHandlingType',
+ 'JobAttributes.SidesType', 'JOptionPane', 'JPanel',
+ 'JPasswordField', 'JPopupMenu',
+ 'JPopupMenu.Separator', 'JProgressBar',
+ 'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane',
+ 'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider',
+ 'JSplitPane', 'JTabbedPane', 'JTable',
+ 'JTableHeader', 'JTextArea', 'JTextComponent',
+ 'JTextComponent.KeyBinding', 'JTextField',
+ 'JTextPane', 'JToggleButton',
+ 'JToggleButton.ToggleButtonModel', 'JToolBar',
+ 'JToolBar.Separator', 'JToolTip', 'JTree',
+ 'JTree.DynamicUtilTreeNode',
+ 'JTree.EmptySelectionModel', 'JViewport', 'JWindow',
+ 'Kernel', 'Key', 'KeyAdapter', 'KeyEvent',
+ 'KeyException', 'KeyFactory', 'KeyFactorySpi',
+ 'KeyListener', 'KeyManagementException', 'Keymap',
+ 'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi',
+ 'KeySpec', 'KeyStore', 'KeyStoreException',
+ 'KeyStoreSpi', 'KeyStroke', 'Label', 'LabelUI',
+ 'LabelView', 'LastOwnerException',
+ 'LayeredHighlighter',
+ 'LayeredHighlighter.LayerPainter', 'LayoutManager',
+ 'LayoutManager2', 'LayoutQueue', 'LdapContext',
+ 'LdapReferralException', 'Lease',
+ 'LimitExceededException', 'Line', 'Line.Info',
+ 'Line2D', 'Line2D.Double', 'Line2D.Float',
+ 'LineBorder', 'LineBreakMeasurer', 'LineEvent',
+ 'LineEvent.Type', 'LineListener', 'LineMetrics',
+ 'LineNumberInputStream', 'LineNumberReader',
+ 'LineUnavailableException', 'LinkageError',
+ 'LinkedList', 'LinkException', 'LinkLoopException',
+ 'LinkRef', 'List', 'ListCellRenderer',
+ 'ListDataEvent', 'ListDataListener', 'ListIterator',
+ 'ListModel', 'ListResourceBundle',
+ 'ListSelectionEvent', 'ListSelectionListener',
+ 'ListSelectionModel', 'ListUI', 'ListView',
+ 'LoaderHandler', 'Locale', 'LocateRegistry',
+ 'LogStream', 'Long', 'LongHolder',
+ 'LongLongSeqHelper', 'LongLongSeqHolder',
+ 'LongSeqHelper', 'LongSeqHolder', 'LookAndFeel',
+ 'LookupOp', 'LookupTable', 'MalformedLinkException',
+ 'MalformedURLException', 'Manifest', 'Map',
+ 'Map.Entry', 'MARSHAL', 'MarshalException',
+ 'MarshalledObject', 'Math', 'MatteBorder',
+ 'MediaTracker', 'Member', 'MemoryImageSource',
+ 'Menu', 'MenuBar', 'MenuBarUI', 'MenuComponent',
+ 'MenuContainer', 'MenuDragMouseEvent',
+ 'MenuDragMouseListener', 'MenuElement', 'MenuEvent',
+ 'MenuItem', 'MenuItemUI', 'MenuKeyEvent',
+ 'MenuKeyListener', 'MenuListener',
+ 'MenuSelectionManager', 'MenuShortcut',
+ 'MessageDigest', 'MessageDigestSpi', 'MessageFormat',
+ 'MetaEventListener', 'MetalBorders',
+ 'MetalBorders.ButtonBorder',
+ 'MetalBorders.Flush3DBorder',
+ 'MetalBorders.InternalFrameBorder',
+ 'MetalBorders.MenuBarBorder',
+ 'MetalBorders.MenuItemBorder',
+ 'MetalBorders.OptionDialogBorder',
+ 'MetalBorders.PaletteBorder',
+ 'MetalBorders.PopupMenuBorder',
+ 'MetalBorders.RolloverButtonBorder',
+ 'MetalBorders.ScrollPaneBorder',
+ 'MetalBorders.TableHeaderBorder',
+ 'MetalBorders.TextFieldBorder',
+ 'MetalBorders.ToggleButtonBorder',
+ 'MetalBorders.ToolBarBorder', 'MetalButtonUI',
+ 'MetalCheckBoxIcon', 'MetalCheckBoxUI',
+ 'MetalComboBoxButton', 'MetalComboBoxEditor',
+ 'MetalComboBoxEditor.UIResource',
+ 'MetalComboBoxIcon', 'MetalComboBoxUI',
+ 'MetalDesktopIconUI', 'MetalFileChooserUI',
+ 'MetalIconFactory', 'MetalIconFactory.FileIcon16',
+ 'MetalIconFactory.FolderIcon16',
+ 'MetalIconFactory.PaletteCloseIcon',
+ 'MetalIconFactory.TreeControlIcon',
+ 'MetalIconFactory.TreeFolderIcon',
+ 'MetalIconFactory.TreeLeafIcon',
+ 'MetalInternalFrameTitlePane',
+ 'MetalInternalFrameUI', 'MetalLabelUI',
+ 'MetalLookAndFeel', 'MetalPopupMenuSeparatorUI',
+ 'MetalProgressBarUI', 'MetalRadioButtonUI',
+ 'MetalScrollBarUI', 'MetalScrollButton',
+ 'MetalScrollPaneUI', 'MetalSeparatorUI',
+ 'MetalSliderUI', 'MetalSplitPaneUI',
+ 'MetalTabbedPaneUI', 'MetalTextFieldUI',
+ 'MetalTheme', 'MetalToggleButtonUI',
+ 'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI',
+ 'MetaMessage', 'Method', 'MethodDescriptor',
+ 'MidiChannel', 'MidiDevice', 'MidiDevice.Info',
+ 'MidiDeviceProvider', 'MidiEvent', 'MidiFileFormat',
+ 'MidiFileReader', 'MidiFileWriter', 'MidiMessage',
+ 'MidiSystem', 'MidiUnavailableException',
+ 'MimeTypeParseException', 'MinimalHTMLWriter',
+ 'MissingResourceException', 'Mixer', 'Mixer.Info',
+ 'MixerProvider', 'ModificationItem', 'Modifier',
+ 'MouseAdapter', 'MouseDragGestureRecognizer',
+ 'MouseEvent', 'MouseInputAdapter',
+ 'MouseInputListener', 'MouseListener',
+ 'MouseMotionAdapter', 'MouseMotionListener',
+ 'MultiButtonUI', 'MulticastSocket',
+ 'MultiColorChooserUI', 'MultiComboBoxUI',
+ 'MultiDesktopIconUI', 'MultiDesktopPaneUI',
+ 'MultiFileChooserUI', 'MultiInternalFrameUI',
+ 'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel',
+ 'MultiMenuBarUI', 'MultiMenuItemUI',
+ 'MultiOptionPaneUI', 'MultiPanelUI',
+ 'MultiPixelPackedSampleModel', 'MultipleMaster',
+ 'MultiPopupMenuUI', 'MultiProgressBarUI',
+ 'MultiScrollBarUI', 'MultiScrollPaneUI',
+ 'MultiSeparatorUI', 'MultiSliderUI',
+ 'MultiSplitPaneUI', 'MultiTabbedPaneUI',
+ 'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI',
+ 'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI',
+ 'MultiViewportUI', 'MutableAttributeSet',
+ 'MutableComboBoxModel', 'MutableTreeNode', 'Name',
+ 'NameAlreadyBoundException', 'NameClassPair',
+ 'NameComponent', 'NameComponentHelper',
+ 'NameComponentHolder', 'NamedValue', 'NameHelper',
+ 'NameHolder', 'NameNotFoundException', 'NameParser',
+ 'NamespaceChangeListener', 'NameValuePair',
+ 'NameValuePairHelper', 'Naming', 'NamingContext',
+ 'NamingContextHelper', 'NamingContextHolder',
+ 'NamingContextOperations', 'NamingEnumeration',
+ 'NamingEvent', 'NamingException',
+ 'NamingExceptionEvent', 'NamingListener',
+ 'NamingManager', 'NamingSecurityException',
+ 'NegativeArraySizeException', 'NetPermission',
+ 'NoClassDefFoundError', 'NoInitialContextException',
+ 'NoninvertibleTransformException',
+ 'NoPermissionException', 'NoRouteToHostException',
+ 'NoSuchAlgorithmException',
+ 'NoSuchAttributeException', 'NoSuchElementException',
+ 'NoSuchFieldError', 'NoSuchFieldException',
+ 'NoSuchMethodError', 'NoSuchMethodException',
+ 'NoSuchObjectException', 'NoSuchProviderException',
+ 'NotActiveException', 'NotBoundException',
+ 'NotContextException', 'NotEmpty', 'NotEmptyHelper',
+ 'NotEmptyHolder', 'NotFound', 'NotFoundHelper',
+ 'NotFoundHolder', 'NotFoundReason',
+ 'NotFoundReasonHelper', 'NotFoundReasonHolder',
+ 'NotOwnerException', 'NotSerializableException',
+ 'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION',
+ 'NO_RESOURCES', 'NO_RESPONSE',
+ 'NullPointerException', 'Number', 'NumberFormat',
+ 'NumberFormatException', 'NVList', 'Object',
+ 'ObjectChangeListener', 'ObjectFactory',
+ 'ObjectFactoryBuilder', 'ObjectHelper',
+ 'ObjectHolder', 'ObjectImpl',
+ 'ObjectInput', 'ObjectInputStream',
+ 'ObjectInputStream.GetField',
+ 'ObjectInputValidation', 'ObjectOutput',
+ 'ObjectOutputStream', 'ObjectOutputStream.PutField',
+ 'ObjectStreamClass', 'ObjectStreamConstants',
+ 'ObjectStreamException', 'ObjectStreamField',
+ 'ObjectView', 'OBJECT_NOT_EXIST', 'ObjID',
+ 'OBJ_ADAPTER', 'Observable', 'Observer',
+ 'OctetSeqHelper', 'OctetSeqHolder', 'OMGVMCID',
+ 'OpenType', 'Operation',
+ 'OperationNotSupportedException', 'Option',
+ 'OptionalDataException', 'OptionPaneUI', 'ORB',
+ 'OutOfMemoryError', 'OutputStream',
+ 'OutputStreamWriter', 'OverlayLayout', 'Owner',
+ 'Package', 'PackedColorModel', 'Pageable',
+ 'PageAttributes', 'PageAttributes.ColorType',
+ 'PageAttributes.MediaType',
+ 'PageAttributes.OrientationRequestedType',
+ 'PageAttributes.OriginType',
+ 'PageAttributes.PrintQualityType', 'PageFormat',
+ 'Paint', 'PaintContext', 'PaintEvent', 'Panel',
+ 'PanelUI', 'Paper', 'ParagraphView',
+ 'ParameterBlock', 'ParameterDescriptor',
+ 'ParseException', 'ParsePosition', 'Parser',
+ 'ParserDelegator', 'PartialResultException',
+ 'PasswordAuthentication', 'PasswordView', 'Patch',
+ 'PathIterator', 'Permission',
+ 'PermissionCollection', 'Permissions',
+ 'PERSIST_STORE', 'PhantomReference',
+ 'PipedInputStream', 'PipedOutputStream',
+ 'PipedReader', 'PipedWriter', 'PixelGrabber',
+ 'PixelInterleavedSampleModel', 'PKCS8EncodedKeySpec',
+ 'PlainDocument', 'PlainView', 'Point', 'Point2D',
+ 'Point2D.Double', 'Point2D.Float', 'Policy',
+ 'PolicyError', 'PolicyHelper',
+ 'PolicyHolder', 'PolicyListHelper',
+ 'PolicyListHolder', 'PolicyOperations',
+ 'PolicyTypeHelper', 'Polygon', 'PopupMenu',
+ 'PopupMenuEvent', 'PopupMenuListener', 'PopupMenuUI',
+ 'Port', 'Port.Info', 'PortableRemoteObject',
+ 'PortableRemoteObjectDelegate', 'Position',
+ 'Position.Bias', 'PreparedStatement', 'Principal',
+ 'PrincipalHolder', 'Printable',
+ 'PrinterAbortException', 'PrinterException',
+ 'PrinterGraphics', 'PrinterIOException',
+ 'PrinterJob', 'PrintGraphics', 'PrintJob',
+ 'PrintStream', 'PrintWriter', 'PrivateKey',
+ 'PRIVATE_MEMBER', 'PrivilegedAction',
+ 'PrivilegedActionException',
+ 'PrivilegedExceptionAction', 'Process',
+ 'ProfileDataException', 'ProgressBarUI',
+ 'ProgressMonitor', 'ProgressMonitorInputStream',
+ 'Properties', 'PropertyChangeEvent',
+ 'PropertyChangeListener', 'PropertyChangeSupport',
+ 'PropertyDescriptor', 'PropertyEditor',
+ 'PropertyEditorManager', 'PropertyEditorSupport',
+ 'PropertyPermission', 'PropertyResourceBundle',
+ 'PropertyVetoException', 'ProtectionDomain',
+ 'ProtocolException', 'Provider', 'ProviderException',
+ 'Proxy', 'PublicKey', 'PUBLIC_MEMBER',
+ 'PushbackInputStream', 'PushbackReader',
+ 'QuadCurve2D', 'QuadCurve2D.Double',
+ 'QuadCurve2D.Float', 'Random', 'RandomAccessFile',
+ 'Raster', 'RasterFormatException', 'RasterOp',
+ 'Reader', 'Receiver', 'Rectangle', 'Rectangle2D',
+ 'Rectangle2D.Double', 'Rectangle2D.Float',
+ 'RectangularShape', 'Ref', 'RefAddr', 'Reference',
+ 'Referenceable', 'ReferenceQueue',
+ 'ReferralException', 'ReflectPermission', 'Registry',
+ 'RegistryHandler', 'RemarshalException', 'Remote',
+ 'RemoteCall', 'RemoteException', 'RemoteObject',
+ 'RemoteRef', 'RemoteServer', 'RemoteStub',
+ 'RenderableImage', 'RenderableImageOp',
+ 'RenderableImageProducer', 'RenderContext',
+ 'RenderedImage', 'RenderedImageFactory', 'Renderer',
+ 'RenderingHints', 'RenderingHints.Key',
+ 'RepaintManager', 'ReplicateScaleFilter',
+ 'Repository', 'RepositoryIdHelper', 'Request',
+ 'RescaleOp', 'Resolver', 'ResolveResult',
+ 'ResourceBundle', 'ResponseHandler', 'ResultSet',
+ 'ResultSetMetaData', 'ReverbType', 'RGBImageFilter',
+ 'RMIClassLoader', 'RMIClientSocketFactory',
+ 'RMIFailureHandler', 'RMISecurityException',
+ 'RMISecurityManager', 'RMIServerSocketFactory',
+ 'RMISocketFactory', 'Robot', 'RootPaneContainer',
+ 'RootPaneUI', 'RoundRectangle2D',
+ 'RoundRectangle2D.Double', 'RoundRectangle2D.Float',
+ 'RowMapper', 'RSAKey', 'RSAKeyGenParameterSpec',
+ 'RSAPrivateCrtKey', 'RSAPrivateCrtKeySpec',
+ 'RSAPrivateKey', 'RSAPrivateKeySpec', 'RSAPublicKey',
+ 'RSAPublicKeySpec', 'RTFEditorKit',
+ 'RuleBasedCollator', 'Runnable', 'RunTime',
+ 'Runtime', 'RuntimeException', 'RunTimeOperations',
+ 'RuntimePermission', 'SampleModel',
+ 'SchemaViolationException', 'Scrollable',
+ 'Scrollbar', 'ScrollBarUI', 'ScrollPane',
+ 'ScrollPaneConstants', 'ScrollPaneLayout',
+ 'ScrollPaneLayout.UIResource', 'ScrollPaneUI',
+ 'SearchControls', 'SearchResult',
+ 'SecureClassLoader', 'SecureRandom',
+ 'SecureRandomSpi', 'Security', 'SecurityException',
+ 'SecurityManager', 'SecurityPermission', 'Segment',
+ 'SeparatorUI', 'Sequence', 'SequenceInputStream',
+ 'Sequencer', 'Sequencer.SyncMode', 'Serializable',
+ 'SerializablePermission', 'ServantObject',
+ 'ServerCloneException', 'ServerError',
+ 'ServerException', 'ServerNotActiveException',
+ 'ServerRef', 'ServerRequest',
+ 'ServerRuntimeException', 'ServerSocket',
+ 'ServiceDetail', 'ServiceDetailHelper',
+ 'ServiceInformation', 'ServiceInformationHelper',
+ 'ServiceInformationHolder',
+ 'ServiceUnavailableException', 'Set',
+ 'SetOverrideType', 'SetOverrideTypeHelper', 'Shape',
+ 'ShapeGraphicAttribute', 'Short', 'ShortHolder',
+ 'ShortLookupTable', 'ShortMessage', 'ShortSeqHelper',
+ 'ShortSeqHolder', 'Signature', 'SignatureException',
+ 'SignatureSpi', 'SignedObject', 'Signer',
+ 'SimpleAttributeSet', 'SimpleBeanInfo',
+ 'SimpleDateFormat', 'SimpleTimeZone',
+ 'SinglePixelPackedSampleModel',
+ 'SingleSelectionModel', 'SizeLimitExceededException',
+ 'SizeRequirements', 'SizeSequence', 'Skeleton',
+ 'SkeletonMismatchException',
+ 'SkeletonNotFoundException', 'SliderUI', 'Socket',
+ 'SocketException', 'SocketImpl', 'SocketImplFactory',
+ 'SocketOptions', 'SocketPermission',
+ 'SocketSecurityException', 'SoftBevelBorder',
+ 'SoftReference', 'SortedMap', 'SortedSet',
+ 'Soundbank', 'SoundbankReader', 'SoundbankResource',
+ 'SourceDataLine', 'SplitPaneUI', 'SQLData',
+ 'SQLException', 'SQLInput', 'SQLOutput',
+ 'SQLPermission', 'SQLWarning', 'Stack',
+ 'StackOverflowError', 'StateEdit', 'StateEditable',
+ 'StateFactory', 'Statement', 'Streamable',
+ 'StreamableValue', 'StreamCorruptedException',
+ 'StreamTokenizer', 'StrictMath', 'String',
+ 'StringBuffer', 'StringBufferInputStream',
+ 'StringCharacterIterator', 'StringContent',
+ 'StringHolder', 'StringIndexOutOfBoundsException',
+ 'StringReader', 'StringRefAddr', 'StringSelection',
+ 'StringTokenizer', 'StringValueHelper',
+ 'StringWriter', 'Stroke', 'Struct', 'StructMember',
+ 'StructMemberHelper', 'Stub', 'StubDelegate',
+ 'StubNotFoundException', 'Style', 'StyleConstants',
+ 'StyleConstants.CharacterConstants',
+ 'StyleConstants.ColorConstants',
+ 'StyleConstants.FontConstants',
+ 'StyleConstants.ParagraphConstants', 'StyleContext',
+ 'StyledDocument', 'StyledEditorKit',
+ 'StyledEditorKit.AlignmentAction',
+ 'StyledEditorKit.BoldAction',
+ 'StyledEditorKit.FontFamilyAction',
+ 'StyledEditorKit.FontSizeAction',
+ 'StyledEditorKit.ForegroundAction',
+ 'StyledEditorKit.ItalicAction',
+ 'StyledEditorKit.StyledTextAction',
+ 'StyledEditorKit.UnderlineAction', 'StyleSheet',
+ 'StyleSheet.BoxPainter', 'StyleSheet.ListPainter',
+ 'SwingConstants', 'SwingPropertyChangeSupport',
+ 'SwingUtilities', 'SyncFailedException',
+ 'Synthesizer', 'SysexMessage', 'System',
+ 'SystemColor', 'SystemException', 'SystemFlavorMap',
+ 'TabableView', 'TabbedPaneUI', 'TabExpander',
+ 'TableCellEditor', 'TableCellRenderer',
+ 'TableColumn', 'TableColumnModel',
+ 'TableColumnModelEvent', 'TableColumnModelListener',
+ 'TableHeaderUI', 'TableModel', 'TableModelEvent',
+ 'TableModelListener', 'TableUI', 'TableView',
+ 'TabSet', 'TabStop', 'TagElement', 'TargetDataLine',
+ 'TCKind', 'TextAction', 'TextArea', 'TextAttribute',
+ 'TextComponent', 'TextEvent', 'TextField',
+ 'TextHitInfo', 'TextLayout',
+ 'TextLayout.CaretPolicy', 'TextListener',
+ 'TextMeasurer', 'TextUI', 'TexturePaint', 'Thread',
+ 'ThreadDeath', 'ThreadGroup', 'ThreadLocal',
+ 'Throwable', 'Tie', 'TileObserver', 'Time',
+ 'TimeLimitExceededException', 'Timer',
+ 'TimerTask', 'Timestamp', 'TimeZone', 'TitledBorder',
+ 'ToolBarUI', 'Toolkit', 'ToolTipManager',
+ 'ToolTipUI', 'TooManyListenersException', 'Track',
+ 'TransactionRequiredException',
+ 'TransactionRolledbackException',
+ 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK',
+ 'Transferable', 'TransformAttribute', 'TRANSIENT',
+ 'Transmitter', 'Transparency', 'TreeCellEditor',
+ 'TreeCellRenderer', 'TreeExpansionEvent',
+ 'TreeExpansionListener', 'TreeMap', 'TreeModel',
+ 'TreeModelEvent', 'TreeModelListener', 'TreeNode',
+ 'TreePath', 'TreeSelectionEvent',
+ 'TreeSelectionListener', 'TreeSelectionModel',
+ 'TreeSet', 'TreeUI', 'TreeWillExpandListener',
+ 'TypeCode', 'TypeCodeHolder', 'TypeMismatch',
+ 'Types', 'UID', 'UIDefaults',
+ 'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap',
+ 'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue',
+ 'UIManager', 'UIManager.LookAndFeelInfo',
+ 'UIResource', 'ULongLongSeqHelper',
+ 'ULongLongSeqHolder', 'ULongSeqHelper',
+ 'ULongSeqHolder', 'UndeclaredThrowableException',
+ 'UndoableEdit', 'UndoableEditEvent',
+ 'UndoableEditListener', 'UndoableEditSupport',
+ 'UndoManager', 'UnexpectedException',
+ 'UnicastRemoteObject', 'UnionMember',
+ 'UnionMemberHelper', 'UNKNOWN', 'UnknownError',
+ 'UnknownException', 'UnknownGroupException',
+ 'UnknownHostException',
+ 'UnknownObjectException', 'UnknownServiceException',
+ 'UnknownUserException', 'UnmarshalException',
+ 'UnrecoverableKeyException', 'Unreferenced',
+ 'UnresolvedPermission', 'UnsatisfiedLinkError',
+ 'UnsolicitedNotification',
+ 'UnsolicitedNotificationEvent',
+ 'UnsolicitedNotificationListener',
+ 'UnsupportedAudioFileException',
+ 'UnsupportedClassVersionError',
+ 'UnsupportedEncodingException',
+ 'UnsupportedFlavorException',
+ 'UnsupportedLookAndFeelException',
+ 'UnsupportedOperationException',
+ 'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE',
+ 'URL', 'URLClassLoader', 'URLConnection',
+ 'URLDecoder', 'URLEncoder', 'URLStreamHandler',
+ 'URLStreamHandlerFactory', 'UserException',
+ 'UShortSeqHelper', 'UShortSeqHolder',
+ 'UTFDataFormatException', 'Util', 'UtilDelegate',
+ 'Utilities', 'ValueBase', 'ValueBaseHelper',
+ 'ValueBaseHolder', 'ValueFactory', 'ValueHandler',
+ 'ValueMember', 'ValueMemberHelper',
+ 'VariableHeightLayoutCache', 'Vector', 'VerifyError',
+ 'VersionSpecHelper', 'VetoableChangeListener',
+ 'VetoableChangeSupport', 'View', 'ViewFactory',
+ 'ViewportLayout', 'ViewportUI',
+ 'VirtualMachineError', 'Visibility',
+ 'VisibilityHelper', 'VMID', 'VM_ABSTRACT',
+ 'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE',
+ 'VoiceStatus', 'Void', 'WCharSeqHelper',
+ 'WCharSeqHolder', 'WeakHashMap', 'WeakReference',
+ 'Window', 'WindowAdapter', 'WindowConstants',
+ 'WindowEvent', 'WindowListener', 'WrappedPlainView',
+ 'WritableRaster', 'WritableRenderedImage',
+ 'WriteAbortedException', 'Writer',
+ 'WrongTransaction', 'WStringValueHelper',
+ 'X509Certificate', 'X509CRL', 'X509CRLEntry',
+ 'X509EncodedKeySpec', 'X509Extension', 'ZipEntry',
+ 'ZipException', 'ZipFile', 'ZipInputStream',
+ 'ZipOutputStream', 'ZoneView',
+ '_BindingIteratorImplBase', '_BindingIteratorStub',
+ '_IDLTypeStub', '_NamingContextImplBase',
+ '_NamingContextStub', '_PolicyStub', '_Remote_Stub'
+ ),
+ 4 => array(
+ 'void', 'double', 'int', 'boolean', 'byte', 'short', 'long', 'char', 'float'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}',
+ '+', '-', '*', '/', '%',
+ '!', '&', '|', '^',
+ '<', '>', '=',
+ '?', ':', ';',
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => true,
+ 4 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #000066; font-weight: bold;',
+ 3 => 'color: #003399;',
+ 4 => 'color: #000066; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #006699;',
+ 3 => 'color: #008000; font-style: italic; font-weight: bold;',
+ 3 => 'color: #008000; font-style: italic; font-weight: bold;',
+ '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(
+ 1 => 'color: #006633;',
+ 2 => 'color: #006633;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.google.com/search?hl=en&amp;q=allinurl%3A{FNAMEL}+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky',
+ 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/java5.php b/application/libraries/geshi/java5.php
new file mode 100644
index 000000000..4abffc663
--- /dev/null
+++ b/application/libraries/geshi/java5.php
@@ -0,0 +1,1031 @@
+<?php
+/*************************************************************************************
+ * java.php
+ * --------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/07/10
+ *
+ * Java language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/25 (1.0.7.22)
+ * - Added highlighting of import and package directives as non-OOP
+ * 2005/12/28 (1.0.4)
+ * - Added instanceof keyword
+ * 2004/11/27 (1.0.3)
+ * - Added support for multiple object splitters
+ * 2004/08/05 (1.0.2)
+ * - Added URL support
+ * - Added keyword "this", as bugs in GeSHi class ironed out
+ * 2004/08/05 (1.0.1)
+ * - Added support for symbols
+ * - Added extra missed keywords
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO
+ * -------------------------
+ * *
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Java(TM) 2 Platform Standard Edition 5.0',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ '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',
+ // javadoc comments
+ 3 => '#/\*\*(?![\*\/]).*\*/#sU'
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ /* see the authoritative list of all 50 Java keywords at */
+ /* http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#229308 */
+
+ /* java keywords, part 1: control flow */
+ 'case', 'default', 'do', 'else', 'for',
+ 'goto', 'if', 'switch', 'while'
+
+ /* IMO 'break', 'continue', 'return' and 'throw' */
+ /* should also be added to this group, as they */
+ /* also manage the control flow, */
+ /* arguably 'try'/'catch'/'finally' as well */
+ ),
+ 2 => array(
+ /* java keywords, part 2 */
+
+ 'break', 'continue', 'return', 'throw',
+ 'try', 'catch', 'finally',
+
+ 'abstract', 'assert', 'class', 'const', 'enum', 'extends',
+ 'final', 'implements', 'import', 'instanceof', 'interface',
+ 'native', 'new', 'package', 'private', 'protected',
+ 'public', 'static', 'strictfp', 'super', 'synchronized',
+ 'this', 'throws', 'transient', 'volatile'
+ ),
+ 3 => array(
+ /* Java keywords, part 3: primitive data types and 'void' */
+ 'boolean', 'byte', 'char', 'double',
+ 'float', 'int', 'long', 'short', 'void'
+ ),
+ 4 => array(
+ /* other reserved words in Java: literals */
+ /* should be styled to look similar to numbers and Strings */
+ 'false', 'null', 'true'
+ ),
+ 5 => array (
+ 'Applet', 'AppletContext', 'AppletStub', 'AudioClip'
+ ),
+ 6 => array (
+ 'AWTError', 'AWTEvent', 'AWTEventMulticaster', 'AWTException', 'AWTKeyStroke', 'AWTPermission', 'ActiveEvent', 'Adjustable', 'AlphaComposite', 'BasicStroke', 'BorderLayout', 'BufferCapabilities', 'BufferCapabilities.FlipContents', 'Button', 'Canvas', 'CardLayout', 'Checkbox', 'CheckboxGroup', 'CheckboxMenuItem', 'Choice', 'Color', 'Component', 'ComponentOrientation', 'Composite', 'CompositeContext', 'Container', 'ContainerOrderFocusTraversalPolicy', 'Cursor', 'DefaultFocusTraversalPolicy', 'DefaultKeyboardFocusManager', 'Dialog', 'Dimension', 'DisplayMode', 'EventQueue', 'FileDialog', 'FlowLayout', 'FocusTraversalPolicy', 'Font', 'FontFormatException', 'FontMetrics', 'Frame', 'GradientPaint', 'Graphics', 'Graphics2D', 'GraphicsConfigTemplate', 'GraphicsConfiguration', 'GraphicsDevice', 'GraphicsEnvironment', 'GridBagConstraints', 'GridBagLayout', 'GridLayout', 'HeadlessException', 'IllegalComponentStateException', 'Image', 'ImageCapabilities', 'Insets', 'ItemSelectable', 'JobAttributes',
+ 'JobAttributes.DefaultSelectionType', 'JobAttributes.DestinationType', 'JobAttributes.DialogType', 'JobAttributes.MultipleDocumentHandlingType', 'JobAttributes.SidesType', 'KeyEventDispatcher', 'KeyEventPostProcessor', 'KeyboardFocusManager', 'Label', 'LayoutManager', 'LayoutManager2', 'MediaTracker', 'Menu', 'MenuBar', 'MenuComponent', 'MenuContainer', 'MenuItem', 'MenuShortcut', 'MouseInfo', 'PageAttributes', 'PageAttributes.ColorType', 'PageAttributes.MediaType', 'PageAttributes.OrientationRequestedType', 'PageAttributes.OriginType', 'PageAttributes.PrintQualityType', 'Paint', 'PaintContext', 'Panel', 'Point', 'PointerInfo', 'Polygon', 'PopupMenu', 'PrintGraphics', 'PrintJob', 'Rectangle', 'RenderingHints', 'RenderingHints.Key', 'Robot', 'ScrollPane', 'ScrollPaneAdjustable', 'Scrollbar', 'Shape', 'Stroke', 'SystemColor', 'TextArea', 'TextComponent', 'TextField', 'TexturePaint', 'Toolkit', 'Transparency', 'Window'
+ ),
+ 7 => array (
+ 'CMMException', 'ColorSpace', 'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray', 'ICC_ProfileRGB', 'ProfileDataException'
+ ),
+ 8 => array (
+ 'Clipboard', 'ClipboardOwner', 'DataFlavor', 'FlavorEvent', 'FlavorListener', 'FlavorMap', 'FlavorTable', 'MimeTypeParseException', 'StringSelection', 'SystemFlavorMap', 'Transferable', 'UnsupportedFlavorException'
+ ),
+ 9 => array (
+ 'Autoscroll', 'DnDConstants', 'DragGestureEvent', 'DragGestureListener', 'DragGestureRecognizer', 'DragSource', 'DragSourceAdapter', 'DragSourceContext', 'DragSourceDragEvent', 'DragSourceDropEvent', 'DragSourceEvent', 'DragSourceListener', 'DragSourceMotionListener', 'DropTarget', 'DropTarget.DropTargetAutoScroller', 'DropTargetAdapter', 'DropTargetContext', 'DropTargetDragEvent', 'DropTargetDropEvent', 'DropTargetEvent', 'DropTargetListener', 'InvalidDnDOperationException', 'MouseDragGestureRecognizer'
+ ),
+ 10 => array (
+ 'AWTEventListener', 'AWTEventListenerProxy', 'ActionEvent', 'ActionListener', 'AdjustmentEvent', 'AdjustmentListener', 'ComponentAdapter', 'ComponentEvent', 'ComponentListener', 'ContainerAdapter', 'ContainerEvent', 'ContainerListener', 'FocusAdapter', 'FocusEvent', 'FocusListener', 'HierarchyBoundsAdapter', 'HierarchyBoundsListener', 'HierarchyEvent', 'HierarchyListener', 'InputEvent', 'InputMethodEvent', 'InputMethodListener', 'InvocationEvent', 'ItemEvent', 'ItemListener', 'KeyAdapter', 'KeyEvent', 'KeyListener', 'MouseAdapter', 'MouseListener', 'MouseMotionAdapter', 'MouseMotionListener', 'MouseWheelEvent', 'MouseWheelListener', 'PaintEvent', 'TextEvent', 'TextListener', 'WindowAdapter', 'WindowEvent', 'WindowFocusListener', 'WindowListener', 'WindowStateListener'
+ ),
+ 11 => array (
+ 'FontRenderContext', 'GlyphJustificationInfo', 'GlyphMetrics', 'GlyphVector', 'GraphicAttribute', 'ImageGraphicAttribute', 'LineBreakMeasurer', 'LineMetrics', 'MultipleMaster', 'NumericShaper', 'ShapeGraphicAttribute', 'TextAttribute', 'TextHitInfo', 'TextLayout', 'TextLayout.CaretPolicy', 'TextMeasurer', 'TransformAttribute'
+ ),
+ 12 => array (
+ 'AffineTransform', 'Arc2D', 'Arc2D.Double', 'Arc2D.Float', 'Area', 'CubicCurve2D', 'CubicCurve2D.Double', 'CubicCurve2D.Float', 'Dimension2D', 'Ellipse2D', 'Ellipse2D.Double', 'Ellipse2D.Float', 'FlatteningPathIterator', 'GeneralPath', 'IllegalPathStateException', 'Line2D', 'Line2D.Double', 'Line2D.Float', 'NoninvertibleTransformException', 'PathIterator', 'Point2D', 'Point2D.Double', 'Point2D.Float', 'QuadCurve2D', 'QuadCurve2D.Double', 'QuadCurve2D.Float', 'Rectangle2D', 'Rectangle2D.Double', 'Rectangle2D.Float', 'RectangularShape', 'RoundRectangle2D', 'RoundRectangle2D.Double', 'RoundRectangle2D.Float'
+ ),
+ 13 => array (
+ 'InputContext', 'InputMethodHighlight', 'InputMethodRequests', 'InputSubset'
+ ),
+ 14 => array (
+ 'InputMethod', 'InputMethodContext', 'InputMethodDescriptor'
+ ),
+ 15 => array (
+ 'AffineTransformOp', 'AreaAveragingScaleFilter', 'BandCombineOp', 'BandedSampleModel', 'BufferStrategy', 'BufferedImage', 'BufferedImageFilter', 'BufferedImageOp', 'ByteLookupTable', 'ColorConvertOp', 'ColorModel', 'ComponentColorModel', 'ComponentSampleModel', 'ConvolveOp', 'CropImageFilter', 'DataBuffer', 'DataBufferByte', 'DataBufferDouble', 'DataBufferFloat', 'DataBufferInt', 'DataBufferShort', 'DataBufferUShort', 'DirectColorModel', 'FilteredImageSource', 'ImageConsumer', 'ImageFilter', 'ImageObserver', 'ImageProducer', 'ImagingOpException', 'IndexColorModel', 'Kernel', 'LookupOp', 'LookupTable', 'MemoryImageSource', 'MultiPixelPackedSampleModel', 'PackedColorModel', 'PixelGrabber', 'PixelInterleavedSampleModel', 'RGBImageFilter', 'Raster', 'RasterFormatException', 'RasterOp', 'RenderedImage', 'ReplicateScaleFilter', 'RescaleOp', 'SampleModel', 'ShortLookupTable', 'SinglePixelPackedSampleModel', 'TileObserver', 'VolatileImage', 'WritableRaster', 'WritableRenderedImage'
+ ),
+ 16 => array (
+ 'ContextualRenderedImageFactory', 'ParameterBlock', 'RenderContext', 'RenderableImage', 'RenderableImageOp', 'RenderableImageProducer', 'RenderedImageFactory'
+ ),
+ 17 => array (
+ 'Book', 'PageFormat', 'Pageable', 'Paper', 'Printable', 'PrinterAbortException', 'PrinterException', 'PrinterGraphics', 'PrinterIOException', 'PrinterJob'
+ ),
+ 18 => array (
+ 'AppletInitializer', 'BeanDescriptor', 'BeanInfo', 'Beans', 'Customizer', 'DefaultPersistenceDelegate', 'DesignMode', 'Encoder', 'EventHandler', 'EventSetDescriptor', 'ExceptionListener', 'Expression', 'FeatureDescriptor', 'IndexedPropertyChangeEvent', 'IndexedPropertyDescriptor', 'Introspector', 'MethodDescriptor', 'ParameterDescriptor', 'PersistenceDelegate', 'PropertyChangeEvent', 'PropertyChangeListener', 'PropertyChangeListenerProxy', 'PropertyChangeSupport', 'PropertyDescriptor', 'PropertyEditor', 'PropertyEditorManager', 'PropertyEditorSupport', 'PropertyVetoException', 'SimpleBeanInfo', 'VetoableChangeListener', 'VetoableChangeListenerProxy', 'VetoableChangeSupport', 'Visibility', 'XMLDecoder', 'XMLEncoder'
+ ),
+ 19 => array (
+ 'BeanContext', 'BeanContextChild', 'BeanContextChildComponentProxy', 'BeanContextChildSupport', 'BeanContextContainerProxy', 'BeanContextEvent', 'BeanContextMembershipEvent', 'BeanContextMembershipListener', 'BeanContextProxy', 'BeanContextServiceAvailableEvent', 'BeanContextServiceProvider', 'BeanContextServiceProviderBeanInfo', 'BeanContextServiceRevokedEvent', 'BeanContextServiceRevokedListener', 'BeanContextServices', 'BeanContextServicesListener', 'BeanContextServicesSupport', 'BeanContextServicesSupport.BCSSServiceProvider', 'BeanContextSupport', 'BeanContextSupport.BCSIterator'
+ ),
+ 20 => array (
+ 'BufferedInputStream', 'BufferedOutputStream', 'BufferedReader', 'BufferedWriter', 'ByteArrayInputStream', 'ByteArrayOutputStream', 'CharArrayReader', 'CharArrayWriter', 'CharConversionException', 'Closeable', 'DataInput', 'DataOutput', 'EOFException', 'Externalizable', 'File', 'FileDescriptor', 'FileInputStream', 'FileNotFoundException', 'FileOutputStream', 'FilePermission', 'FileReader', 'FileWriter', 'FilenameFilter', 'FilterInputStream', 'FilterOutputStream', 'FilterReader', 'FilterWriter', 'Flushable', 'IOException', 'InputStreamReader', 'InterruptedIOException', 'InvalidClassException', 'InvalidObjectException', 'LineNumberInputStream', 'LineNumberReader', 'NotActiveException', 'NotSerializableException', 'ObjectInput', 'ObjectInputStream', 'ObjectInputStream.GetField', 'ObjectInputValidation', 'ObjectOutput', 'ObjectOutputStream', 'ObjectOutputStream.PutField', 'ObjectStreamClass', 'ObjectStreamConstants', 'ObjectStreamException', 'ObjectStreamField', 'OptionalDataException', 'OutputStreamWriter',
+ 'PipedInputStream', 'PipedOutputStream', 'PipedReader', 'PipedWriter', 'PrintStream', 'PrintWriter', 'PushbackInputStream', 'PushbackReader', 'RandomAccessFile', 'Reader', 'SequenceInputStream', 'Serializable', 'SerializablePermission', 'StreamCorruptedException', 'StreamTokenizer', 'StringBufferInputStream', 'StringReader', 'StringWriter', 'SyncFailedException', 'UTFDataFormatException', 'UnsupportedEncodingException', 'WriteAbortedException', 'Writer'
+ ),
+ 21 => array (
+ 'AbstractMethodError', 'Appendable', 'ArithmeticException', 'ArrayIndexOutOfBoundsException', 'ArrayStoreException', 'AssertionError', 'Boolean', 'Byte', 'CharSequence', 'Character', 'Character.Subset', 'Character.UnicodeBlock', 'Class', 'ClassCastException', 'ClassCircularityError', 'ClassFormatError', 'ClassLoader', 'ClassNotFoundException', 'CloneNotSupportedException', 'Cloneable', 'Comparable', 'Compiler', 'Deprecated', 'Double', 'Enum', 'EnumConstantNotPresentException', 'Error', 'Exception', 'ExceptionInInitializerError', 'Float', 'IllegalAccessError', 'IllegalAccessException', 'IllegalArgumentException', 'IllegalMonitorStateException', 'IllegalStateException', 'IllegalThreadStateException', 'IncompatibleClassChangeError', 'IndexOutOfBoundsException', 'InheritableThreadLocal', 'InstantiationError', 'InstantiationException', 'Integer', 'InternalError', 'InterruptedException', 'Iterable', 'LinkageError', 'Long', 'Math', 'NegativeArraySizeException', 'NoClassDefFoundError', 'NoSuchFieldError',
+ 'NoSuchFieldException', 'NoSuchMethodError', 'NoSuchMethodException', 'NullPointerException', 'Number', 'NumberFormatException', 'OutOfMemoryError', 'Override', 'Package', 'Process', 'ProcessBuilder', 'Readable', 'Runnable', 'Runtime', 'RuntimeException', 'RuntimePermission', 'SecurityException', 'SecurityManager', 'Short', 'StackOverflowError', 'StackTraceElement', 'StrictMath', 'String', 'StringBuffer', 'StringBuilder', 'StringIndexOutOfBoundsException', 'SuppressWarnings', 'System', 'Thread', 'Thread.State', 'Thread.UncaughtExceptionHandler', 'ThreadDeath', 'ThreadGroup', 'ThreadLocal', 'Throwable', 'TypeNotPresentException', 'UnknownError', 'UnsatisfiedLinkError', 'UnsupportedClassVersionError', 'UnsupportedOperationException', 'VerifyError', 'VirtualMachineError', 'Void'
+ ),
+ 22 => array (
+ 'AnnotationFormatError', 'AnnotationTypeMismatchException', 'Documented', 'ElementType', 'IncompleteAnnotationException', 'Inherited', 'Retention', 'RetentionPolicy', 'Target'
+ ),
+ 23 => array (
+ 'ClassDefinition', 'ClassFileTransformer', 'IllegalClassFormatException', 'Instrumentation', 'UnmodifiableClassException'
+ ),
+ 24 => array (
+ 'ClassLoadingMXBean', 'CompilationMXBean', 'GarbageCollectorMXBean', 'ManagementFactory', 'ManagementPermission', 'MemoryMXBean', 'MemoryManagerMXBean', 'MemoryNotificationInfo', 'MemoryPoolMXBean', 'MemoryType', 'MemoryUsage', 'OperatingSystemMXBean', 'RuntimeMXBean', 'ThreadInfo', 'ThreadMXBean'
+ ),
+ 25 => array (
+ 'PhantomReference', 'ReferenceQueue', 'SoftReference', 'WeakReference'
+ ),
+ 26 => array (
+ 'AccessibleObject', 'AnnotatedElement', 'Constructor', 'Field', 'GenericArrayType', 'GenericDeclaration', 'GenericSignatureFormatError', 'InvocationHandler', 'InvocationTargetException', 'MalformedParameterizedTypeException', 'Member', 'Method', 'Modifier', 'ParameterizedType', 'ReflectPermission', 'Type', 'TypeVariable', 'UndeclaredThrowableException', 'WildcardType'
+ ),
+ 27 => array (
+ 'BigDecimal', 'BigInteger', 'MathContext', 'RoundingMode'
+ ),
+ 28 => array (
+ 'Authenticator', 'Authenticator.RequestorType', 'BindException', 'CacheRequest', 'CacheResponse', 'ContentHandlerFactory', 'CookieHandler', 'DatagramPacket', 'DatagramSocket', 'DatagramSocketImpl', 'DatagramSocketImplFactory', 'FileNameMap', 'HttpRetryException', 'HttpURLConnection', 'Inet4Address', 'Inet6Address', 'InetAddress', 'InetSocketAddress', 'JarURLConnection', 'MalformedURLException', 'MulticastSocket', 'NetPermission', 'NetworkInterface', 'NoRouteToHostException', 'PasswordAuthentication', 'PortUnreachableException', 'ProtocolException', 'Proxy.Type', 'ProxySelector', 'ResponseCache', 'SecureCacheResponse', 'ServerSocket', 'Socket', 'SocketAddress', 'SocketException', 'SocketImpl', 'SocketImplFactory', 'SocketOptions', 'SocketPermission', 'SocketTimeoutException', 'URI', 'URISyntaxException', 'URL', 'URLClassLoader', 'URLConnection', 'URLDecoder', 'URLEncoder', 'URLStreamHandler', 'URLStreamHandlerFactory', 'UnknownServiceException'
+ ),
+ 29 => array (
+ 'Buffer', 'BufferOverflowException', 'BufferUnderflowException', 'ByteBuffer', 'ByteOrder', 'CharBuffer', 'DoubleBuffer', 'FloatBuffer', 'IntBuffer', 'InvalidMarkException', 'LongBuffer', 'MappedByteBuffer', 'ReadOnlyBufferException', 'ShortBuffer'
+ ),
+ 30 => array (
+ 'AlreadyConnectedException', 'AsynchronousCloseException', 'ByteChannel', 'CancelledKeyException', 'Channel', 'Channels', 'ClosedByInterruptException', 'ClosedChannelException', 'ClosedSelectorException', 'ConnectionPendingException', 'DatagramChannel', 'FileChannel', 'FileChannel.MapMode', 'FileLock', 'FileLockInterruptionException', 'GatheringByteChannel', 'IllegalBlockingModeException', 'IllegalSelectorException', 'InterruptibleChannel', 'NoConnectionPendingException', 'NonReadableChannelException', 'NonWritableChannelException', 'NotYetBoundException', 'NotYetConnectedException', 'OverlappingFileLockException', 'Pipe', 'Pipe.SinkChannel', 'Pipe.SourceChannel', 'ReadableByteChannel', 'ScatteringByteChannel', 'SelectableChannel', 'SelectionKey', 'Selector', 'ServerSocketChannel', 'SocketChannel', 'UnresolvedAddressException', 'UnsupportedAddressTypeException', 'WritableByteChannel'
+ ),
+ 31 => array (
+ 'AbstractInterruptibleChannel', 'AbstractSelectableChannel', 'AbstractSelectionKey', 'AbstractSelector', 'SelectorProvider'
+ ),
+ 32 => array (
+ 'CharacterCodingException', 'Charset', 'CharsetDecoder', 'CharsetEncoder', 'CoderMalfunctionError', 'CoderResult', 'CodingErrorAction', 'IllegalCharsetNameException', 'MalformedInputException', 'UnmappableCharacterException', 'UnsupportedCharsetException'
+ ),
+ 33 => array (
+ 'CharsetProvider'
+ ),
+ 34 => array (
+ 'AccessException', 'AlreadyBoundException', 'ConnectIOException', 'MarshalException', 'MarshalledObject', 'Naming', 'NoSuchObjectException', 'NotBoundException', 'RMISecurityException', 'RMISecurityManager', 'Remote', 'RemoteException', 'ServerError', 'ServerException', 'ServerRuntimeException', 'StubNotFoundException', 'UnexpectedException', 'UnmarshalException'
+ ),
+ 35 => array (
+ 'Activatable', 'ActivateFailedException', 'ActivationDesc', 'ActivationException', 'ActivationGroup', 'ActivationGroupDesc', 'ActivationGroupDesc.CommandEnvironment', 'ActivationGroupID', 'ActivationGroup_Stub', 'ActivationID', 'ActivationInstantiator', 'ActivationMonitor', 'ActivationSystem', 'Activator', 'UnknownGroupException', 'UnknownObjectException'
+ ),
+ 36 => array (
+ 'DGC', 'Lease', 'VMID'
+ ),
+ 37 => array (
+ 'LocateRegistry', 'Registry', 'RegistryHandler'
+ ),
+ 38 => array (
+ 'ExportException', 'LoaderHandler', 'LogStream', 'ObjID', 'Operation', 'RMIClassLoader', 'RMIClassLoaderSpi', 'RMIClientSocketFactory', 'RMIFailureHandler', 'RMIServerSocketFactory', 'RMISocketFactory', 'RemoteCall', 'RemoteObject', 'RemoteObjectInvocationHandler', 'RemoteRef', 'RemoteServer', 'RemoteStub', 'ServerCloneException', 'ServerNotActiveException', 'ServerRef', 'Skeleton', 'SkeletonMismatchException', 'SkeletonNotFoundException', 'SocketSecurityException', 'UID', 'UnicastRemoteObject', 'Unreferenced'
+ ),
+ 39 => array (
+ 'AccessControlContext', 'AccessControlException', 'AccessController', 'AlgorithmParameterGenerator', 'AlgorithmParameterGeneratorSpi', 'AlgorithmParameters', 'AlgorithmParametersSpi', 'AllPermission', 'AuthProvider', 'BasicPermission', 'CodeSigner', 'CodeSource', 'DigestException', 'DigestInputStream', 'DigestOutputStream', 'DomainCombiner', 'GeneralSecurityException', 'Guard', 'GuardedObject', 'Identity', 'IdentityScope', 'InvalidAlgorithmParameterException', 'InvalidParameterException', 'Key', 'KeyException', 'KeyFactory', 'KeyFactorySpi', 'KeyManagementException', 'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi', 'KeyRep', 'KeyRep.Type', 'KeyStore', 'KeyStore.Builder', 'KeyStore.CallbackHandlerProtection', 'KeyStore.Entry', 'KeyStore.LoadStoreParameter', 'KeyStore.PasswordProtection', 'KeyStore.PrivateKeyEntry', 'KeyStore.ProtectionParameter', 'KeyStore.SecretKeyEntry', 'KeyStore.TrustedCertificateEntry', 'KeyStoreException', 'KeyStoreSpi', 'MessageDigest', 'MessageDigestSpi',
+ 'NoSuchAlgorithmException', 'NoSuchProviderException', 'PermissionCollection', 'Permissions', 'PrivateKey', 'PrivilegedAction', 'PrivilegedActionException', 'PrivilegedExceptionAction', 'ProtectionDomain', 'Provider', 'Provider.Service', 'ProviderException', 'PublicKey', 'SecureClassLoader', 'SecureRandom', 'SecureRandomSpi', 'Security', 'SecurityPermission', 'Signature', 'SignatureException', 'SignatureSpi', 'SignedObject', 'Signer', 'UnrecoverableEntryException', 'UnrecoverableKeyException', 'UnresolvedPermission'
+ ),
+ 40 => array (
+ 'Acl', 'AclEntry', 'AclNotFoundException', 'Group', 'LastOwnerException', 'NotOwnerException', 'Owner'
+ ),
+ 41 => array (
+ 'CRL', 'CRLException', 'CRLSelector', 'CertPath', 'CertPath.CertPathRep', 'CertPathBuilder', 'CertPathBuilderException', 'CertPathBuilderResult', 'CertPathBuilderSpi', 'CertPathParameters', 'CertPathValidator', 'CertPathValidatorException', 'CertPathValidatorResult', 'CertPathValidatorSpi', 'CertSelector', 'CertStore', 'CertStoreException', 'CertStoreParameters', 'CertStoreSpi', 'Certificate.CertificateRep', 'CertificateFactory', 'CertificateFactorySpi', 'CollectionCertStoreParameters', 'LDAPCertStoreParameters', 'PKIXBuilderParameters', 'PKIXCertPathBuilderResult', 'PKIXCertPathChecker', 'PKIXCertPathValidatorResult', 'PKIXParameters', 'PolicyNode', 'PolicyQualifierInfo', 'TrustAnchor', 'X509CRL', 'X509CRLEntry', 'X509CRLSelector', 'X509CertSelector', 'X509Extension'
+ ),
+ 42 => array (
+ 'DSAKey', 'DSAKeyPairGenerator', 'DSAParams', 'DSAPrivateKey', 'DSAPublicKey', 'ECKey', 'ECPrivateKey', 'ECPublicKey', 'RSAKey', 'RSAMultiPrimePrivateCrtKey', 'RSAPrivateCrtKey', 'RSAPrivateKey', 'RSAPublicKey'
+ ),
+ 43 => array (
+ 'AlgorithmParameterSpec', 'DSAParameterSpec', 'DSAPrivateKeySpec', 'DSAPublicKeySpec', 'ECField', 'ECFieldF2m', 'ECFieldFp', 'ECGenParameterSpec', 'ECParameterSpec', 'ECPoint', 'ECPrivateKeySpec', 'ECPublicKeySpec', 'EllipticCurve', 'EncodedKeySpec', 'InvalidKeySpecException', 'InvalidParameterSpecException', 'KeySpec', 'MGF1ParameterSpec', 'PKCS8EncodedKeySpec', 'PSSParameterSpec', 'RSAKeyGenParameterSpec', 'RSAMultiPrimePrivateCrtKeySpec', 'RSAOtherPrimeInfo', 'RSAPrivateCrtKeySpec', 'RSAPrivateKeySpec', 'RSAPublicKeySpec', 'X509EncodedKeySpec'
+ ),
+ 44 => array (
+ 'BatchUpdateException', 'Blob', 'CallableStatement', 'Clob', 'Connection', 'DataTruncation', 'DatabaseMetaData', 'Driver', 'DriverManager', 'DriverPropertyInfo', 'ParameterMetaData', 'PreparedStatement', 'Ref', 'ResultSet', 'ResultSetMetaData', 'SQLData', 'SQLException', 'SQLInput', 'SQLOutput', 'SQLPermission', 'SQLWarning', 'Savepoint', 'Struct', 'Time', 'Types'
+ ),
+ 45 => array (
+ 'AttributedCharacterIterator', 'AttributedCharacterIterator.Attribute', 'AttributedString', 'Bidi', 'BreakIterator', 'CharacterIterator', 'ChoiceFormat', 'CollationElementIterator', 'CollationKey', 'Collator', 'DateFormat', 'DateFormat.Field', 'DateFormatSymbols', 'DecimalFormat', 'DecimalFormatSymbols', 'FieldPosition', 'Format', 'Format.Field', 'MessageFormat', 'MessageFormat.Field', 'NumberFormat', 'NumberFormat.Field', 'ParseException', 'ParsePosition', 'RuleBasedCollator', 'SimpleDateFormat', 'StringCharacterIterator'
+ ),
+ 46 => array (
+ 'AbstractCollection', 'AbstractList', 'AbstractMap', 'AbstractQueue', 'AbstractSequentialList', 'AbstractSet', 'ArrayList', 'Arrays', 'BitSet', 'Calendar', 'Collection', 'Collections', 'Comparator', 'ConcurrentModificationException', 'Currency', 'Dictionary', 'DuplicateFormatFlagsException', 'EmptyStackException', 'EnumMap', 'EnumSet', 'Enumeration', 'EventListenerProxy', 'EventObject', 'FormatFlagsConversionMismatchException', 'Formattable', 'FormattableFlags', 'Formatter.BigDecimalLayoutForm', 'FormatterClosedException', 'GregorianCalendar', 'HashMap', 'HashSet', 'Hashtable', 'IdentityHashMap', 'IllegalFormatCodePointException', 'IllegalFormatConversionException', 'IllegalFormatException', 'IllegalFormatFlagsException', 'IllegalFormatPrecisionException', 'IllegalFormatWidthException', 'InputMismatchException', 'InvalidPropertiesFormatException', 'Iterator', 'LinkedHashMap', 'LinkedHashSet', 'LinkedList', 'ListIterator', 'ListResourceBundle', 'Locale', 'Map', 'Map.Entry', 'MissingFormatArgumentException',
+ 'MissingFormatWidthException', 'MissingResourceException', 'NoSuchElementException', 'Observable', 'Observer', 'PriorityQueue', 'Properties', 'PropertyPermission', 'PropertyResourceBundle', 'Queue', 'Random', 'RandomAccess', 'ResourceBundle', 'Scanner', 'Set', 'SimpleTimeZone', 'SortedMap', 'SortedSet', 'Stack', 'StringTokenizer', 'TimeZone', 'TimerTask', 'TooManyListenersException', 'TreeMap', 'TreeSet', 'UUID', 'UnknownFormatConversionException', 'UnknownFormatFlagsException', 'Vector', 'WeakHashMap'
+ ),
+ 47 => array (
+ 'AbstractExecutorService', 'ArrayBlockingQueue', 'BlockingQueue', 'BrokenBarrierException', 'Callable', 'CancellationException', 'CompletionService', 'ConcurrentHashMap', 'ConcurrentLinkedQueue', 'ConcurrentMap', 'CopyOnWriteArrayList', 'CopyOnWriteArraySet', 'CountDownLatch', 'CyclicBarrier', 'DelayQueue', 'Delayed', 'Exchanger', 'ExecutionException', 'Executor', 'ExecutorCompletionService', 'ExecutorService', 'Executors', 'Future', 'FutureTask', 'LinkedBlockingQueue', 'PriorityBlockingQueue', 'RejectedExecutionException', 'RejectedExecutionHandler', 'ScheduledExecutorService', 'ScheduledFuture', 'ScheduledThreadPoolExecutor', 'Semaphore', 'SynchronousQueue', 'ThreadFactory', 'ThreadPoolExecutor', 'ThreadPoolExecutor.AbortPolicy', 'ThreadPoolExecutor.CallerRunsPolicy', 'ThreadPoolExecutor.DiscardOldestPolicy', 'ThreadPoolExecutor.DiscardPolicy', 'TimeUnit', 'TimeoutException'
+ ),
+ 48 => array (
+ 'AtomicBoolean', 'AtomicInteger', 'AtomicIntegerArray', 'AtomicIntegerFieldUpdater', 'AtomicLong', 'AtomicLongArray', 'AtomicLongFieldUpdater', 'AtomicMarkableReference', 'AtomicReference', 'AtomicReferenceArray', 'AtomicReferenceFieldUpdater', 'AtomicStampedReference'
+ ),
+ 49 => array (
+ 'AbstractQueuedSynchronizer', 'Condition', 'Lock', 'LockSupport', 'ReadWriteLock', 'ReentrantLock', 'ReentrantReadWriteLock', 'ReentrantReadWriteLock.ReadLock', 'ReentrantReadWriteLock.WriteLock'
+ ),
+ 50 => array (
+ 'Attributes.Name', 'JarEntry', 'JarException', 'JarFile', 'JarInputStream', 'JarOutputStream', 'Manifest', 'Pack200', 'Pack200.Packer', 'Pack200.Unpacker'
+ ),
+ 51 => array (
+ 'ConsoleHandler', 'ErrorManager', 'FileHandler', 'Filter', 'Handler', 'Level', 'LogManager', 'LogRecord', 'Logger', 'LoggingMXBean', 'LoggingPermission', 'MemoryHandler', 'SimpleFormatter', 'SocketHandler', 'StreamHandler', 'XMLFormatter'
+ ),
+ 52 => array (
+ 'AbstractPreferences', 'BackingStoreException', 'InvalidPreferencesFormatException', 'NodeChangeEvent', 'NodeChangeListener', 'PreferenceChangeEvent', 'PreferenceChangeListener', 'Preferences', 'PreferencesFactory'
+ ),
+ 53 => array (
+ 'MatchResult', 'Matcher', 'Pattern', 'PatternSyntaxException'
+ ),
+ 54 => array (
+ 'Adler32', 'CRC32', 'CheckedInputStream', 'CheckedOutputStream', 'Checksum', 'DataFormatException', 'Deflater', 'DeflaterOutputStream', 'GZIPInputStream', 'GZIPOutputStream', 'Inflater', 'InflaterInputStream', 'ZipEntry', 'ZipException', 'ZipFile', 'ZipInputStream', 'ZipOutputStream'
+ ),
+ 55 => array (
+ 'Accessible', 'AccessibleAction', 'AccessibleAttributeSequence', 'AccessibleBundle', 'AccessibleComponent', 'AccessibleContext', 'AccessibleEditableText', 'AccessibleExtendedComponent', 'AccessibleExtendedTable', 'AccessibleExtendedText', 'AccessibleHyperlink', 'AccessibleHypertext', 'AccessibleIcon', 'AccessibleKeyBinding', 'AccessibleRelation', 'AccessibleRelationSet', 'AccessibleResourceBundle', 'AccessibleRole', 'AccessibleSelection', 'AccessibleState', 'AccessibleStateSet', 'AccessibleStreamable', 'AccessibleTable', 'AccessibleTableModelChange', 'AccessibleText', 'AccessibleTextSequence', 'AccessibleValue'
+ ),
+ 56 => array (
+ 'ActivityCompletedException', 'ActivityRequiredException', 'InvalidActivityException'
+ ),
+ 57 => array (
+ 'BadPaddingException', 'Cipher', 'CipherInputStream', 'CipherOutputStream', 'CipherSpi', 'EncryptedPrivateKeyInfo', 'ExemptionMechanism', 'ExemptionMechanismException', 'ExemptionMechanismSpi', 'IllegalBlockSizeException', 'KeyAgreement', 'KeyAgreementSpi', 'KeyGenerator', 'KeyGeneratorSpi', 'Mac', 'MacSpi', 'NoSuchPaddingException', 'NullCipher', 'SealedObject', 'SecretKey', 'SecretKeyFactory', 'SecretKeyFactorySpi', 'ShortBufferException'
+ ),
+ 58 => array (
+ 'DHKey', 'DHPrivateKey', 'DHPublicKey', 'PBEKey'
+ ),
+ 59 => array (
+ 'DESKeySpec', 'DESedeKeySpec', 'DHGenParameterSpec', 'DHParameterSpec', 'DHPrivateKeySpec', 'DHPublicKeySpec', 'IvParameterSpec', 'OAEPParameterSpec', 'PBEKeySpec', 'PBEParameterSpec', 'PSource', 'PSource.PSpecified', 'RC2ParameterSpec', 'RC5ParameterSpec', 'SecretKeySpec'
+ ),
+ 60 => array (
+ 'IIOException', 'IIOImage', 'IIOParam', 'IIOParamController', 'ImageIO', 'ImageReadParam', 'ImageReader', 'ImageTranscoder', 'ImageTypeSpecifier', 'ImageWriteParam', 'ImageWriter'
+ ),
+ 61 => array (
+ 'IIOReadProgressListener', 'IIOReadUpdateListener', 'IIOReadWarningListener', 'IIOWriteProgressListener', 'IIOWriteWarningListener'
+ ),
+ 62 => array (
+ 'IIOInvalidTreeException', 'IIOMetadata', 'IIOMetadataController', 'IIOMetadataFormat', 'IIOMetadataFormatImpl', 'IIOMetadataNode'
+ ),
+ 63 => array (
+ 'BMPImageWriteParam'
+ ),
+ 64 => array (
+ 'JPEGHuffmanTable', 'JPEGImageReadParam', 'JPEGImageWriteParam', 'JPEGQTable'
+ ),
+ 65 => array (
+ 'IIORegistry', 'IIOServiceProvider', 'ImageInputStreamSpi', 'ImageOutputStreamSpi', 'ImageReaderSpi', 'ImageReaderWriterSpi', 'ImageTranscoderSpi', 'ImageWriterSpi', 'RegisterableService', 'ServiceRegistry', 'ServiceRegistry.Filter'
+ ),
+ 66 => array (
+ 'FileCacheImageInputStream', 'FileCacheImageOutputStream', 'FileImageInputStream', 'FileImageOutputStream', 'IIOByteBuffer', 'ImageInputStream', 'ImageInputStreamImpl', 'ImageOutputStream', 'ImageOutputStreamImpl', 'MemoryCacheImageInputStream', 'MemoryCacheImageOutputStream'
+ ),
+ 67 => array (
+ 'AttributeChangeNotification', 'AttributeChangeNotificationFilter', 'AttributeNotFoundException', 'AttributeValueExp', 'BadAttributeValueExpException', 'BadBinaryOpValueExpException', 'BadStringOperationException', 'Descriptor', 'DescriptorAccess', 'DynamicMBean', 'InstanceAlreadyExistsException', 'InstanceNotFoundException', 'InvalidApplicationException', 'JMException', 'JMRuntimeException', 'ListenerNotFoundException', 'MBeanAttributeInfo', 'MBeanConstructorInfo', 'MBeanException', 'MBeanFeatureInfo', 'MBeanInfo', 'MBeanNotificationInfo', 'MBeanOperationInfo', 'MBeanParameterInfo', 'MBeanPermission', 'MBeanRegistration', 'MBeanRegistrationException', 'MBeanServer', 'MBeanServerBuilder', 'MBeanServerConnection', 'MBeanServerDelegate', 'MBeanServerDelegateMBean', 'MBeanServerFactory', 'MBeanServerInvocationHandler', 'MBeanServerNotification', 'MBeanServerPermission', 'MBeanTrustPermission', 'MalformedObjectNameException', 'NotCompliantMBeanException', 'Notification', 'NotificationBroadcaster',
+ 'NotificationBroadcasterSupport', 'NotificationEmitter', 'NotificationFilter', 'NotificationFilterSupport', 'NotificationListener', 'ObjectInstance', 'ObjectName', 'OperationsException', 'PersistentMBean', 'Query', 'QueryEval', 'QueryExp', 'ReflectionException', 'RuntimeErrorException', 'RuntimeMBeanException', 'RuntimeOperationsException', 'ServiceNotFoundException', 'StandardMBean', 'StringValueExp', 'ValueExp'
+ ),
+ 68 => array (
+ 'ClassLoaderRepository', 'MLet', 'MLetMBean', 'PrivateClassLoader', 'PrivateMLet'
+ ),
+ 69 => array (
+ 'DescriptorSupport', 'InvalidTargetObjectTypeException', 'ModelMBean', 'ModelMBeanAttributeInfo', 'ModelMBeanConstructorInfo', 'ModelMBeanInfo', 'ModelMBeanInfoSupport', 'ModelMBeanNotificationBroadcaster', 'ModelMBeanNotificationInfo', 'ModelMBeanOperationInfo', 'RequiredModelMBean', 'XMLParseException'
+ ),
+ 70 => array (
+ 'CounterMonitor', 'CounterMonitorMBean', 'GaugeMonitor', 'GaugeMonitorMBean', 'Monitor', 'MonitorMBean', 'MonitorNotification', 'MonitorSettingException', 'StringMonitor', 'StringMonitorMBean'
+ ),
+ 71 => array (
+ 'ArrayType', 'CompositeData', 'CompositeDataSupport', 'CompositeType', 'InvalidOpenTypeException', 'KeyAlreadyExistsException', 'OpenDataException', 'OpenMBeanAttributeInfo', 'OpenMBeanAttributeInfoSupport', 'OpenMBeanConstructorInfo', 'OpenMBeanConstructorInfoSupport', 'OpenMBeanInfo', 'OpenMBeanInfoSupport', 'OpenMBeanOperationInfo', 'OpenMBeanOperationInfoSupport', 'OpenMBeanParameterInfo', 'OpenMBeanParameterInfoSupport', 'SimpleType', 'TabularData', 'TabularDataSupport', 'TabularType'
+ ),
+ 72 => array (
+ 'InvalidRelationIdException', 'InvalidRelationServiceException', 'InvalidRelationTypeException', 'InvalidRoleInfoException', 'InvalidRoleValueException', 'MBeanServerNotificationFilter', 'Relation', 'RelationException', 'RelationNotFoundException', 'RelationNotification', 'RelationService', 'RelationServiceMBean', 'RelationServiceNotRegisteredException', 'RelationSupport', 'RelationSupportMBean', 'RelationType', 'RelationTypeNotFoundException', 'RelationTypeSupport', 'Role', 'RoleInfo', 'RoleInfoNotFoundException', 'RoleList', 'RoleNotFoundException', 'RoleResult', 'RoleStatus', 'RoleUnresolved', 'RoleUnresolvedList'
+ ),
+ 73 => array (
+ 'JMXAuthenticator', 'JMXConnectionNotification', 'JMXConnector', 'JMXConnectorFactory', 'JMXConnectorProvider', 'JMXConnectorServer', 'JMXConnectorServerFactory', 'JMXConnectorServerMBean', 'JMXConnectorServerProvider', 'JMXPrincipal', 'JMXProviderException', 'JMXServerErrorException', 'JMXServiceURL', 'MBeanServerForwarder', 'NotificationResult', 'SubjectDelegationPermission', 'TargetedNotification'
+ ),
+ 74 => array (
+ 'RMIConnection', 'RMIConnectionImpl', 'RMIConnectionImpl_Stub', 'RMIConnector', 'RMIConnectorServer', 'RMIIIOPServerImpl', 'RMIJRMPServerImpl', 'RMIServer', 'RMIServerImpl', 'RMIServerImpl_Stub'
+ ),
+ 75 => array (
+ 'TimerAlarmClockNotification', 'TimerMBean', 'TimerNotification'
+ ),
+ 76 => array (
+ 'AuthenticationNotSupportedException', 'BinaryRefAddr', 'CannotProceedException', 'CommunicationException', 'CompositeName', 'CompoundName', 'ConfigurationException', 'ContextNotEmptyException', 'InitialContext', 'InsufficientResourcesException', 'InterruptedNamingException', 'InvalidNameException', 'LimitExceededException', 'LinkException', 'LinkLoopException', 'LinkRef', 'MalformedLinkException', 'Name', 'NameAlreadyBoundException', 'NameClassPair', 'NameNotFoundException', 'NameParser', 'NamingEnumeration', 'NamingException', 'NamingSecurityException', 'NoInitialContextException', 'NoPermissionException', 'NotContextException', 'OperationNotSupportedException', 'PartialResultException', 'RefAddr', 'Referenceable', 'ReferralException', 'ServiceUnavailableException', 'SizeLimitExceededException', 'StringRefAddr', 'TimeLimitExceededException'
+ ),
+ 77 => array (
+ 'AttributeInUseException', 'AttributeModificationException', 'BasicAttribute', 'BasicAttributes', 'DirContext', 'InitialDirContext', 'InvalidAttributeIdentifierException', 'InvalidAttributesException', 'InvalidSearchControlsException', 'InvalidSearchFilterException', 'ModificationItem', 'NoSuchAttributeException', 'SchemaViolationException', 'SearchControls', 'SearchResult'
+ ),
+ 78 => array (
+ 'EventContext', 'EventDirContext', 'NamespaceChangeListener', 'NamingEvent', 'NamingExceptionEvent', 'NamingListener', 'ObjectChangeListener'
+ ),
+ 79 => array (
+ 'BasicControl', 'ControlFactory', 'ExtendedRequest', 'ExtendedResponse', 'HasControls', 'InitialLdapContext', 'LdapContext', 'LdapName', 'LdapReferralException', 'ManageReferralControl', 'PagedResultsControl', 'PagedResultsResponseControl', 'Rdn', 'SortControl', 'SortKey', 'SortResponseControl', 'StartTlsRequest', 'StartTlsResponse', 'UnsolicitedNotification', 'UnsolicitedNotificationEvent', 'UnsolicitedNotificationListener'
+ ),
+ 80 => array (
+ 'DirObjectFactory', 'DirStateFactory', 'DirStateFactory.Result', 'DirectoryManager', 'InitialContextFactory', 'InitialContextFactoryBuilder', 'NamingManager', 'ObjectFactory', 'ObjectFactoryBuilder', 'ResolveResult', 'Resolver', 'StateFactory'
+ ),
+ 81 => array (
+ 'ServerSocketFactory', 'SocketFactory'
+ ),
+ 82 => array (
+ 'CertPathTrustManagerParameters', 'HandshakeCompletedEvent', 'HandshakeCompletedListener', 'HostnameVerifier', 'HttpsURLConnection', 'KeyManager', 'KeyManagerFactory', 'KeyManagerFactorySpi', 'KeyStoreBuilderParameters', 'ManagerFactoryParameters', 'SSLContext', 'SSLContextSpi', 'SSLEngine', 'SSLEngineResult', 'SSLEngineResult.HandshakeStatus', 'SSLEngineResult.Status', 'SSLException', 'SSLHandshakeException', 'SSLKeyException', 'SSLPeerUnverifiedException', 'SSLPermission', 'SSLProtocolException', 'SSLServerSocket', 'SSLServerSocketFactory', 'SSLSession', 'SSLSessionBindingEvent', 'SSLSessionBindingListener', 'SSLSessionContext', 'SSLSocket', 'SSLSocketFactory', 'TrustManager', 'TrustManagerFactory', 'TrustManagerFactorySpi', 'X509ExtendedKeyManager', 'X509KeyManager', 'X509TrustManager'
+ ),
+ 83 => array (
+ 'AttributeException', 'CancelablePrintJob', 'Doc', 'DocFlavor', 'DocFlavor.BYTE_ARRAY', 'DocFlavor.CHAR_ARRAY', 'DocFlavor.INPUT_STREAM', 'DocFlavor.READER', 'DocFlavor.SERVICE_FORMATTED', 'DocFlavor.STRING', 'DocFlavor.URL', 'DocPrintJob', 'FlavorException', 'MultiDoc', 'MultiDocPrintJob', 'MultiDocPrintService', 'PrintException', 'PrintService', 'PrintServiceLookup', 'ServiceUI', 'ServiceUIFactory', 'SimpleDoc', 'StreamPrintService', 'StreamPrintServiceFactory', 'URIException'
+ ),
+ 84 => array (
+ 'AttributeSetUtilities', 'DateTimeSyntax', 'DocAttribute', 'DocAttributeSet', 'EnumSyntax', 'HashAttributeSet', 'HashDocAttributeSet', 'HashPrintJobAttributeSet', 'HashPrintRequestAttributeSet', 'HashPrintServiceAttributeSet', 'IntegerSyntax', 'PrintJobAttribute', 'PrintJobAttributeSet', 'PrintRequestAttribute', 'PrintRequestAttributeSet', 'PrintServiceAttribute', 'PrintServiceAttributeSet', 'ResolutionSyntax', 'SetOfIntegerSyntax', 'Size2DSyntax', 'SupportedValuesAttribute', 'TextSyntax', 'URISyntax', 'UnmodifiableSetException'
+ ),
+ 85 => array (
+ 'Chromaticity', 'ColorSupported', 'Compression', 'Copies', 'CopiesSupported', 'DateTimeAtCompleted', 'DateTimeAtCreation', 'DateTimeAtProcessing', 'Destination', 'DocumentName', 'Fidelity', 'Finishings', 'JobHoldUntil', 'JobImpressions', 'JobImpressionsCompleted', 'JobImpressionsSupported', 'JobKOctets', 'JobKOctetsProcessed', 'JobKOctetsSupported', 'JobMediaSheets', 'JobMediaSheetsCompleted', 'JobMediaSheetsSupported', 'JobMessageFromOperator', 'JobName', 'JobOriginatingUserName', 'JobPriority', 'JobPrioritySupported', 'JobSheets', 'JobState', 'JobStateReason', 'JobStateReasons', 'Media', 'MediaName', 'MediaPrintableArea', 'MediaSize', 'MediaSize.Engineering', 'MediaSize.ISO', 'MediaSize.JIS', 'MediaSize.NA', 'MediaSize.Other', 'MediaSizeName', 'MediaTray', 'MultipleDocumentHandling', 'NumberOfDocuments', 'NumberOfInterveningJobs', 'NumberUp', 'NumberUpSupported', 'OrientationRequested', 'OutputDeviceAssigned', 'PDLOverrideSupported', 'PageRanges', 'PagesPerMinute', 'PagesPerMinuteColor',
+ 'PresentationDirection', 'PrintQuality', 'PrinterInfo', 'PrinterIsAcceptingJobs', 'PrinterLocation', 'PrinterMakeAndModel', 'PrinterMessageFromOperator', 'PrinterMoreInfo', 'PrinterMoreInfoManufacturer', 'PrinterName', 'PrinterResolution', 'PrinterState', 'PrinterStateReason', 'PrinterStateReasons', 'PrinterURI', 'QueuedJobCount', 'ReferenceUriSchemesSupported', 'RequestingUserName', 'Severity', 'SheetCollate', 'Sides'
+ ),
+ 86 => array (
+ 'PrintEvent', 'PrintJobAdapter', 'PrintJobAttributeEvent', 'PrintJobAttributeListener', 'PrintJobEvent', 'PrintJobListener', 'PrintServiceAttributeEvent', 'PrintServiceAttributeListener'
+ ),
+ 87 => array (
+ 'PortableRemoteObject'
+ ),
+ 88 => array (
+ 'ClassDesc', 'PortableRemoteObjectDelegate', 'Stub', 'StubDelegate', 'Tie', 'Util', 'UtilDelegate', 'ValueHandler', 'ValueHandlerMultiFormat'
+ ),
+ 89 => array (
+ 'SslRMIClientSocketFactory', 'SslRMIServerSocketFactory'
+ ),
+ 90 => array (
+ 'AuthPermission', 'DestroyFailedException', 'Destroyable', 'PrivateCredentialPermission', 'RefreshFailedException', 'Refreshable', 'Subject', 'SubjectDomainCombiner'
+ ),
+ 91 => array (
+ 'Callback', 'CallbackHandler', 'ChoiceCallback', 'ConfirmationCallback', 'LanguageCallback', 'NameCallback', 'PasswordCallback', 'TextInputCallback', 'TextOutputCallback', 'UnsupportedCallbackException'
+ ),
+ 92 => array (
+ 'DelegationPermission', 'KerberosKey', 'KerberosPrincipal', 'KerberosTicket', 'ServicePermission'
+ ),
+ 93 => array (
+ 'AccountException', 'AccountExpiredException', 'AccountLockedException', 'AccountNotFoundException', 'AppConfigurationEntry', 'AppConfigurationEntry.LoginModuleControlFlag', 'Configuration', 'CredentialException', 'CredentialExpiredException', 'CredentialNotFoundException', 'FailedLoginException', 'LoginContext', 'LoginException'
+ ),
+ 94 => array (
+ 'LoginModule'
+ ),
+ 95 => array (
+ 'X500Principal', 'X500PrivateCredential'
+ ),
+ 96 => array (
+ 'AuthorizeCallback', 'RealmCallback', 'RealmChoiceCallback', 'Sasl', 'SaslClient', 'SaslClientFactory', 'SaslException', 'SaslServer', 'SaslServerFactory'
+ ),
+ 97 => array (
+ 'ControllerEventListener', 'Instrument', 'InvalidMidiDataException', 'MetaEventListener', 'MetaMessage', 'MidiChannel', 'MidiDevice', 'MidiDevice.Info', 'MidiEvent', 'MidiFileFormat', 'MidiMessage', 'MidiSystem', 'MidiUnavailableException', 'Patch', 'Receiver', 'Sequence', 'Sequencer', 'Sequencer.SyncMode', 'ShortMessage', 'Soundbank', 'SoundbankResource', 'Synthesizer', 'SysexMessage', 'Track', 'Transmitter', 'VoiceStatus'
+ ),
+ 98 => array (
+ 'MidiDeviceProvider', 'MidiFileReader', 'MidiFileWriter', 'SoundbankReader'
+ ),
+ 99 => array (
+ 'AudioFileFormat', 'AudioFileFormat.Type', 'AudioFormat', 'AudioFormat.Encoding', 'AudioInputStream', 'AudioPermission', 'AudioSystem', 'BooleanControl', 'BooleanControl.Type', 'Clip', 'CompoundControl', 'CompoundControl.Type', 'Control.Type', 'DataLine', 'DataLine.Info', 'EnumControl', 'EnumControl.Type', 'FloatControl', 'FloatControl.Type', 'Line', 'Line.Info', 'LineEvent', 'LineEvent.Type', 'LineListener', 'LineUnavailableException', 'Mixer', 'Mixer.Info', 'Port', 'Port.Info', 'ReverbType', 'SourceDataLine', 'TargetDataLine', 'UnsupportedAudioFileException'
+ ),
+ 100 => array (
+ 'AudioFileReader', 'AudioFileWriter', 'FormatConversionProvider', 'MixerProvider'
+ ),
+ 101 => array (
+ 'ConnectionEvent', 'ConnectionEventListener', 'ConnectionPoolDataSource', 'DataSource', 'PooledConnection', 'RowSet', 'RowSetEvent', 'RowSetInternal', 'RowSetListener', 'RowSetMetaData', 'RowSetReader', 'RowSetWriter', 'XAConnection', 'XADataSource'
+ ),
+ 102 => array (
+ 'BaseRowSet', 'CachedRowSet', 'FilteredRowSet', 'JdbcRowSet', 'JoinRowSet', 'Joinable', 'Predicate', 'RowSetMetaDataImpl', 'RowSetWarning', 'WebRowSet'
+ ),
+ 103 => array (
+ 'SQLInputImpl', 'SQLOutputImpl', 'SerialArray', 'SerialBlob', 'SerialClob', 'SerialDatalink', 'SerialException', 'SerialJavaObject', 'SerialRef', 'SerialStruct'
+ ),
+ 104 => array (
+ 'SyncFactory', 'SyncFactoryException', 'SyncProvider', 'SyncProviderException', 'SyncResolver', 'TransactionalWriter', 'XmlReader', 'XmlWriter'
+ ),
+ 105 => array (
+ 'AbstractAction', 'AbstractButton', 'AbstractCellEditor', 'AbstractListModel', 'AbstractSpinnerModel', 'Action', 'ActionMap', 'BorderFactory', 'BoundedRangeModel', 'Box', 'Box.Filler', 'BoxLayout', 'ButtonGroup', 'ButtonModel', 'CellEditor', 'CellRendererPane', 'ComboBoxEditor', 'ComboBoxModel', 'ComponentInputMap', 'DebugGraphics', 'DefaultBoundedRangeModel', 'DefaultButtonModel', 'DefaultCellEditor', 'DefaultComboBoxModel', 'DefaultDesktopManager', 'DefaultFocusManager', 'DefaultListCellRenderer', 'DefaultListCellRenderer.UIResource', 'DefaultListModel', 'DefaultListSelectionModel', 'DefaultSingleSelectionModel', 'DesktopManager', 'FocusManager', 'GrayFilter', 'Icon', 'ImageIcon', 'InputMap', 'InputVerifier', 'InternalFrameFocusTraversalPolicy', 'JApplet', 'JButton', 'JCheckBox', 'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox', 'JComboBox.KeySelectionManager', 'JComponent', 'JDesktopPane', 'JDialog', 'JEditorPane', 'JFileChooser', 'JFormattedTextField', 'JFormattedTextField.AbstractFormatter',
+ 'JFormattedTextField.AbstractFormatterFactory', 'JFrame', 'JInternalFrame', 'JInternalFrame.JDesktopIcon', 'JLabel', 'JLayeredPane', 'JList', 'JMenu', 'JMenuBar', 'JMenuItem', 'JOptionPane', 'JPanel', 'JPasswordField', 'JPopupMenu', 'JPopupMenu.Separator', 'JProgressBar', 'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane', 'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider', 'JSpinner', 'JSpinner.DateEditor', 'JSpinner.DefaultEditor', 'JSpinner.ListEditor', 'JSpinner.NumberEditor', 'JSplitPane', 'JTabbedPane', 'JTable', 'JTable.PrintMode', 'JTextArea', 'JTextField', 'JTextPane', 'JToggleButton', 'JToggleButton.ToggleButtonModel', 'JToolBar', 'JToolBar.Separator', 'JToolTip', 'JTree', 'JTree.DynamicUtilTreeNode', 'JTree.EmptySelectionModel', 'JViewport', 'JWindow', 'KeyStroke', 'LayoutFocusTraversalPolicy', 'ListCellRenderer', 'ListModel', 'ListSelectionModel', 'LookAndFeel', 'MenuElement', 'MenuSelectionManager', 'MutableComboBoxModel', 'OverlayLayout', 'Popup', 'PopupFactory', 'ProgressMonitor',
+ 'ProgressMonitorInputStream', 'Renderer', 'RepaintManager', 'RootPaneContainer', 'ScrollPaneConstants', 'ScrollPaneLayout', 'ScrollPaneLayout.UIResource', 'Scrollable', 'SingleSelectionModel', 'SizeRequirements', 'SizeSequence', 'SortingFocusTraversalPolicy', 'SpinnerDateModel', 'SpinnerListModel', 'SpinnerModel', 'SpinnerNumberModel', 'Spring', 'SpringLayout', 'SpringLayout.Constraints', 'SwingConstants', 'SwingUtilities', 'ToolTipManager', 'TransferHandler', 'UIDefaults', 'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap', 'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue', 'UIManager', 'UIManager.LookAndFeelInfo', 'UnsupportedLookAndFeelException', 'ViewportLayout', 'WindowConstants'
+ ),
+ 106 => array (
+ 'AbstractBorder', 'BevelBorder', 'Border', 'CompoundBorder', 'EmptyBorder', 'EtchedBorder', 'LineBorder', 'MatteBorder', 'SoftBevelBorder', 'TitledBorder'
+ ),
+ 107 => array (
+ 'AbstractColorChooserPanel', 'ColorChooserComponentFactory', 'ColorSelectionModel', 'DefaultColorSelectionModel'
+ ),
+ 108 => array (
+ 'AncestorEvent', 'AncestorListener', 'CaretEvent', 'CaretListener', 'CellEditorListener', 'ChangeEvent', 'ChangeListener', 'DocumentEvent.ElementChange', 'DocumentEvent.EventType', 'DocumentListener', 'EventListenerList', 'HyperlinkEvent', 'HyperlinkEvent.EventType', 'HyperlinkListener', 'InternalFrameAdapter', 'InternalFrameEvent', 'InternalFrameListener', 'ListDataEvent', 'ListDataListener', 'ListSelectionEvent', 'ListSelectionListener', 'MenuDragMouseEvent', 'MenuDragMouseListener', 'MenuEvent', 'MenuKeyEvent', 'MenuKeyListener', 'MenuListener', 'MouseInputAdapter', 'MouseInputListener', 'PopupMenuEvent', 'PopupMenuListener', 'SwingPropertyChangeSupport', 'TableColumnModelEvent', 'TableColumnModelListener', 'TableModelEvent', 'TableModelListener', 'TreeExpansionEvent', 'TreeExpansionListener', 'TreeModelEvent', 'TreeModelListener', 'TreeSelectionEvent', 'TreeSelectionListener', 'TreeWillExpandListener', 'UndoableEditEvent', 'UndoableEditListener'
+ ),
+ 109 => array (
+ 'FileSystemView', 'FileView'
+ ),
+ 110 => array (
+ 'ActionMapUIResource', 'BorderUIResource', 'BorderUIResource.BevelBorderUIResource', 'BorderUIResource.CompoundBorderUIResource', 'BorderUIResource.EmptyBorderUIResource', 'BorderUIResource.EtchedBorderUIResource', 'BorderUIResource.LineBorderUIResource', 'BorderUIResource.MatteBorderUIResource', 'BorderUIResource.TitledBorderUIResource', 'ButtonUI', 'ColorChooserUI', 'ColorUIResource', 'ComboBoxUI', 'ComponentInputMapUIResource', 'ComponentUI', 'DesktopIconUI', 'DesktopPaneUI', 'DimensionUIResource', 'FileChooserUI', 'FontUIResource', 'IconUIResource', 'InputMapUIResource', 'InsetsUIResource', 'InternalFrameUI', 'LabelUI', 'ListUI', 'MenuBarUI', 'MenuItemUI', 'OptionPaneUI', 'PanelUI', 'PopupMenuUI', 'ProgressBarUI', 'RootPaneUI', 'ScrollBarUI', 'ScrollPaneUI', 'SeparatorUI', 'SliderUI', 'SpinnerUI', 'SplitPaneUI', 'TabbedPaneUI', 'TableHeaderUI', 'TableUI', 'TextUI', 'ToolBarUI', 'ToolTipUI', 'TreeUI', 'UIResource', 'ViewportUI'
+ ),
+ 111 => array (
+ 'BasicArrowButton', 'BasicBorders', 'BasicBorders.ButtonBorder', 'BasicBorders.FieldBorder', 'BasicBorders.MarginBorder', 'BasicBorders.MenuBarBorder', 'BasicBorders.RadioButtonBorder', 'BasicBorders.RolloverButtonBorder', 'BasicBorders.SplitPaneBorder', 'BasicBorders.ToggleButtonBorder', 'BasicButtonListener', 'BasicButtonUI', 'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI', 'BasicColorChooserUI', 'BasicComboBoxEditor', 'BasicComboBoxEditor.UIResource', 'BasicComboBoxRenderer', 'BasicComboBoxRenderer.UIResource', 'BasicComboBoxUI', 'BasicComboPopup', 'BasicDesktopIconUI', 'BasicDesktopPaneUI', 'BasicDirectoryModel', 'BasicEditorPaneUI', 'BasicFileChooserUI', 'BasicFormattedTextFieldUI', 'BasicGraphicsUtils', 'BasicHTML', 'BasicIconFactory', 'BasicInternalFrameTitlePane', 'BasicInternalFrameUI', 'BasicLabelUI', 'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI', 'BasicMenuItemUI', 'BasicMenuUI', 'BasicOptionPaneUI', 'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI', 'BasicPasswordFieldUI',
+ 'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI', 'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI', 'BasicRadioButtonUI', 'BasicRootPaneUI', 'BasicScrollBarUI', 'BasicScrollPaneUI', 'BasicSeparatorUI', 'BasicSliderUI', 'BasicSpinnerUI', 'BasicSplitPaneDivider', 'BasicSplitPaneUI', 'BasicTabbedPaneUI', 'BasicTableHeaderUI', 'BasicTableUI', 'BasicTextAreaUI', 'BasicTextFieldUI', 'BasicTextPaneUI', 'BasicTextUI', 'BasicTextUI.BasicCaret', 'BasicTextUI.BasicHighlighter', 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI', 'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI', 'BasicViewportUI', 'ComboPopup', 'DefaultMenuLayout'
+ ),
+ 112 => array (
+ 'DefaultMetalTheme', 'MetalBorders', 'MetalBorders.ButtonBorder', 'MetalBorders.Flush3DBorder', 'MetalBorders.InternalFrameBorder', 'MetalBorders.MenuBarBorder', 'MetalBorders.MenuItemBorder', 'MetalBorders.OptionDialogBorder', 'MetalBorders.PaletteBorder', 'MetalBorders.PopupMenuBorder', 'MetalBorders.RolloverButtonBorder', 'MetalBorders.ScrollPaneBorder', 'MetalBorders.TableHeaderBorder', 'MetalBorders.TextFieldBorder', 'MetalBorders.ToggleButtonBorder', 'MetalBorders.ToolBarBorder', 'MetalButtonUI', 'MetalCheckBoxIcon', 'MetalCheckBoxUI', 'MetalComboBoxButton', 'MetalComboBoxEditor', 'MetalComboBoxEditor.UIResource', 'MetalComboBoxIcon', 'MetalComboBoxUI', 'MetalDesktopIconUI', 'MetalFileChooserUI', 'MetalIconFactory', 'MetalIconFactory.FileIcon16', 'MetalIconFactory.FolderIcon16', 'MetalIconFactory.PaletteCloseIcon', 'MetalIconFactory.TreeControlIcon', 'MetalIconFactory.TreeFolderIcon', 'MetalIconFactory.TreeLeafIcon', 'MetalInternalFrameTitlePane', 'MetalInternalFrameUI', 'MetalLabelUI',
+ 'MetalLookAndFeel', 'MetalMenuBarUI', 'MetalPopupMenuSeparatorUI', 'MetalProgressBarUI', 'MetalRadioButtonUI', 'MetalRootPaneUI', 'MetalScrollBarUI', 'MetalScrollButton', 'MetalScrollPaneUI', 'MetalSeparatorUI', 'MetalSliderUI', 'MetalSplitPaneUI', 'MetalTabbedPaneUI', 'MetalTextFieldUI', 'MetalTheme', 'MetalToggleButtonUI', 'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI', 'OceanTheme'
+ ),
+ 113 => array (
+ 'MultiButtonUI', 'MultiColorChooserUI', 'MultiComboBoxUI', 'MultiDesktopIconUI', 'MultiDesktopPaneUI', 'MultiFileChooserUI', 'MultiInternalFrameUI', 'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel', 'MultiMenuBarUI', 'MultiMenuItemUI', 'MultiOptionPaneUI', 'MultiPanelUI', 'MultiPopupMenuUI', 'MultiProgressBarUI', 'MultiRootPaneUI', 'MultiScrollBarUI', 'MultiScrollPaneUI', 'MultiSeparatorUI', 'MultiSliderUI', 'MultiSpinnerUI', 'MultiSplitPaneUI', 'MultiTabbedPaneUI', 'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI', 'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI', 'MultiViewportUI'
+ ),
+ 114 => array (
+ 'ColorType', 'Region', 'SynthConstants', 'SynthContext', 'SynthGraphicsUtils', 'SynthLookAndFeel', 'SynthPainter', 'SynthStyle', 'SynthStyleFactory'
+ ),
+ 115 => array (
+ 'AbstractTableModel', 'DefaultTableCellRenderer', 'DefaultTableCellRenderer.UIResource', 'DefaultTableColumnModel', 'DefaultTableModel', 'JTableHeader', 'TableCellEditor', 'TableCellRenderer', 'TableColumn', 'TableColumnModel', 'TableModel'
+ ),
+ 116 => array (
+ 'AbstractDocument', 'AbstractDocument.AttributeContext', 'AbstractDocument.Content', 'AbstractDocument.ElementEdit', 'AbstractWriter', 'AsyncBoxView', 'AttributeSet.CharacterAttribute', 'AttributeSet.ColorAttribute', 'AttributeSet.FontAttribute', 'AttributeSet.ParagraphAttribute', 'BadLocationException', 'BoxView', 'Caret', 'ChangedCharSetException', 'ComponentView', 'CompositeView', 'DateFormatter', 'DefaultCaret', 'DefaultEditorKit', 'DefaultEditorKit.BeepAction', 'DefaultEditorKit.CopyAction', 'DefaultEditorKit.CutAction', 'DefaultEditorKit.DefaultKeyTypedAction', 'DefaultEditorKit.InsertBreakAction', 'DefaultEditorKit.InsertContentAction', 'DefaultEditorKit.InsertTabAction', 'DefaultEditorKit.PasteAction', 'DefaultFormatter', 'DefaultFormatterFactory', 'DefaultHighlighter', 'DefaultHighlighter.DefaultHighlightPainter', 'DefaultStyledDocument', 'DefaultStyledDocument.AttributeUndoableEdit', 'DefaultStyledDocument.ElementSpec', 'DefaultTextUI', 'DocumentFilter', 'DocumentFilter.FilterBypass',
+ 'EditorKit', 'ElementIterator', 'FieldView', 'FlowView', 'FlowView.FlowStrategy', 'GapContent', 'GlyphView', 'GlyphView.GlyphPainter', 'Highlighter', 'Highlighter.Highlight', 'Highlighter.HighlightPainter', 'IconView', 'InternationalFormatter', 'JTextComponent', 'JTextComponent.KeyBinding', 'Keymap', 'LabelView', 'LayeredHighlighter', 'LayeredHighlighter.LayerPainter', 'LayoutQueue', 'MaskFormatter', 'MutableAttributeSet', 'NavigationFilter', 'NavigationFilter.FilterBypass', 'NumberFormatter', 'PasswordView', 'PlainDocument', 'PlainView', 'Position', 'Position.Bias', 'Segment', 'SimpleAttributeSet', 'StringContent', 'Style', 'StyleConstants', 'StyleConstants.CharacterConstants', 'StyleConstants.ColorConstants', 'StyleConstants.FontConstants', 'StyleConstants.ParagraphConstants', 'StyleContext', 'StyledDocument', 'StyledEditorKit', 'StyledEditorKit.AlignmentAction', 'StyledEditorKit.BoldAction', 'StyledEditorKit.FontFamilyAction', 'StyledEditorKit.FontSizeAction', 'StyledEditorKit.ForegroundAction',
+ 'StyledEditorKit.ItalicAction', 'StyledEditorKit.StyledTextAction', 'StyledEditorKit.UnderlineAction', 'TabExpander', 'TabSet', 'TabStop', 'TabableView', 'TableView', 'TextAction', 'Utilities', 'View', 'ViewFactory', 'WrappedPlainView', 'ZoneView'
+ ),
+ 117 => array (
+ 'BlockView', 'CSS', 'CSS.Attribute', 'FormSubmitEvent', 'FormSubmitEvent.MethodType', 'FormView', 'HTML', 'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag', 'HTMLDocument', 'HTMLDocument.Iterator', 'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory', 'HTMLEditorKit.HTMLTextAction', 'HTMLEditorKit.InsertHTMLTextAction', 'HTMLEditorKit.LinkController', 'HTMLEditorKit.Parser', 'HTMLEditorKit.ParserCallback', 'HTMLFrameHyperlinkEvent', 'HTMLWriter', 'ImageView', 'InlineView', 'ListView', 'MinimalHTMLWriter', 'ObjectView', 'Option', 'StyleSheet', 'StyleSheet.BoxPainter', 'StyleSheet.ListPainter'
+ ),
+ 118 => array (
+ 'ContentModel', 'DTD', 'DTDConstants', 'DocumentParser', 'ParserDelegator', 'TagElement'
+ ),
+ 119 => array (
+ 'RTFEditorKit'
+ ),
+ 120 => array (
+ 'AbstractLayoutCache', 'AbstractLayoutCache.NodeDimensions', 'DefaultMutableTreeNode', 'DefaultTreeCellEditor', 'DefaultTreeCellRenderer', 'DefaultTreeModel', 'DefaultTreeSelectionModel', 'ExpandVetoException', 'FixedHeightLayoutCache', 'MutableTreeNode', 'RowMapper', 'TreeCellEditor', 'TreeCellRenderer', 'TreeModel', 'TreeNode', 'TreePath', 'TreeSelectionModel', 'VariableHeightLayoutCache'
+ ),
+ 121 => array (
+ 'AbstractUndoableEdit', 'CannotRedoException', 'CannotUndoException', 'CompoundEdit', 'StateEdit', 'StateEditable', 'UndoManager', 'UndoableEdit', 'UndoableEditSupport'
+ ),
+ 122 => array (
+ 'InvalidTransactionException', 'TransactionRequiredException', 'TransactionRolledbackException'
+ ),
+ 123 => array (
+ 'XAException', 'XAResource', 'Xid'
+ ),
+ 124 => array (
+ 'XMLConstants'
+ ),
+ 125 => array (
+ 'DatatypeConfigurationException', 'DatatypeConstants', 'DatatypeConstants.Field', 'DatatypeFactory', 'Duration', 'XMLGregorianCalendar'
+ ),
+ 126 => array (
+ 'NamespaceContext', 'QName'
+ ),
+ 127 => array (
+ 'DocumentBuilder', 'DocumentBuilderFactory', 'FactoryConfigurationError', 'ParserConfigurationException', 'SAXParser', 'SAXParserFactory'
+ ),
+ 128 => array (
+ 'ErrorListener', 'OutputKeys', 'Result', 'Source', 'SourceLocator', 'Templates', 'Transformer', 'TransformerConfigurationException', 'TransformerException', 'TransformerFactory', 'TransformerFactoryConfigurationError', 'URIResolver'
+ ),
+ 129 => array (
+ 'DOMResult', 'DOMSource'
+ ),
+ 130 => array (
+ 'SAXResult', 'SAXSource', 'SAXTransformerFactory', 'TemplatesHandler', 'TransformerHandler'
+ ),
+ 131 => array (
+ 'StreamResult', 'StreamSource'
+ ),
+ 132 => array (
+ 'Schema', 'SchemaFactory', 'SchemaFactoryLoader', 'TypeInfoProvider', 'Validator', 'ValidatorHandler'
+ ),
+ 133 => array (
+ 'XPath', 'XPathConstants', 'XPathException', 'XPathExpression', 'XPathExpressionException', 'XPathFactory', 'XPathFactoryConfigurationException', 'XPathFunction', 'XPathFunctionException', 'XPathFunctionResolver', 'XPathVariableResolver'
+ ),
+ 134 => array (
+ 'ChannelBinding', 'GSSContext', 'GSSCredential', 'GSSException', 'GSSManager', 'GSSName', 'MessageProp', 'Oid'
+ ),
+ 135 => array (
+ 'ACTIVITY_COMPLETED', 'ACTIVITY_REQUIRED', 'ARG_IN', 'ARG_INOUT', 'ARG_OUT', 'Any', 'AnyHolder', 'AnySeqHolder', 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION', 'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE', 'BAD_POLICY_VALUE', 'BAD_QOS', 'BAD_TYPECODE', 'BooleanHolder', 'BooleanSeqHelper', 'BooleanSeqHolder', 'ByteHolder', 'CODESET_INCOMPATIBLE', 'COMM_FAILURE', 'CTX_RESTRICT_SCOPE', 'CharHolder', 'CharSeqHelper', 'CharSeqHolder', 'CompletionStatus', 'CompletionStatusHelper', 'ContextList', 'CurrentHolder', 'CustomMarshal', 'DATA_CONVERSION', 'DefinitionKind', 'DefinitionKindHelper', 'DomainManager', 'DomainManagerOperations', 'DoubleHolder', 'DoubleSeqHelper', 'DoubleSeqHolder', 'Environment', 'ExceptionList', 'FREE_MEM', 'FixedHolder', 'FloatHolder', 'FloatSeqHelper', 'FloatSeqHolder', 'IDLType', 'IDLTypeHelper', 'IDLTypeOperations', 'IMP_LIMIT', 'INITIALIZE', 'INTERNAL', 'INTF_REPOS', 'INVALID_ACTIVITY', 'INVALID_TRANSACTION', 'INV_FLAG', 'INV_IDENT', 'INV_OBJREF', 'INV_POLICY', 'IRObject',
+ 'IRObjectOperations', 'IdentifierHelper', 'IntHolder', 'LocalObject', 'LongHolder', 'LongLongSeqHelper', 'LongLongSeqHolder', 'LongSeqHelper', 'LongSeqHolder', 'MARSHAL', 'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION', 'NO_RESOURCES', 'NO_RESPONSE', 'NVList', 'NamedValue', 'OBJECT_NOT_EXIST', 'OBJ_ADAPTER', 'OMGVMCID', 'ObjectHelper', 'ObjectHolder', 'OctetSeqHelper', 'OctetSeqHolder', 'PERSIST_STORE', 'PRIVATE_MEMBER', 'PUBLIC_MEMBER', 'ParameterMode', 'ParameterModeHelper', 'ParameterModeHolder', 'PolicyError', 'PolicyErrorCodeHelper', 'PolicyErrorHelper', 'PolicyErrorHolder', 'PolicyHelper', 'PolicyHolder', 'PolicyListHelper', 'PolicyListHolder', 'PolicyOperations', 'PolicyTypeHelper', 'PrincipalHolder', 'REBIND', 'RepositoryIdHelper', 'Request', 'ServerRequest', 'ServiceDetail', 'ServiceDetailHelper', 'ServiceInformation', 'ServiceInformationHelper', 'ServiceInformationHolder', 'SetOverrideType', 'SetOverrideTypeHelper', 'ShortHolder', 'ShortSeqHelper', 'ShortSeqHolder', 'StringHolder',
+ 'StringSeqHelper', 'StringSeqHolder', 'StringValueHelper', 'StructMember', 'StructMemberHelper', 'SystemException', 'TCKind', 'TIMEOUT', 'TRANSACTION_MODE', 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK', 'TRANSACTION_UNAVAILABLE', 'TRANSIENT', 'TypeCode', 'TypeCodeHolder', 'ULongLongSeqHelper', 'ULongLongSeqHolder', 'ULongSeqHelper', 'ULongSeqHolder', 'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE', 'UShortSeqHelper', 'UShortSeqHolder', 'UnionMember', 'UnionMemberHelper', 'UnknownUserException', 'UnknownUserExceptionHelper', 'UnknownUserExceptionHolder', 'UserException', 'VM_ABSTRACT', 'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE', 'ValueBaseHelper', 'ValueBaseHolder', 'ValueMember', 'ValueMemberHelper', 'VersionSpecHelper', 'VisibilityHelper', 'WCharSeqHelper', 'WCharSeqHolder', 'WStringSeqHelper', 'WStringSeqHolder', 'WStringValueHelper', 'WrongTransaction', 'WrongTransactionHelper', 'WrongTransactionHolder', '_IDLTypeStub', '_PolicyStub'
+ ),
+ 136 => array (
+ 'Invalid', 'InvalidSeq'
+ ),
+ 137 => array (
+ 'BadKind'
+ ),
+ 138 => array (
+ 'ApplicationException', 'BoxedValueHelper', 'CustomValue', 'IDLEntity', 'IndirectionException', 'InvokeHandler', 'RemarshalException', 'ResponseHandler', 'ServantObject', 'Streamable', 'StreamableValue', 'UnknownException', 'ValueBase', 'ValueFactory', 'ValueInputStream', 'ValueOutputStream'
+ ),
+ 139 => array (
+ 'BindingHelper', 'BindingHolder', 'BindingIterator', 'BindingIteratorHelper', 'BindingIteratorHolder', 'BindingIteratorOperations', 'BindingIteratorPOA', 'BindingListHelper', 'BindingListHolder', 'BindingType', 'BindingTypeHelper', 'BindingTypeHolder', 'IstringHelper', 'NameComponent', 'NameComponentHelper', 'NameComponentHolder', 'NameHelper', 'NameHolder', 'NamingContext', 'NamingContextExt', 'NamingContextExtHelper', 'NamingContextExtHolder', 'NamingContextExtOperations', 'NamingContextExtPOA', 'NamingContextHelper', 'NamingContextHolder', 'NamingContextOperations', 'NamingContextPOA', '_BindingIteratorImplBase', '_BindingIteratorStub', '_NamingContextExtStub', '_NamingContextImplBase', '_NamingContextStub'
+ ),
+ 140 => array (
+ 'AddressHelper', 'InvalidAddress', 'InvalidAddressHelper', 'InvalidAddressHolder', 'StringNameHelper', 'URLStringHelper'
+ ),
+ 141 => array (
+ 'AlreadyBound', 'AlreadyBoundHelper', 'AlreadyBoundHolder', 'CannotProceed', 'CannotProceedHelper', 'CannotProceedHolder', 'InvalidNameHolder', 'NotEmpty', 'NotEmptyHelper', 'NotEmptyHolder', 'NotFound', 'NotFoundHelper', 'NotFoundHolder', 'NotFoundReason', 'NotFoundReasonHelper', 'NotFoundReasonHolder'
+ ),
+ 142 => array (
+ 'Parameter'
+ ),
+ 143 => array (
+ 'DynAnyFactory', 'DynAnyFactoryHelper', 'DynAnyFactoryOperations', 'DynAnyHelper', 'DynAnyOperations', 'DynAnySeqHelper', 'DynArrayHelper', 'DynArrayOperations', 'DynEnumHelper', 'DynEnumOperations', 'DynFixedHelper', 'DynFixedOperations', 'DynSequenceHelper', 'DynSequenceOperations', 'DynStructHelper', 'DynStructOperations', 'DynUnionHelper', 'DynUnionOperations', 'DynValueBox', 'DynValueBoxOperations', 'DynValueCommon', 'DynValueCommonOperations', 'DynValueHelper', 'DynValueOperations', 'NameDynAnyPair', 'NameDynAnyPairHelper', 'NameDynAnyPairSeqHelper', 'NameValuePairSeqHelper', '_DynAnyFactoryStub', '_DynAnyStub', '_DynArrayStub', '_DynEnumStub', '_DynFixedStub', '_DynSequenceStub', '_DynStructStub', '_DynUnionStub', '_DynValueStub'
+ ),
+ 144 => array (
+ 'InconsistentTypeCodeHelper'
+ ),
+ 145 => array (
+ 'InvalidValueHelper'
+ ),
+ 146 => array (
+ 'CodeSets', 'Codec', 'CodecFactory', 'CodecFactoryHelper', 'CodecFactoryOperations', 'CodecOperations', 'ComponentIdHelper', 'ENCODING_CDR_ENCAPS', 'Encoding', 'ExceptionDetailMessage', 'IOR', 'IORHelper', 'IORHolder', 'MultipleComponentProfileHelper', 'MultipleComponentProfileHolder', 'ProfileIdHelper', 'RMICustomMaxStreamFormat', 'ServiceContext', 'ServiceContextHelper', 'ServiceContextHolder', 'ServiceContextListHelper', 'ServiceContextListHolder', 'ServiceIdHelper', 'TAG_ALTERNATE_IIOP_ADDRESS', 'TAG_CODE_SETS', 'TAG_INTERNET_IOP', 'TAG_JAVA_CODEBASE', 'TAG_MULTIPLE_COMPONENTS', 'TAG_ORB_TYPE', 'TAG_POLICIES', 'TAG_RMI_CUSTOM_MAX_STREAM_FORMAT', 'TaggedComponent', 'TaggedComponentHelper', 'TaggedComponentHolder', 'TaggedProfile', 'TaggedProfileHelper', 'TaggedProfileHolder', 'TransactionService'
+ ),
+ 147 => array (
+ 'UnknownEncoding', 'UnknownEncodingHelper'
+ ),
+ 148 => array (
+ 'FormatMismatch', 'FormatMismatchHelper', 'InvalidTypeForEncoding', 'InvalidTypeForEncodingHelper'
+ ),
+ 149 => array (
+ 'SYNC_WITH_TRANSPORT', 'SyncScopeHelper'
+ ),
+ 150 => array (
+ 'ACTIVE', 'AdapterManagerIdHelper', 'AdapterNameHelper', 'AdapterStateHelper', 'ClientRequestInfo', 'ClientRequestInfoOperations', 'ClientRequestInterceptor', 'ClientRequestInterceptorOperations', 'DISCARDING', 'HOLDING', 'INACTIVE', 'IORInfo', 'IORInfoOperations', 'IORInterceptor', 'IORInterceptorOperations', 'IORInterceptor_3_0', 'IORInterceptor_3_0Helper', 'IORInterceptor_3_0Holder', 'IORInterceptor_3_0Operations', 'Interceptor', 'InterceptorOperations', 'InvalidSlot', 'InvalidSlotHelper', 'LOCATION_FORWARD', 'NON_EXISTENT', 'ORBIdHelper', 'ORBInitInfo', 'ORBInitInfoOperations', 'ORBInitializer', 'ORBInitializerOperations', 'ObjectReferenceFactory', 'ObjectReferenceFactoryHelper', 'ObjectReferenceFactoryHolder', 'ObjectReferenceTemplate', 'ObjectReferenceTemplateHelper', 'ObjectReferenceTemplateHolder', 'ObjectReferenceTemplateSeqHelper', 'ObjectReferenceTemplateSeqHolder', 'PolicyFactory', 'PolicyFactoryOperations', 'RequestInfo', 'RequestInfoOperations', 'SUCCESSFUL', 'SYSTEM_EXCEPTION',
+ 'ServerIdHelper', 'ServerRequestInfo', 'ServerRequestInfoOperations', 'ServerRequestInterceptor', 'ServerRequestInterceptorOperations', 'TRANSPORT_RETRY', 'USER_EXCEPTION'
+ ),
+ 151 => array (
+ 'DuplicateName', 'DuplicateNameHelper'
+ ),
+ 152 => array (
+ 'AdapterActivator', 'AdapterActivatorOperations', 'ID_ASSIGNMENT_POLICY_ID', 'ID_UNIQUENESS_POLICY_ID', 'IMPLICIT_ACTIVATION_POLICY_ID', 'IdAssignmentPolicy', 'IdAssignmentPolicyOperations', 'IdAssignmentPolicyValue', 'IdUniquenessPolicy', 'IdUniquenessPolicyOperations', 'IdUniquenessPolicyValue', 'ImplicitActivationPolicy', 'ImplicitActivationPolicyOperations', 'ImplicitActivationPolicyValue', 'LIFESPAN_POLICY_ID', 'LifespanPolicy', 'LifespanPolicyOperations', 'LifespanPolicyValue', 'POA', 'POAHelper', 'POAManager', 'POAManagerOperations', 'POAOperations', 'REQUEST_PROCESSING_POLICY_ID', 'RequestProcessingPolicy', 'RequestProcessingPolicyOperations', 'RequestProcessingPolicyValue', 'SERVANT_RETENTION_POLICY_ID', 'Servant', 'ServantActivator', 'ServantActivatorHelper', 'ServantActivatorOperations', 'ServantActivatorPOA', 'ServantLocator', 'ServantLocatorHelper', 'ServantLocatorOperations', 'ServantLocatorPOA', 'ServantManager', 'ServantManagerOperations', 'ServantRetentionPolicy',
+ 'ServantRetentionPolicyOperations', 'ServantRetentionPolicyValue', 'THREAD_POLICY_ID', 'ThreadPolicy', 'ThreadPolicyOperations', 'ThreadPolicyValue', '_ServantActivatorStub', '_ServantLocatorStub'
+ ),
+ 153 => array (
+ 'NoContext', 'NoContextHelper'
+ ),
+ 154 => array (
+ 'AdapterInactive', 'AdapterInactiveHelper', 'State'
+ ),
+ 155 => array (
+ 'AdapterAlreadyExists', 'AdapterAlreadyExistsHelper', 'AdapterNonExistent', 'AdapterNonExistentHelper', 'InvalidPolicy', 'InvalidPolicyHelper', 'NoServant', 'NoServantHelper', 'ObjectAlreadyActive', 'ObjectAlreadyActiveHelper', 'ObjectNotActive', 'ObjectNotActiveHelper', 'ServantAlreadyActive', 'ServantAlreadyActiveHelper', 'ServantNotActive', 'ServantNotActiveHelper', 'WrongAdapter', 'WrongAdapterHelper', 'WrongPolicy', 'WrongPolicyHelper'
+ ),
+ 156 => array (
+ 'CookieHolder'
+ ),
+ 157 => array (
+ 'RunTime', 'RunTimeOperations'
+ ),
+ 158 => array (
+ '_Remote_Stub'
+ ),
+ 159 => array (
+ 'Attr', 'CDATASection', 'CharacterData', 'Comment', 'DOMConfiguration', 'DOMError', 'DOMErrorHandler', 'DOMException', 'DOMImplementation', 'DOMImplementationList', 'DOMImplementationSource', 'DOMStringList', 'DocumentFragment', 'DocumentType', 'EntityReference', 'NameList', 'NamedNodeMap', 'Node', 'NodeList', 'Notation', 'ProcessingInstruction', 'Text', 'TypeInfo', 'UserDataHandler'
+ ),
+ 160 => array (
+ 'DOMImplementationRegistry'
+ ),
+ 161 => array (
+ 'EventException', 'EventTarget', 'MutationEvent', 'UIEvent'
+ ),
+ 162 => array (
+ 'DOMImplementationLS', 'LSException', 'LSInput', 'LSLoadEvent', 'LSOutput', 'LSParser', 'LSParserFilter', 'LSProgressEvent', 'LSResourceResolver', 'LSSerializer', 'LSSerializerFilter'
+ ),
+ 163 => array (
+ 'DTDHandler', 'DocumentHandler', 'EntityResolver', 'ErrorHandler', 'HandlerBase', 'InputSource', 'Locator', 'SAXException', 'SAXNotRecognizedException', 'SAXNotSupportedException', 'SAXParseException', 'XMLFilter', 'XMLReader'
+ ),
+ 164 => array (
+ 'Attributes2', 'Attributes2Impl', 'DeclHandler', 'DefaultHandler2', 'EntityResolver2', 'LexicalHandler', 'Locator2', 'Locator2Impl'
+ ),
+ 165 => array (
+ 'AttributeListImpl', 'AttributesImpl', 'DefaultHandler', 'LocatorImpl', 'NamespaceSupport', 'ParserAdapter', 'ParserFactory', 'XMLFilterImpl', 'XMLReaderAdapter', 'XMLReaderFactory'
+ ),
+ /* ambiguous class names (appear in more than one package) */
+ 166 => array (
+ 'Annotation', 'AnySeqHelper', 'Array', 'Attribute', 'AttributeList', 'AttributeSet', 'Attributes', 'AuthenticationException', 'Binding', 'Bounds', 'Certificate', 'CertificateEncodingException', 'CertificateException', 'CertificateExpiredException', 'CertificateNotYetValidException', 'CertificateParsingException', 'ConnectException', 'ContentHandler', 'Context', 'Control', 'Current', 'CurrentHelper', 'CurrentOperations', 'DOMLocator', 'DataInputStream', 'DataOutputStream', 'Date', 'DefaultLoaderRepository', 'Delegate', 'Document', 'DocumentEvent', 'DynAny', 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence', 'DynStruct', 'DynUnion', 'DynValue', 'DynamicImplementation', 'Element', 'Entity', 'Event', 'EventListener', 'FieldNameHelper', 'FileFilter', 'Formatter', 'ForwardRequest', 'ForwardRequestHelper', 'InconsistentTypeCode', 'InputStream', 'IntrospectionException', 'InvalidAttributeValueException', 'InvalidKeyException', 'InvalidName', 'InvalidNameHelper', 'InvalidValue', 'List', 'MouseEvent',
+ 'NameValuePair', 'NameValuePairHelper', 'ORB', 'Object', 'ObjectIdHelper', 'ObjectImpl', 'OpenType', 'OutputStream', 'ParagraphView', 'Parser', 'Permission', 'Policy', 'Principal', 'Proxy', 'Reference', 'Statement', 'Timer', 'Timestamp', 'TypeMismatch', 'TypeMismatchHelper', 'UNKNOWN', 'UnknownHostException', 'X509Certificate'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ /* all Java keywords are case sensitive */
+ 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,
+ 30 => true, 31 => true, 32 => true, 33 => true, 34 => true,
+ 35 => true, 36 => true, 37 => true, 38 => true, 39 => true,
+ 40 => true, 41 => true, 42 => true, 43 => true, 44 => true,
+ 45 => true, 46 => true, 47 => true, 48 => true, 49 => true,
+ 50 => true, 51 => true, 52 => true, 53 => true, 54 => true,
+ 55 => true, 56 => true, 57 => true, 58 => true, 59 => true,
+ 60 => true, 61 => true, 62 => true, 63 => true, 64 => true,
+ 65 => true, 66 => true, 67 => true, 68 => true, 69 => true,
+ 70 => true, 71 => true, 72 => true, 73 => true, 74 => true,
+ 75 => true, 76 => true, 77 => true, 78 => true, 79 => true,
+ 80 => true, 81 => true, 82 => true, 83 => true, 84 => true,
+ 85 => true, 86 => true, 87 => true, 88 => true, 89 => true,
+ 90 => true, 91 => true, 92 => true, 93 => true, 94 => true,
+ 95 => true, 96 => true, 97 => true, 98 => true, 99 => true,
+ 100 => true, 101 => true, 102 => true, 103 => true, 104 => true,
+ 105 => true, 106 => true, 107 => true, 108 => true, 109 => true,
+ 110 => true, 111 => true, 112 => true, 113 => true, 114 => true,
+ 115 => true, 116 => true, 117 => true, 118 => true, 119 => true,
+ 120 => true, 121 => true, 122 => true, 123 => true, 124 => true,
+ 125 => true, 126 => true, 127 => true, 128 => true, 129 => true,
+ 130 => true, 131 => true, 132 => true, 133 => true, 134 => true,
+ 135 => true, 136 => true, 137 => true, 138 => true, 139 => true,
+ 140 => true, 141 => true, 142 => true, 143 => true, 144 => true,
+ 145 => true, 146 => true, 147 => true, 148 => true, 149 => true,
+ 150 => true, 151 => true, 152 => true, 153 => true, 154 => true,
+ 155 => true, 156 => true, 157 => true, 158 => true, 159 => true,
+ 160 => true, 161 => true, 162 => true, 163 => true, 164 => true,
+ 165 => true, 166 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #006600; font-weight: bold;',
+ 4 => 'color: #006600; font-weight: bold;',
+ 5 => 'color: #003399; font-weight: bold;',
+ 6 => 'color: #003399; font-weight: bold;',
+ 7 => 'color: #003399; font-weight: bold;',
+ 8 => 'color: #003399; font-weight: bold;',
+ 9 => 'color: #003399; font-weight: bold;',
+ 10 => 'color: #003399; font-weight: bold;',
+ 11 => 'color: #003399; font-weight: bold;',
+ 12 => 'color: #003399; font-weight: bold;',
+ 13 => 'color: #003399; font-weight: bold;',
+ 14 => 'color: #003399; font-weight: bold;',
+ 15 => 'color: #003399; font-weight: bold;',
+ 16 => 'color: #003399; font-weight: bold;',
+ 17 => 'color: #003399; font-weight: bold;',
+ 18 => 'color: #003399; font-weight: bold;',
+ 19 => 'color: #003399; font-weight: bold;',
+ 20 => 'color: #003399; font-weight: bold;',
+ 21 => 'color: #003399; font-weight: bold;',
+ 22 => 'color: #003399; font-weight: bold;',
+ 23 => 'color: #003399; font-weight: bold;',
+ 24 => 'color: #003399; font-weight: bold;',
+ 25 => 'color: #003399; font-weight: bold;',
+ 26 => 'color: #003399; font-weight: bold;',
+ 27 => 'color: #003399; font-weight: bold;',
+ 28 => 'color: #003399; font-weight: bold;',
+ 29 => 'color: #003399; font-weight: bold;',
+ 30 => 'color: #003399; font-weight: bold;',
+ 31 => 'color: #003399; font-weight: bold;',
+ 32 => 'color: #003399; font-weight: bold;',
+ 33 => 'color: #003399; font-weight: bold;',
+ 34 => 'color: #003399; font-weight: bold;',
+ 35 => 'color: #003399; font-weight: bold;',
+ 36 => 'color: #003399; font-weight: bold;',
+ 37 => 'color: #003399; font-weight: bold;',
+ 38 => 'color: #003399; font-weight: bold;',
+ 39 => 'color: #003399; font-weight: bold;',
+ 40 => 'color: #003399; font-weight: bold;',
+ 41 => 'color: #003399; font-weight: bold;',
+ 42 => 'color: #003399; font-weight: bold;',
+ 43 => 'color: #003399; font-weight: bold;',
+ 44 => 'color: #003399; font-weight: bold;',
+ 45 => 'color: #003399; font-weight: bold;',
+ 46 => 'color: #003399; font-weight: bold;',
+ 47 => 'color: #003399; font-weight: bold;',
+ 48 => 'color: #003399; font-weight: bold;',
+ 49 => 'color: #003399; font-weight: bold;',
+ 50 => 'color: #003399; font-weight: bold;',
+ 51 => 'color: #003399; font-weight: bold;',
+ 52 => 'color: #003399; font-weight: bold;',
+ 53 => 'color: #003399; font-weight: bold;',
+ 54 => 'color: #003399; font-weight: bold;',
+ 55 => 'color: #003399; font-weight: bold;',
+ 56 => 'color: #003399; font-weight: bold;',
+ 57 => 'color: #003399; font-weight: bold;',
+ 58 => 'color: #003399; font-weight: bold;',
+ 59 => 'color: #003399; font-weight: bold;',
+ 60 => 'color: #003399; font-weight: bold;',
+ 61 => 'color: #003399; font-weight: bold;',
+ 62 => 'color: #003399; font-weight: bold;',
+ 63 => 'color: #003399; font-weight: bold;',
+ 64 => 'color: #003399; font-weight: bold;',
+ 65 => 'color: #003399; font-weight: bold;',
+ 66 => 'color: #003399; font-weight: bold;',
+ 67 => 'color: #003399; font-weight: bold;',
+ 68 => 'color: #003399; font-weight: bold;',
+ 69 => 'color: #003399; font-weight: bold;',
+ 70 => 'color: #003399; font-weight: bold;',
+ 71 => 'color: #003399; font-weight: bold;',
+ 72 => 'color: #003399; font-weight: bold;',
+ 73 => 'color: #003399; font-weight: bold;',
+ 74 => 'color: #003399; font-weight: bold;',
+ 75 => 'color: #003399; font-weight: bold;',
+ 76 => 'color: #003399; font-weight: bold;',
+ 77 => 'color: #003399; font-weight: bold;',
+ 78 => 'color: #003399; font-weight: bold;',
+ 79 => 'color: #003399; font-weight: bold;',
+ 80 => 'color: #003399; font-weight: bold;',
+ 81 => 'color: #003399; font-weight: bold;',
+ 82 => 'color: #003399; font-weight: bold;',
+ 83 => 'color: #003399; font-weight: bold;',
+ 84 => 'color: #003399; font-weight: bold;',
+ 85 => 'color: #003399; font-weight: bold;',
+ 86 => 'color: #003399; font-weight: bold;',
+ 87 => 'color: #003399; font-weight: bold;',
+ 88 => 'color: #003399; font-weight: bold;',
+ 89 => 'color: #003399; font-weight: bold;',
+ 90 => 'color: #003399; font-weight: bold;',
+ 91 => 'color: #003399; font-weight: bold;',
+ 92 => 'color: #003399; font-weight: bold;',
+ 93 => 'color: #003399; font-weight: bold;',
+ 94 => 'color: #003399; font-weight: bold;',
+ 95 => 'color: #003399; font-weight: bold;',
+ 96 => 'color: #003399; font-weight: bold;',
+ 97 => 'color: #003399; font-weight: bold;',
+ 98 => 'color: #003399; font-weight: bold;',
+ 99 => 'color: #003399; font-weight: bold;',
+ 100 => 'color: #003399; font-weight: bold;',
+ 101 => 'color: #003399; font-weight: bold;',
+ 102 => 'color: #003399; font-weight: bold;',
+ 103 => 'color: #003399; font-weight: bold;',
+ 104 => 'color: #003399; font-weight: bold;',
+ 105 => 'color: #003399; font-weight: bold;',
+ 106 => 'color: #003399; font-weight: bold;',
+ 107 => 'color: #003399; font-weight: bold;',
+ 108 => 'color: #003399; font-weight: bold;',
+ 109 => 'color: #003399; font-weight: bold;',
+ 110 => 'color: #003399; font-weight: bold;',
+ 111 => 'color: #003399; font-weight: bold;',
+ 112 => 'color: #003399; font-weight: bold;',
+ 113 => 'color: #003399; font-weight: bold;',
+ 114 => 'color: #003399; font-weight: bold;',
+ 115 => 'color: #003399; font-weight: bold;',
+ 116 => 'color: #003399; font-weight: bold;',
+ 117 => 'color: #003399; font-weight: bold;',
+ 118 => 'color: #003399; font-weight: bold;',
+ 119 => 'color: #003399; font-weight: bold;',
+ 120 => 'color: #003399; font-weight: bold;',
+ 121 => 'color: #003399; font-weight: bold;',
+ 122 => 'color: #003399; font-weight: bold;',
+ 123 => 'color: #003399; font-weight: bold;',
+ 124 => 'color: #003399; font-weight: bold;',
+ 125 => 'color: #003399; font-weight: bold;',
+ 126 => 'color: #003399; font-weight: bold;',
+ 127 => 'color: #003399; font-weight: bold;',
+ 128 => 'color: #003399; font-weight: bold;',
+ 129 => 'color: #003399; font-weight: bold;',
+ 130 => 'color: #003399; font-weight: bold;',
+ 131 => 'color: #003399; font-weight: bold;',
+ 132 => 'color: #003399; font-weight: bold;',
+ 133 => 'color: #003399; font-weight: bold;',
+ 134 => 'color: #003399; font-weight: bold;',
+ 135 => 'color: #003399; font-weight: bold;',
+ 136 => 'color: #003399; font-weight: bold;',
+ 137 => 'color: #003399; font-weight: bold;',
+ 138 => 'color: #003399; font-weight: bold;',
+ 139 => 'color: #003399; font-weight: bold;',
+ 140 => 'color: #003399; font-weight: bold;',
+ 141 => 'color: #003399; font-weight: bold;',
+ 142 => 'color: #003399; font-weight: bold;',
+ 143 => 'color: #003399; font-weight: bold;',
+ 144 => 'color: #003399; font-weight: bold;',
+ 145 => 'color: #003399; font-weight: bold;',
+ 146 => 'color: #003399; font-weight: bold;',
+ 147 => 'color: #003399; font-weight: bold;',
+ 148 => 'color: #003399; font-weight: bold;',
+ 149 => 'color: #003399; font-weight: bold;',
+ 150 => 'color: #003399; font-weight: bold;',
+ 151 => 'color: #003399; font-weight: bold;',
+ 152 => 'color: #003399; font-weight: bold;',
+ 153 => 'color: #003399; font-weight: bold;',
+ 154 => 'color: #003399; font-weight: bold;',
+ 155 => 'color: #003399; font-weight: bold;',
+ 156 => 'color: #003399; font-weight: bold;',
+ 157 => 'color: #003399; font-weight: bold;',
+ 158 => 'color: #003399; font-weight: bold;',
+ 159 => 'color: #003399; font-weight: bold;',
+ 160 => 'color: #003399; font-weight: bold;',
+ 161 => 'color: #003399; font-weight: bold;',
+ 162 => 'color: #003399; font-weight: bold;',
+ 163 => 'color: #003399; font-weight: bold;',
+ 164 => 'color: #003399; font-weight: bold;',
+ 165 => 'color: #003399; font-weight: bold;',
+ 166 => 'color: #003399; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #006699;',
+ 3 => 'color: #008000; font-style: italic; font-weight: bold;',
+ '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(
+ 1 => 'color: #006633;',
+ 2 => 'color: #006633;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/applet/{FNAME}.html',
+ 6 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/{FNAME}.html',
+ 7 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/color/{FNAME}.html',
+ 8 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/datatransfer/{FNAME}.html',
+ 9 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/dnd/{FNAME}.html',
+ 10 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/event/{FNAME}.html',
+ 11 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/font/{FNAME}.html',
+ 12 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/geom/{FNAME}.html',
+ 13 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/im/{FNAME}.html',
+ 14 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/im/spi/{FNAME}.html',
+ 15 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/image/{FNAME}.html',
+ 16 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/image/renderable/{FNAME}.html',
+ 17 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/awt/print/{FNAME}.html',
+ 18 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/beans/{FNAME}.html',
+ 19 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/beans/beancontext/{FNAME}.html',
+ 20 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/io/{FNAME}.html',
+ 21 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/{FNAME}.html',
+ 22 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/annotation/{FNAME}.html',
+ 23 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/instrument/{FNAME}.html',
+ 24 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/management/{FNAME}.html',
+ 25 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/ref/{FNAME}.html',
+ 26 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/lang/reflect/{FNAME}.html',
+ 27 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/math/{FNAME}.html',
+ 28 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/net/{FNAME}.html',
+ 29 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/{FNAME}.html',
+ 30 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/channels/{FNAME}.html',
+ 31 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/channels/spi/{FNAME}.html',
+ 32 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/charset/{FNAME}.html',
+ 33 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/nio/charset/spi/{FNAME}.html',
+ 34 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/{FNAME}.html',
+ 35 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/activation/{FNAME}.html',
+ 36 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/dgc/{FNAME}.html',
+ 37 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/registry/{FNAME}.html',
+ 38 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/rmi/server/{FNAME}.html',
+ 39 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/{FNAME}.html',
+ 40 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/acl/{FNAME}.html',
+ 41 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/cert/{FNAME}.html',
+ 42 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/interfaces/{FNAME}.html',
+ 43 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/security/spec/{FNAME}.html',
+ 44 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/sql/{FNAME}.html',
+ 45 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/text/{FNAME}.html',
+ 46 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/{FNAME}.html',
+ 47 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/concurrent/{FNAME}.html',
+ 48 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/concurrent/atomic/{FNAME}.html',
+ 49 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/concurrent/locks/{FNAME}.html',
+ 50 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/jar/{FNAME}.html',
+ 51 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/logging/{FNAME}.html',
+ 52 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/prefs/{FNAME}.html',
+ 53 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/regex/{FNAME}.html',
+ 54 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/java/util/zip/{FNAME}.html',
+ 55 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/accessibility/{FNAME}.html',
+ 56 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/activity/{FNAME}.html',
+ 57 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/crypto/{FNAME}.html',
+ 58 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/crypto/interfaces/{FNAME}.html',
+ 59 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/crypto/spec/{FNAME}.html',
+ 60 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/{FNAME}.html',
+ 61 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/event/{FNAME}.html',
+ 62 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/metadata/{FNAME}.html',
+ 63 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/plugins/bmp/{FNAME}.html',
+ 64 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/plugins/jpeg/{FNAME}.html',
+ 65 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/spi/{FNAME}.html',
+ 66 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/imageio/stream/{FNAME}.html',
+ 67 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/{FNAME}.html',
+ 68 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/loading/{FNAME}.html',
+ 69 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/modelmbean/{FNAME}.html',
+ 70 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/monitor/{FNAME}.html',
+ 71 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/openmbean/{FNAME}.html',
+ 72 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/relation/{FNAME}.html',
+ 73 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/remote/{FNAME}.html',
+ 74 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/remote/rmi/{FNAME}.html',
+ 75 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/management/timer/{FNAME}.html',
+ 76 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/{FNAME}.html',
+ 77 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/directory/{FNAME}.html',
+ 78 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/event/{FNAME}.html',
+ 79 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/ldap/{FNAME}.html',
+ 80 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/naming/spi/{FNAME}.html',
+ 81 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/net/{FNAME}.html',
+ 82 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/net/ssl/{FNAME}.html',
+ 83 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/print/{FNAME}.html',
+ 84 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/print/attribute/{FNAME}.html',
+ 85 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/print/attribute/standard/{FNAME}.html',
+ 86 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/print/event/{FNAME}.html',
+ 87 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/rmi/{FNAME}.html',
+ 88 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/rmi/CORBA/{FNAME}.html',
+ 89 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/rmi/ssl/{FNAME}.html',
+ 90 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/{FNAME}.html',
+ 91 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/callback/{FNAME}.html',
+ 92 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/kerberos/{FNAME}.html',
+ 93 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/login/{FNAME}.html',
+ 94 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/spi/{FNAME}.html',
+ 95 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/auth/x500/{FNAME}.html',
+ 96 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/security/sasl/{FNAME}.html',
+ 97 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sound/midi/{FNAME}.html',
+ 98 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sound/midi/spi/{FNAME}.html',
+ 99 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sound/sampled/{FNAME}.html',
+ 100 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sound/sampled/spi/{FNAME}.html',
+ 101 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sql/{FNAME}.html',
+ 102 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sql/rowset/{FNAME}.html',
+ 103 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sql/rowset/serial/{FNAME}.html',
+ 104 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/sql/rowset/spi/{FNAME}.html',
+ 105 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/{FNAME}.html',
+ 106 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/border/{FNAME}.html',
+ 107 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/colorchooser/{FNAME}.html',
+ 108 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/event/{FNAME}.html',
+ 109 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/filechooser/{FNAME}.html',
+ 110 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/{FNAME}.html',
+ 111 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/basic/{FNAME}.html',
+ 112 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/metal/{FNAME}.html',
+ 113 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/multi/{FNAME}.html',
+ 114 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/plaf/synth/{FNAME}.html',
+ 115 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/table/{FNAME}.html',
+ 116 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/text/{FNAME}.html',
+ 117 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/text/html/{FNAME}.html',
+ 118 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/text/html/parser/{FNAME}.html',
+ 119 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/text/rtf/{FNAME}.html',
+ 120 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/tree/{FNAME}.html',
+ 121 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/swing/undo/{FNAME}.html',
+ 122 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/transaction/{FNAME}.html',
+ 123 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/transaction/xa/{FNAME}.html',
+ 124 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/{FNAME}.html',
+ 125 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/datatype/{FNAME}.html',
+ 126 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/namespace/{FNAME}.html',
+ 127 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/parsers/{FNAME}.html',
+ 128 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/transform/{FNAME}.html',
+ 129 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/transform/dom/{FNAME}.html',
+ 130 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/transform/sax/{FNAME}.html',
+ 131 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/transform/stream/{FNAME}.html',
+ 132 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/validation/{FNAME}.html',
+ 133 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/javax/xml/xpath/{FNAME}.html',
+ 134 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/ietf/jgss/{FNAME}.html',
+ 135 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CORBA/{FNAME}.html',
+ 136 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CORBA/DynAnyPackage/{FNAME}.html',
+ 137 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CORBA/TypeCodePackage/{FNAME}.html',
+ 138 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CORBA/portable/{FNAME}.html',
+ 139 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CosNaming/{FNAME}.html',
+ 140 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CosNaming/NamingContextExtPackage/{FNAME}.html',
+ 141 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/CosNaming/NamingContextPackage/{FNAME}.html',
+ 142 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/Dynamic/{FNAME}.html',
+ 143 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/DynamicAny/{FNAME}.html',
+ 144 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/DynamicAny/DynAnyFactoryPackage/{FNAME}.html',
+ 145 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/DynamicAny/DynAnyPackage/{FNAME}.html',
+ 146 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/IOP/{FNAME}.html',
+ 147 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/IOP/CodecFactoryPackage/{FNAME}.html',
+ 148 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/IOP/CodecPackage/{FNAME}.html',
+ 149 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/Messaging/{FNAME}.html',
+ 150 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableInterceptor/{FNAME}.html',
+ 151 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableInterceptor/ORBInitInfoPackage/{FNAME}.html',
+ 152 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/{FNAME}.html',
+ 153 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/CurrentPackage/{FNAME}.html',
+ 154 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/POAManagerPackage/{FNAME}.html',
+ 155 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/POAPackage/{FNAME}.html',
+ 156 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/PortableServer/ServantLocatorPackage/{FNAME}.html',
+ 157 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/SendingContext/{FNAME}.html',
+ 158 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/omg/stub/java/rmi/{FNAME}.html',
+ 159 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/w3c/dom/{FNAME}.html',
+ 160 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/w3c/dom/bootstrap/{FNAME}.html',
+ 161 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/w3c/dom/events/{FNAME}.html',
+ 162 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/w3c/dom/ls/{FNAME}.html',
+ 163 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/xml/sax/{FNAME}.html',
+ 164 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/xml/sax/ext/{FNAME}.html',
+ 165 => 'http://java.sun.com/j2se/1%2E5%2E0/docs/api/org/xml/sax/helpers/{FNAME}.html',
+ /* ambiguous class names (appear in more than one package) */
+ 166 => 'http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+{FNAME}'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ /* Java does not use '::' */
+ ),
+ '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/javascript.php b/application/libraries/geshi/javascript.php
new file mode 100644
index 000000000..96c345477
--- /dev/null
+++ b/application/libraries/geshi/javascript.php
@@ -0,0 +1,150 @@
+<?php
+/*************************************************************************************
+ * javascript.php
+ * --------------
+ * 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
+ * Date Started: 2004/06/20
+ *
+ * JavaScript language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => '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"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
+ 'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
+ 'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
+ 'while', 'write', 'with'
+ ),
+ 2 => array(
+ 'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
+ 'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
+ 'protected', 'public', 'super', 'true', 'use', 'var'
+ ),
+ 3 => array(
+ // common functions for Window object
+ 'alert', 'back', 'blur', 'close', 'confirm', 'focus', 'forward', 'home',
+ 'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
+ 'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'status',
+ 'stop',
+ )
+ ),
+ '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(
+ '<script type="text/javascript">' => '</script>'
+ ),
+ 1 => array(
+ '<script language="javascript">' => '</script>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/jquery.php b/application/libraries/geshi/jquery.php
new file mode 100644
index 000000000..b4264cb1c
--- /dev/null
+++ b/application/libraries/geshi/jquery.php
@@ -0,0 +1,238 @@
+<?php
+/*************************************************************************************
+ * jquery.php
+ * --------------
+ * Author: Rob Loach (http://www.robloach.net)
+ * Copyright: (c) 2009 Rob Loach (http://www.robloach.net)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/07/20
+ *
+ * jQuery 1.3 language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/07/20 (1.0.8.5)
+ * - First Release
+ *
+ * TODO (updated 2009/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' => 'jQuery',
+ '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(
+ 'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
+ 'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
+ 'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
+ 'while', 'write', 'with'
+ ),
+ 2 => array(
+ 'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
+ 'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
+ 'protected', 'public', 'super', 'true', 'use', 'var'
+ ),
+ 3 => array(
+ // common functions for Window object
+ 'alert', 'back', 'close', 'confirm', 'forward', 'home',
+ 'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
+ 'onresize', 'onunload', 'open', 'print', 'prompt', 'status',
+ //'blur', 'focus', 'scroll', // Duplicate with kw9
+ //'stop', //Duplicate with kw10
+ ),
+ 4 => array(
+ // jQuery Core Functions
+ 'jQuery', 'each', 'size', 'length', 'selector', 'context', 'eq',
+ 'index', 'data', 'removeData', 'queue', 'dequeue', 'noConflict'
+ //'get', //Duplicate with kw11
+ ),
+ 5 => array(
+ // jQuery Attribute Functions
+ 'attr', 'removeAttr', 'addClass', 'hasClass', 'removeClass', 'toggleClass',
+ 'html', 'text', 'val',
+ ),
+ 6 => array(
+ // jQuery Traversing Functions
+ 'filter', 'not', 'slice', 'add', 'children', 'closest',
+ 'contents', 'find', 'next', 'nextAll', 'parent', 'parents',
+ 'prev', 'prevAll', 'siblings', 'andSelf', 'end',
+ //'is', //Dup with kw1
+ //'offsetParent', //Duplicate with kw8
+ //'map', //Duplicate with kw12
+ ),
+ 7 => array(
+ // jQuery Manipulation Functions
+ 'append', 'appendTo', 'prepend', 'prependTo', 'after', 'before', 'insertAfter',
+ 'insertBefore', 'wrap', 'wrapAll', 'wrapInner', 'replaceWith', 'replaceAll',
+ 'empty', 'remove', 'clone',
+ ),
+ 8 => array(
+ // jQuery CSS Functions
+ 'css', 'offset', 'offsetParent', 'position', 'scrollTop', 'scrollLeft',
+ 'height', 'width', 'innerHeight', 'innerWidth', 'outerHeight', 'outerWidth',
+ ),
+ 9 => array(
+ // jQuery Events Functions
+ 'ready', 'bind', 'one', 'trigger', 'triggerHandler', 'unbind', 'live',
+ 'die', 'hover', 'blur', 'change', 'click', 'dblclick', 'error',
+ 'focus', 'keydown', 'keypress', 'keyup', 'mousedown', 'mouseenter',
+ 'mouseleave', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'resize',
+ 'scroll', 'select', 'submit', 'unload',
+ //'toggle', //Duplicate with kw10
+ //'load', //Duplicate with kw11
+ ),
+ 10 => array(
+ // jQuery Effects Functions
+ 'show', 'hide', 'toggle', 'slideDown', 'slideUp', 'slideToggle', 'fadeIn',
+ 'fadeOut', 'fadeTo', 'animate', 'stop',
+ ),
+ 11 => array(
+ // jQuery Ajax Functions
+ 'ajax', 'load', 'get', 'getJSON', 'getScript', 'post', 'ajaxComplete',
+ 'ajaxError', 'ajaxSend', 'ajaxStart', 'ajaxStop', 'ajaxSuccess', 'ajaxSetup',
+ 'serialize', 'serializeArray',
+ ),
+ 12 => array(
+ // jQuery Utility Functions
+ 'support', 'browser', 'version', 'boxModal', 'extend', 'grep', 'makeArray',
+ 'map', 'inArray', 'merge', 'unique', 'isArray', 'isFunction', 'trim',
+ 'param',
+ ),
+ ),
+ 'SYMBOLS' => array(
+ 0 => array(
+ '(', ')', '[', ']', '{', '}',
+ '+', '-', '*', '/', '%',
+ '!', '@', '&', '|', '^',
+ '<', '>', '=',
+ ',', ';', '?', ':'
+ ),
+ 1 => 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,
+ 11 => false,
+ 12 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000066; font-weight: bold;',
+ 2 => 'color: #003366; font-weight: bold;',
+ 3 => 'color: #000066;',
+ 4 => 'color: #000066;',
+ 5 => 'color: #000066;',
+ 6 => 'color: #000066;',
+ 7 => 'color: #000066;',
+ 8 => 'color: #000066;',
+ 9 => 'color: #000066;',
+ 10 => 'color: #000066;',
+ 11 => 'color: #000066;',
+ 12 => '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;',
+ 1 => 'color: #000066;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => 'http://docs.jquery.com/Core/{FNAME}',
+ 5 => 'http://docs.jquery.com/Attributes/{FNAME}',
+ 6 => 'http://docs.jquery.com/Traversing/{FNAME}',
+ 7 => 'http://docs.jquery.com/Manipulation/{FNAME}',
+ 8 => 'http://docs.jquery.com/CSS/{FNAME}',
+ 9 => 'http://docs.jquery.com/Events/{FNAME}',
+ 10 => 'http://docs.jquery.com/Effects/{FNAME}',
+ 11 => 'http://docs.jquery.com/Ajax/{FNAME}',
+ 12 => 'http://docs.jquery.com/Utilities/{FNAME}'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => array(
+ '<script type="text/javascript">' => '</script>'
+ ),
+ 1 => array(
+ '<script language="javascript">' => '</script>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/kixtart.php b/application/libraries/geshi/kixtart.php
new file mode 100644
index 000000000..3d37f8ce6
--- /dev/null
+++ b/application/libraries/geshi/kixtart.php
@@ -0,0 +1,329 @@
+<?php
+/*************************************************************************************
+ * kixtart.php
+ * --------
+ * Author: Riley McArdle (riley@glyff.net)
+ * Copyright: (c) 2007 Riley McArdle (http://www.glyff.net/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/08/31
+ *
+ * PHP language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/08/31 (1.0.7.22)
+ * - First Release
+ *
+ * TODO (updated 2007/08/31)
+ * -------------------------
+ * *
+ *
+ *************************************************************************************
+ *
+ * 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' => 'KiXtart',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'While', 'Loop',
+ 'Use',
+ 'Small',
+ 'Sleep',
+ 'Shell',
+ 'SetTime',
+ 'SetM',
+ 'SetL',
+ 'Set',
+ 'Select', 'Case',
+ 'Run',
+ 'Return',
+ 'Redim',
+ 'RD',
+ 'Quit',
+ 'Play',
+ 'Move',
+ 'MD',
+ 'Include',
+ 'If', 'Else', 'Endif',
+ 'GoTo',
+ 'GoSub',
+ 'Go',
+ 'Global',
+ 'GetS',
+ 'Get',
+ 'Function', 'Endfunction',
+ 'For', 'Next',
+ 'Each',
+ 'FlushKb',
+ 'Exit',
+ 'Do', 'Until',
+ 'Display',
+ 'Dim',
+ 'Del',
+ 'Debug',
+ 'Copy',
+ 'Cookie1',
+ 'Color',
+ 'CLS',
+ 'CD',
+ 'Call',
+ 'Break',
+ 'Big',
+ 'Beep',
+ ),
+ 2 => array(
+ '@Address',
+ '@Build',
+ '@Color',
+ '@Comment',
+ '@CPU',
+ '@CRLF',
+ '@CSD',
+ '@CurDir',
+ '@Date',
+ '@Day',
+ '@Domain',
+ '@DOS',
+ '@Error',
+ '@FullName',
+ '@HomeDir',
+ '@HomeDrive',
+ '@HomeShr',
+ '@HostName',
+ '@InWin',
+ '@IPaddressX',
+ '@KiX',
+ '@LanRoot',
+ '@LDomain',
+ '@LDrive',
+ '@LM',
+ '@LogonMode',
+ '@LongHomeDir',
+ '@LServer',
+ '@MaxPWAge',
+ '@MDayNo',
+ '@MHz',
+ '@MonthNo',
+ '@Month',
+ '@MSecs',
+ '@OnWoW64',
+ '@PID',
+ '@PrimaryGroup',
+ '@Priv',
+ '@ProductSuite',
+ '@ProductType',
+ '@PWAge',
+ '@RAS',
+ '@Result',
+ '@RServer',
+ '@ScriptDir',
+ '@ScriptExe',
+ '@ScriptName',
+ '@SError',
+ '@SID',
+ '@Site',
+ '@StartDir',
+ '@SysLang',
+ '@Ticks',
+ '@Time',
+ '@TsSession',
+ '@UserID',
+ '@UserLang',
+ '@WDayNo',
+ '@Wksta',
+ '@WUserID',
+ '@YDayNo',
+ '@Year',
+ ),
+ 3 => array(
+ 'WriteValue',
+ 'WriteProfileString',
+ 'WriteLine',
+ 'VarTypeName',
+ 'VarType',
+ 'Val',
+ 'UnloadHive',
+ 'UCase',
+ 'Ubound',
+ 'Trim',
+ 'Substr',
+ 'SRnd',
+ 'Split',
+ 'SidToName',
+ 'ShutDown',
+ 'ShowProgramGroup',
+ 'SetWallpaper',
+ 'SetTitle',
+ 'SetSystemState',
+ 'SetOption',
+ 'SetFocus',
+ 'SetFileAttr',
+ 'SetDefaultPrinter',
+ 'SetConsole',
+ 'SetAscii',
+ 'SendMessage',
+ 'SendKeys',
+ 'SaveKey',
+ 'RTrim',
+ 'Round',
+ 'Rnd',
+ 'Right',
+ 'RedirectOutput',
+ 'ReadValue',
+ 'ReadType',
+ 'ReadProfileString',
+ 'ReadLine',
+ 'Open',
+ 'MessageBox',
+ 'MemorySize',
+ 'LTrim',
+ 'Logoff',
+ 'LogEvent',
+ 'LoadKey',
+ 'LoadHive',
+ 'Len',
+ 'Left',
+ 'LCase',
+ 'KeyExist',
+ 'KbHit',
+ 'Join',
+ 'IsDeclared',
+ 'Int',
+ 'InStrRev',
+ 'InStr',
+ 'InGroup',
+ 'IIF',
+ 'GetObject',
+ 'GetFileVersion',
+ 'GetFileTime',
+ 'GetFileSize',
+ 'GetFileAttr',
+ 'GetDiskSpace',
+ 'FreeFileHandle',
+ 'FormatNumber',
+ 'Fix',
+ 'ExpandEnvironmentVars',
+ 'Exist',
+ 'Execute',
+ 'EnumValue',
+ 'EnumLocalGroup',
+ 'EnumKey',
+ 'EnumIpInfo',
+ 'EnumGroup',
+ 'Dir',
+ 'DelValue',
+ 'DelTree',
+ 'DelProgramItem',
+ 'DelProgramGroup',
+ 'DelPrinterConnection',
+ 'DelKey',
+ 'DecToHex',
+ 'CStr',
+ 'CreateObject',
+ 'CompareFileTimes',
+ 'Close',
+ 'ClearEventLog',
+ 'CInt',
+ 'Chr',
+ 'CDbl',
+ 'Box',
+ 'BackupEventLog',
+ 'At',
+ 'AScan',
+ 'Asc',
+ 'AddProgramItem',
+ 'AddProgramGroup',
+ 'AddPrinterConnection',
+ 'AddKey',
+ 'Abs'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '?', ':', '+', '-', '*', '/', '&', '|', '^', '~', '<', '>', '='
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #000066;'
+ ),
+ '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: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.kixtart.org/manual/Commands/{FNAMEL}.htm',
+ 2 => '',
+ 3 => 'http://www.kixtart.org/manual/Functions/{FNAMEL}.htm'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/klonec.php b/application/libraries/geshi/klonec.php
new file mode 100644
index 000000000..24f32dbc3
--- /dev/null
+++ b/application/libraries/geshi/klonec.php
@@ -0,0 +1,282 @@
+<?php
+/*************************************************************************************
+ * klonec.php
+ * --------
+ * Author: AUGER Mickael
+ * Copyright: Synchronic
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/04/16
+ *
+ * KLone with C language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/04/16 (1.0.8)
+ * - First Release
+ *
+ * TODO (updated 2008/04/16)
+ * -------------------------
+ * A tester et a completer si besoin
+ *************************************************************************************
+ *
+ * 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' => 'KLone C',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),//#pour precede les include de C
+ 'COMMENT_MULTI' => array('/*' => '*/', '<!--' => '-->' ),//comentaires C et KLone suivi de ceux pour HTML
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(//mots-cles C
+ 'if', 'return', 'while', 'case', 'class', 'continue', 'default',
+ 'do', 'else', 'for', 'switch', 'goto',
+ 'null', 'break', 'true', 'enum', 'extern', 'inline', 'false'
+ ),
+ 2 => array(//mots-cles KLone
+ 'out', 'request', 'response',
+ ),
+ 3 => array(//fonctions C usuelles
+ 'printf', 'malloc', 'fopen', 'fclose', 'free', 'fputs', 'fgets', 'feof', 'fwrite',
+ 'perror', 'ferror', 'qsort', 'stats', 'sscanf', 'scanf',
+ 'strdup', 'strcpy', 'strcmp', 'strncpy', 'strcasecmp', 'cat', 'strcat', 'strstr',
+ 'strlen', 'strtof', 'strtod', 'strtok', 'towlower', 'towupper',
+ 'cd', 'system', 'exit', 'exec', 'fork', 'vfork', 'kill', 'signal', 'syslog',
+ 'usleep', 'utime', 'wait', 'waitpid', 'waitid',
+ 'ceil', 'eval', 'round', 'floor',
+ 'atoi', 'atol', 'abs', 'cos', 'sin', 'tan', 'acos', 'asin', 'atan', 'exp',
+ 'time', 'ctime', 'localtime', 'asctime', 'gmtime', 'difftime', 'date'
+ ),
+ 4 => array(//fonctions KLone usuelles
+ 'request_get_cookies', 'request_get_cookie', 'request_get_args', 'request_get_arg',
+ 'request_io', 'request_get_uri', 'request_get_filename', 'request_get_query_string', 'request_get_path_info',
+ 'request_get_if_modified_since', 'request_get_http', 'request_get_client_request',
+ 'request_get_content_length', 'request_get_uploads', 'request_get_uploaded_file',
+ 'request_get_method', 'request_get_protocol', 'request_get_resolved_filename',
+ 'request_get_resolved_path_info', 'request_get_addr', 'request_get_peer_addr',
+ 'request_get_header', 'request_get_field', 'request_get_field_value',
+ 'response_set_content_encoding', 'response_disable_caching', 'response_enable_caching',
+ 'response_set_cookie', 'response_set_method', 'response_get_method',
+ 'response_print_header', 'response_set_field', 'response_del_field',
+ 'response_set_content_type', 'response_set_date', 'response_set_last_modified',
+ 'response_set_content_length', 'response_get_status', 'response_get_header',
+ 'response_io', 'response_redirect', 'response_set_status',
+ 'session_get_vars', 'session_get', 'session_set', 'session_age', 'session_clean', 'session_del',
+ 'io_type', 'io_pipe', 'io_dup', 'io_copy', 'io_seek', 'io_tell', 'io_close',
+ 'io_free', 'io_read', 'io_printf', 'io_flush', 'io_write', 'io_putc', 'io_getc',
+ 'io_get_until', 'io_gets', 'io_codec_add_head', 'io_codec_add_tail',
+ 'io_codecs_remove', 'io_name_set', 'io_name_get'
+ ),
+ 5 => array(//types C
+ 'auto', 'char', 'const', 'double', 'float', 'int', 'long',
+ 'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
+ 'typedef', 'union', 'unsigned', 'void', 'volatile',
+ 'wchar_t', 'time_t', 'FILE'
+ ),
+ 6 => array(//mots-cles HTML
+ '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',
+ ),
+ 7 => array(//autres mots-cles HTML
+ 'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+ 'background', 'bgcolor', 'border',
+ 'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+ 'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+ 'enctype',
+ 'face', 'for', 'frame', 'frameborder',
+ 'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+ 'id', 'ismap',
+ 'label', 'lang', 'language', 'link', 'longdesc',
+ 'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+ 'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+ 'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+ 'profile', 'prompt',
+ 'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+ 'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+ 'tabindex', 'target', 'text', 'title', 'type',
+ 'usemap',
+ 'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+ 'width'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 1 => array(
+ '<%=', '<%!', '<%', '%>'
+ ),
+ 0 => array(
+ '(', ')', '[', ']', '{', '}',
+ '!', '%', '&', '|', '/',
+ '<', '>',
+ '=', '-', '+', '*',
+ '.', ':', ',', ';', '^'
+ )
+ ),
+ '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: #b1b100; font-weight: bold;',//pour les mots-cles C
+ 2 => 'color: #000000; font-weight: bold;',//pour les mots-cles KLone
+ 3 => 'color: #6600FF;',//pour les fonctions C
+ 4 => 'color: #6600FF;',//pour les fonctions Klone
+ 5 => 'color: #0099FF; font-weight: bold;',//pour les types C
+ 6 => 'color: #990099; font-weight: bold;',//pour les mots-cles HTML
+ 7 => 'color: #000066;'//pour les autres mots-cles HTML
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',//commentaire sur une ligne C et KLone
+ 2 => 'color: #339933;',//pour les #... en C
+ 'MULTI' => 'color: #808080; font-style: italic;'//commentaire sur plusieurs lignes C et KLone
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;',
+ 1 => 'color: #000000; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(),
+ 'SCRIPT' => array(
+ 0 => 'background-color:#ffccff; font-weight: bold; color:#000000;',
+ 1 => '',
+ 2 => '',
+ 3 => 'color: #00bbdd; font-weight: bold;',
+ 4 => 'color: #ddbb00;',
+ 5 => 'color: #009900;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
+ 4 => 'http://www.koanlogic.com/klone/api/html/globals.html',
+ 5 => '',
+ 6 => 'http://december.com/html/4/element/{FNAMEL}.html',
+ 7 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+ 'SCRIPT_DELIMITERS' => array(
+ //delimiteurs pour KLone
+ 0 => array(
+ '<%=' => '%>'
+ ),
+ 1 => array(
+ '<%!' => '%>'
+ ),
+ 2 => array(
+ '<%' => '%>'
+ ),
+ //delimiteur pour HTML
+ 3 => array(
+ '<!DOCTYPE' => '>'
+ ),
+ 4 => array(
+ '&' => ';'
+ ),
+ 5 => array(
+ '<' => '>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => false,
+ 1 => true,
+ 2 => true,
+ 3 => false,
+ 4 => false,
+ 5 => true
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 6 => array(
+ 'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+ 'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+ ),
+ 7 => array(
+ 'DISALLOWED_AFTER' => '(?=\s*=)',
+ )
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/klonecpp.php b/application/libraries/geshi/klonecpp.php
new file mode 100644
index 000000000..ad2844c6d
--- /dev/null
+++ b/application/libraries/geshi/klonecpp.php
@@ -0,0 +1,310 @@
+<?php
+/*************************************************************************************
+ * klonecpp.php
+ * --------
+ * Author: AUGER Mickael
+ * Copyright: Synchronic
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/04/16
+ *
+ * KLone with C++ language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/04/16 (1.0.8)
+ * - First Release
+ *
+ * TODO (updated 2008/04/16)
+ * -------------------------
+ * A tester et a completer si besoin
+ *************************************************************************************
+ *
+ * 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' => 'KLone C++',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),//#pour precede les include de C
+ 'COMMENT_MULTI' => array('/*' => '*/', '<!--' => '-->' ),//comentaires C et KLone suivi de ceux pour HTML
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(//mots-cles C++
+ 'if', 'return', 'while', 'case', 'continue', 'default',
+ 'do', 'else', 'for', 'switch', 'goto',
+ 'break', 'true', 'enum', 'extern', 'inline', 'false',
+ 'errno', 'stdin', 'stdout', 'stderr',
+ 'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
+ 'try', 'catch', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
+ 'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class',
+ 'EDOM', 'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+ 'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+ 'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+ 'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+ 'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+ 'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+ 'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+ 'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+ 'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
+ 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX',
+ 'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC'
+ ),
+ 2 => array(//mots-cles KLone
+ 'out', 'request', 'response',
+ ),
+ 3 => array(//fonctions C++ usuelles
+ 'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
+ 'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+ 'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+ 'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
+ 'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+ 'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+ 'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
+ 'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+ 'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+ 'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+ 'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+ 'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+ 'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+ 'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+ 'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+ 'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+ 'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+ 'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+ 'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+ 'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+ ),
+ 4 => array(//fonctions KLone usuelles
+ 'request_get_cookies', 'request_get_cookie', 'request_get_args', 'request_get_arg',
+ 'request_io', 'request_get_uri', 'request_get_filename', 'request_get_query_string', 'request_get_path_info',
+ 'request_get_if_modified_since', 'request_get_http', 'request_get_client_request',
+ 'request_get_content_length', 'request_get_uploads', 'request_get_uploaded_file',
+ 'request_get_method', 'request_get_protocol', 'request_get_resolved_filename',
+ 'request_get_resolved_path_info', 'request_get_addr', 'request_get_peer_addr',
+ 'request_get_header', 'request_get_field', 'request_get_field_value',
+ 'response_set_content_encoding', 'response_disable_caching', 'response_enable_caching',
+ 'response_set_cookie', 'response_set_method', 'response_get_method',
+ 'response_print_header', 'response_set_field', 'response_del_field',
+ 'response_set_content_type', 'response_set_date', 'response_set_last_modified',
+ 'response_set_content_length', 'response_get_status', 'response_get_header',
+ 'response_io', 'response_redirect', 'response_set_status',
+ 'session_get_vars', 'session_get', 'session_set', 'session_age', 'session_clean', 'session_del',
+ 'io_type', 'io_pipe', 'io_dup', 'io_copy', 'io_seek', 'io_tell', 'io_close',
+ 'io_free', 'io_read', 'io_printf', 'io_flush', 'io_write', 'io_putc', 'io_getc',
+ 'io_get_until', 'io_gets', 'io_codec_add_head', 'io_codec_add_tail',
+ 'io_codecs_remove', 'io_name_set', 'io_name_get'
+ ),
+ 5 => array(//types C++
+ 'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
+ 'register', 'short', 'shortint', 'signed', 'static', 'struct',
+ 'typedef', 'union', 'unsigned', 'void', 'volatile', 'jmp_buf',
+ 'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
+ 'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+ 'string', 'wchar_t'
+ ),
+ 6 => array(//mots-cles HTML
+ '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',
+ ),
+ 7 => array(//autres mots-cles HTML
+ 'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+ 'background', 'bgcolor', 'border',
+ 'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+ 'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+ 'enctype',
+ 'face', 'for', 'frame', 'frameborder',
+ 'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+ 'id', 'ismap',
+ 'label', 'lang', 'language', 'link', 'longdesc',
+ 'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+ 'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+ 'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+ 'profile', 'prompt',
+ 'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+ 'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+ 'tabindex', 'target', 'text', 'title', 'type',
+ 'usemap',
+ 'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+ 'width'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 1 => array(
+ '<%=', '<%!', '<%', '%>'
+ ),
+ 0 => array(
+ '(', ')', '[', ']', '{', '}',
+ '!', '%', '&', '|', '/',
+ '<', '>',
+ '=', '-', '+', '*',
+ '.', ':', ',', ';', '^'
+ )
+ ),
+ '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: #b1b100; font-weight: bold;',//pour les mots-cles C++
+ 2 => 'color: #000000; font-weight: bold;',//pour les mots-cles KLone
+ 3 => 'color: #6600FF;',//pour les fonctions C++
+ 4 => 'color: #6600FF;',//pour les fonctions Klone
+ 5 => 'color: #0099FF; font-weight: bold;',//pour les types C++
+ 6 => 'color: #990099; font-weight: bold;',//pour les mots-cles HTML
+ 7 => 'color: #000066;'//pour les autres mots-cles HTML
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',//commentaire sur une ligne C++ et KLone
+ 2 => 'color: #339933;',//pour les #... en C++
+ 'MULTI' => 'color: #808080; font-style: italic;'//commentaire sur plusieurs lignes C++ et KLone
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;',
+ 1 => 'color: #000000; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(),
+ 'SCRIPT' => array(
+ 0 => 'background-color:#ffccff; font-weight: bold; color:#000000;',
+ 1 => '',
+ 2 => '',
+ 3 => 'color: #00bbdd; font-weight: bold;',
+ 4 => 'color: #ddbb00;',
+ 5 => 'color: #009900;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
+ 4 => 'http://www.koanlogic.com/klone/api/html/globals.html',
+ 5 => '',
+ 6 => 'http://december.com/html/4/element/{FNAMEL}.html',
+ 7 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+ 'SCRIPT_DELIMITERS' => array(
+ //delimiteurs pour KLone
+ 0 => array(
+ '<%=' => '%>'
+ ),
+ 1 => array(
+ '<%!' => '%>'
+ ),
+ 2 => array(
+ '<%' => '%>'
+ ),
+ //delimiteur pour HTML
+ 3 => array(
+ '<!DOCTYPE' => '>'
+ ),
+ 4 => array(
+ '&' => ';'
+ ),
+ 5 => array(
+ '<' => '>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => false,
+ 1 => true,
+ 2 => true,
+ 3 => false,
+ 4 => false,
+ 5 => true
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 6 => array(
+ 'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+ 'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+ ),
+ 7 => array(
+ 'DISALLOWED_AFTER' => '(?=\s*=)',
+ )
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/latex.php b/application/libraries/geshi/latex.php
new file mode 100644
index 000000000..ae7f0b3c5
--- /dev/null
+++ b/application/libraries/geshi/latex.php
@@ -0,0 +1,223 @@
+<?php
+/*************************************************************************************
+ * latex.php
+ * -----
+ * 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
+ * Date Started: 2006/09/23
+ *
+ * LaTeX language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/08/18 (1.0.8.1)
+ * - Changes in color and some additional command recognition
+ * - No special Color for Brackets, it is only distracting
+ * if color should be reintroduced it should be less bright
+ * - Math color changed from green to violett, since green is now used for comments
+ * - Comments are now colored and the only green. The reason for coloring the comments
+ * is that often important information is in the comments und was merely unvisible before.
+ * - New Color for [Options]
+ * - color for labels not specialised anymore. It makes sence in large documents but less in
+ * small web examples.
+ * - \@keyword introduced
+ * - Fixed \& escaped ampersand
+ * 2006/09/23 (1.0.0)
+ * - First Release
+ *
+ * TODO
+ * -------------------------
+ * *
+ *
+ *************************************************************************************
+ *
+ * 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' => 'LaTeX',
+ 'COMMENT_SINGLE' => array(
+ 1 => '%'
+ ),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'addlinespace','and','address','appendix','author','backmatter',
+ 'bfseries','bibitem','bigskip','blindtext','caption','captionabove',
+ 'captionbelow','cdot','centering','chapter','cite','color',
+ 'colorbox','date','dedication','def','definecolor','documentclass',
+ 'edef','else','email','emph','eqref','extratitle','fbox','fi',
+ 'flushleft','flushright','footnote','frac','frontmatter',
+ 'graphicspath','hfill','hline','hspace','huge','ifx','include',
+ 'includegraphics','infty','input','int','item','itemsep',
+ 'KOMAoption','KOMAoptions','label','LaTeX','left','let','limits',
+ 'listfiles','listoffigures','listoftables','lowertitleback',
+ 'mainmatter','makeatletter','makeatother','makebox','makeindex',
+ 'maketitle','mbox','mediumskip','newcommand','newenvironment',
+ 'newpage','nocite','nonumber','pagestyle','par','paragraph',
+ 'parbox','parident','parskip','partial','publishers','raggedleft',
+ 'raggedright','raisebox','ref','renewcommand','renewenvironment',
+ 'right','rule','section','setlength','sffamily','subject',
+ 'subparagraph','subsection','subsubsection','subtitle','sum',
+ 'table','tableofcontents','textbf','textcolor','textit',
+ 'textnormal','textsuperscript','texttt','textwidth','thanks','title',
+ 'titlehead','today','ttfamily','uppertitleback','urlstyle',
+ 'usepackage','vspace'
+ )
+ ),
+ 'SYMBOLS' => array(
+ "&", "\\", "{", "}", "[", "]"
+ ),
+ 'CASE_SENSITIVE' => array(
+ 1 => true,
+ GESHI_COMMENTS => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #800000;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #2C922C; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000000; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #E02020; '
+ ),
+ 'REGEXPS' => array(
+ 1 => 'color: #8020E0; font-weight: normal;', // Math inner
+ 2 => 'color: #C08020; font-weight: normal;', // [Option]
+ 3 => 'color: #8020E0; font-weight: normal;', // Maths
+ 4 => 'color: #800000; font-weight: normal;', // Structure: Labels
+ 5 => 'color: #00008B; font-weight: bold;', // Structure (\section{->x<-})
+ 6 => 'color: #800000; font-weight: normal;', // Structure (\section)
+ 7 => 'color: #0000D0; font-weight: normal;', // Environment \end or \begin{->x<-} (brighter blue)
+ 8 => 'color: #C00000; font-weight: normal;', // Structure \end or \begin
+ 9 => 'color: #2020C0; font-weight: normal;', // {...}
+ 10 => 'color: #800000; font-weight: normal;', // \%, \& etc.
+ 11 => 'color: #E00000; font-weight: normal;', // \@keyword
+ 12 => 'color: #800000; font-weight: normal;', // \keyword
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.golatex.de/wiki/index.php?title=%5C{FNAME}',
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ // Math inner
+ 1 => array(
+ GESHI_SEARCH => "(\\\\begin\\{(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|alignat|flalign)\\})(.*)(\\\\end\\{\\2\\})",
+ GESHI_REPLACE => '\3',
+ GESHI_MODIFIERS => 'Us',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => '\4'
+ ),
+ // [options]
+ 2 => array(
+ GESHI_SEARCH => "(?<=\[).+(?=\])",
+ GESHI_REPLACE => '\0',
+ GESHI_MODIFIERS => 'Us',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ // Math mode with $ ... $
+ 3 => array(
+ GESHI_SEARCH => "\\$.+\\$",
+ GESHI_REPLACE => '\0',
+ GESHI_MODIFIERS => 'Us',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ // Structure: Label
+ 4 => "\\\\(?:label|pageref|ref|cite)(?=[^a-zA-Z])",
+ // Structure: sections
+ 5 => array(
+ GESHI_SEARCH => "(\\\\(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph|addpart|addchap|addsec)\*?\\{)(.*)(?=\\})",
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'U',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ // Structure: sections
+ 6 => "\\\\(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph|addpart|addchap|addsec)\*?(?=[^a-zA-Z])",
+ // environment \begin{} and \end{} (i.e. the things inside the {})
+ 7 => array(
+ GESHI_SEARCH => "(\\\\(?:begin|end)\\{)(.*)(?=\\})",
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'U',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ // Structure \begin and \end
+ 8 => "\\\\(?:end|begin)(?=[^a-zA-Z])",
+ // {parameters}
+ 9 => array(
+ GESHI_SEARCH => "(?<=\\{)(?!<\|!REG3XP5!>).*(?=\\})",
+ GESHI_REPLACE => '\0',
+ GESHI_MODIFIERS => 'Us',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ // \%, \& usw.
+ 10 => "\\\\(?:[_$%]|&amp;)",
+ // \@keywords
+ 11 => "(?<!<\|!REG3XP[8]!>)\\\\@[a-zA-Z]+\*?",
+ // \keywords
+ 12 => "(?<!<\|!REG3XP[468]!>)\\\\[a-zA-Z]+\*?",
+
+// ---------------------------------------------
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'COMMENTS' => array(
+ 'DISALLOWED_BEFORE' => '\\'
+ ),
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<=\\\\)",
+ 'DISALLOWED_AFTER' => "(?![A-Za-z0-9])"
+ ),
+ 'ENABLE_FLAGS' => array(
+ 'NUMBERS' => GESHI_NEVER,
+ 'BRACKETS' => GESHI_NEVER
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/lisp.php b/application/libraries/geshi/lisp.php
new file mode 100644
index 000000000..3ca20fdc5
--- /dev/null
+++ b/application/libraries/geshi/lisp.php
@@ -0,0 +1,144 @@
+<?php
+/*************************************************************************************
+ * lisp.php
+ * --------
+ * 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
+ * Date Started: 2004/08/30
+ *
+ * Generic Lisp language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/9 (1.0.2)
+ * - Added support for :keywords and ::access (Denis Mashkevich)
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/08/30 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Lisp',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(';|' => '|;'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'not','defun','princ','when',
+ 'eval','apply','funcall','quote','identity','function',
+ 'complement','backquote','lambda','set','setq','setf',
+ 'defmacro','gensym','make','symbol','intern',
+ 'name','value','plist','get',
+ 'getf','putprop','remprop','hash','array','aref',
+ 'car','cdr','caar','cadr','cdar','cddr','caaar','caadr','cadar',
+ 'caddr','cdaar','cdadr','cddar','cdddr','caaaar','caaadr',
+ 'caadar','caaddr','cadaar','cadadr','caddar','cadddr',
+ 'cdaaar','cdaadr','cdadar','cdaddr','cddaar','cddadr',
+ 'cdddar','cddddr','cons','list','append','reverse','last','nth',
+ 'nthcdr','member','assoc','subst','sublis','nsubst',
+ 'nsublis','remove','length',
+ 'mapc','mapcar','mapl','maplist','mapcan','mapcon','rplaca',
+ 'rplacd','nconc','delete','atom','symbolp','numberp',
+ 'boundp','null','listp','consp','minusp','zerop','plusp',
+ 'evenp','oddp','eq','eql','equal','cond','case','and','or',
+ 'let','l','if','prog','prog1','prog2','progn','go','return',
+ 'do','dolist','dotimes','catch','throw','error','cerror','break',
+ 'continue','errset','baktrace','evalhook','truncate','float',
+ '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'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']',
+ '!', '%', '^', '&',
+ ' + ',' - ',' * ',' / ',
+ '=','<','>',
+ '.',':',',',';',
+ '|'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ '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: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #555;',
+ 1 => 'color: #555;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ '::', ':'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'OOLANG' => array(
+ 'MATCH_AFTER' => '[a-zA-Z][a-zA-Z0-9_\-]*'
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/locobasic.php b/application/libraries/geshi/locobasic.php
new file mode 100644
index 000000000..e0cceea3d
--- /dev/null
+++ b/application/libraries/geshi/locobasic.php
@@ -0,0 +1,130 @@
+<?php
+/*************************************************************************************
+ * locobasic.php
+ * -------------
+ * Author: Nacho Cabanes
+ * Copyright: (c) 2009 Nacho Cabanes (http://www.nachocabanes.com)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/03/22
+ *
+ * Locomotive Basic (Amstrad CPC series) language file for GeSHi.
+ *
+ * More details at http://en.wikipedia.org/wiki/Locomotive_BASIC
+ *
+ * CHANGES
+ * -------
+ * 2009/03/22 (1.0.8.3)
+ * - 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' => 'Locomotive Basic',
+ 'COMMENT_SINGLE' => array(1 => "'", 2 => 'REM'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ "AFTER", "AND", "AUTO", "BORDER", "BREAK", "CALL", "CAT", "CHAIN",
+ "CLEAR", "CLG", "CLS", "CLOSEIN", "CLOSEOUT", "CONT", "CURSOR",
+ "DATA", "DEF", "DEFINT", "DEFREAL", "DEFSTR", "DEG", "DELETE",
+ "DERR", "DI", "DIM", "DRAW", "DRAWR", "EDIT", "EI", "ELSE", "END",
+ "ENV", "ENT", "EOF", "ERASE", "ERL", "ERR", "ERROR", "EVERY",
+ "FILL", "FN", "FOR", "FRAME", "GOSUB", "GOTO", "GRAPHICS", "HIMEM",
+ "IF", "INK", "INPUT", "KEY", "LET", "LINE", "LIST", "LOAD",
+ "LOCATE", "MASK", "MEMORY", "MERGE", "MODE", "MOVE", "MOVER", "NEW",
+ "NEXT", "NOT", "ON", "OPENIN", "OPENOUT", "OR", "ORIGIN", "PAPER",
+ "PEEK", "PEN", "PLOT", "PLOTR", "POKE", "PRINT", "RAD", "RANDOMIZE",
+ "READ", "RELEASE", "REMAIN", "RENUM", "RESTORE", "RESUME", "RETURN",
+ "RUN", "SAVE", "SPEED", "SOUND", "SPC", "SQ", "STEP", "STOP", "SWAP",
+ "SYMBOL", "TAB", "TAG", "TAGOFF", "TEST", "TESTR", "TIME", "TO",
+ "THEN", "TRON", "TROFF", "USING", "WAIT", "WEND", "WHILE", "WIDTH",
+ "WINDOW", "WRITE", "XOR", "ZONE"
+ ),
+ 2 => array(
+ "ABS", "ASC", "ATN", "BIN", "CHR", "CINT", "COPYCHR", "COS",
+ "CREAL", "DEC", "FIX", "FRE", "EXP", "HEX", "INKEY", "INP", "INSTR",
+ "INT", "JOY", "LEFT", "LEN", "LOG", "LOG10", "LOWER", "MAX", "MID",
+ "MIN", "MOD", "OUT", "PI", "POS", "RIGHT", "RND", "ROUND", "SGN",
+ "SIN", "SPACE", "SQR", "STR", "STRING", "TAN", "UNT", "UPPER",
+ "VAL", "VPOS", "XPOS", "YPOS"
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000088; font-weight: bold;',
+ 2 => 'color: #AA00AA; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080;',
+ 2 => 'color: #808080;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #008800;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #0044ff;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ '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/logtalk.php b/application/libraries/geshi/logtalk.php
new file mode 100644
index 000000000..3321e0de4
--- /dev/null
+++ b/application/libraries/geshi/logtalk.php
@@ -0,0 +1,330 @@
+<?php
+/*************************************************************************************
+ * logtalk.php
+ * -----------
+ *
+ * Author: Paulo Moura (pmoura@logtalk.org)
+ * Copyright: (c) 2009 Paulo Moura (http://logtalk.org/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/10/24
+ *
+ * Logtalk language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/10/28 (1.0.0)
+ * - 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' => 'Logtalk',
+ 'COMMENT_SINGLE' => array(1 => '%'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(2 => "/0'./sim"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'"),
+ 'HARDQUOTE' => array('"', '"'),
+ 'HARDESCAPE' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'ESCAPE_REGEXP' => array(
+ //Simple Single Char Escapes
+ 1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
+ //Hexadecimal Char Specs
+ 2 => "#\\\\x[\da-fA-F]+\\\\#",
+ //Octal Char Specs
+ 3 => "#\\\\[0-7]+\\\\#"
+ ),
+ '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_SCI_ZERO,
+ 'KEYWORDS' => array(
+ // Directives (with arguments)
+ 1 => array(
+ // file directives
+ 'encoding', 'ensure_loaded',
+ // flag directives
+ 'set_logtalk_flag', 'set_prolog_flag',
+ // entity opening directives
+ 'category', 'object', 'protocol',
+ // predicate scope directives
+ 'private', 'protected', 'public',
+ // conditional compilation directives
+ 'elif', 'if',
+ // entity directives
+ 'calls', 'initialization', 'op', 'uses',
+ // predicate directives
+ 'alias', 'discontiguous', 'dynamic', 'mode', 'info', 'meta_predicate', 'multifile', 'synchronized',
+ // module directives
+ 'export', 'module', 'reexport', 'use_module'
+ ),
+ // Directives (no arguments)
+ 2 => array(
+ // entity directives
+ 'dynamic',
+ // multi-threading directives
+ 'synchronized', 'threaded',
+ // entity closing directives
+ 'end_category', 'end_object', 'end_protocol',
+ // conditional compilation directives
+ 'else', 'endif'
+ ),
+ // Entity relations
+ 3 => array(
+ 'complements', 'extends', 'imports', 'implements','instantiates', 'specializes'
+ ),
+ // Built-in predicates (with arguments)
+ 4 => array(
+ // event handlers
+ 'after', 'before',
+ // execution-context methods
+ 'parameter', 'self', 'sender', 'this',
+ // predicate reflection
+ 'current_predicate', 'predicate_property',
+ // DCGs and term expansion
+ 'expand_goal', 'expand_term', 'goal_expansion', 'phrase', 'term_expansion',
+ // entity
+ 'abolish_category', 'abolish_object', 'abolish_protocol',
+ 'create_category', 'create_object', 'create_protocol',
+ 'current_category', 'current_object', 'current_protocol',
+ 'category_property', 'object_property', 'protocol_property',
+ // entity relations
+ 'complements_object',
+ 'extends_category', 'extends_object', 'extends_protocol',
+ 'implements_protocol', 'imports_category',
+ 'instantiates_class', 'specializes_class',
+ // events
+ 'abolish_events', 'current_event', 'define_events',
+ // flags
+ 'current_logtalk_flag', 'set_logtalk_flag',
+ 'current_prolog_flag', 'set_prolog_flag',
+ // compiling, loading, and library path
+ 'logtalk_compile', 'logtalk_library_path', 'logtalk_load',
+ // database
+ 'abolish', 'asserta', 'assertz', 'clause', 'retract', 'retractall',
+ // control
+ 'call', 'catch', 'once', 'throw',
+ // all solutions predicates
+ 'bagof', 'findall', 'forall', 'setof',
+ // multi-threading meta-predicates
+ 'threaded',
+ 'threaded_call', 'threaded_once', 'threaded_ignore', 'threaded_exit', 'threaded_peek',
+ 'threaded_wait', 'threaded_notify',
+ // term unification
+ 'unify_with_occurs_check',
+ // atomic term processing
+ 'atom_chars', 'atom_codes', 'atom_concat', 'atom_length',
+ 'number_chars', 'number_codes',
+ 'char_code',
+ // term creation and decomposition
+ 'arg', 'copy_term', 'functor',
+ // term testing
+ 'atom', 'atomic', 'compound', 'float', 'integer', 'nonvar', 'number', 'sub_atom', 'var',
+ // stream selection and control
+ 'current_input', 'current_output', 'set_input', 'set_output',
+ 'open', 'close', 'flush_output', 'stream_property',
+ 'at_end_of_stream', 'set_stream_position',
+ // character and byte input/output predicates
+ 'get_byte', 'get_char', 'get_code',
+ 'peek_byte', 'peek_char', 'peek_code',
+ 'put_byte', 'put_char', 'put_code',
+ 'nl',
+ // term input/output predicates
+ 'current_op', 'op',
+ 'write', 'writeq', 'write_canonical', 'write_term',
+ 'read', 'read_term',
+ 'char_conversion', 'current_char_conversion',
+ //
+ 'halt'
+ ),
+ // Built-in predicates (no arguments)
+ 5 => array(
+ // control
+ 'fail', 'repeat', 'true',
+ // character and byte input/output predicates
+ 'nl',
+ // implementation defined hooks functions
+ 'halt',
+ // arithemtic evaluation
+ 'is',
+ // stream selection and control
+ 'at_end_of_stream', 'flush_output'
+ ),
+ // Evaluable functors (with arguments)
+ 6 => array(
+ 'float_integer_part', 'float_fractional_part',
+ 'rem', 'mod', 'abs', 'sign', 'floor', 'truncate', 'round', 'ceiling',
+ 'cos', 'atan', 'exp', 'log', 'sin', 'sqrt'
+ ),
+ // Evaluable functors (no arguments)
+ 7 => array(
+ 'mod', 'rem'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ 0 => array(
+ // external call
+ '{', '}'
+ ),
+ 1 => array(
+ // arithemtic comparison
+ '=:=', '=\=', '<', '=<', '>=', '>',
+ // term comparison
+ '<<', '>>', '/\\', '\\/', '\\',
+ // bitwise functors
+ '==', '\==', '@<', '@=<', '@>=', '@>',
+ // evaluable functors
+ '+', '-', '*', '/', '**',
+ // logic and control
+ '!', '\\+', ';',
+ // message sending operators
+ '::', '^^', ':',
+ // grammar rule and conditional functors
+ '-->', '->',
+ // mode operators
+ '@', '?',
+ // term to list predicate
+ '=..',
+ // unification
+ '=', '\\='
+ ),
+ 2 => array(
+ // clause and directive functors
+ ':-'
+ )
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true,
+ 6 => true,
+ 7 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #2e4dc9;',
+ 2 => 'color: #2e4dc9;',
+ 3 => 'color: #2e4dc9;',
+ 4 => 'color: #9d4f37;',
+ 5 => 'color: #9d4f37;',
+ 6 => 'color: #9d4f37;',
+ 7 => 'color: #9d4f37;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #430000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #60a0b0; font-style: italic;',
+ 2 => 'color: #430000;',
+ 'MULTI' => 'color: #60a0b0; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #9f0000; font-weight: bold;',
+ 1 => 'color: #9f0000; font-weight: bold;',
+ 2 => 'color: #9f0000; font-weight: bold;',
+ 3 => 'color: #9f0000; font-weight: bold;',
+ 'HARD' => '',
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #666666;font-weight: bold;',
+ 1 => 'color: #666666;font-weight: bold;',
+ 2 => 'color: #000000;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #9f0000;',
+ 'HARD' => 'color: #9f0000;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #848484;'
+ ),
+ 'SCRIPT' => array()
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '::'
+ ),
+ 'REGEXPS' => array(
+ // variables
+ 0 => '\b(?!(?:PIPE|SEMI|REG3XP\d*)[^a-zA-Z0-9_])[A-Z_][a-zA-Z0-9_]*(?![a-zA-Z0-9_])'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'ENABLE_FLAGS' => array(
+ 'BRACKETS' => GESHI_NEVER
+ ),
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'DISALLOWED_BEFORE' => '(?<=:-\s)',
+ 'DISALLOWED_AFTER' => '(?=\()'
+ ),
+ 2 => array(
+ 'DISALLOWED_BEFORE' => '(?<=:-\s)',
+ 'DISALLOWED_AFTER' => '(?=\.)'
+ ),
+ 3 => array(
+ 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>|^&\'"])',
+ 'DISALLOWED_AFTER' => '(?=\()'
+ ),
+ 4 => array(
+ 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>|^&\'"])',
+ 'DISALLOWED_AFTER' => '(?=\()'
+ ),
+ 5 => array(
+ 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>|^&\'"])',
+ 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\'"])'
+ ),
+ 6 => array(
+ 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#;>|^&\'"])',
+ 'DISALLOWED_AFTER' => '(?=\()'
+ ),
+ 7 => array(
+ 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#;>|^&\'"])',
+ 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\'"])'
+ )
+ )
+ ),
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/lolcode.php b/application/libraries/geshi/lolcode.php
new file mode 100644
index 000000000..26e486d3a
--- /dev/null
+++ b/application/libraries/geshi/lolcode.php
@@ -0,0 +1,152 @@
+<?php
+/*************************************************************************************
+ * lolcode.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/10/31
+ *
+ * LOLcode language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ * - First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'LOLcode',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ 1 => "/\bBTW\b.*$/im",
+ 2 => "/(^|\b)(?:OBTW\b.+?\bTLDR|LOL\b.+?\/LOL)(\b|$)/si"
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'ESCAPE_REGEXP' => array(
+ 1 => '/:[)>o":]/',
+ 2 => '/:\([\da-f]+\)/i',
+ 3 => '/:\{\w+\}/i',
+ 4 => '/:\[\w+\]/i',
+ ),
+ 'KEYWORDS' => array(
+ //Statements
+ 1 => array(
+ 'VISIBLE', 'HAI', 'KTHX', 'KTHXBYE', 'SMOOSH', 'GIMMEH', 'PLZ',
+ 'ON', 'INVISIBLE', 'R', 'ITZ', 'GTFO', 'COMPLAIN', 'GIMME',
+
+ 'OPEN', 'FILE', 'I HAS A', 'AWSUM THX', 'O NOES', 'CAN', 'HAS', 'HAZ',
+ 'HOW DOES I', 'IF U SAY SO', 'FOUND YR', 'BORROW', 'OWN', 'ALONG',
+ 'WITH', 'WIT', 'LOOK', 'AT', 'AWSUM', 'THX'
+ ),
+ //Conditionals
+ 2 => array(
+ 'IZ', 'YARLY', 'NOWAI', 'WTF?', 'MEBBE', 'OMG', 'OMGWTF',
+ 'ORLY?', 'OF', 'NOPE', 'SO', 'IM', 'MAI',
+
+ 'O RLY?', 'SUM', 'BOTH SAEM', 'DIFFRINT', 'BOTH', 'EITHER', 'WON',
+ 'DIFF', 'PRODUKT', 'QUOSHUNT', 'MOD', 'MKAY', 'OK', 'THING',
+ 'BIGNESS'
+ ),
+ //Repetition
+ 3 => array(
+ 'IN', 'OUTTA', 'LOOP', 'WHILE'
+ ),
+ //Operators \Math
+ 4 => array(
+ 'AN', 'AND', 'NOT', 'UP', 'YR', 'UPPIN', 'NERF', 'NERFIN', 'NERFZ',
+ 'SMASHING', 'UR', 'KINDA', 'LIKE', 'SAEM', 'BIG', 'SMALL',
+ 'BIGGR', 'SMALLR', 'BIGGER', 'SMALLER', 'GOOD', 'CUTE', 'THAN'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '.', ',', '?',
+ '!!'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #008000;',
+ 2 => 'color: #000080;',
+ 3 => 'color: #000080;',
+ 4 => 'color: #800000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; style: italic;',
+ 2 => 'color: #666666; style: italic;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ '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(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'SPACE_AS_WHITESPACE' => true
+ )
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/lotusformulas.php b/application/libraries/geshi/lotusformulas.php
new file mode 100644
index 000000000..67fd4fa0a
--- /dev/null
+++ b/application/libraries/geshi/lotusformulas.php
@@ -0,0 +1,318 @@
+<?php
+/*************************************************************************************
+ * lotusformulas.php
+ * ------------------------
+ * 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
+ * Date Started: 2008/04/12
+ *
+ * @Formula/@Command language file for GeSHi.
+ *
+ * @Formula/@Command source: IBM Lotus Notes/Domino 8 Designer Help
+ *
+ * CHANGES
+ * -------
+ * 2008/04/12 (1.0.7.22)
+ * - First Release
+ *
+ * TODO (updated 2008/04/12)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Lotus Notes @Formulas',
+ 'COMMENT_SINGLE' => array(1 => "'"),
+ 'COMMENT_MULTI' => array('REM' => ';'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array (
+ '[ZoomPreview]', '[WorkspaceStackReplicaIcons]',
+ '[WorkspaceProperties]', '[WindowWorkspace]',
+ '[WindowTile]', '[WindowRestore]', '[WindowNext]',
+ '[WindowMinimizeAll]', '[WindowMinimize]', '[WindowMaximizeAll]',
+ '[WindowMaximize]', '[WindowCascade]', '[ViewSwitchForm]',
+ '[ViewShowUnread]', '[ViewShowServerNames]', '[ViewShowSearchBar]',
+ '[ViewShowRuler]', '[ViewShowPageBreaks]', '[ViewShowOnlyUnread]',
+ '[ViewShowOnlySelected]', '[ViewShowOnlySearchResults]',
+ '[ViewShowOnlyCategories]', '[ViewShowObject]',
+ '[ViewShowFieldHelp]', '[ViewRenamePerson]', '[ViewRefreshUnread]',
+ '[ViewRefreshFields]', '[ViewNavigatorsNone]',
+ '[ViewNavigatorsFolders]', '[ViewMoveName]', '[ViewHorizScrollbar]',
+ '[ViewExpandWithChildren]', '[ViewExpandAll]', '[ViewExpand]',
+ '[ViewCollapseAll]', '[ViewCollapse]', '[ViewChange]',
+ '[ViewCertify]', '[ViewBesideFolders]', '[ViewBelowFolders]',
+ '[ViewArrangeIcons]', '[V3EditPrevField]', '[V3EditNextField]',
+ '[UserIDSwitch]', '[UserIDSetPassword]', '[UserIDMergeCopy]',
+ '[UserIDInfo]', '[UserIDEncryptionKeys]', '[UserIDCreateSafeCopy]',
+ '[UserIDClearPassword]', '[UserIDCertificates]',
+ '[ToolsUserLogoff]', '[ToolsSpellCheck]', '[ToolsSmartIcons]',
+ '[ToolsSetupUserSetup]', '[ToolsSetupPorts]', '[ToolsSetupMail]',
+ '[ToolsSetupLocation]', '[ToolsScanUnreadSelected]',
+ '[ToolsScanUnreadPreferred]', '[ToolsScanUnreadChoose]',
+ '[ToolsRunMacro]', '[ToolsRunBackgroundMacros]', '[ToolsReplicate]',
+ '[ToolsRefreshSelectedDocs]', '[ToolsRefreshAllDocs]',
+ '[ToolsMarkSelectedUnread]', '[ToolsMarkSelectedRead]',
+ '[ToolsMarkAllUnread]', '[ToolsMarkAllRead]', '[ToolsHangUp]',
+ '[ToolsCategorize]', '[ToolsCall]', '[TextUnderline]',
+ '[TextSpacingSingle]', '[TextSpacingOneAndaHalf]',
+ '[TextSpacingDouble]', '[TextSetFontSize]', '[TextSetFontFace]',
+ '[TextSetFontColor]', '[TextReduceFont]', '[TextPermanentPen]',
+ '[TextParagraphStyles]', '[TextParagraph]', '[TextOutdent]',
+ '[TextNumbers]', '[TextNormal]', '[TextItalic]', '[TextFont]',
+ '[TextEnlargeFont]', '[TextCycleSpacing]', '[TextBullet]',
+ '[TextBold]', '[TextAlignRight]', '[TextAlignNone]',
+ '[TextAlignLeft]', '[TextAlignFull]', '[TextAlignCenter]',
+ '[SwitchView]', '[SwitchForm]', '[StyleCycleKey]',
+ '[SmartIconsNextSet]', '[SmartIconsFloating]', '[ShowProperties]',
+ '[ShowHidePreviewPane]', '[ShowHideParentPreview]',
+ '[ShowHideLinkPreview]', '[ShowHideIMContactList]',
+ '[SetCurrentLocation]', '[SendInstantMessage]',
+ '[SectionRemoveHeader]', '[SectionProperties]',
+ '[SectionExpandAll]', '[SectionExpand]', '[SectionDefineEditors]',
+ '[SectionCollapseAll]', '[SectionCollapse]', '[RunScheduledAgents]',
+ '[RunAgent]', '[ReplicatorStop]', '[ReplicatorStart]',
+ '[ReplicatorSendReceiveMail]', '[ReplicatorSendMail]',
+ '[ReplicatorReplicateWithServer]', '[ReplicatorReplicateSelected]',
+ '[ReplicatorReplicateNext]', '[ReplicatorReplicateHigh]',
+ '[Replicator]', '[RenameDatabase]', '[RemoveFromFolder]',
+ '[RemoteDebugLotusScript]', '[ReloadWindow]', '[RefreshWindow]',
+ '[RefreshParentNote]', '[RefreshHideFormulas]', '[RefreshFrame]',
+ '[PublishDatabase]', '[PictureProperties]', '[PasteBitmapAsObject]',
+ '[PasteBitmapAsBackground]', '[OpenView]', '[OpenPage]',
+ '[OpenNavigator]', '[OpenInNewWindow]', '[OpenHelpDocument]',
+ '[OpenFrameset]', '[OpenDocument]', '[OpenCalendar]',
+ '[ObjectProperties]', '[ObjectOpen]', '[ObjectDisplayAs]',
+ '[NavPrevUnread]', '[NavPrevSelected]', '[NavPrevMain]',
+ '[NavPrev]', '[NavNextUnread]', '[NavNextSelected]',
+ '[NavNextMain]', '[NavNext]', '[NavigatorTest]',
+ '[NavigatorProperties]', '[NavigateToBacklink]',
+ '[NavigatePrevUnread]', '[NavigatePrevSelected]',
+ '[NavigatePrevMain]', '[NavigatePrevHighlight]', '[NavigatePrev]',
+ '[NavigateNextUnread]', '[NavigateNextSelected]',
+ '[NavigateNextMain]', '[NavigateNextHighlight]', '[NavigateNext]',
+ '[MoveToTrash]', '[MailSendPublicKey]', '[MailSendEncryptionKey]',
+ '[MailSendCertificateRequest]', '[MailSend]', '[MailScanUnread]',
+ '[MailRequestNewPublicKey]', '[MailRequestNewName]',
+ '[MailRequestCrossCert]', '[MailOpen]', '[MailForwardAsAttachment]',
+ '[MailForward]', '[MailComposeMemo]', '[MailAddress]',
+ '[LayoutProperties]', '[LayoutElementSendToBack]',
+ '[LayoutElementProperties]', '[LayoutElementBringToFront]',
+ '[LayoutAddText]', '[LayoutAddGraphic]', '[InsertSubform]',
+ '[HotspotProperties]', '[HotspotClear]', '[HelpUsingDatabase]',
+ '[HelpAboutNotes]', '[HelpAboutDatabase]', '[GoUpLevel]',
+ '[FormTestDocument]', '[FormActions]', '[FolderRename]',
+ '[FolderProperties]', '[FolderMove]', '[FolderExpandWithChildren]',
+ '[FolderExpandAll]', '[FolderExpand]', '[FolderDocuments]',
+ '[FolderCustomize]', '[FolderCollapse]', '[Folder]',
+ '[FindFreeTimeDialog]', '[FileSaveNewVersion]', '[FileSave]',
+ '[FilePrintSetup]', '[FilePrint]', '[FilePageSetup]',
+ '[FileOpenDBRepID]', '[FileOpenDatabase]', '[FileNewReplica]',
+ '[FileNewDatabase]', '[FileImport]', '[FileFullTextUpdate]',
+ '[FileFullTextInfo]', '[FileFullTextDelete]',
+ '[FileFullTextCreate]', '[FileExport]', '[FileExit]',
+ '[FileDatabaseUseServer]', '[FileDatabaseRemove]',
+ '[FileDatabaseInfo]', '[FileDatabaseDelete]', '[FileDatabaseCopy]',
+ '[FileDatabaseCompact]', '[FileDatabaseACL]', '[FileCloseWindow]',
+ '[ExitNotes]', '[Execute]', '[ExchangeUnreadMarks]', '[EmptyTrash]',
+ '[EditUp]', '[EditUntruncate]', '[EditUndo]', '[EditTop]',
+ '[EditTableInsertRowColumn]', '[EditTableFormat]',
+ '[EditTableDeleteRowColumn]', '[EditShowHideHiddenChars]',
+ '[EditSelectByDate]', '[EditSelectAll]', '[EditRight]',
+ '[EditRestoreDocument]', '[EditResizePicture]',
+ '[EditQuoteSelection]', '[EditProfileDocument]', '[EditProfile]',
+ '[EditPrevField]', '[EditPhoneNumbers]', '[EditPasteSpecial]',
+ '[EditPaste]', '[EditOpenLink]', '[EditNextField]',
+ '[EditMakeDocLink]', '[EditLocations]', '[EditLinks]', '[EditLeft]',
+ '[EditInsertText]', '[EditInsertTable]', '[EditInsertPopup]',
+ '[EditInsertPageBreak]', '[EditInsertObject]',
+ '[EditInsertFileAttachment]', '[EditInsertButton]',
+ '[EditIndentFirstLine]', '[EditIndent]', '[EditHorizScrollbar]',
+ '[EditHeaderFooter]', '[EditGotoField]', '[EditFindNext]',
+ '[EditFindInPreview]', '[EditFind]', '[EditEncryptionKeys]',
+ '[EditDown]', '[EditDocument]', '[EditDetach]', '[EditDeselectAll]',
+ '[EditCut]', '[EditCopy]', '[EditClear]', '[EditButton]',
+ '[EditBottom]', '[DiscoverFolders]', '[Directories]',
+ '[DialingRules]', '[DesignViewSelectFormula]', '[DesignViews]',
+ '[DesignViewNewColumn]', '[DesignViewFormFormula]',
+ '[DesignViewEditActions]', '[DesignViewColumnDef]',
+ '[DesignViewAttributes]', '[DesignViewAppendColumn]',
+ '[DesignSynopsis]', '[DesignSharedFields]', '[DesignReplace]',
+ '[DesignRefresh]', '[DesignMacros]', '[DesignIcon]',
+ '[DesignHelpUsingDocument]', '[DesignHelpAboutDocument]',
+ '[DesignFormWindowTitle]', '[DesignFormUseField]',
+ '[DesignFormShareField]', '[DesignForms]', '[DesignFormNewField]',
+ '[DesignFormFieldDef]', '[DesignFormAttributes]',
+ '[DesignDocumentInfo]', '[DebugLotusScript]',
+ '[DatabaseReplSettings]', '[DatabaseDelete]', '[CreateView]',
+ '[CreateTextbox]', '[CreateSubForm]', '[CreateSection]',
+ '[CreateRectangularHotspot]', '[CreateRectangle]',
+ '[CreatePolyline]', '[CreatePolygon]', '[CreateNavigator]',
+ '[CreateLayoutRegion]', '[CreateForm]', '[CreateFolder]',
+ '[CreateEllipse]', '[CreateControlledAccessSection]',
+ '[CreateAgent]', '[CreateAction]', '[CopySelectedAsTable]',
+ '[ComposeWithReference]', '[Compose]', '[CloseWindow]', '[Clear]',
+ '[ChooseFolders]', '[CalendarGoTo]', '[CalendarFormat]',
+ '[AttachmentView]', '[AttachmentProperties]', '[AttachmentLaunch]',
+ '[AttachmentDetachAll]', '[AgentTestRun]', '[AgentSetServerName]',
+ '[AgentRun]', '[AgentLog]', '[AgentEnableDisable]', '[AgentEdit]',
+ '[AdminTraceConnection]', '[AdminStatisticsConfig]',
+ '[AdminSendMailTrace]', '[AdminRemoteConsole]',
+ '[AdminRegisterUser]', '[AdminRegisterServer]',
+ '[AdminRegisterFromFile]', '[AdminOutgoingMail]',
+ '[AdminOpenUsersView]', '[AdminOpenStatistics]',
+ '[AdminOpenServersView]', '[AdminOpenServerLog]',
+ '[AdminOpenGroupsView]', '[AdminOpenCertLog]', '[AdminOpenCatalog]',
+ '[AdminOpenAddressBook]', '[AdminNewOrgUnit]',
+ '[AdminNewOrganization]', '[Administration]',
+ '[AdminIDFileSetPassword]', '[AdminIDFileExamine]',
+ '[AdminIDFileClearPassword]', '[AdminDatabaseQuotas]',
+ '[AdminDatabaseAnalysis]', '[AdminCrossCertifyKey]',
+ '[AdminCrossCertifyIDFile]', '[AdminCreateGroup]', '[AdminCertify]',
+ '[AddToIMContactList]', '[AddDatabaseRepID]', '[AddDatabase]',
+ '[AddBookmark]'
+ ),
+ 2 => array(
+ 'SELECT', 'FIELD', 'ENVIRONMENT', 'DEFAULT', '@Zone ', '@Yesterday',
+ '@Yes', '@Year', '@Word', '@Wide', '@While', '@Weekday',
+ '@WebDbName', '@ViewTitle', '@ViewShowThisUnread', '@Version',
+ '@VerifyPassword', '@ValidateInternetAddress', '@V4UserAccess',
+ '@V3UserName', '@V2If', '@UserRoles', '@UserPrivileges',
+ '@UserNamesList', '@UserNameLanguage', '@UserName', '@UserAccess',
+ '@UrlQueryString', '@URLOpen', '@URLHistory', '@URLGetHeader',
+ '@URLEncode', '@URLDecode', '@UpperCase', '@UpdateFormulaContext',
+ '@Unique', '@UndeleteDocument', '@Unavailable', '@True', '@Trim',
+ '@Transform', '@ToTime', '@ToNumber', '@Tomorrow', '@Today',
+ '@TimeZoneToText', '@TimeToTextInZone', '@TimeMerge', '@Time',
+ '@ThisValue', '@ThisName', '@TextToTime', '@TextToNumber', '@Text',
+ '@TemplateVersion', '@Tan', '@Sum', '@Success', '@Subset',
+ '@StatusBar', '@Sqrt', '@Soundex', '@Sort', '@Sin', '@Sign',
+ '@SetViewInfo', '@SetTargetFrame', '@SetProfileField',
+ '@SetHTTPHeader', '@SetField', '@SetEnvironment', '@SetDocField',
+ '@Set', '@ServerName', '@ServerAccess', '@Select', '@Second',
+ '@Round', '@RightBack', '@Right', '@Return', '@Responses',
+ '@ReplicaID', '@ReplaceSubstring', '@Replace', '@Repeat',
+ '@RegQueryValue', '@RefreshECL', '@Random', '@ProperCase',
+ '@Prompt', '@Power', '@PostedCommand', '@PolicyIsFieldLocked',
+ '@Platform', '@PickList', '@Pi', '@PasswordQuality', '@Password',
+ '@OrgDir', '@OptimizeMailAddress', '@OpenInNewWindow', '@Now',
+ '@Nothing', '@NoteID', '@No', '@NewLine', '@Narrow', '@NameLookup',
+ '@Name', '@Month', '@Modulo', '@Modified', '@Minute', '@Min',
+ '@MiddleBack', '@Middle', '@Member', '@Max', '@Matches',
+ '@MailSignPreference', '@MailSend', '@MailSavePreference',
+ '@MailEncryptSentPreference', '@MailEncryptSavedPreference',
+ '@MailDbName', '@LowerCase', '@Log', '@Locale', '@Ln', '@Like',
+ '@Length', '@LeftBack', '@Left', '@LDAPServer', '@LaunchApp',
+ '@LanguagePreference', '@Keywords', '@IsVirtualizedDirectory',
+ '@IsValid', '@IsUsingJavaElement', '@IsUnavailable', '@IsTime',
+ '@IsText', '@IsResponseDoc', '@IsNumber', '@IsNull', '@IsNotMember',
+ '@IsNewDoc', '@IsModalHelp', '@IsMember', '@IsExpandable',
+ '@IsError', '@IsEmbeddedInsideWCT', '@IsDocTruncated',
+ '@IsDocBeingSaved', '@IsDocBeingRecalculated', '@IsDocBeingMailed',
+ '@IsDocBeingLoaded', '@IsDocBeingEdited', '@IsDB2', '@IsCategory',
+ '@IsAvailable', '@IsAppInstalled', '@IsAgentEnabled', '@Integer',
+ '@InheritedDocumentUniqueID', '@Implode', '@IfError', '@If',
+ '@Hour', '@HashPassword', '@HardDeleteDocument', '@GetViewInfo',
+ '@GetProfileField', '@GetPortsList', '@GetIMContactListGroupNames',
+ '@GetHTTPHeader', '@GetFocusTable', '@GetField', '@GetDocField',
+ '@GetCurrentTimeZone', '@GetAddressBooks', '@FormLanguage', '@For',
+ '@FontList', '@FloatEq', '@FileDir', '@False', '@Failure',
+ '@Explode', '@Exp', '@Eval', '@Error', '@Environment', '@Ends',
+ '@EnableAlarms', '@Elements', '@EditUserECL', '@EditECL',
+ '@DoWhile', '@Domain', '@DocumentUniqueID', '@DocSiblings',
+ '@DocParentNumber', '@DocOmmittedLength', '@DocNumber', '@DocMark',
+ '@DocLock', '@DocLevel', '@DocLength', '@DocFields',
+ '@DocDescendants', '@DocChildren', '@Do', '@DialogBox',
+ '@DeleteField', '@DeleteDocument', '@DDETerminate', '@DDEPoke',
+ '@DDEInitiate', '@DDEExecute', '@DbTitle', '@DbName', '@DbManager',
+ '@DbLookup', '@DbExists', '@DbCommand', '@DbColumn', '@DB2Schema',
+ '@Day', '@Date', '@Created', '@Count', '@Cos', '@Contains',
+ '@ConfigFile', '@Compare', '@Command', '@ClientType',
+ '@CheckFormulaSyntax', '@CheckAlarms', '@Char', '@Certificate',
+ '@BusinessDays', '@BrowserInfo', '@Begins', '@Author',
+ '@Attachments', '@AttachmentNames', '@AttachmentModifiedTimes',
+ '@AttachmentLengths', '@ATan2', '@ATan', '@ASin', '@Ascii',
+ '@AllDescendants', '@AllChildren', '@All', '@AdminECLIsLocked',
+ '@Adjust', '@AddToFolder', '@ACos', '@Accessed', '@AbstractSimple',
+ '@Abstract', '@Abs'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #800000;',
+ 2 => 'color: #0000FF;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #FF00FF;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #FF00FF;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #0000AA;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 2
+ );
+
+?>
diff --git a/application/libraries/geshi/lotusscript.php b/application/libraries/geshi/lotusscript.php
new file mode 100644
index 000000000..5c1d61f92
--- /dev/null
+++ b/application/libraries/geshi/lotusscript.php
@@ -0,0 +1,191 @@
+<?php
+/**
+ * lotusscript.php
+ * ------------------------
+ * 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
+ * Date Started: 2008/04/12
+ *
+ * LotusScript language file for GeSHi.
+ *
+ * LotusScript source: IBM Lotus Notes/Domino 8 Designer Help
+ *
+ * CHANGES
+ * -------
+ * 2008/04/12 (1.0.7.22)
+ * - First Release
+ *
+ * TODO (2008/04/12)
+ * -----------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'LotusScript',
+ 'COMMENT_SINGLE' => array(1 => "'"),
+ 'COMMENT_MULTI' => array('%REM' => '%END REM'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"' , "|"),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array (
+ 'Yield', 'Year', 'Xor', 'Write', 'With', 'Width', 'While', 'Wend',
+ 'Weekday', 'VarType', 'Variant', 'Val', 'UString', 'UString$',
+ 'UseLSX', 'Use', 'Until', 'Unlock', 'Unicode', 'Uni', 'UChr',
+ 'UChr$', 'UCase', 'UCase$', 'UBound', 'TypeName', 'Type', 'TRUE',
+ 'Trim', 'Trim$', 'Today', 'To', 'TimeValue', 'TimeSerial', 'Timer',
+ 'TimeNumber', 'Time', 'Time$', 'Then', 'Text', 'Tan', 'Tab', 'Sub',
+ 'StrToken', 'StrToken$', 'StrRightBack', 'StrRightBack$',
+ 'StrRight', 'StrRight$', 'StrLeftBack', 'StrLeftBack$', 'StrLeft',
+ 'StrLeft$', 'String', 'String$', 'StrConv', 'StrCompare', 'StrComp',
+ 'Str', 'Str$', 'Stop', 'Step', 'Static', 'Sqr', 'Split', 'Spc',
+ 'Space', 'Space$', 'Sleep', 'Single', 'Sin', 'Shell', 'Shared',
+ 'Sgn', 'SetFileAttr', 'SetAttr', 'Set', 'SendKeys', 'Select',
+ 'Seek', 'Second', 'RTrim', 'RTrim$', 'RSet', 'Round', 'Rnd',
+ 'RmDir', 'RightC', 'RightC$', 'RightBP', 'RightBP$', 'RightB',
+ 'RightB$', 'Right', 'Right$', 'Return', 'Resume', 'Reset',
+ 'Replace', 'Remove', 'Rem', 'ReDim', 'Read', 'Randomize',
+ 'Random', 'Put', 'Public', 'Property', 'Private', 'Print',
+ 'Preserve', 'Pitch', 'PI', 'Output', 'Or', 'Option', 'Open', 'On',
+ 'Oct', 'Oct$', 'NULL', 'Now', 'NOTHING', 'Not', 'NoPitch', 'NoCase',
+ 'Next', 'New', 'Name', 'MsgBox', 'Month', 'Mod', 'MkDir', 'Minute',
+ 'MidC', 'MidC$', 'MidBP', 'MidBP$', 'MidB', 'MidB$', 'Mid', 'Mid$',
+ 'MessageBox', 'Me', 'LTrim', 'LTrim$', 'LSServer', 'LSI_Info',
+ 'LSet', 'Loop', 'Long', 'Log', 'LOF', 'Lock', 'LOC', 'LMBCS',
+ 'ListTag', 'List', 'Line', 'Like', 'Lib', 'Let', 'LenC', 'LenBP',
+ 'LenB', 'Len', 'LeftC', 'LeftC$', 'LeftBP', 'LeftBP$', 'LeftB',
+ 'LeftB$', 'Left', 'Left$', 'LCase', 'LCase$', 'LBound', 'Kill',
+ 'Join', 'IsUnknown', 'IsScalar', 'IsObject', 'IsNumeric', 'IsNull',
+ 'IsList', 'IsEmpty', 'IsElement', 'IsDate', 'IsArray', 'IsA', 'Is',
+ 'Integer', 'Int', 'InStrC', 'InStrBP', 'InStrB', 'InStr', 'InputBP',
+ 'InputBP$', 'InputBox', 'InputBox$', 'InputB', 'InputB$', 'Input',
+ 'Input$', 'In', 'IMSetMode', 'Implode', 'Implode$', 'Imp',
+ 'IMEStatus', 'If', 'Hour', 'Hex', 'Hex$', 'Goto', 'GoSub',
+ 'GetThreadInfo', 'GetFileAttr', 'GetAttr', 'Get', 'Function',
+ 'FullTrim', 'From', 'FreeFile', 'Fraction', 'Format', 'Format$',
+ 'ForAll', 'For', 'Fix', 'FileLen', 'FileDateTime', 'FileCopy',
+ 'FileAttr', 'FALSE', 'Explicit', 'Exp', 'Exit', 'Execute', 'Event',
+ 'Evaluate', 'Error', 'Error$', 'Err', 'Erl', 'Erase', 'Eqv', 'EOF',
+ 'Environ', 'Environ$', 'End', 'ElseIf', 'Else', 'Double', 'DoEvents',
+ 'Do', 'Dir', 'Dir$', 'Dim', 'DestroyLock', 'Delete', 'DefVar',
+ 'DefStr', 'DefSng', 'DefLng', 'DefInt', 'DefDbl', 'DefCur',
+ 'DefByte', 'DefBool', 'Declare', 'Day', 'DateValue', 'DateSerial',
+ 'DateNumber', 'Date', 'Date$', 'DataType', 'CVDate', 'CVar',
+ 'Currency', 'CurDrive', 'CurDrive$', 'CurDir', 'CurDir$', 'CStr',
+ 'CSng', 'CreateLock', 'Cos', 'Const', 'Compare', 'Command',
+ 'Command$', 'CodeUnlock', 'CodeLockCheck', 'CodeLock', 'Close',
+ 'CLng', 'Class', 'CInt', 'Chr', 'Chr$', 'ChDrive', 'ChDir', 'CDbl',
+ 'CDat', 'CCur', 'CByte', 'CBool', 'Case', 'Call', 'ByVal', 'Byte',
+ 'Boolean', 'Bind', 'Binary', 'Bin', 'Bin$', 'Beep', 'Base', 'Atn2',
+ 'Atn', 'ASin', 'Asc', 'As', 'ArrayUnique', 'ArrayReplace',
+ 'ArrayGetIndex', 'ArrayAppend', 'Append', 'AppActivate', 'Any',
+ 'And', 'Alias', 'ActivateApp', 'ACos', 'Access', 'Abs', '%Include',
+ '%If', '%END', '%ElseIf', '%Else'
+ ),
+ 2 => array (
+ 'NotesXSLTransformer', 'NotesXMLProcessor', 'NotesViewNavigator',
+ 'NotesViewEntryCollection', 'NotesViewEntry', 'NotesViewColumn',
+ 'NotesView', 'NotesUIWorkspace', 'NotesUIView', 'NotesUIScheduler',
+ 'NotesUIDocument', 'NotesUIDatabase', 'NotesTimer', 'NotesStream',
+ 'NotesSession', 'NotesSAXParser', 'NotesSAXException',
+ 'NotesSAXAttributeList', 'NotesRichTextTable', 'NotesRichTextTab',
+ 'NotesRichTextStyle', 'NotesRichTextSection', 'NotesRichTextRange',
+ 'NotesRichTextParagraphStyle', 'NotesRichTextNavigator',
+ 'NotesRichTextItem', 'NotesRichTextDocLink',
+ 'NotesReplicationEntry', 'NotesReplication', 'NotesRegistration',
+ 'NotesOutlineEntry', 'NotesOutline', 'NotesNoteCollection',
+ 'NotesNewsLetter', 'NotesName', 'NotesMIMEHeader',
+ 'NotesMIMEEntity', 'NotesLog', 'NotesItem', 'NotesInternational',
+ 'NotesForm', 'NotesEmbeddedObject', 'NotesDXLImporter',
+ 'NotesDXLExporter', 'NotesDOMXMLDeclNode', 'NotesDOMTextNode',
+ 'NotesDOMProcessingInstructionNode', 'NotesDOMParser',
+ 'NotesDOMNotationNode', 'NotesDOMNodeList', 'NotesDOMNode',
+ 'NotesDOMNamedNodeMap', 'NotesDOMEntityReferenceNode',
+ 'NotesDOMEntityNode', 'NotesDOMElementNode',
+ 'NotesDOMDocumentTypeNode', 'NotesDOMDocumentNode',
+ 'NotesDOMDocumentFragmentNode', 'NotesDOMCommentNode',
+ 'NotesDOMCharacterDataNote', 'NotesDOMCDATASectionNode',
+ 'NotesDOMAttributeNode', 'NotesDocumentCollection', 'NotesDocument',
+ 'NotesDbDirectory', 'NotesDateTime', 'NotesDateRange',
+ 'NotesDatabase', 'NotesColorObject', 'NotesAgent',
+ 'NotesAdministrationProcess', 'NotesACLEntry', 'NotesACL',
+ 'Navigator', 'Field', 'Button'
+ )
+ ) ,
+ 'SYMBOLS' => array(
+ '(', ')'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000FF;',
+ 2 => 'color: #0000EE;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #FF00FF;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #0000AA;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #006600;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 2
+);
+
+?>
diff --git a/application/libraries/geshi/lscript.php b/application/libraries/geshi/lscript.php
new file mode 100644
index 000000000..33cd0163d
--- /dev/null
+++ b/application/libraries/geshi/lscript.php
@@ -0,0 +1,387 @@
+<?php
+/*************************************************************************************
+ * lscript.php
+ * ---------
+ * Author: Arendedwinter (admin@arendedwinter.com)
+ * Copyright: (c) 2008 Beau McGuigan (http://www.arendedwinter.com)
+ * Release Version: 1.0.8.6
+ * Date Started: 15/11/2008
+ *
+ * Lightwave Script language file for GeSHi.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'LScript',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ //Yes, I'm aware these are out of order,
+ //I had to rearrange and couldn't be bothered changing the numbers...
+ 7 => array(
+ '@data', '@define', '@else', '@end', '@fpdepth', '@if', '@include',
+ '@insert', '@library', '@localipc', '@name', '@save', '@script',
+ '@sequence', '@version', '@warnings'
+ ),
+ 1 => array(
+ 'break', 'case', 'continue', 'else', 'end', 'false', 'for',
+ 'foreach', 'if', 'return', 'switch', 'true', 'while',
+ ),
+ 3 => array(
+ 'active', 'alertlevel', 'alpha', 'alphaprefix', 'animfilename', 'autokeycreate',
+ 'backdroptype', 'blue', 'boxthreshold', 'button',
+ 'channelsvisible', 'childrenvisible', 'compfg', 'compbg', 'compfgalpha',
+ 'coneangles', 'cosine', 'count', 'ctl', 'curFilename', 'curFrame',
+ 'currenttime', 'curTime', 'curType',
+ 'depth', 'diffshade', 'diffuse', 'dimensions', 'displayopts', 'dynamicupdate',
+ 'end', 'eta',
+ 'filename', 'flags', 'fogtype', 'fps', 'frame', 'frameend', 'frameheight',
+ 'framestart', 'framestep', 'framewidth',
+ 'generalopts', 'genus', 'geometry', 'gNorm', 'goal', 'green',
+ 'h', 'hasAlpha', 'height',
+ 'id', 'innerlimit', 'isColor',
+ 'keyCount', 'keys',
+ 'limiteregion', 'locked', 'luminous',
+ 'maxsamplesperpixel', 'minsamplesperpixel', 'mirror', 'motionx', 'motiony',
+ 'name', 'newFilename', 'newFrame', 'newTime', 'newType', 'null', 'numthreads',
+ 'objID', 'oPos', 'outerlimit', 'oXfrm',
+ 'parent', 'pixel', 'pixelaspect', 'point', 'points', 'pointcount', 'polNum',
+ 'polycount', 'polygon', 'polygons', 'postBehavior', 'preBehavior', 'previewend',
+ 'previewstart', 'previewstep',
+ 'range', 'rawblue', 'rawgreen', 'rawred', 'rayLength', 'raySource', 'red',
+ 'reflectblue', 'reflectgreen', 'reflectred', 'recursiondepth', 'renderend',
+ 'renderopts', 'renderstart', 'renderstep', 'rendertype', 'restlength',
+ 'rgbprefix', 'roughness',
+ 'selected', 'setColor', 'setPattern', 'shading', 'shadow', 'shadows',
+ 'shadowtype', 'size', 'source', 'special', 'specshade', 'specular',
+ 'spotsize', 'start', 'sx', 'sy', 'sz',
+ 'target', 'totallayers', 'totalpoints', 'totalpolygons', 'trans', 'transparency',
+ 'type',
+ 'value', 'view', 'visible', 'visibility',
+ 'w', 'width', 'wNorm', 'wPos', 'wXfrm',
+ 'x', 'xoffset',
+ 'y', 'yoffset',
+ 'z'
+ ),
+ 4 => array(
+ 'addLayer', 'addParticle', 'alphaspot', 'ambient', 'asAsc', 'asBin',
+ 'asInt', 'asNum', 'asStr', 'asVec', 'attach', 'axislocks',
+ 'backdropColor', 'backdropRay', 'backdropSqueeze', 'bone', 'blurLength',
+ 'close', 'color', 'contains', 'copy', 'createKey',
+ 'deleteKey', 'detach', 'drawCircle', 'drawLine', 'drawPoint', 'drawText',
+ 'drawTriangle',
+ 'edit', 'eof', 'event',
+ 'firstChannel', 'firstLayer', 'firstSelect', 'focalLength', 'fogColor',
+ 'fogMaxAmount', 'fogMaxDist', 'fogMinAmount', 'fogMinDist',
+ 'fovAngles', 'fStop', 'firstChild', 'focalDistance',
+ 'get', 'getChannelGroup', 'getEnvelope', 'getForward', 'getKeyBias',
+ 'getKeyContinuity', 'getKeyCurve', 'getKeyHermite', 'getKeyTension',
+ 'getKeyTime', 'getKeyValue', 'getParticle', 'getPivot', 'getPosition',
+ 'getRight', 'getRotation', 'getSelect', 'getScaling', 'getTag', 'getTexture',
+ 'getUp', 'getValue', 'getWorldPosition', 'getWorldForward', 'getWorldRight',
+ 'getWorldRotation', 'getWorldUp', 'globalBlur', 'globalMask', 'globalResolution',
+ 'hasCCEnd', 'hasCCStart',
+ 'illuminate', 'indexOf', 'isAscii', 'isAlnum', 'isAlpha', 'isBone',
+ 'isCamera', 'isChannel', 'isChannelGroup', 'isCntrl', 'isCurve', 'isDigit',
+ 'isEnvelope', 'isImage', 'isInt', 'isLight', 'isLower', 'isMapped', 'isMesh',
+ 'isNil', 'isNum', 'IsOpen', 'isOriginal', 'isPrint', 'isPunct', 'isScene',
+ 'isSpace', 'isStr', 'isUpper', 'isValid', 'isVMap', 'isVec', 'isXDigit',
+ 'keyExists',
+ 'layer', 'layerName', 'layerVisible', 'limits', 'line', 'linecount', 'load', 'luma',
+ 'next', 'nextLayer', 'nextSelect', 'nextChannel', 'nextChild', 'nl',
+ 'offset', 'open',
+ 'pack', 'param', 'parse', 'paste', 'persist', 'polygonCount', 'position',
+ 'rayCast', 'rayTrace', 'read', 'readByte', 'readInt', 'readNumber',
+ 'readDouble', 'readShort', 'readString', 'readVector', 'reduce',
+ 'remParticle', 'renderCamera', 'reopen', 'replace', 'reset', 'restParam',
+ 'rewind', 'rgb', 'rgbambient', 'rgbcolor', 'rgbspot',
+ 'save', 'schemaPosition', 'select', 'set', 'setChannelGroup', 'setKeyBias',
+ 'setKeyContinuity', 'setKeyCurve',
+ 'setKeyHermite', 'setKeyTension', 'setKeyValue', 'setParticle', 'setPoints',
+ 'setTag', 'setValue', 'server', 'serverFlags', 'sortA', 'sortD', 'surface',
+ 'trunc',
+ 'write', 'writeln', 'writeByte', 'writeData', 'writeNumber', 'writeDouble',
+ 'writeShort', 'writeString', 'writeVector',
+ 'vertex', 'vertexCount',
+ 'zoomFactor'
+ ),
+ 2 => array(
+ 'abs', 'acos', 'angle', 'append', 'ascii', 'asin', 'atan',
+ 'binary',
+ 'ceil', 'center', 'chdir', 'clearimage', 'cloned', 'comringattach',
+ 'comringdecode', 'comringdetach', 'comringencode', 'comringmsg', 'cos',
+ 'cosh', 'cot', 'cross2d', 'cross3d', 'csc', 'ctlstring', 'ctlinteger',
+ 'ctlnumber', 'ctlvector', 'ctldistance', 'ctlchoice', 'ctltext',
+ 'ctlcolor', 'ctlsurface', 'ctlfont', 'ctlpopup', 'ctledit', 'ctlpercent',
+ 'ctlangle', 'ctlrgb', 'ctlhsv', 'ctlcheckbox', 'ctlstate', 'ctlfilename',
+ 'ctlbutton', 'ctllistbox', 'ctlslider', 'ctlminislider', 'ctlsep', 'ctlimage',
+ 'ctltab', 'ctlallitems', 'ctlmeshitems', 'ctlcameraitems', 'ctllightitems',
+ 'ctlboneitems', 'ctlimageitems', 'ctlchannel', 'ctlviewport', 'Control_Management',
+ 'ctlpage', 'ctlgroup', 'ctlposition', 'ctlactive', 'ctlvisible', 'ctlalign',
+ 'ctlrefresh', 'ctlmenu', 'ctlinfo',
+ 'date', 'debug', 'deg', 'dot2d', 'dot3d', 'drawborder', 'drawbox', 'drawcircle',
+ 'drawelipse', 'drawerase', 'drawfillcircle', 'drawfillelipse', 'drawline',
+ 'drawpixel', 'drawtext', 'drawtextwidth', 'drawtextheight', 'dump',
+ 'error', 'exp', 'expose', 'extent',
+ 'fac', 'filecrc', 'filedelete', 'fileexists', 'filefind', 'filerename',
+ 'filestat', 'floor', 'format', 'frac', 'fullpath',
+ 'gamma', 'getdir', 'getenv', 'getfile', 'getfirstitem', 'getsep', 'getvalue',
+ 'globalrecall', 'globalstore',
+ 'hash', 'hex', 'hostBuild', 'hostVersion', 'hypot',
+ 'info', 'integer',
+ 'library', 'licenseId', 'lscriptVersion', 'load', 'loadimage', 'log', 'log10',
+ 'matchdirs', 'matchfiles', 'max', 'min', 'mkdir', 'mod', 'monend', 'moninit', 'monstep',
+ 'nil', 'normalize', 'number',
+ 'octal', 'overlayglyph',
+ 'parse', 'platform', 'pow',
+ 'rad', 'random', 'randu', 'range', 'read', 'readdouble', 'readInt', 'readNumber',
+ 'readShort', 'recall', 'regexp', 'reqabort', 'reqbegin', 'reqend', 'reqisopen',
+ 'reqkeyboard', 'reqopen', 'reqposition', 'reqpost', 'reqredraw',
+ 'reqsize', 'reqresize', 'requpdate', 'rmdir', 'round', 'runningUnder',
+ 'save', 'sec', 'select', 'selector', 'setdesc', 'setvalue', 'sin', 'sinh', 'size',
+ 'sizeof', 'sleep', 'spawn', 'split', 'sqrt', 'step', 'store', 'string', 'strleft',
+ 'strlower', 'strright', 'strsub', 'strupper',
+ 'tan', 'tanh', 'targetobject', 'terminate', 'text', 'time',
+ 'wait', 'warn', 'when', 'write', 'writeDouble', 'writeInt', 'writeNumber', 'writeShort',
+ 'var', 'vector', 'visitnodes', 'vmag',
+ ),
+ 5 => array(
+ 'addcurve', 'addpoint', 'addpolygon', 'addquad', 'addtriangle', 'alignpols',
+ 'autoflex', 'axisdrill',
+ 'bend', 'bevel', 'boolean', 'boundingbox',
+ 'changepart', 'changesurface', 'close', 'closeall', 'cmdseq', 'copy', 'copysurface',
+ 'createsurface', 'cut',
+ 'deformregion', 'delete',
+ 'editbegin', 'editend', 'exit', 'extrude',
+ 'fixedflex', 'flip', 'fontclear', 'fontcount', 'fontindex', 'fontload',
+ 'fontname', 'fracsubdivide', 'freezecurves',
+ 'getdefaultsurface',
+ 'jitter',
+ 'lathe', 'layerName', 'layerVisible', 'lyrbg', 'lyrdata', 'lyrempty', 'lyremptybg',
+ 'lyremptyfg', 'lyrfg', 'lyrsetbg', 'lyrsetfg', 'lyrswap',
+ 'magnet', 'make4patch', 'makeball', 'makebox', 'makecone', 'makedisc',
+ 'maketesball', 'maketext', 'mergepoints', 'mergepols', 'meshedit', 'mirror',
+ 'morphpols', 'move',
+ 'new', 'nextsurface',
+ 'paste', 'pathclone', 'pathextrude', 'pixel', 'pointcount', 'pointinfo',
+ 'pointmove', 'pole', 'polycount', 'polyinfo', 'polynormal', 'polypointcount',
+ 'polypoints', 'polysurface',
+ 'quantize',
+ 'railclone', 'railextrude', 'redo', 'removepols', 'rempoint', 'rempoly',
+ 'renamesurface', 'revert', 'rotate',
+ 'scale', 'selhide', 'selinvert', 'selmode', 'selpoint', 'selpolygon', 'selunhide',
+ 'selectvmap', 'setlayername', 'setobject', 'setpivot', 'setsurface', 'shapebevel',
+ 'shear', 'skinpols', 'smooth', 'smoothcurves', 'smoothscale', 'smoothshift',
+ 'soliddrill', 'splitpols', 'subdivide', 'swaphidden',
+ 'taper', 'triple', 'toggleCCend', 'toggleCCstart', 'togglepatches', 'twist',
+ 'undo', 'undogroupend', 'undogroupbegin', 'unifypols', 'unweld',
+ 'vortex',
+ 'weldaverage', 'weldpoints'
+ ),
+ 6 => array(
+ 'About', 'AboutOpenGL', 'AdaptiveSampling', 'AdaptiveThreshold',
+ 'AddAreaLight', 'AddBone', 'AddButton', 'AddCamera', 'AddChildBone',
+ 'AddDistantLight', 'AddEnvelope', 'AddLinearLight', 'AddNull',
+ 'AddPartigon', 'AddPlugins', 'AddPointLight', 'AddPosition',
+ 'AddRotation', 'AddScale', 'AddSpotlight', 'AddToSelection',
+ 'AdjustRegionTool', 'AffectCaustics', 'AffectDiffuse', 'AffectOpenGL',
+ 'AffectSpecular', 'AlertLevel', 'AmbientColor', 'AmbientIntensity',
+ 'Antialiasing', 'ApertureHeight', 'ApplyServer', 'AreaLight',
+ 'AutoConfirm', 'AutoFrameAdvance', 'AutoKey',
+ 'BackdropColor', 'BackView', 'BController', 'BLimits', 'BLurLength', 'BoneActive',
+ 'BoneFalloffType', 'BoneJointComp', 'BoneJointCompAmounts', 'BoneJointCompParent',
+ 'BoneLimitedRange', 'BoneMaxRange', 'BoneMinRange', 'BoneMuscleFlex',
+ 'BoneMuscleFlexAmounts', 'BoneMuscleFlexParent', 'BoneNormalization',
+ 'BoneRestLength', 'BoneRestPosition', 'BoneRestRotation', 'BoneSource',
+ 'BoneStrength', 'BoneStrengthMultiply', 'BoneWeightMapName', 'BoneWeightMapOnly',
+ 'BoneWeightShade', 'BoneXRay', 'BottomView', 'BoundingBoxThreshold',
+ 'BStiffness',
+ 'CacheCaustics', 'CacheRadiosity', 'CacheShadowMap',
+ 'CameraMask', 'CameraView', 'CameraZoomTool', 'CastShadow', 'CausticIntensity',
+ 'CenterItem', 'CenterMouse', 'ChangeTool', 'ClearAllBones', 'ClearAllCameras',
+ 'ClearAllLights', 'ClearAllObjects', 'ClearAudio', 'ClearScene', 'ClearSelected',
+ 'Clone', 'CommandHistory', 'CommandInput', 'Compositing', 'ConeAngleTool',
+ 'ContentDirectory', 'CreateKey',
+ 'DecreaseGrid', 'DeleteKey', 'DepthBufferAA', 'DepthOfField', 'DisplayOptions',
+ 'DistantLight', 'DrawAntialiasing', 'DrawBones', 'DrawChildBones', 'DynamicUpdate',
+ 'EditBones', 'EditCameras', 'EditKeys', 'EditLights',
+ 'EditMenus', 'EditObjects', 'EditPlugins', 'EditServer', 'EnableCaustics',
+ 'EnableDeformations', 'EnableIK', 'EnableLensFlares', 'EnableRadiosity', 'EnableServer',
+ 'EnableShadowMaps', 'EnableVIPER', 'EnableVolumetricLights', 'EnableXH',
+ 'EnableYP', 'EnableZB', 'EnahancedAA', 'ExcludeLight', 'ExcludeObject',
+ 'EyeSeparation',
+ 'FasterBones', 'FirstFrame', 'FirstItem', 'FitAll', 'FitSelected',
+ 'FlareIntensity', 'FlareOptions', 'FocalDistance', 'FogColor', 'FogMaxAmount',
+ 'FogMaxDistance', 'FogMinAmount', 'FogMinDistance', 'FogType', 'FractionalFrames',
+ 'FrameSize', 'FramesPerSecond', 'FrameStep', 'FreePreview', 'FrontView', 'FullTimeIK',
+ 'GeneralOptions', 'Generics', 'GlobalApertureHeight', 'GlobalBlurLength',
+ 'GlobalFrameSize', 'GlobalIllumination', 'GlobalMaskPosition', 'GlobalMotionBlur',
+ 'GlobalParticleBlur', 'GlobalPixelAspect', 'GlobalResolutionMulitplier', 'GoalItem',
+ 'GoalStrength', 'GoToFrame', 'GradientBackdrop', 'GraphEditor', 'GridSize', 'GroundColor',
+ 'HController', 'HideToolbar', 'HideWindows', 'HLimits', 'HStiffness',
+ 'ImageEditor', 'ImageProcessing', 'IncludeLight', 'IncludeObject', 'IncreaseGrid',
+ 'IndirectBounces', 'Item_SetWindowPos', 'ItemActive', 'ItemColor', 'ItemLock',
+ 'ItemProperties', 'ItemVisibilty',
+ 'KeepGoalWithinReach',
+ 'LastFrame', 'LastItem', 'LastPluginInterface', 'Layout_SetWindowPos',
+ 'Layout_SetWindowSize', 'LeftView', 'LensFlare', 'LensFStop', 'LightColor',
+ 'LightConeAngle', 'LightEdgeAngle', 'LightFalloffType', 'LightIntensity',
+ 'LightIntensityTool', 'LightQuality', 'LightRange', 'LightView', 'LimitB',
+ 'LimitDynamicRange', 'LimitedRegion', 'LimitH', 'LimitP', 'LinearLight',
+ 'LoadAudio', 'LoadFromScene', 'LoadMotion', 'LoadObject', 'LoadObjectLayer',
+ 'LoadPreview', 'LoadScene', 'LocalCoordinateSystem',
+ 'MakePreview', 'MaskColor', 'MaskPosition', 'MasterPlugins', 'MatchGoalOrientation',
+ 'MatteColor', 'MatteObject', 'MetaballResolution', 'Model', 'MorphAmount',
+ 'MorphAmountTool', 'MorphMTSE', 'MorphSurfaces', 'MorphTarget', 'MotionBlur',
+ 'MotionBlurDOFPreview', 'MotionOptions', 'MovePathTool', 'MovePivotTool', 'MoveTool',
+ 'NadirColor', 'NetRender', 'NextFrame', 'NextItem', 'NextKey', 'NextSibling',
+ 'NextViewLayout', 'NoiseReduction', 'Numeric',
+ 'ObjectDissolve',
+ 'ParentCoordinateSystem', 'ParentInPlace', 'ParentItem',
+ 'ParticleBlur', 'PathAlignLookAhead', 'PathAlignMaxLookSteps', 'PathAlignReliableDist',
+ 'Pause', 'PController', 'PerspectiveView',
+ 'PivotPosition', 'PivotRotation', 'PixelAspect', 'PlayAudio', 'PlayBackward',
+ 'PlayForward', 'PlayPreview', 'PLimits', 'PointLight', 'PolygonEdgeColor',
+ 'PolygonEdgeFlags', 'PolygonEdgeThickness', 'PolygonEdgeZScale', 'PolygonSize',
+ 'Position', 'Presets', 'PreviewFirstFrame', 'PreviewFrameStep', 'PreviewLastFrame',
+ 'PreviewOptions', 'PreviousFrame', 'PreviousItem', 'PreviousKey', 'PreviousSibling',
+ 'PreviousViewLayout', 'PStiffness',
+ 'Quit',
+ 'RadiosityIntensity', 'RadiosityTolerance', 'RadiosityType', 'RayRecursionLimit',
+ 'RayTraceReflection', 'RayTraceShadows',
+ 'RayTraceTransparency', 'ReceiveShadow', 'RecentContentDirs', 'RecentScenes',
+ 'ReconstructionFilter', 'RecordMaxAngles', 'RecordMinAngles', 'RecordPivotRotation',
+ 'RecordRestPosition', 'Redraw', 'RedrawNow', 'Refresh', 'RefreshNow', 'RegionPosition',
+ 'RemoveEnvelope', 'RemoveFromSelection', 'RemoveServer', 'Rename', 'RenderFrame',
+ 'RenderOptions', 'RenderScene', 'RenderSelected', 'RenderThreads',
+ 'ReplaceObjectLayer', 'ReplaceWithNull', 'ReplaceWithObject', 'Reset',
+ 'ResolutionMultiplier', 'RestLengthTool', 'RightView', 'RotatePivotTool',
+ 'RotateTool', 'Rotation',
+ 'SaveAllObjects', 'SaveCommandList', 'SaveCommandMessages',
+ 'SaveEndomorph', 'SaveLight', 'SaveLWSC1', 'SaveMotion', 'SaveObject', 'SaveObjectCopy',
+ 'SavePreview', 'SaveScene', 'SaveSceneAs', 'SaveSceneCopy', 'SaveTransformed',
+ 'SaveViewLayout', 'Scale', 'Scene_SetWindowPos', 'Scene_SetWindowSize',
+ 'SceneEditor', 'SchematicPosition', 'SchematicView', 'SelectAllBones',
+ 'SelectAllCameras', 'SelectAllLights', 'SelectAllObjects', 'SelectByName',
+ 'SelectChild', 'SelectItem', 'SelectParent', 'SelfShadow', 'ShadowColor',
+ 'ShadowExclusion', 'ShadowMapAngle', 'ShadowMapFitCone', 'ShadowMapFuzziness',
+ 'ShadowMapSize', 'ShadowType', 'ShowCages', 'ShowFieldChart', 'ShowHandles',
+ 'ShowIKChains', 'ShowMotionPaths', 'ShowSafeAreas', 'ShowTargetLines',
+ 'ShrinkEdgesWithDistance', 'SingleView', 'SizeTool', 'SkelegonsToBones', 'SkyColor',
+ 'Spotlight', 'SquashTool', 'Statistics', 'StatusMsg', 'Stereoscopic', 'StretchTool',
+ 'SubdivisionOrder', 'SubPatchLevel', 'SurfaceEditor', 'Synchronize',
+ 'TargetItem', 'TopView',
+ 'UnaffectedByFog', 'UnaffectedByIK', 'Undo', 'UnseenByAlphaChannel', 'UnseenByCamera',
+ 'UnseenByRays', 'UseGlobalResolution', 'UseGlobalBlur', 'UseGlobalMask',
+ 'UseMorphedPositions',
+ 'ViewLayout', 'VIPER', 'VolumetricLighting',
+ 'VolumetricLightingOptions', 'VolumetricRadiosity', 'Volumetrics',
+ 'WorldCoordinateSystem',
+ 'XYView', 'XZView',
+ 'ZenithColor', 'ZoomFactor', 'ZoomIn', 'ZoomInX2', 'ZoomOut', 'ZoomOutX2', 'ZYView',
+ 'Camera', 'Channel', 'ChannelGroup', 'Envelope', 'File', 'Glyph', 'Icon', 'Image',
+ 'Light', 'Mesh', 'Scene', 'Surface', 'VMap'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '=', '<', '>', '+', '-', '*', '/', '!', '%', '&', '@'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => true,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => false,
+ 7 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #FF6820; font-weight: bold;', //LS_COMMANDS
+ 3 => 'color: #007F7F; font-weight: bold;', //LS_MEMBERS
+ 4 => 'color: #800080; font-weight: bold;', //LS_METHODS
+ 5 => 'color: #51BD95; font-weight: bold;', //LS_MODELER
+ 6 => 'color: #416F85; font-weight: bold;', //LS_GENERAL
+ 7 => 'color: #C92929; font-weight: bold;' //LS_COMMANDS (cont)
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #7F7F7F;',
+ 'MULTI' => 'color: #7F7F7F;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #0040A0;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #00C800;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #6953AC;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #0040A0;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'ESCAPE_CHAR' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => ''
+ ),
+ '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(
+ 'KEYWORDS' => array(
+ 3 => array(
+ 'DISALLOWED_BEFORE' => '(?<=\.)'
+ ),
+ 4 => array(
+ 'DISALLOWED_BEFORE' => '(?<=\.)'
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/lsl2.php b/application/libraries/geshi/lsl2.php
new file mode 100644
index 000000000..8b62fc219
--- /dev/null
+++ b/application/libraries/geshi/lsl2.php
@@ -0,0 +1,898 @@
+<?php
+/*************************************************************************************
+ * lsl2.php
+ * --------
+ * Author: William Fry (william.fry@nyu.edu)
+ * Copyright: (c) 2009 William Fry
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/02/04
+ *
+ * Linden Scripting Language (LSL2) language file for GeSHi.
+ *
+ * Data derived and validated against the following:
+ * http://wiki.secondlife.com/wiki/LSL_Portal
+ * http://www.lslwiki.net/lslwiki/wakka.php?wakka=HomePage
+ * http://rpgstats.com/wiki/index.php?title=Main_Page
+ *
+ * CHANGES
+ * -------
+ * 2009/02/05 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2009/02/05)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'LSL2',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array( // flow control
+ 'do',
+ 'else',
+ 'for',
+ 'if',
+ 'jump',
+ 'return',
+ 'state',
+ 'while',
+ ),
+ 2 => array( // manifest constants
+ 'ACTIVE',
+ 'AGENT',
+ 'AGENT_ALWAYS_RUN',
+ 'AGENT_ATTACHMENTS',
+ 'AGENT_AWAY',
+ 'AGENT_BUSY',
+ 'AGENT_CROUCHING',
+ 'AGENT_FLYING',
+ 'AGENT_IN_AIR',
+ 'AGENT_MOUSELOOK',
+ 'AGENT_ON_OBJECT',
+ 'AGENT_SCRIPTED',
+ 'AGENT_SITTING',
+ 'AGENT_TYPING',
+ 'AGENT_WALKING',
+ 'ALL_SIDES',
+ 'ANIM_ON',
+ 'ATTACH_BACK',
+ 'ATTACH_BELLY',
+ 'ATTACH_CHEST',
+ 'ATTACH_CHIN',
+ 'ATTACH_HEAD',
+ 'ATTACH_HUD_BOTTOM',
+ 'ATTACH_HUD_BOTTOM_LEFT',
+ 'ATTACH_HUD_BOTTOM_RIGHT',
+ 'ATTACH_HUD_CENTER_1',
+ 'ATTACH_HUD_CENTER_2',
+ 'ATTACH_HUD_TOP_CENTER',
+ 'ATTACH_HUD_TOP_LEFT',
+ 'ATTACH_HUD_TOP_RIGHT',
+ 'ATTACH_LEAR',
+ 'ATTACH_LEYE',
+ 'ATTACH_LFOOT',
+ 'ATTACH_LHAND',
+ 'ATTACH_LHIP',
+ 'ATTACH_LLARM',
+ 'ATTACH_LLLEG',
+ 'ATTACH_LPEC',
+ 'ATTACH_LSHOULDER',
+ 'ATTACH_LUARM',
+ 'ATTACH_LULEG',
+ 'ATTACH_MOUTH',
+ 'ATTACH_NOSE',
+ 'ATTACH_PELVIS',
+ 'ATTACH_REAR',
+ 'ATTACH_REYE',
+ 'ATTACH_RFOOT',
+ 'ATTACH_RHAND',
+ 'ATTACH_RHIP',
+ 'ATTACH_RLARM',
+ 'ATTACH_RLLEG',
+ 'ATTACH_RPEC',
+ 'ATTACH_RSHOULDER',
+ 'ATTACH_RUARM',
+ 'ATTACH_RULEG',
+ 'CAMERA_ACTIVE',
+ 'CAMERA_BEHINDNESS_ANGLE',
+ 'CAMERA_BEHINDNESS_LAG',
+ 'CAMERA_DISTANCE',
+ 'CAMERA_FOCUS',
+ 'CAMERA_FOCUS_LAG',
+ 'CAMERA_FOCUS_LOCKED',
+ 'CAMERA_FOCUS_OFFSET',
+ 'CAMERA_FOCUS_THRESHOLD',
+ 'CAMERA_PITCH',
+ 'CAMERA_POSITION',
+ 'CAMERA_POSITION_LAG',
+ 'CAMERA_POSITION_LOCKED',
+ 'CAMERA_POSITION_THRESHOLD',
+ 'CHANGED_ALLOWED_DROP',
+ 'CHANGED_COLOR',
+ 'CHANGED_INVENTORY',
+ 'CHANGED_LINK',
+ 'CHANGED_OWNER',
+ 'CHANGED_REGION',
+ 'CHANGED_SCALE',
+ 'CHANGED_SHAPE',
+ 'CHANGED_TELEPORT',
+ 'CHANGED_TEXTURE',
+ 'CLICK_ACTION_NONE',
+ 'CLICK_ACTION_OPEN',
+ 'CLICK_ACTION_OPEN_MEDIA',
+ 'CLICK_ACTION_PAY',
+ 'CLICK_ACTION_SIT',
+ 'CLICK_ACTION_TOUCH',
+ 'CONTROL_BACK',
+ 'CONTROL_DOWN',
+ 'CONTROL_FWD',
+ 'CONTROL_LBUTTON',
+ 'CONTROL_LEFT',
+ 'CONTROL_ML_LBUTTON',
+ 'CONTROL_RIGHT',
+ 'CONTROL_ROT_LEFT',
+ 'CONTROL_ROT_RIGHT',
+ 'CONTROL_UP',
+ 'DATA_BORN',
+ 'DATA_NAME',
+ 'DATA_ONLINE',
+ 'DATA_PAYINFO',
+ 'DATA_RATING',
+ 'DATA_SIM_POS',
+ 'DATA_SIM_RATING',
+ 'DATA_SIM_STATUS',
+ 'DEBUG_CHANNEL',
+ 'DEG_TO_RAD',
+ 'EOF',
+ 'FALSE',
+ 'HTTP_BODY_MAXLENGTH',
+ 'HTTP_BODY_TRUNCATED',
+ 'HTTP_METHOD',
+ 'HTTP_MIMETYPE',
+ 'HTTP_VERIFY_CERT',
+ 'INVENTORY_ALL',
+ 'INVENTORY_ANIMATION',
+ 'INVENTORY_BODYPART',
+ 'INVENTORY_CLOTHING',
+ 'INVENTORY_GESTURE',
+ 'INVENTORY_LANDMARK',
+ 'INVENTORY_NONE',
+ 'INVENTORY_NOTECARD',
+ 'INVENTORY_OBJECT',
+ 'INVENTORY_SCRIPT',
+ 'INVENTORY_SOUND',
+ 'INVENTORY_TEXTURE',
+ 'LAND_LEVEL',
+ 'LAND_LOWER',
+ 'LAND_NOISE',
+ 'LAND_RAISE',
+ 'LAND_REVERT',
+ 'LAND_SMOOTH',
+ 'LINK_ALL_CHILDREN',
+ 'LINK_ALL_OTHERS',
+ 'LINK_ROOT',
+ 'LINK_SET',
+ 'LINK_THIS',
+ 'LIST_STAT_GEOMETRIC_MEAN',
+ 'LIST_STAT_MAX',
+ 'LIST_STAT_MEAN',
+ 'LIST_STAT_MEDIAN',
+ 'LIST_STAT_MIN',
+ 'LIST_STAT_NUM_COUNT',
+ 'LIST_STAT_RANGE',
+ 'LIST_STAT_STD_DEV',
+ 'LIST_STAT_SUM',
+ 'LIST_STAT_SUM_SQUARES',
+ 'LOOP',
+ 'MASK_BASE',
+ 'MASK_EVERYONE',
+ 'MASK_GROUP',
+ 'MASK_NEXT',
+ 'MASK_OWNER',
+ 'NULL_KEY',
+ 'OBJECT_CREATOR',
+ 'OBJECT_DESC',
+ 'OBJECT_GROUP',
+ 'OBJECT_NAME',
+ 'OBJECT_OWNER',
+ 'OBJECT_POS',
+ 'OBJECT_ROT',
+ 'OBJECT_UNKNOWN_DETAIL',
+ 'OBJECT_VELOCITY',
+ 'PARCEL_DETAILS_AREA',
+ 'PARCEL_DETAILS_DESC',
+ 'PARCEL_DETAILS_GROUP',
+ 'PARCEL_DETAILS_NAME',
+ 'PARCEL_DETAILS_OWNER',
+ 'PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY',
+ 'PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS',
+ 'PARCEL_FLAG_ALLOW_CREATE_OBJECTS',
+ 'PARCEL_FLAG_ALLOW_DAMAGE',
+ 'PARCEL_FLAG_ALLOW_FLY',
+ 'PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY',
+ 'PARCEL_FLAG_ALLOW_GROUP_SCRIPTS',
+ 'PARCEL_FLAG_ALLOW_LANDMARK',
+ 'PARCEL_FLAG_ALLOW_SCRIPTS',
+ 'PARCEL_FLAG_ALLOW_TERRAFORM',
+ 'PARCEL_FLAG_LOCAL_SOUND_ONLY',
+ 'PARCEL_FLAG_RESTRICT_PUSHOBJECT',
+ 'PARCEL_FLAG_USE_ACCESS_GROUP',
+ 'PARCEL_FLAG_USE_ACCESS_LIST',
+ 'PARCEL_FLAG_USE_BAN_LIST',
+ 'PARCEL_FLAG_USE_LAND_PASS_LIST',
+ 'PARCEL_MEDIA_COMMAND_AGENT',
+ 'PARCEL_MEDIA_COMMAND_AUTO_ALIGN',
+ 'PARCEL_MEDIA_COMMAND_DESC',
+ 'PARCEL_MEDIA_COMMAND_LOOP_SET',
+ 'PARCEL_MEDIA_COMMAND_PAUSE',
+ 'PARCEL_MEDIA_COMMAND_PLAY',
+ 'PARCEL_MEDIA_COMMAND_SIZE',
+ 'PARCEL_MEDIA_COMMAND_STOP',
+ 'PARCEL_MEDIA_COMMAND_TEXTURE',
+ 'PARCEL_MEDIA_COMMAND_TIME',
+ 'PARCEL_MEDIA_COMMAND_TYPE',
+ 'PARCEL_MEDIA_COMMAND_URL',
+ 'PASSIVE',
+ 'PAYMENT_INFO_ON_FILE',
+ 'PAYMENT_INFO_USED',
+ 'PAY_DEFAULT',
+ 'PAY_HIDE',
+ 'PERMISSION_ATTACH',
+ 'PERMISSION_CHANGE_LINKS',
+ 'PERMISSION_CONTROL_CAMERA',
+ 'PERMISSION_DEBIT',
+ 'PERMISSION_TAKE_CONTROLS',
+ 'PERMISSION_TRACK_CAMERA',
+ 'PERMISSION_TRIGGER_ANIMATION',
+ 'PERM_ALL',
+ 'PERM_COPY',
+ 'PERM_MODIFY',
+ 'PERM_MOVE',
+ 'PERM_TRANSFER',
+ 'PI',
+ 'PI_BY_TWO',
+ 'PRIM_BUMP_BARK',
+ 'PRIM_BUMP_BLOBS',
+ 'PRIM_BUMP_BRICKS',
+ 'PRIM_BUMP_BRIGHT',
+ 'PRIM_BUMP_CHECKER',
+ 'PRIM_BUMP_CONCRETE',
+ 'PRIM_BUMP_DARK',
+ 'PRIM_BUMP_DISKS',
+ 'PRIM_BUMP_GRAVEL',
+ 'PRIM_BUMP_LARGETILE',
+ 'PRIM_BUMP_NONE',
+ 'PRIM_BUMP_SHINY',
+ 'PRIM_BUMP_SIDING',
+ 'PRIM_BUMP_STONE',
+ 'PRIM_BUMP_STUCCO',
+ 'PRIM_BUMP_SUCTION',
+ 'PRIM_BUMP_TILE',
+ 'PRIM_BUMP_WEAVE',
+ 'PRIM_BUMP_WOOD',
+ 'PRIM_COLOR',
+ 'PRIM_FULLBRIGHT',
+ 'PRIM_HOLE_CIRCLE',
+ 'PRIM_HOLE_DEFAULT',
+ 'PRIM_HOLE_SQUARE',
+ 'PRIM_HOLE_TRIANGLE',
+ 'PRIM_MATERIAL',
+ 'PRIM_MATERIAL_FLESH',
+ 'PRIM_MATERIAL_GLASS',
+ 'PRIM_MATERIAL_LIGHT',
+ 'PRIM_MATERIAL_METAL',
+ 'PRIM_MATERIAL_PLASTIC',
+ 'PRIM_MATERIAL_RUBBER',
+ 'PRIM_MATERIAL_STONE',
+ 'PRIM_MATERIAL_WOOD',
+ 'PRIM_PHANTOM',
+ 'PRIM_PHYSICS',
+ 'PRIM_POSITION',
+ 'PRIM_ROTATION',
+ 'PRIM_SHINY_HIGH',
+ 'PRIM_SHINY_LOW',
+ 'PRIM_SHINY_MEDIUM',
+ 'PRIM_SHINY_NONE',
+ 'PRIM_SIZE',
+ 'PRIM_TEMP_ON_REZ',
+ 'PRIM_TEXTURE',
+ 'PRIM_TYPE',
+ 'PRIM_TYPE_BOX',
+ 'PRIM_TYPE_CYLINDER',
+ 'PRIM_TYPE_PRISM',
+ 'PRIM_TYPE_RING',
+ 'PRIM_TYPE_SPHERE',
+ 'PRIM_TYPE_TORUS',
+ 'PRIM_TYPE_TUBE',
+ 'PSYS_PART_BOUNCE_MASK',
+ 'PSYS_PART_EMISSIVE_MASK',
+ 'PSYS_PART_END_ALPHA',
+ 'PSYS_PART_END_COLOR',
+ 'PSYS_PART_END_SCALE',
+ 'PSYS_PART_FLAGS',
+ 'PSYS_PART_FOLLOW_SRC_MASK',
+ 'PSYS_PART_FOLLOW_VELOCITY_MASK',
+ 'PSYS_PART_INTERP_COLOR_MASK',
+ 'PSYS_PART_INTERP_SCALE_MASK',
+ 'PSYS_PART_MAX_AGE',
+ 'PSYS_PART_START_ALPHA',
+ 'PSYS_PART_START_COLOR',
+ 'PSYS_PART_START_SCALE',
+ 'PSYS_PART_TARGET_LINEAR_MASK',
+ 'PSYS_PART_TARGET_POS_MASK',
+ 'PSYS_PART_WIND_MASK',
+ 'PSYS_SRC_ACCEL',
+ 'PSYS_SRC_ANGLE_BEGIN',
+ 'PSYS_SRC_ANGLE_END',
+ 'PSYS_SRC_BURST_PART_COUNT',
+ 'PSYS_SRC_BURST_RADIUS',
+ 'PSYS_SRC_BURST_RATE',
+ 'PSYS_SRC_BURST_SPEED_MAX',
+ 'PSYS_SRC_BURST_SPEED_MIN',
+ 'PSYS_SRC_INNERANGLE',
+ 'PSYS_SRC_MAX_AGE',
+ 'PSYS_SRC_OMEGA',
+ 'PSYS_SRC_OUTERANGLE',
+ 'PSYS_SRC_PATTERN',
+ 'PSYS_SRC_PATTERN_ANGLE',
+ 'PSYS_SRC_PATTERN_ANGLE_CONE',
+ 'PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY',
+ 'PSYS_SRC_PATTERN_DROP',
+ 'PSYS_SRC_PATTERN_EXPLODE',
+ 'PSYS_SRC_TARGET_KEY',
+ 'PSYS_SRC_TEXTURE',
+ 'RAD_TO_DEG',
+ 'REMOTE_DATA_CHANNEL',
+ 'REMOTE_DATA_REQUEST',
+ 'SCRIPTED',
+ 'SQRT2',
+ 'STATUS_BLOCK_GRAB',
+ 'STATUS_DIE_AT_EDGE',
+ 'STATUS_PHANTOM',
+ 'STATUS_PHYSICS',
+ 'STATUS_RETURN_AT_EDGE',
+ 'STATUS_ROTATE_X',
+ 'STATUS_ROTATE_Y',
+ 'STATUS_ROTATE_Z',
+ 'STATUS_SANDBOX',
+ 'TRUE',
+ 'TWO_PI',
+ 'VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY',
+ 'VEHICLE_ANGULAR_DEFLECTION_TIMESCALE',
+ 'VEHICLE_ANGULAR_FRICTION_TIMESCALE',
+ 'VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE',
+ 'VEHICLE_ANGULAR_MOTOR_DIRECTION',
+ 'VEHICLE_ANGULAR_MOTOR_TIMESCALE',
+ 'VEHICLE_BANKING_EFFICIENCY',
+ 'VEHICLE_BANKING_MIX',
+ 'VEHICLE_BANKING_TIMESCALE',
+ 'VEHICLE_BUOYANCY',
+ 'VEHICLE_FLAG_CAMERA_DECOUPLED',
+ 'VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT',
+ 'VEHICLE_FLAG_HOVER_TERRAIN_ONLY',
+ 'VEHICLE_FLAG_HOVER_UP_ONLY',
+ 'VEHICLE_FLAG_HOVER_WATER_ONLY',
+ 'VEHICLE_FLAG_LIMIT_MOTOR_UP',
+ 'VEHICLE_FLAG_LIMIT_ROLL_ONLY',
+ 'VEHICLE_FLAG_MOUSELOOK_BANK',
+ 'VEHICLE_FLAG_MOUSELOOK_STEER',
+ 'VEHICLE_FLAG_NO_DEFLECTION_UP',
+ 'VEHICLE_HOVER_EFFICIENCY',
+ 'VEHICLE_HOVER_HEIGHT',
+ 'VEHICLE_HOVER_TIMESCALE',
+ 'VEHICLE_LINEAR_DEFLECTION_EFFICIENCY',
+ 'VEHICLE_LINEAR_DEFLECTION_TIMESCALE',
+ 'VEHICLE_LINEAR_FRICTION_TIMESCALE',
+ 'VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE',
+ 'VEHICLE_LINEAR_MOTOR_DIRECTION',
+ 'VEHICLE_LINEAR_MOTOR_OFFSET',
+ 'VEHICLE_LINEAR_MOTOR_TIMESCALE',
+ 'VEHICLE_REFERENCE_FRAME',
+ 'VEHICLE_TYPE_AIRPLANE',
+ 'VEHICLE_TYPE_BALLOON',
+ 'VEHICLE_TYPE_BOAT',
+ 'VEHICLE_TYPE_CAR',
+ 'VEHICLE_TYPE_NONE',
+ 'VEHICLE_TYPE_SLED',
+ 'VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY',
+ 'VEHICLE_VERTICAL_ATTRACTION_TIMESCALE',
+ 'ZERO_ROTATION',
+ 'ZERO_VECTOR',
+ ),
+ 3 => array( // handlers
+ 'at_rot_target',
+ 'at_target',
+ 'attached',
+ 'changed',
+ 'collision',
+ 'collision_end',
+ 'collision_start',
+ 'control',
+ 'dataserver',
+ 'email',
+ 'http_response',
+ 'land_collision',
+ 'land_collision_end',
+ 'land_collision_start',
+ 'link_message',
+ 'listen',
+ 'money',
+ 'moving_end',
+ 'moving_start',
+ 'no_sensor',
+ 'not_at_rot_target',
+ 'not_at_target',
+ 'object_rez',
+ 'on_rez',
+ 'remote_data',
+ 'run_time_permissions',
+ 'sensor',
+ 'state_entry',
+ 'state_exit',
+ 'timer',
+ 'touch',
+ 'touch_end',
+ 'touch_start',
+ ),
+ 4 => array( // data types
+ 'float',
+ 'integer',
+ 'key',
+ 'list',
+ 'rotation',
+ 'string',
+ 'vector',
+ ),
+ 5 => array( // library
+ 'default',
+ 'llAbs',
+ 'llAcos',
+ 'llAddToLandBanList',
+ 'llAddToLandPassList',
+ 'llAdjustSoundVolume',
+ 'llAllowInventoryDrop',
+ 'llAngleBetween',
+ 'llApplyImpulse',
+ 'llApplyRotationalImpulse',
+ 'llAsin',
+ 'llAtan2',
+ 'llAttachToAvatar',
+ 'llAvatarOnSitTarget',
+ 'llAxes2Rot',
+ 'llAxisAngle2Rot',
+ 'llBase64ToInteger',
+ 'llBase64ToString',
+ 'llBreakAllLinks',
+ 'llBreakLink',
+ 'llCeil',
+ 'llClearCameraParams',
+ 'llCloseRemoteDataChannel',
+ 'llCloud',
+ 'llCollisionFilter',
+ 'llCollisionSound',
+ 'llCollisionSprite',
+ 'llCos',
+ 'llCreateLink',
+ 'llCSV2List',
+ 'llDeleteSubList',
+ 'llDeleteSubString',
+ 'llDetachFromAvatar',
+ 'llDetectedGrab',
+ 'llDetectedGroup',
+ 'llDetectedKey',
+ 'llDetectedLinkNumber',
+ 'llDetectedName',
+ 'llDetectedOwner',
+ 'llDetectedPos',
+ 'llDetectedRot',
+ 'llDetectedTouchBinormal',
+ 'llDetectedTouchFace',
+ 'llDetectedTouchNormal',
+ 'llDetectedTouchPos',
+ 'llDetectedTouchST',
+ 'llDetectedTouchUV',
+ 'llDetectedType',
+ 'llDetectedVel',
+ 'llDialog',
+ 'llDie',
+ 'llDumpList2String',
+ 'llEdgeOfWorld',
+ 'llEjectFromLand',
+ 'llEmail',
+ 'llEscapeURL',
+ 'llEuler2Rot',
+ 'llFabs',
+ 'llFloor',
+ 'llForceMouselook',
+ 'llFrand',
+ 'llGetAccel',
+ 'llGetAgentInfo',
+ 'llGetAgentLanguage',
+ 'llGetAgentSize',
+ 'llGetAlpha',
+ 'llGetAndResetTime',
+ 'llGetAnimation',
+ 'llGetAnimationList',
+ 'llGetAttached',
+ 'llGetBoundingBox',
+ 'llGetCameraPos',
+ 'llGetCameraRot',
+ 'llGetCenterOfMass',
+ 'llGetColor',
+ 'llGetCreator',
+ 'llGetDate',
+ 'llGetEnergy',
+ 'llGetForce',
+ 'llGetFreeMemory',
+ 'llGetGeometricCenter',
+ 'llGetGMTclock',
+ 'llGetInventoryCreator',
+ 'llGetInventoryKey',
+ 'llGetInventoryName',
+ 'llGetInventoryNumber',
+ 'llGetInventoryPermMask',
+ 'llGetInventoryType',
+ 'llGetKey',
+ 'llGetLandOwnerAt',
+ 'llGetLinkKey',
+ 'llGetLinkName',
+ 'llGetLinkNumber',
+ 'llGetListEntryType',
+ 'llGetListLength',
+ 'llGetLocalPos',
+ 'llGetLocalRot',
+ 'llGetMass',
+ 'llGetNextEmail',
+ 'llGetNotecardLine',
+ 'llGetNumberOfNotecardLines',
+ 'llGetNumberOfPrims',
+ 'llGetNumberOfSides',
+ 'llGetObjectDesc',
+ 'llGetObjectDetails',
+ 'llGetObjectMass',
+ 'llGetObjectName',
+ 'llGetObjectPermMask',
+ 'llGetObjectPrimCount',
+ 'llGetOmega',
+ 'llGetOwner',
+ 'llGetOwnerKey',
+ 'llGetParcelDetails',
+ 'llGetParcelFlags',
+ 'llGetParcelMaxPrims',
+ 'llGetParcelPrimCount',
+ 'llGetParcelPrimOwners',
+ 'llGetPermissions',
+ 'llGetPermissionsKey',
+ 'llGetPos',
+ 'llGetPrimitiveParams',
+ 'llGetRegionAgentCount',
+ 'llGetRegionCorner',
+ 'llGetRegionFlags',
+ 'llGetRegionFPS',
+ 'llGetRegionName',
+ 'llGetRegionTimeDilation',
+ 'llGetRootPosition',
+ 'llGetRootRotation',
+ 'llGetRot',
+ 'llGetScale',
+ 'llGetScriptName',
+ 'llGetScriptState',
+ 'llGetSimulatorHostname',
+ 'llGetStartParameter',
+ 'llGetStatus',
+ 'llGetSubString',
+ 'llGetSunDirection',
+ 'llGetTexture',
+ 'llGetTextureOffset',
+ 'llGetTextureRot',
+ 'llGetTextureScale',
+ 'llGetTime',
+ 'llGetTimeOfDay',
+ 'llGetTimestamp',
+ 'llGetTorque',
+ 'llGetUnixTime',
+ 'llGetVel',
+ 'llGetWallclock',
+ 'llGiveInventory',
+ 'llGiveInventoryList',
+ 'llGiveMoney',
+ 'llGround',
+ 'llGroundContour',
+ 'llGroundNormal',
+ 'llGroundRepel',
+ 'llGroundSlope',
+ 'llHTTPRequest',
+ 'llInsertString',
+ 'llInstantMessage',
+ 'llIntegerToBase64',
+ 'llKey2Name',
+ 'llList2CSV',
+ 'llList2Float',
+ 'llList2Integer',
+ 'llList2Key',
+ 'llList2List',
+ 'llList2ListStrided',
+ 'llList2Rot',
+ 'llList2String',
+ 'llList2Vector',
+ 'llListen',
+ 'llListenControl',
+ 'llListenRemove',
+ 'llListFindList',
+ 'llListInsertList',
+ 'llListRandomize',
+ 'llListReplaceList',
+ 'llListSort',
+ 'llListStatistics',
+ 'llLoadURL',
+ 'llLog',
+ 'llLog10',
+ 'llLookAt',
+ 'llLoopSound',
+ 'llLoopSoundMaster',
+ 'llLoopSoundSlave',
+ 'llMapDestination',
+ 'llMD5String',
+ 'llMessageLinked',
+ 'llMinEventDelay',
+ 'llModifyLand',
+ 'llModPow',
+ 'llMoveToTarget',
+ 'llOffsetTexture',
+ 'llOpenRemoteDataChannel',
+ 'llOverMyLand',
+ 'llOwnerSay',
+ 'llParcelMediaCommandList',
+ 'llParcelMediaQuery',
+ 'llParseString2List',
+ 'llParseStringKeepNulls',
+ 'llParticleSystem',
+ 'llPassCollisions',
+ 'llPassTouches',
+ 'llPlaySound',
+ 'llPlaySoundSlave',
+ 'llPow',
+ 'llPreloadSound',
+ 'llPushObject',
+ 'llRegionSay',
+ 'llReleaseControls',
+ 'llRemoteDataReply',
+ 'llRemoteDataSetRegion',
+ 'llRemoteLoadScriptPin',
+ 'llRemoveFromLandBanList',
+ 'llRemoveFromLandPassList',
+ 'llRemoveInventory',
+ 'llRemoveVehicleFlags',
+ 'llRequestAgentData',
+ 'llRequestInventoryData',
+ 'llRequestPermissions',
+ 'llRequestSimulatorData',
+ 'llResetLandBanList',
+ 'llResetLandPassList',
+ 'llResetOtherScript',
+ 'llResetScript',
+ 'llResetTime',
+ 'llRezAtRoot',
+ 'llRezObject',
+ 'llRot2Angle',
+ 'llRot2Axis',
+ 'llRot2Euler',
+ 'llRot2Fwd',
+ 'llRot2Left',
+ 'llRot2Up',
+ 'llRotateTexture',
+ 'llRotBetween',
+ 'llRotLookAt',
+ 'llRotTarget',
+ 'llRotTargetRemove',
+ 'llRound',
+ 'llSameGroup',
+ 'llSay',
+ 'llScaleTexture',
+ 'llScriptDanger',
+ 'llSendRemoteData',
+ 'llSensor',
+ 'llSensorRemove',
+ 'llSensorRepeat',
+ 'llSetAlpha',
+ 'llSetBuoyancy',
+ 'llSetCameraAtOffset',
+ 'llSetCameraEyeOffset',
+ 'llSetCameraParams',
+ 'llSetClickAction',
+ 'llSetColor',
+ 'llSetDamage',
+ 'llSetForce',
+ 'llSetForceAndTorque',
+ 'llSetHoverHeight',
+ 'llSetLinkAlpha',
+ 'llSetLinkColor',
+ 'llSetLinkPrimitiveParams',
+ 'llSetLinkTexture',
+ 'llSetLocalRot',
+ 'llSetObjectDesc',
+ 'llSetObjectName',
+ 'llSetParcelMusicURL',
+ 'llSetPayPrice',
+ 'llSetPos',
+ 'llSetPrimitiveParams',
+ 'llSetRemoteScriptAccessPin',
+ 'llSetRot',
+ 'llSetScale',
+ 'llSetScriptState',
+ 'llSetSitText',
+ 'llSetSoundQueueing',
+ 'llSetSoundRadius',
+ 'llSetStatus',
+ 'llSetText',
+ 'llSetTexture',
+ 'llSetTextureAnim',
+ 'llSetTimerEvent',
+ 'llSetTorque',
+ 'llSetTouchText',
+ 'llSetVehicleFlags',
+ 'llSetVehicleFloatParam',
+ 'llSetVehicleRotationParam',
+ 'llSetVehicleType',
+ 'llSetVehicleVectorParam',
+ 'llSHA1String',
+ 'llShout',
+ 'llSin',
+ 'llSitTarget',
+ 'llSleep',
+ 'llSqrt',
+ 'llStartAnimation',
+ 'llStopAnimation',
+ 'llStopHover',
+ 'llStopLookAt',
+ 'llStopMoveToTarget',
+ 'llStopSound',
+ 'llStringLength',
+ 'llStringToBase64',
+ 'llStringTrim',
+ 'llSubStringIndex',
+ 'llTakeControls',
+ 'llTan',
+ 'llTarget',
+ 'llTargetOmega',
+ 'llTargetRemove',
+ 'llTeleportAgentHome',
+ 'llToLower',
+ 'llToUpper',
+ 'llTriggerSound',
+ 'llTriggerSoundLimited',
+ 'llUnescapeURL',
+ 'llUnSit',
+ 'llVecDist',
+ 'llVecMag',
+ 'llVecNorm',
+ 'llVolumeDetect',
+ 'llWater',
+ 'llWhisper',
+ 'llWind',
+ 'llXorBase64StringsCorrect',
+ ),
+ 6 => array( // deprecated
+ 'llMakeExplosion',
+ 'llMakeFire',
+ 'llMakeFountain',
+ 'llMakeSmoke',
+ 'llSound',
+ 'llSoundPreload',
+ 'llXorBase64Strings',
+ ),
+ 7 => array( // unimplemented
+ 'llPointAt',
+ 'llRefreshPrimURL',
+ 'llReleaseCamera',
+ 'llRemoteLoadScript',
+ 'llSetPrimURL',
+ 'llStopPointAt',
+ 'llTakeCamera',
+ 'llTextBox',
+ ),
+ 8 => array( // God mode
+ 'llGodLikeRezObject',
+ 'llSetInventoryPermMask',
+ 'llSetObjectPermMask',
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '{', '}', '(', ')', '[', ']',
+ '=', '+', '-', '*', '/',
+ '+=', '-=', '*=', '/=', '++', '--',
+ '!', '%', '&amp;', '|', '&amp;&amp;', '||',
+ '==', '!=', '&lt;', '&gt;', '&lt;=', '&gt;=',
+ '~', '&lt;&lt;', '&gt;&gt;', '^', ':',
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => true,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true,
+ 6 => true,
+ 7 => true,
+ 8 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000ff;',
+ 2 => 'color: #000080;',
+ 3 => 'color: #008080;',
+ 4 => 'color: #228b22;',
+ 5 => 'color: #b22222;',
+ 6 => 'color: #8b0000; background-color: #ffff00;',
+ 7 => 'color: #8b0000; background-color: #fa8072;',
+ 8 => 'color: #000000; background-color: #ba55d3;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #ff7f50; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #006400;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME}
+ 4 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME}
+ 5 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME}
+ 6 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME}
+ 7 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME}
+ 8 => 'http://www.lslwiki.net/lslwiki/wakka.php?wakka={FNAME}', // http://wiki.secondlife.com/wiki/{FNAME}
+ ),
+ '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/lua.php b/application/libraries/geshi/lua.php
new file mode 100644
index 000000000..2a630b2c8
--- /dev/null
+++ b/application/libraries/geshi/lua.php
@@ -0,0 +1,137 @@
+<?php
+/*************************************************************************************
+ * lua.php
+ * -------
+ * 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
+ * Date Started: 2004/07/10
+ *
+ * LUA language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/26 (1.0.2)
+ * - Added support for objects and methods
+ * - Removed unusable keywords
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Lua',
+ 'COMMENT_SINGLE' => array(1 => "--"),
+ 'COMMENT_MULTI' => array('--[[' => ']]'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ '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',
+ '_VERSION','assert','collectgarbage','dofile','error','gcinfo','loadfile','loadstring',
+ 'print','tonumber','tostring','type','unpack',
+ '_ALERT','_ERRORMESSAGE','_INPUT','_PROMPT','_OUTPUT',
+ '_STDERR','_STDIN','_STDOUT','call','dostring','foreach','foreachi','getn','globals','newtype',
+ 'rawget','rawset','require','sort','tinsert','tremove',
+ 'abs','acos','asin','atan','atan2','ceil','cos','deg','exp',
+ 'floor','format','frexp','gsub','ldexp','log','log10','max','min','mod','rad','random','randomseed',
+ 'sin','sqrt','strbyte','strchar','strfind','strlen','strlower','strrep','strsub','strupper','tan',
+ 'openfile','closefile','readfrom','writeto','appendto',
+ 'remove','rename','flush','seek','tmpfile','tmpname','read','write',
+ 'clock','date','difftime','execute','exit','getenv','setlocale','time',
+ '_G','getfenv','getmetatable','ipairs','loadlib','next','pairs','pcall',
+ 'rawegal','setfenv','setmetatable','xpcall',
+ 'string.byte','string.char','string.dump','string.find','string.len',
+ 'string.lower','string.rep','string.sub','string.upper','string.format','string.gfind','string.gsub',
+ 'table.concat','table.foreach','table.foreachi','table.getn','table.sort','table.insert','table.remove','table.setn',
+ 'math.abs','math.acos','math.asin','math.atan','math.atan2','math.ceil','math.cos','math.deg','math.exp',
+ 'math.floor','math.frexp','math.ldexp','math.log','math.log10','math.max','math.min','math.mod',
+ 'math.pi','math.rad','math.random','math.randomseed','math.sin','math.sqrt','math.tan',
+ 'coroutine.create','coroutine.resume','coroutine.status',
+ 'coroutine.wrap','coroutine.yield',
+ 'io.close','io.flush','io.input','io.lines','io.open','io.output','io.read','io.tmpfile','io.type','io.write',
+ 'io.stdin','io.stdout','io.stderr',
+ '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'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>', '=', ';'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ '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: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #b1b100;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ '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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/m68k.php b/application/libraries/geshi/m68k.php
new file mode 100644
index 000000000..9aae868af
--- /dev/null
+++ b/application/libraries/geshi/m68k.php
@@ -0,0 +1,143 @@
+<?php
+/*************************************************************************************
+ * m68k.php
+ * --------
+ * 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
+ * Date Started: 2007/02/06
+ *
+ * Motorola 68000 Assembler language file for GeSHi.
+ *
+ * Syntax definition as commonly used by the motorola documentation for the
+ * MC68HC908GP32 Microcontroller (and maybe others).
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2007/06/02 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2007/06/02)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Motorola 68000 Assembler',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ /*CPU*/
+ 1 => array(
+ 'adc','add','ais','aix','and','asl','asr','bcc','bclr','bcs','beq',
+ 'bge','bgt','bhcc','bhcs','bhi','bhs','bih','bil','bit','ble','blo',
+ 'bls','blt','bmc','bmi','bms','bne','bpl','bra','brclr','brn',
+ 'brset','bset','bsr','cbeq','clc','cli','clr','cmp','com','cphx',
+ 'cpx','daa','dbnz','dec','div','eor','inc','jmp','jsr','lda','ldhx',
+ 'ldx','lsl','lsr','mov','mul','neg','nop','nsa','ora','psha','pshh',
+ 'pshx','pula','pulh','pulx','rol','ror','rsp','rti','rts','sbc',
+ 'sec','sei','sta','sthx','stop','stx','sub','swi','tap','tax','tpa',
+ 'tst','tsx','txa','txs','wait'
+ ),
+ /*registers*/
+ 2 => array(
+ 'a','h','x',
+ 'hx','sp'
+ ),
+ /*Directive*/
+ 3 => array(
+ '#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
+ '.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ ','
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000ff; font-weight:bold;',
+ 2 => 'color: #0000ff;',
+ 3 => 'color: #46aa03; font-weight:bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #adadad; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #7f007f;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #dd22dd;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #008000;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #22bbff;',
+ 1 => 'color: #22bbff;',
+ 2 => 'color: #993333;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Hex numbers
+ 0 => '#?0[0-9a-fA-F]{1,32}[hH]',
+ //Binary numbers
+ 1 => '\%[01]{1,64}[bB]',
+ //Labels
+ 2 => '^[_a-zA-Z][_a-zA-Z0-9]*?\:'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 8
+);
+
+?>
diff --git a/application/libraries/geshi/make.php b/application/libraries/geshi/make.php
new file mode 100644
index 000000000..021265548
--- /dev/null
+++ b/application/libraries/geshi/make.php
@@ -0,0 +1,151 @@
+<?php
+/*************************************************************************************
+ * make.php
+ * --------
+ * Author: Neil Bird <phoenix@fnxweb.com>
+ * Copyright: (c) 2008 Neil Bird
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/08/26
+ *
+ * make language file for GeSHi.
+ *
+ * (GNU make specific)
+ *
+ * CHANGES
+ * -------
+ * 2008/09/05 (1.0.0)
+ * - 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' => 'GNU make',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_REGEXP' => array(
+ //Escaped String Starters
+ 2 => "/\\\\['\"]/siU"
+ ),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ // core
+ 'ifeq', 'else', 'endif', 'ifneq', 'ifdef', 'ifndef',
+ 'include', 'vpath', 'export', 'unexport', 'override',
+ 'info', 'warning', 'error'
+ ),
+ 2 => array(
+ // macros, literals
+ '.SUFFIXES', '.PHONY', '.DEFAULT', '.PRECIOUS', '.IGNORE', '.SILENT', '.EXPORT_ALL_VARIABLES', '.KEEP_STATE',
+ '.LIBPATTERNS', '.NOTPARALLEL', '.DELETE_ON_ERROR', '.INTERMEDIATE', '.POSIX', '.SECONDARY'
+ ),
+ /*
+ 3 => array(
+ // funcs - see regex
+ //'subst', 'addprefix', 'addsuffix', 'basename', 'call', 'dir', 'error', 'eval', 'filter-out', 'filter',
+ //'findstring', 'firstword', 'foreach', 'if', 'join', 'notdir', 'origin', 'patsubst', 'shell', 'sort', 'strip',
+ //'suffix', 'warning', 'wildcard', 'word', 'wordlist', 'words'
+ )*/
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}',
+ '!', '@', '%', '&', '|', '/',
+ '<', '>',
+ '=', '-', '+', '*',
+ '.', ':', ',', ';',
+ '$'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ //3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #666622; font-weight: bold;',
+ 2 => 'color: #990000;',
+ //3 => 'color: #000000; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #339900; font-style: italic;',
+ 2 => 'color: #000099; font-weight: bold;',
+ 'MULTI' => ''
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array( # keep same as symbols so as to make ${} and $() equiv.
+ 0 => 'color: #004400;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #CC2200;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #CC2200;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #004400;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #000088; font-weight: bold;',
+ 1 => 'color: #0000CC; font-weight: bold;',
+ 2 => 'color: #000088;'
+ ),
+ 'SCRIPT' => array(),
+ 'METHODS' => array()
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ //3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'REGEXPS' => array(
+ //Simple variables
+ 0 => "\\$(?:[^{(&]|&(?:amp|lt|gt);)",
+ //Complex variables/functions [built-ins]
+ 1 => array(
+ GESHI_SEARCH => '(\\$[({])(subst|addprefix|addsuffix|basename|call|dir|error|eval|filter-out|filter,|findstring|firstword|foreach|if|join|notdir|origin|patsubst|shell|sort|strip,|suffix|warning|wildcard|word|wordlist|words)([ })])',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ //Complex variables/functions [others]
+ 2 => array(
+ GESHI_SEARCH => '(\\$[({])([A-Za-z_][A-Za-z_0-9]*)([ })])',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(),
+ 'TAB_WIDTH' => 8
+// vim: set sw=4 sts=4 :
+);
+?>
diff --git a/application/libraries/geshi/mapbasic.php b/application/libraries/geshi/mapbasic.php
new file mode 100644
index 000000000..74be1f673
--- /dev/null
+++ b/application/libraries/geshi/mapbasic.php
@@ -0,0 +1,908 @@
+<?php
+/*************************************************************************************
+ * mapbasic.php
+ * ------
+ * Author: Tomasz Berus (t.berus@gisodkuchni.pl)
+ * Copyright: (c) 2009 Tomasz Berus (http://sourceforge.net/projects/mbsyntax/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/11/25
+ *
+ * MapBasic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/09/17 (1.0.1)
+ * - Replaced all tabs with spaces
+ * - Fixed 'URLS' array
+ * 2008/11/25 (1.0.0)
+ * - First Release (MapBasic v9.5)
+ *
+ * TODO (updated 2008/11/25)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'MapBasic',
+ 'COMMENT_SINGLE' => array(1 => "'"),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+/*
+ 1 - Statements + Clauses + Data Types + Logical Operators, Geographical Operators + SQL
+ 2 - Special Procedures
+ 3 - Functions
+ 4 - Constants
+ 5 - Extended keywords (case sensitive)
+*/
+ 1 => array(
+ 'Add', 'Alias', 'All', 'Alter', 'And', 'Any', 'Application', 'Arc',
+ 'Area', 'As', 'AutoLabel', 'Bar', 'Beep', 'Begin', 'Bind',
+ 'Browse', 'Brush', 'BrushPicker', 'Button', 'ButtonPad',
+ 'ButtonPads', 'BY', 'Call', 'CancelButton', 'Cartographic', 'Case',
+ 'CharSet', 'Check', 'CheckBox', 'Clean', 'Close', 'Collection',
+ 'Column', 'Combine', 'Command', 'Commit', 'Connection',
+ 'ConnectionNumber', 'Contains', 'Continue', 'Control', 'CoordSys',
+ 'Create', 'Cutter', 'Date', 'Datum', 'DDEExecute', 'DDEPoke',
+ 'DDETerminate', 'DDETerminateAll', 'Declare', 'Default', 'Define',
+ 'Delete', 'Dialog', 'Digitizer', 'Dim', 'Disaggregate',
+ 'Disconnect', 'Distance', 'Do', 'Document', 'DocumentWindow',
+ 'Drag', 'Drop', 'EditText', 'Ellipse', 'Enclose', 'End', 'Entire',
+ 'Entirely', 'Erase', 'Error', 'Event', 'Exit', 'Export',
+ 'Farthest', 'Fetch', 'File', 'Find', 'Float', 'FME', 'Font',
+ 'FontPicker', 'For', 'Format', 'Frame', 'From', 'Function',
+ 'Geocode', 'Get', 'Global', 'Goto', 'Graph', 'Grid', 'GROUP',
+ 'GroupBox', 'Handler', 'If', 'Import', 'In', 'Include', 'Index',
+ 'Info', 'Input', 'Insert', 'Integer', 'Intersect', 'Intersects',
+ 'INTO', 'Isogram', 'Item', 'Kill', 'Layout', 'Legend', 'Line',
+ 'Link', 'ListBox', 'Logical', 'Loop', 'Map', 'Map3D', 'MapInfo',
+ 'MapInfoDialog', 'Menu', 'Merge', 'Metadata', 'Method', 'Mod',
+ 'Move', 'MultiListBox', 'MultiPoint', 'MWS', 'Nearest', 'Next',
+ 'NOSELECT', 'Not', 'Note', 'Object', 'Objects', 'Offset',
+ 'OKButton', 'OnError', 'Open', 'Or', 'ORDER', 'Overlay', 'Pack',
+ 'Paper', 'Part', 'Partly', 'Pen', 'PenPicker', 'Pline', 'Point',
+ 'PopupMenu', 'Preserve', 'Print', 'PrintWin', 'PrismMap',
+ 'Processing', 'Program', 'ProgressBar', 'ProgressBars', 'Put',
+ 'RadioGroup', 'Randomize', 'Ranges', 'Rect', 'ReDim',
+ 'Redistricter', 'Refresh', 'Region', 'Register', 'Relief',
+ 'Reload', 'Remove', 'Rename', 'Report', 'Reproject', 'Resolution',
+ 'Resume', 'Rollback', 'RoundRect', 'RowID', 'Run', 'Save', 'Seek',
+ 'Select', 'Selection', 'Server', 'Set', 'Shade', 'SmallInt',
+ 'Snap', 'Split', 'StaticText', 'StatusBar', 'Stop', 'String',
+ 'Style', 'Styles', 'Sub', 'Symbol', 'SymbolPicker', 'Symbols',
+ 'Table', 'Target', 'Terminate', 'Text', 'Then', 'Threshold',
+ 'Timeout', 'To', 'Transaction', 'Transform', 'Type', 'UnDim',
+ 'Units', 'Unlink', 'Update', 'Using', 'VALUES', 'Version',
+ 'Versioning', 'Wend', 'WFS', 'WHERE', 'While', 'Window', 'Within',
+ 'Workspace', 'Write'
+ ),
+ 2 => array(
+ 'EndHandler', 'ForegroundTaskSwitchHandler', 'Main',
+ 'RemoteMapGenHandler', 'RemoteMsgHandler', 'SelChangedHandler',
+ 'ToolHandler', 'WinChangedHandler', 'WinClosedHandler',
+ 'WinFocusChangedHandler'
+ ),
+ 3 => array(
+ 'Abs', 'Acos', 'ApplicationDirectory$', 'AreaOverlap', 'Asc',
+ 'Asin', 'Ask', 'Atn', 'Avg', 'Buffer', 'ButtonPadInfo',
+ 'CartesianArea', 'CartesianBuffer', 'CartesianConnectObjects',
+ 'CartesianDistance', 'CartesianObjectDistance',
+ 'CartesianObjectLen', 'CartesianOffset', 'CartesianOffsetXY',
+ 'CartesianPerimeter', 'Centroid', 'CentroidX', 'CentroidY',
+ 'ChooseProjection$', 'Chr$', 'ColumnInfo', 'CommandInfo',
+ 'ConnectObjects', 'ControlPointInfo', 'ConvertToPline',
+ 'ConvertToRegion', 'ConvexHull', 'CoordSysName$', 'Cos', 'Count',
+ 'CreateCircle', 'CreateLine', 'CreatePoint', 'CreateText',
+ 'CurDate', 'CurrentBorderPen', 'CurrentBrush', 'CurrentFont',
+ 'CurrentLinePen', 'CurrentPen', 'CurrentSymbol', 'DateWindow',
+ 'Day', 'DDEInitiate', 'DDERequest$', 'DeformatNumber$', 'EOF',
+ 'EOT', 'EPSGToCoordSysString$', 'Err', 'Error$', 'Exp',
+ 'ExtractNodes', 'FileAttr', 'FileExists', 'FileOpenDlg',
+ 'FileSaveAsDlg', 'Fix', 'Format$', 'FormatDate$', 'FormatNumber$',
+ 'FrontWindow', 'GeocodeInfo', 'GetFolderPath$', 'GetGridCellValue',
+ 'GetMetadata$', 'GetSeamlessSheet', 'GridTableInfo',
+ 'HomeDirectory$', 'InStr', 'Int', 'IntersectNodes',
+ 'IsGridCellNull', 'IsogramInfo', 'IsPenWidthPixels',
+ 'LabelFindByID', 'LabelFindFirst', 'LabelFindNext', 'LabelInfo',
+ 'LayerInfo', 'LCase$', 'Left$', 'LegendFrameInfo', 'LegendInfo',
+ 'LegendStyleInfo', 'Len', 'Like', 'LocateFile$', 'LOF', 'Log',
+ 'LTrim$', 'MakeBrush', 'MakeCustomSymbol', 'MakeFont',
+ 'MakeFontSymbol', 'MakePen', 'MakeSymbol', 'Map3DInfo',
+ 'MapperInfo', 'Max', 'Maximum', 'MBR', 'MenuItemInfoByHandler',
+ 'MenuItemInfoByID', 'MGRSToPoint', 'MICloseContent',
+ 'MICloseFtpConnection', 'MICloseFtpFileFind',
+ 'MICloseHttpConnection', 'MICloseHttpFile', 'MICloseSession',
+ 'MICreateSession', 'MICreateSessionFull', 'Mid$', 'MidByte$',
+ 'MIErrorDlg', 'MIFindFtpFile', 'MIFindNextFtpFile', 'MIGetContent',
+ 'MIGetContentBuffer', 'MIGetContentLen', 'MIGetContentString',
+ 'MIGetContentToFile', 'MIGetContentType',
+ 'MIGetCurrentFtpDirectory', 'MIGetErrorCode', 'MIGetErrorMessage',
+ 'MIGetFileURL', 'MIGetFtpConnection', 'MIGetFtpFile',
+ 'MIGetFtpFileFind', 'MIGetFtpFileName', 'MIGetHttpConnection',
+ 'MIIsFtpDirectory', 'MIIsFtpDots', 'Min', 'Minimum',
+ 'MIOpenRequest', 'MIOpenRequestFull', 'MIParseURL', 'MIPutFtpFile',
+ 'MIQueryInfo', 'MIQueryInfoStatusCode', 'MISaveContent',
+ 'MISendRequest', 'MISendSimpleRequest', 'MISetCurrentFtpDirectory',
+ 'MISetSessionTimeout', 'MIXmlAttributeListDestroy',
+ 'MIXmlDocumentCreate', 'MIXmlDocumentDestroy',
+ 'MIXmlDocumentGetNamespaces', 'MIXmlDocumentGetRootNode',
+ 'MIXmlDocumentLoad', 'MIXmlDocumentLoadXML',
+ 'MIXmlDocumentLoadXMLString', 'MIXmlDocumentSetProperty',
+ 'MIXmlGetAttributeList', 'MIXmlGetChildList',
+ 'MIXmlGetNextAttribute', 'MIXmlGetNextNode', 'MIXmlNodeDestroy',
+ 'MIXmlNodeGetAttributeValue', 'MIXmlNodeGetFirstChild',
+ 'MIXmlNodeGetName', 'MIXmlNodeGetParent', 'MIXmlNodeGetText',
+ 'MIXmlNodeGetValue', 'MIXmlNodeListDestroy', 'MIXmlSCDestroy',
+ 'MIXmlSCGetLength', 'MIXmlSCGetNamespace', 'MIXmlSelectNodes',
+ 'MIXmlSelectSingleNode', 'Month', 'NumAllWindows', 'NumberToDate',
+ 'NumCols', 'NumTables', 'NumWindows', 'ObjectDistance',
+ 'ObjectGeography', 'ObjectInfo', 'ObjectLen', 'ObjectNodeHasM',
+ 'ObjectNodeHasZ', 'ObjectNodeM', 'ObjectNodeX', 'ObjectNodeY',
+ 'ObjectNodeZ', 'OffsetXY', 'Overlap', 'OverlayNodes',
+ 'PathToDirectory$', 'PathToFileName$', 'PathToTableName$',
+ 'PenWidthToPoints', 'Perimeter', 'PointsToPenWidth',
+ 'PointToMGRS$', 'PrismMapInfo', 'ProgramDirectory$', 'Proper$',
+ 'ProportionOverlap', 'RasterTableInfo', 'ReadControlValue',
+ 'RegionInfo', 'RemoteQueryHandler', 'RGB', 'Right$', 'Rnd',
+ 'Rotate', 'RotateAtPoint', 'Round', 'RTrim$', 'SearchInfo',
+ 'SearchPoint', 'SearchRect', 'SelectionInfo', 'Server_ColumnInfo',
+ 'Server_Connect', 'Server_ConnectInfo', 'Server_DriverInfo',
+ 'Server_EOT', 'Server_Execute', 'Server_GetODBCHConn',
+ 'Server_GetODBCHStmt', 'Server_NumCols', 'Server_NumDrivers',
+ 'SessionInfo', 'Sgn', 'Sin', 'Space$', 'SphericalArea',
+ 'SphericalConnectObjects', 'SphericalDistance',
+ 'SphericalObjectDistance', 'SphericalObjectLen', 'SphericalOffset',
+ 'SphericalOffsetXY', 'SphericalPerimeter', 'Sqr', 'Str$',
+ 'String$', 'StringCompare', 'StringCompareIntl', 'StringToDate',
+ 'StyleAttr', 'Sum', 'SystemInfo', 'TableInfo', 'Tan',
+ 'TempFileName$', 'TextSize', 'Time', 'Timer', 'TriggerControl',
+ 'TrueFileName$', 'UBound', 'UCase$', 'UnitAbbr$', 'UnitName$',
+ 'Val', 'Weekday', 'WindowID', 'WindowInfo', 'WtAvg', 'Year'
+ ),
+ 4 => array(
+ 'BLACK', 'BLUE', 'BRUSH_BACKCOLOR', 'BRUSH_FORECOLOR',
+ 'BRUSH_PATTERN', 'BTNPAD_INFO_FLOATING', 'BTNPAD_INFO_NBTNS',
+ 'BTNPAD_INFO_WIDTH', 'BTNPAD_INFO_WINID', 'BTNPAD_INFO_X',
+ 'BTNPAD_INFO_Y', 'CLS', 'CMD_INFO_CTRL', 'CMD_INFO_CUSTOM_OBJ',
+ 'CMD_INFO_DLG_DBL', 'CMD_INFO_DLG_OK', 'CMD_INFO_EDIT_ASK',
+ 'CMD_INFO_EDIT_DISCARD', 'CMD_INFO_EDIT_SAVE',
+ 'CMD_INFO_EDIT_STATUS', 'CMD_INFO_EDIT_TABLE', 'CMD_INFO_FIND_RC',
+ 'CMD_INFO_FIND_ROWID', 'CMD_INFO_HL_FILE_NAME',
+ 'CMD_INFO_HL_LAYER_ID', 'CMD_INFO_HL_ROWID',
+ 'CMD_INFO_HL_TABLE_NAME', 'CMD_INFO_HL_WINDOW_ID',
+ 'CMD_INFO_INTERRUPT', 'CMD_INFO_MENUITEM', 'CMD_INFO_MSG',
+ 'CMD_INFO_ROWID', 'CMD_INFO_SELTYPE', 'CMD_INFO_SHIFT',
+ 'CMD_INFO_STATUS', 'CMD_INFO_TASK_SWITCH', 'CMD_INFO_TOOLBTN',
+ 'CMD_INFO_WIN', 'CMD_INFO_X', 'CMD_INFO_X2', 'CMD_INFO_XCMD',
+ 'CMD_INFO_Y', 'CMD_INFO_Y2', 'COL_INFO_DECPLACES',
+ 'COL_INFO_EDITABLE', 'COL_INFO_INDEXED', 'COL_INFO_NAME',
+ 'COL_INFO_NUM', 'COL_INFO_TYPE', 'COL_INFO_WIDTH', 'COL_TYPE_CHAR',
+ 'COL_TYPE_DATE', 'COL_TYPE_DATETIME', 'COL_TYPE_DECIMAL',
+ 'COL_TYPE_FLOAT', 'COL_TYPE_GRAPHIC', 'COL_TYPE_INTEGER',
+ 'COL_TYPE_LOGICAL', 'COL_TYPE_SMALLINT', 'COL_TYPE_TIME', 'CYAN',
+ 'DATE_WIN_CURPROG', 'DATE_WIN_SESSION', 'DEG_2_RAD',
+ 'DICTIONARY_ADDRESS_ONLY', 'DICTIONARY_ALL',
+ 'DICTIONARY_PREFER_ADDRESS', 'DICTIONARY_PREFER_USER',
+ 'DICTIONARY_USER_ONLY', 'DM_CUSTOM_CIRCLE', 'DM_CUSTOM_ELLIPSE',
+ 'DM_CUSTOM_LINE', 'DM_CUSTOM_POINT', 'DM_CUSTOM_POLYGON',
+ 'DM_CUSTOM_POLYLINE', 'DM_CUSTOM_RECT', 'DMPAPER_10X11',
+ 'DMPAPER_10X14', 'DMPAPER_11X17', 'DMPAPER_12X11', 'DMPAPER_15X11',
+ 'DMPAPER_9X11', 'DMPAPER_A_PLUS', 'DMPAPER_A2', 'DMPAPER_A3',
+ 'DMPAPER_A3_EXTRA', 'DMPAPER_A3_EXTRA_TRANSVERSE',
+ 'DMPAPER_A3_ROTATED', 'DMPAPER_A3_TRANSVERSE', 'DMPAPER_A4',
+ 'DMPAPER_A4_EXTRA', 'DMPAPER_A4_PLUS', 'DMPAPER_A4_ROTATED',
+ 'DMPAPER_A4_TRANSVERSE', 'DMPAPER_A4SMALL', 'DMPAPER_A5',
+ 'DMPAPER_A5_EXTRA', 'DMPAPER_A5_ROTATED', 'DMPAPER_A5_TRANSVERSE',
+ 'DMPAPER_A6', 'DMPAPER_A6_ROTATED', 'DMPAPER_B_PLUS', 'DMPAPER_B4',
+ 'DMPAPER_B4_JIS_ROTATED', 'DMPAPER_B5', 'DMPAPER_B5_EXTRA',
+ 'DMPAPER_B5_JIS_ROTATED', 'DMPAPER_B5_TRANSVERSE',
+ 'DMPAPER_B6_JIS', 'DMPAPER_B6_JIS_ROTATED', 'DMPAPER_CSHEET',
+ 'DMPAPER_DBL_JAPANESE_POSTCARD',
+ 'DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED', 'DMPAPER_DSHEET',
+ 'DMPAPER_ENV_10', 'DMPAPER_ENV_11', 'DMPAPER_ENV_12',
+ 'DMPAPER_ENV_14', 'DMPAPER_ENV_9', 'DMPAPER_ENV_B4',
+ 'DMPAPER_ENV_B5', 'DMPAPER_ENV_B6', 'DMPAPER_ENV_C3',
+ 'DMPAPER_ENV_C4', 'DMPAPER_ENV_C5', 'DMPAPER_ENV_C6',
+ 'DMPAPER_ENV_C65', 'DMPAPER_ENV_DL', 'DMPAPER_ENV_INVITE',
+ 'DMPAPER_ENV_ITALY', 'DMPAPER_ENV_MONARCH', 'DMPAPER_ENV_PERSONAL',
+ 'DMPAPER_ESHEET', 'DMPAPER_EXECUTIVE',
+ 'DMPAPER_FANFOLD_LGL_GERMAN', 'DMPAPER_FANFOLD_STD_GERMAN',
+ 'DMPAPER_FANFOLD_US', 'DMPAPER_FIRST', 'DMPAPER_FOLIO',
+ 'DMPAPER_ISO_B4', 'DMPAPER_JAPANESE_POSTCARD',
+ 'DMPAPER_JAPANESE_POSTCARD_ROTATED', 'DMPAPER_JENV_CHOU3',
+ 'DMPAPER_JENV_CHOU3_ROTATED', 'DMPAPER_JENV_CHOU4',
+ 'DMPAPER_JENV_CHOU4_ROTATED', 'DMPAPER_JENV_KAKU2',
+ 'DMPAPER_JENV_KAKU2_ROTATED', 'DMPAPER_JENV_KAKU3',
+ 'DMPAPER_JENV_KAKU3_ROTATED', 'DMPAPER_JENV_YOU4',
+ 'DMPAPER_JENV_YOU4_ROTATED', 'DMPAPER_LEDGER', 'DMPAPER_LEGAL',
+ 'DMPAPER_LEGAL_EXTRA', 'DMPAPER_LETTER', 'DMPAPER_LETTER_EXTRA',
+ 'DMPAPER_LETTER_EXTRA_TRANSVERSE', 'DMPAPER_LETTER_PLUS',
+ 'DMPAPER_LETTER_ROTATED', 'DMPAPER_LETTER_TRANSVERSE',
+ 'DMPAPER_LETTERSMALL', 'DMPAPER_NOTE', 'DMPAPER_P16K',
+ 'DMPAPER_P16K_ROTATED', 'DMPAPER_P32K', 'DMPAPER_P32K_ROTATED',
+ 'DMPAPER_P32KBIG', 'DMPAPER_P32KBIG_ROTATED', 'DMPAPER_PENV_1',
+ 'DMPAPER_PENV_1_ROTATED', 'DMPAPER_PENV_10',
+ 'DMPAPER_PENV_10_ROTATED', 'DMPAPER_PENV_2',
+ 'DMPAPER_PENV_2_ROTATED', 'DMPAPER_PENV_3',
+ 'DMPAPER_PENV_3_ROTATED', 'DMPAPER_PENV_4',
+ 'DMPAPER_PENV_4_ROTATED', 'DMPAPER_PENV_5',
+ 'DMPAPER_PENV_5_ROTATED', 'DMPAPER_PENV_6',
+ 'DMPAPER_PENV_6_ROTATED', 'DMPAPER_PENV_7',
+ 'DMPAPER_PENV_7_ROTATED', 'DMPAPER_PENV_8',
+ 'DMPAPER_PENV_8_ROTATED', 'DMPAPER_PENV_9',
+ 'DMPAPER_PENV_9_ROTATED', 'DMPAPER_QUARTO', 'DMPAPER_RESERVED_48',
+ 'DMPAPER_RESERVED_49', 'DMPAPER_STATEMENT', 'DMPAPER_TABLOID',
+ 'DMPAPER_TABLOID_EXTRA', 'DMPAPER_USER', 'ERR_BAD_WINDOW',
+ 'ERR_BAD_WINDOW_NUM', 'ERR_CANT_ACCESS_FILE',
+ 'ERR_CANT_INITIATE_LINK', 'ERR_CMD_NOT_SUPPORTED',
+ 'ERR_FCN_ARG_RANGE', 'ERR_FCN_INVALID_FMT',
+ 'ERR_FCN_OBJ_FETCH_FAILED', 'ERR_FILEMGR_NOTOPEN',
+ 'ERR_FP_MATH_LIB_DOMAIN', 'ERR_FP_MATH_LIB_RANGE',
+ 'ERR_INVALID_CHANNEL', 'ERR_INVALID_READ_CONTROL',
+ 'ERR_INVALID_TRIG_CONTROL', 'ERR_NO_FIELD',
+ 'ERR_NO_RESPONSE_FROM_APP', 'ERR_NULL_SELECTION',
+ 'ERR_PROCESS_FAILED_IN_APP', 'ERR_TABLE_NOT_FOUND',
+ 'ERR_WANT_MAPPER_WIN', 'FALSE', 'FILE_ATTR_FILESIZE',
+ 'FILE_ATTR_MODE', 'FILTER_ALL_DIRECTIONS_1',
+ 'FILTER_ALL_DIRECTIONS_2', 'FILTER_DIAGONALLY',
+ 'FILTER_HORIZONTALLY', 'FILTER_VERTICALLY',
+ 'FILTER_VERTICALLY_AND_HORIZONTALLY', 'FOLDER_APPDATA',
+ 'FOLDER_COMMON_APPDATA', 'FOLDER_COMMON_DOCS',
+ 'FOLDER_LOCAL_APPDATA', 'FOLDER_MI_APPDATA',
+ 'FOLDER_MI_COMMON_APPDATA', 'FOLDER_MI_LOCAL_APPDATA',
+ 'FOLDER_MI_PREFERENCE', 'FOLDER_MYDOCS', 'FOLDER_MYPICS',
+ 'FONT_BACKCOLOR', 'FONT_FORECOLOR', 'FONT_NAME', 'FONT_POINTSIZE',
+ 'FONT_STYLE', 'FRAME_INFO_BORDER_PEN', 'FRAME_INFO_COLUMN',
+ 'FRAME_INFO_HEIGHT', 'FRAME_INFO_LABEL', 'FRAME_INFO_MAP_LAYER_ID',
+ 'FRAME_INFO_NUM_STYLES', 'FRAME_INFO_POS_X', 'FRAME_INFO_POS_Y',
+ 'FRAME_INFO_REFRESHABLE', 'FRAME_INFO_SUBTITLE',
+ 'FRAME_INFO_SUBTITLE_FONT', 'FRAME_INFO_TITLE',
+ 'FRAME_INFO_TITLE_FONT', 'FRAME_INFO_TYPE', 'FRAME_INFO_VISIBLE',
+ 'FRAME_INFO_WIDTH', 'FRAME_TYPE_STYLE', 'FRAME_TYPE_THEME',
+ 'GEO_CONTROL_POINT_X', 'GEO_CONTROL_POINT_Y', 'GEOCODE_BATCH_SIZE',
+ 'GEOCODE_COUNT_GEOCODED', 'GEOCODE_COUNT_NOTGEOCODED',
+ 'GEOCODE_COUNTRY_SUBDIVISION', 'GEOCODE_COUNTRY_SUBDIVISION2',
+ 'GEOCODE_DICTIONARY', 'GEOCODE_FALLBACK_GEOGRAPHIC',
+ 'GEOCODE_FALLBACK_POSTAL', 'GEOCODE_MAX_BATCH_SIZE',
+ 'GEOCODE_MIXED_CASE', 'GEOCODE_MUNICIPALITY',
+ 'GEOCODE_MUNICIPALITY2', 'GEOCODE_OFFSET_CENTER',
+ 'GEOCODE_OFFSET_CENTER_UNITS', 'GEOCODE_OFFSET_END',
+ 'GEOCODE_OFFSET_END_UNITS', 'GEOCODE_PASSTHROUGH',
+ 'GEOCODE_POSTAL_CODE', 'GEOCODE_RESULT_MARK_MULTIPLE',
+ 'GEOCODE_STREET_NAME', 'GEOCODE_STREET_NUMBER',
+ 'GEOCODE_UNABLE_TO_CONVERT_DATA', 'GREEN',
+ 'GRID_TAB_INFO_HAS_HILLSHADE', 'GRID_TAB_INFO_MAX_VALUE',
+ 'GRID_TAB_INFO_MIN_VALUE', 'HOTLINK_INFO_ENABLED',
+ 'HOTLINK_INFO_EXPR', 'HOTLINK_INFO_MODE', 'HOTLINK_INFO_RELATIVE',
+ 'HOTLINK_MODE_BOTH', 'HOTLINK_MODE_LABEL', 'HOTLINK_MODE_OBJ',
+ 'IMAGE_CLASS_BILEVEL', 'IMAGE_CLASS_GREYSCALE',
+ 'IMAGE_CLASS_PALETTE', 'IMAGE_CLASS_RGB', 'IMAGE_TYPE_GRID',
+ 'IMAGE_TYPE_RASTER', 'INCL_ALL', 'INCL_COMMON', 'INCL_CROSSINGS',
+ 'ISOGRAM_AMBIENT_SPEED_DIST_UNIT',
+ 'ISOGRAM_AMBIENT_SPEED_TIME_UNIT', 'ISOGRAM_BANDING',
+ 'ISOGRAM_BATCH_SIZE', 'ISOGRAM_DEFAULT_AMBIENT_SPEED',
+ 'ISOGRAM_MAJOR_POLYGON_ONLY', 'ISOGRAM_MAJOR_ROADS_ONLY',
+ 'ISOGRAM_MAX_BANDS', 'ISOGRAM_MAX_BATCH_SIZE',
+ 'ISOGRAM_MAX_DISTANCE', 'ISOGRAM_MAX_DISTANCE_UNITS',
+ 'ISOGRAM_MAX_OFFROAD_DIST', 'ISOGRAM_MAX_OFFROAD_DIST_UNITS',
+ 'ISOGRAM_MAX_TIME', 'ISOGRAM_MAX_TIME_UNITS',
+ 'ISOGRAM_POINTS_ONLY', 'ISOGRAM_PROPAGATION_FACTOR',
+ 'ISOGRAM_RECORDS_INSERTED', 'ISOGRAM_RECORDS_NOTINSERTED',
+ 'ISOGRAM_RETURN_HOLES', 'ISOGRAM_SIMPLIFICATION_FACTOR',
+ 'LABEL_INFO_ANCHORX', 'LABEL_INFO_ANCHORY', 'LABEL_INFO_DRAWN',
+ 'LABEL_INFO_EDIT', 'LABEL_INFO_EDIT_ANCHOR',
+ 'LABEL_INFO_EDIT_ANGLE', 'LABEL_INFO_EDIT_FONT',
+ 'LABEL_INFO_EDIT_OFFSET', 'LABEL_INFO_EDIT_PEN',
+ 'LABEL_INFO_EDIT_POSITION', 'LABEL_INFO_EDIT_TEXT',
+ 'LABEL_INFO_EDIT_TEXTARROW', 'LABEL_INFO_EDIT_TEXTLINE',
+ 'LABEL_INFO_EDIT_VISIBILITY', 'LABEL_INFO_OBJECT',
+ 'LABEL_INFO_OFFSET', 'LABEL_INFO_ORIENTATION',
+ 'LABEL_INFO_POSITION', 'LABEL_INFO_ROWID', 'LABEL_INFO_SELECT',
+ 'LABEL_INFO_TABLE', 'LAYER_INFO_ARROWS', 'LAYER_INFO_CENTROIDS',
+ 'LAYER_INFO_COSMETIC', 'LAYER_INFO_DISPLAY',
+ 'LAYER_INFO_DISPLAY_GLOBAL', 'LAYER_INFO_DISPLAY_GRAPHIC',
+ 'LAYER_INFO_DISPLAY_OFF', 'LAYER_INFO_DISPLAY_VALUE',
+ 'LAYER_INFO_EDITABLE', 'LAYER_INFO_HOTLINK_COUNT',
+ 'LAYER_INFO_HOTLINK_EXPR', 'LAYER_INFO_HOTLINK_MODE',
+ 'LAYER_INFO_HOTLINK_RELATIVE', 'LAYER_INFO_LABEL_ALPHA',
+ 'LAYER_INFO_LABEL_ORIENT_CURVED',
+ 'LAYER_INFO_LABEL_ORIENT_HORIZONTAL',
+ 'LAYER_INFO_LABEL_ORIENT_PARALLEL', 'LAYER_INFO_LAYER_ALPHA',
+ 'LAYER_INFO_LAYER_TRANSLUCENCY', 'LAYER_INFO_LBL_AUTODISPLAY',
+ 'LAYER_INFO_LBL_CURFONT', 'LAYER_INFO_LBL_DUPLICATES',
+ 'LAYER_INFO_LBL_EXPR', 'LAYER_INFO_LBL_FONT', 'LAYER_INFO_LBL_LT',
+ 'LAYER_INFO_LBL_LT_ARROW', 'LAYER_INFO_LBL_LT_NONE',
+ 'LAYER_INFO_LBL_LT_SIMPLE', 'LAYER_INFO_LBL_MAX',
+ 'LAYER_INFO_LBL_OFFSET', 'LAYER_INFO_LBL_ORIENTATION',
+ 'LAYER_INFO_LBL_OVERLAP', 'LAYER_INFO_LBL_PARALLEL',
+ 'LAYER_INFO_LBL_PARTIALSEGS', 'LAYER_INFO_LBL_POS',
+ 'LAYER_INFO_LBL_POS_BC', 'LAYER_INFO_LBL_POS_BL',
+ 'LAYER_INFO_LBL_POS_BR', 'LAYER_INFO_LBL_POS_CC',
+ 'LAYER_INFO_LBL_POS_CL', 'LAYER_INFO_LBL_POS_CR',
+ 'LAYER_INFO_LBL_POS_TC', 'LAYER_INFO_LBL_POS_TL',
+ 'LAYER_INFO_LBL_POS_TR', 'LAYER_INFO_LBL_VIS_OFF',
+ 'LAYER_INFO_LBL_VIS_ON', 'LAYER_INFO_LBL_VIS_ZOOM',
+ 'LAYER_INFO_LBL_VISIBILITY', 'LAYER_INFO_LBL_ZOOM_MAX',
+ 'LAYER_INFO_LBL_ZOOM_MIN', 'LAYER_INFO_NAME', 'LAYER_INFO_NODES',
+ 'LAYER_INFO_OVR_BRUSH', 'LAYER_INFO_OVR_FONT',
+ 'LAYER_INFO_OVR_LINE', 'LAYER_INFO_OVR_PEN',
+ 'LAYER_INFO_OVR_SYMBOL', 'LAYER_INFO_PATH',
+ 'LAYER_INFO_SELECTABLE', 'LAYER_INFO_TYPE',
+ 'LAYER_INFO_TYPE_COSMETIC', 'LAYER_INFO_TYPE_GRID',
+ 'LAYER_INFO_TYPE_IMAGE', 'LAYER_INFO_TYPE_NORMAL',
+ 'LAYER_INFO_TYPE_THEMATIC', 'LAYER_INFO_TYPE_WMS',
+ 'LAYER_INFO_ZOOM_LAYERED', 'LAYER_INFO_ZOOM_MAX',
+ 'LAYER_INFO_ZOOM_MIN', 'LEGEND_INFO_MAP_ID',
+ 'LEGEND_INFO_NUM_FRAMES', 'LEGEND_INFO_ORIENTATION',
+ 'LEGEND_INFO_STYLE_SAMPLE_SIZE', 'LEGEND_STYLE_INFO_FONT',
+ 'LEGEND_STYLE_INFO_OBJ', 'LEGEND_STYLE_INFO_TEXT',
+ 'LOCATE_ABB_FILE', 'LOCATE_CLR_FILE', 'LOCATE_CUSTSYMB_DIR',
+ 'LOCATE_DEF_WOR', 'LOCATE_FNT_FILE', 'LOCATE_GEOCODE_SERVERLIST',
+ 'LOCATE_GRAPH_DIR', 'LOCATE_LAYOUT_TEMPLATE_DIR',
+ 'LOCATE_MNU_FILE', 'LOCATE_PEN_FILE', 'LOCATE_PREF_FILE',
+ 'LOCATE_PRJ_FILE', 'LOCATE_ROUTING_SERVERLIST',
+ 'LOCATE_THMTMPLT_DIR', 'LOCATE_WFS_SERVERLIST',
+ 'LOCATE_WMS_SERVERLIST', 'M_3DMAP_CLONE_VIEW',
+ 'M_3DMAP_PREVIOUS_VIEW', 'M_3DMAP_PROPERTIES',
+ 'M_3DMAP_REFRESH_GRID_TEXTURE', 'M_3DMAP_VIEW_ENTIRE_GRID',
+ 'M_3DMAP_VIEWPOINT_CONTROL', 'M_3DMAP_WIREFRAME',
+ 'M_ANALYZE_CALC_STATISTICS', 'M_ANALYZE_CUSTOMIZE_LEGEND',
+ 'M_ANALYZE_FIND', 'M_ANALYZE_FIND_SELECTION',
+ 'M_ANALYZE_INVERTSELECT', 'M_ANALYZE_SELECT',
+ 'M_ANALYZE_SELECTALL', 'M_ANALYZE_SHADE', 'M_ANALYZE_SQLQUERY',
+ 'M_ANALYZE_UNSELECT', 'M_BROWSE_EDIT', 'M_BROWSE_GRID',
+ 'M_BROWSE_NEW_RECORD', 'M_BROWSE_OPTIONS', 'M_BROWSE_PICK_FIELDS',
+ 'M_DBMS_OPEN_ODBC', 'M_EDIT_CLEAR', 'M_EDIT_CLEAROBJ',
+ 'M_EDIT_COPY', 'M_EDIT_CUT', 'M_EDIT_GETINFO', 'M_EDIT_NEW_ROW',
+ 'M_EDIT_PASTE', 'M_EDIT_PREFERENCES', 'M_EDIT_PREFERENCES_COUNTRY',
+ 'M_EDIT_PREFERENCES_FILE', 'M_EDIT_PREFERENCES_IMAGE_PROC',
+ 'M_EDIT_PREFERENCES_LAYOUT', 'M_EDIT_PREFERENCES_LEGEND',
+ 'M_EDIT_PREFERENCES_MAP', 'M_EDIT_PREFERENCES_OUTPUT',
+ 'M_EDIT_PREFERENCES_PATH', 'M_EDIT_PREFERENCES_PRINTER',
+ 'M_EDIT_PREFERENCES_STYLES', 'M_EDIT_PREFERENCES_SYSTEM',
+ 'M_EDIT_PREFERENCES_WEBSERVICES', 'M_EDIT_RESHAPE', 'M_EDIT_UNDO',
+ 'M_FILE_ABOUT', 'M_FILE_ADD_WORKSPACE', 'M_FILE_CLOSE',
+ 'M_FILE_CLOSE_ALL', 'M_FILE_CLOSE_ODBC', 'M_FILE_EXIT',
+ 'M_FILE_HELP', 'M_FILE_NEW', 'M_FILE_OPEN', 'M_FILE_OPEN_ODBC',
+ 'M_FILE_OPEN_ODBC_CONN', 'M_FILE_OPEN_UNIVERSAL_DATA',
+ 'M_FILE_OPEN_WFS', 'M_FILE_OPEN_WMS', 'M_FILE_PAGE_SETUP',
+ 'M_FILE_PRINT', 'M_FILE_PRINT_SETUP', 'M_FILE_REVERT',
+ 'M_FILE_RUN', 'M_FILE_SAVE', 'M_FILE_SAVE_COPY_AS',
+ 'M_FILE_SAVE_QUERY', 'M_FILE_SAVE_WINDOW_AS',
+ 'M_FILE_SAVE_WORKSPACE', 'M_FORMAT_CUSTOM_COLORS',
+ 'M_FORMAT_PICK_FILL', 'M_FORMAT_PICK_FONT', 'M_FORMAT_PICK_LINE',
+ 'M_FORMAT_PICK_SYMBOL', 'M_GRAPH_3D_VIEWING_ANGLE',
+ 'M_GRAPH_FORMATING', 'M_GRAPH_GENERAL_OPTIONS',
+ 'M_GRAPH_GRID_SCALES', 'M_GRAPH_LABEL_AXIS',
+ 'M_GRAPH_SAVE_AS_TEMPLATE', 'M_GRAPH_SERIES',
+ 'M_GRAPH_SERIES_OPTIONS', 'M_GRAPH_TITLES', 'M_GRAPH_TYPE',
+ 'M_GRAPH_VALUE_AXIS', 'M_HELP_ABOUT', 'M_HELP_CHECK_FOR_UPDATE',
+ 'M_HELP_CONNECT_MIFORUM', 'M_HELP_CONTENTS',
+ 'M_HELP_CONTEXTSENSITIVE', 'M_HELP_HELPMODE',
+ 'M_HELP_MAPINFO_3DGRAPH_HELP', 'M_HELP_MAPINFO_CONNECT_SERVICES',
+ 'M_HELP_MAPINFO_WWW', 'M_HELP_MAPINFO_WWW_STORE',
+ 'M_HELP_MAPINFO_WWW_TUTORIAL', 'M_HELP_SEARCH',
+ 'M_HELP_TECHSUPPORT', 'M_HELP_USE_HELP', 'M_LAYOUT_ACTUAL',
+ 'M_LAYOUT_ALIGN', 'M_LAYOUT_AUTOSCROLL_ONOFF',
+ 'M_LAYOUT_BRING2FRONT', 'M_LAYOUT_CHANGE_VIEW',
+ 'M_LAYOUT_DISPLAYOPTIONS', 'M_LAYOUT_DROPSHADOWS',
+ 'M_LAYOUT_ENTIRE', 'M_LAYOUT_LAYOUT_SIZE', 'M_LAYOUT_PREVIOUS',
+ 'M_LAYOUT_SEND2BACK', 'M_LEGEND_ADD_FRAMES', 'M_LEGEND_DELETE',
+ 'M_LEGEND_PROPERTIES', 'M_LEGEND_REFRESH', 'M_MAP_AUTOLABEL',
+ 'M_MAP_AUTOSCROLL_ONOFF', 'M_MAP_CHANGE_VIEW',
+ 'M_MAP_CLEAR_COSMETIC', 'M_MAP_CLEAR_CUSTOM_LABELS',
+ 'M_MAP_CLIP_REGION_ONOFF', 'M_MAP_CLONE_MAPPER',
+ 'M_MAP_CREATE_3DMAP', 'M_MAP_CREATE_LEGEND',
+ 'M_MAP_CREATE_PRISMMAP', 'M_MAP_ENTIRE_LAYER',
+ 'M_MAP_LAYER_CONTROL', 'M_MAP_MODIFY_THEMATIC', 'M_MAP_OPTIONS',
+ 'M_MAP_PREVIOUS', 'M_MAP_PROJECTION', 'M_MAP_SAVE_COSMETIC',
+ 'M_MAP_SET_CLIP_REGION', 'M_MAP_SETUNITS', 'M_MAP_SETUPDIGITIZER',
+ 'M_MAP_THEMATIC', 'M_MAPBASIC_CLEAR', 'M_MAPBASIC_SAVECONTENTS',
+ 'M_OBJECTS_BREAKPOLY', 'M_OBJECTS_BUFFER',
+ 'M_OBJECTS_CHECK_REGIONS', 'M_OBJECTS_CLEAN',
+ 'M_OBJECTS_CLEAR_TARGET', 'M_OBJECTS_COMBINE',
+ 'M_OBJECTS_CONVEX_HULL', 'M_OBJECTS_CVT_PGON',
+ 'M_OBJECTS_CVT_PLINE', 'M_OBJECTS_DISAGG',
+ 'M_OBJECTS_DRIVE_REGION', 'M_OBJECTS_ENCLOSE', 'M_OBJECTS_ERASE',
+ 'M_OBJECTS_ERASE_OUT', 'M_OBJECTS_MERGE', 'M_OBJECTS_OFFSET',
+ 'M_OBJECTS_OVERLAY', 'M_OBJECTS_POLYLINE_SPLIT',
+ 'M_OBJECTS_POLYLINE_SPLIT_AT_NODE', 'M_OBJECTS_RESHAPE',
+ 'M_OBJECTS_ROTATE', 'M_OBJECTS_SET_TARGET', 'M_OBJECTS_SMOOTH',
+ 'M_OBJECTS_SNAP', 'M_OBJECTS_SPLIT', 'M_OBJECTS_UNSMOOTH',
+ 'M_OBJECTS_VORONOI', 'M_ORACLE_CREATE_WORKSPACE',
+ 'M_ORACLE_DELETE_WORKSPACE', 'M_ORACLE_MERGE_PARENT',
+ 'M_ORACLE_REFRESH_FROM_PARENT', 'M_ORACLE_VERSION_ENABLE_OFF',
+ 'M_ORACLE_VERSION_ENABLE_ON', 'M_QUERY_CALC_STATISTICS',
+ 'M_QUERY_FIND', 'M_QUERY_FIND_ADDRESS', 'M_QUERY_FIND_SELECTION',
+ 'M_QUERY_FIND_SELECTION_CURRENT_MAP', 'M_QUERY_INVERTSELECT',
+ 'M_QUERY_SELECT', 'M_QUERY_SELECTALL', 'M_QUERY_SQLQUERY',
+ 'M_QUERY_UNSELECT', 'M_REDISTRICT_ADD', 'M_REDISTRICT_ASSIGN',
+ 'M_REDISTRICT_DELETE', 'M_REDISTRICT_OPTIONS',
+ 'M_REDISTRICT_TARGET', 'M_SENDMAIL_CURRENTWINDOW',
+ 'M_SENDMAIL_WORKSPACE', 'M_TABLE_APPEND', 'M_TABLE_BUFFER',
+ 'M_TABLE_CHANGESYMBOL', 'M_TABLE_CREATE_POINTS', 'M_TABLE_DELETE',
+ 'M_TABLE_DRIVE_REGION', 'M_TABLE_EXPORT', 'M_TABLE_GEOCODE',
+ 'M_TABLE_IMPORT', 'M_TABLE_MAKEMAPPABLE',
+ 'M_TABLE_MERGE_USING_COLUMN', 'M_TABLE_MODIFY_STRUCTURE',
+ 'M_TABLE_PACK', 'M_TABLE_RASTER_REG', 'M_TABLE_RASTER_STYLE',
+ 'M_TABLE_REFRESH', 'M_TABLE_RENAME',
+ 'M_TABLE_UNIVERSAL_DATA_REFRESH', 'M_TABLE_UNLINK',
+ 'M_TABLE_UPDATE_COLUMN', 'M_TABLE_VORONOI', 'M_TABLE_WEB_GEOCODE',
+ 'M_TABLE_WFS_PROPS', 'M_TABLE_WFS_REFRESH', 'M_TABLE_WMS_PROPS',
+ 'M_TOOLS_ADD_NODE', 'M_TOOLS_ARC', 'M_TOOLS_CRYSTAL_REPORTS_NEW',
+ 'M_TOOLS_CRYSTAL_REPORTS_OPEN', 'M_TOOLS_DRAGWINDOW',
+ 'M_TOOLS_ELLIPSE', 'M_TOOLS_EXPAND', 'M_TOOLS_FRAME',
+ 'M_TOOLS_HOTLINK', 'M_TOOLS_LABELER', 'M_TOOLS_LINE',
+ 'M_TOOLS_MAPBASIC', 'M_TOOLS_PNT_QUERY', 'M_TOOLS_POINT',
+ 'M_TOOLS_POLYGON', 'M_TOOLS_POLYLINE', 'M_TOOLS_RASTER_REG',
+ 'M_TOOLS_RECENTER', 'M_TOOLS_RECTANGLE', 'M_TOOLS_ROUNDEDRECT',
+ 'M_TOOLS_RULER', 'M_TOOLS_RUN', 'M_TOOLS_SEARCH_BOUNDARY',
+ 'M_TOOLS_SEARCH_POLYGON', 'M_TOOLS_SEARCH_RADIUS',
+ 'M_TOOLS_SEARCH_RECT', 'M_TOOLS_SELECTOR', 'M_TOOLS_SHRINK',
+ 'M_TOOLS_TEXT', 'M_TOOLS_TOOL_MANAGER', 'M_WINDOW_ARRANGEICONS',
+ 'M_WINDOW_BROWSE', 'M_WINDOW_BUTTONPAD', 'M_WINDOW_CASCADE',
+ 'M_WINDOW_EXPORT_WINDOW', 'M_WINDOW_FIRST', 'M_WINDOW_GRAPH',
+ 'M_WINDOW_LAYOUT', 'M_WINDOW_LEGEND', 'M_WINDOW_MAP',
+ 'M_WINDOW_MAPBASIC', 'M_WINDOW_MORE', 'M_WINDOW_REDISTRICT',
+ 'M_WINDOW_REDRAW', 'M_WINDOW_STATISTICS', 'M_WINDOW_STATUSBAR',
+ 'M_WINDOW_TILE', 'M_WINDOW_TOOL_PALETTE', 'MAGENTA',
+ 'MAP3D_INFO_BACKGROUND', 'MAP3D_INFO_CAMERA_CLIP_FAR',
+ 'MAP3D_INFO_CAMERA_CLIP_NEAR', 'MAP3D_INFO_CAMERA_FOCAL_X',
+ 'MAP3D_INFO_CAMERA_FOCAL_Y', 'MAP3D_INFO_CAMERA_FOCAL_Z',
+ 'MAP3D_INFO_CAMERA_VPN_1', 'MAP3D_INFO_CAMERA_VPN_2',
+ 'MAP3D_INFO_CAMERA_VPN_3', 'MAP3D_INFO_CAMERA_VU_1',
+ 'MAP3D_INFO_CAMERA_VU_2', 'MAP3D_INFO_CAMERA_VU_3',
+ 'MAP3D_INFO_CAMERA_X', 'MAP3D_INFO_CAMERA_Y',
+ 'MAP3D_INFO_CAMERA_Z', 'MAP3D_INFO_LIGHT_COLOR',
+ 'MAP3D_INFO_LIGHT_X', 'MAP3D_INFO_LIGHT_Y', 'MAP3D_INFO_LIGHT_Z',
+ 'MAP3D_INFO_RESOLUTION_X', 'MAP3D_INFO_RESOLUTION_Y',
+ 'MAP3D_INFO_SCALE', 'MAP3D_INFO_UNITS', 'MAPPER_INFO_AREAUNITS',
+ 'MAPPER_INFO_CENTERX', 'MAPPER_INFO_CENTERY',
+ 'MAPPER_INFO_CLIP_DISPLAY_ALL', 'MAPPER_INFO_CLIP_DISPLAY_POLYOBJ',
+ 'MAPPER_INFO_CLIP_OVERLAY', 'MAPPER_INFO_CLIP_REGION',
+ 'MAPPER_INFO_CLIP_TYPE', 'MAPPER_INFO_COORDSYS_CLAUSE',
+ 'MAPPER_INFO_COORDSYS_CLAUSE_WITH_BOUNDS',
+ 'MAPPER_INFO_COORDSYS_NAME', 'MAPPER_INFO_DISPLAY',
+ 'MAPPER_INFO_DISPLAY_DECIMAL', 'MAPPER_INFO_DISPLAY_DEGMINSEC',
+ 'MAPPER_INFO_DISPLAY_DMS', 'MAPPER_INFO_DISPLAY_MGRS',
+ 'MAPPER_INFO_DISPLAY_POSITION', 'MAPPER_INFO_DISPLAY_SCALE',
+ 'MAPPER_INFO_DISPLAY_ZOOM', 'MAPPER_INFO_DIST_CALC_TYPE',
+ 'MAPPER_INFO_DIST_CARTESIAN', 'MAPPER_INFO_DIST_SPHERICAL',
+ 'MAPPER_INFO_DISTUNITS', 'MAPPER_INFO_EDIT_LAYER',
+ 'MAPPER_INFO_LAYERS', 'MAPPER_INFO_MAXX', 'MAPPER_INFO_MAXY',
+ 'MAPPER_INFO_MERGE_MAP', 'MAPPER_INFO_MINX', 'MAPPER_INFO_MINY',
+ 'MAPPER_INFO_MOVE_DUPLICATE_NODES', 'MAPPER_INFO_NUM_THEMATIC',
+ 'MAPPER_INFO_REPROJECTION', 'MAPPER_INFO_RESAMPLING',
+ 'MAPPER_INFO_SCALE', 'MAPPER_INFO_SCROLLBARS',
+ 'MAPPER_INFO_XYUNITS', 'MAPPER_INFO_ZOOM', 'MAX_STRING_LENGTH',
+ 'MENUITEM_INFO_ACCELERATOR', 'MENUITEM_INFO_CHECKABLE',
+ 'MENUITEM_INFO_CHECKED', 'MENUITEM_INFO_ENABLED',
+ 'MENUITEM_INFO_HANDLER', 'MENUITEM_INFO_HELPMSG',
+ 'MENUITEM_INFO_ID', 'MENUITEM_INFO_SHOWHIDEABLE',
+ 'MENUITEM_INFO_TEXT', 'MI_CURSOR_ARROW', 'MI_CURSOR_CHANGE_WIDTH',
+ 'MI_CURSOR_CROSSHAIR', 'MI_CURSOR_DRAG_OBJ',
+ 'MI_CURSOR_FINGER_LEFT', 'MI_CURSOR_FINGER_UP',
+ 'MI_CURSOR_GRABBER', 'MI_CURSOR_IBEAM', 'MI_CURSOR_IBEAM_CROSS',
+ 'MI_CURSOR_ZOOM_IN', 'MI_CURSOR_ZOOM_OUT', 'MI_ICON_ADD_NODE',
+ 'MI_ICON_ARC', 'MI_ICON_ARROW', 'MI_ICON_ARROW_1',
+ 'MI_ICON_ARROW_10', 'MI_ICON_ARROW_11', 'MI_ICON_ARROW_12',
+ 'MI_ICON_ARROW_13', 'MI_ICON_ARROW_14', 'MI_ICON_ARROW_15',
+ 'MI_ICON_ARROW_16', 'MI_ICON_ARROW_17', 'MI_ICON_ARROW_18',
+ 'MI_ICON_ARROW_19', 'MI_ICON_ARROW_2', 'MI_ICON_ARROW_20',
+ 'MI_ICON_ARROW_21', 'MI_ICON_ARROW_3', 'MI_ICON_ARROW_4',
+ 'MI_ICON_ARROW_5', 'MI_ICON_ARROW_6', 'MI_ICON_ARROW_7',
+ 'MI_ICON_ARROW_8', 'MI_ICON_ARROW_9', 'MI_ICON_CLIP_MODE',
+ 'MI_ICON_CLIP_REGION', 'MI_ICON_CLOSE_ALL',
+ 'MI_ICON_COMMUNICATION_1', 'MI_ICON_COMMUNICATION_10',
+ 'MI_ICON_COMMUNICATION_11', 'MI_ICON_COMMUNICATION_12',
+ 'MI_ICON_COMMUNICATION_2', 'MI_ICON_COMMUNICATION_3',
+ 'MI_ICON_COMMUNICATION_4', 'MI_ICON_COMMUNICATION_5',
+ 'MI_ICON_COMMUNICATION_6', 'MI_ICON_COMMUNICATION_7',
+ 'MI_ICON_COMMUNICATION_8', 'MI_ICON_COMMUNICATION_9',
+ 'MI_ICON_COMPASS_CIRCLE_TA', 'MI_ICON_COMPASS_CONTRACT',
+ 'MI_ICON_COMPASS_EXPAND', 'MI_ICON_COMPASS_POLY_TA',
+ 'MI_ICON_COMPASS_TAG', 'MI_ICON_COMPASS_UNTAG', 'MI_ICON_COPY',
+ 'MI_ICON_CROSSHAIR', 'MI_ICON_CUT', 'MI_ICON_DISTRICT_MANY',
+ 'MI_ICON_DISTRICT_SAME', 'MI_ICON_DRAG_HANDLE', 'MI_ICON_ELLIPSE',
+ 'MI_ICON_EMERGENCY_1', 'MI_ICON_EMERGENCY_10',
+ 'MI_ICON_EMERGENCY_11', 'MI_ICON_EMERGENCY_12',
+ 'MI_ICON_EMERGENCY_13', 'MI_ICON_EMERGENCY_14',
+ 'MI_ICON_EMERGENCY_15', 'MI_ICON_EMERGENCY_16',
+ 'MI_ICON_EMERGENCY_17', 'MI_ICON_EMERGENCY_18',
+ 'MI_ICON_EMERGENCY_2', 'MI_ICON_EMERGENCY_3',
+ 'MI_ICON_EMERGENCY_4', 'MI_ICON_EMERGENCY_5',
+ 'MI_ICON_EMERGENCY_6', 'MI_ICON_EMERGENCY_7',
+ 'MI_ICON_EMERGENCY_8', 'MI_ICON_EMERGENCY_9', 'MI_ICON_GRABBER',
+ 'MI_ICON_GRAPH_SELECT', 'MI_ICON_HELP', 'MI_ICON_HOT_LINK',
+ 'MI_ICON_INFO', 'MI_ICON_INVERTSELECT', 'MI_ICON_LABEL',
+ 'MI_ICON_LAYERS', 'MI_ICON_LEGEND', 'MI_ICON_LETTERS_A',
+ 'MI_ICON_LETTERS_B', 'MI_ICON_LETTERS_C', 'MI_ICON_LETTERS_D',
+ 'MI_ICON_LETTERS_E', 'MI_ICON_LETTERS_F', 'MI_ICON_LETTERS_G',
+ 'MI_ICON_LETTERS_H', 'MI_ICON_LETTERS_I', 'MI_ICON_LETTERS_J',
+ 'MI_ICON_LETTERS_K', 'MI_ICON_LETTERS_L', 'MI_ICON_LETTERS_M',
+ 'MI_ICON_LETTERS_N', 'MI_ICON_LETTERS_O', 'MI_ICON_LETTERS_P',
+ 'MI_ICON_LETTERS_Q', 'MI_ICON_LETTERS_R', 'MI_ICON_LETTERS_S',
+ 'MI_ICON_LETTERS_T', 'MI_ICON_LETTERS_U', 'MI_ICON_LETTERS_V',
+ 'MI_ICON_LETTERS_W', 'MI_ICON_LETTERS_X', 'MI_ICON_LETTERS_Y',
+ 'MI_ICON_LETTERS_Z', 'MI_ICON_LINE', 'MI_ICON_LINE_STYLE',
+ 'MI_ICON_MAPSYMB_1', 'MI_ICON_MAPSYMB_10', 'MI_ICON_MAPSYMB_11',
+ 'MI_ICON_MAPSYMB_12', 'MI_ICON_MAPSYMB_13', 'MI_ICON_MAPSYMB_14',
+ 'MI_ICON_MAPSYMB_15', 'MI_ICON_MAPSYMB_16', 'MI_ICON_MAPSYMB_17',
+ 'MI_ICON_MAPSYMB_18', 'MI_ICON_MAPSYMB_19', 'MI_ICON_MAPSYMB_2',
+ 'MI_ICON_MAPSYMB_20', 'MI_ICON_MAPSYMB_21', 'MI_ICON_MAPSYMB_22',
+ 'MI_ICON_MAPSYMB_23', 'MI_ICON_MAPSYMB_24', 'MI_ICON_MAPSYMB_25',
+ 'MI_ICON_MAPSYMB_26', 'MI_ICON_MAPSYMB_3', 'MI_ICON_MAPSYMB_4',
+ 'MI_ICON_MAPSYMB_5', 'MI_ICON_MAPSYMB_6', 'MI_ICON_MAPSYMB_7',
+ 'MI_ICON_MAPSYMB_8', 'MI_ICON_MAPSYMB_9', 'MI_ICON_MARITIME_1',
+ 'MI_ICON_MARITIME_10', 'MI_ICON_MARITIME_2', 'MI_ICON_MARITIME_3',
+ 'MI_ICON_MARITIME_4', 'MI_ICON_MARITIME_5', 'MI_ICON_MARITIME_6',
+ 'MI_ICON_MARITIME_7', 'MI_ICON_MARITIME_8', 'MI_ICON_MARITIME_9',
+ 'MI_ICON_MB_1', 'MI_ICON_MB_10', 'MI_ICON_MB_11', 'MI_ICON_MB_12',
+ 'MI_ICON_MB_13', 'MI_ICON_MB_14', 'MI_ICON_MB_2', 'MI_ICON_MB_3',
+ 'MI_ICON_MB_4', 'MI_ICON_MB_5', 'MI_ICON_MB_6', 'MI_ICON_MB_7',
+ 'MI_ICON_MB_8', 'MI_ICON_MB_9', 'MI_ICON_MISC_1',
+ 'MI_ICON_MISC_10', 'MI_ICON_MISC_11', 'MI_ICON_MISC_12',
+ 'MI_ICON_MISC_13', 'MI_ICON_MISC_14', 'MI_ICON_MISC_15',
+ 'MI_ICON_MISC_16', 'MI_ICON_MISC_17', 'MI_ICON_MISC_18',
+ 'MI_ICON_MISC_19', 'MI_ICON_MISC_2', 'MI_ICON_MISC_20',
+ 'MI_ICON_MISC_21', 'MI_ICON_MISC_22', 'MI_ICON_MISC_23',
+ 'MI_ICON_MISC_24', 'MI_ICON_MISC_25', 'MI_ICON_MISC_26',
+ 'MI_ICON_MISC_27', 'MI_ICON_MISC_28', 'MI_ICON_MISC_29',
+ 'MI_ICON_MISC_3', 'MI_ICON_MISC_30', 'MI_ICON_MISC_31',
+ 'MI_ICON_MISC_4', 'MI_ICON_MISC_5', 'MI_ICON_MISC_6',
+ 'MI_ICON_MISC_7', 'MI_ICON_MISC_8', 'MI_ICON_MISC_9',
+ 'MI_ICON_NEW_DOC', 'MI_ICON_NUMBERS_1', 'MI_ICON_NUMBERS_10',
+ 'MI_ICON_NUMBERS_11', 'MI_ICON_NUMBERS_12', 'MI_ICON_NUMBERS_13',
+ 'MI_ICON_NUMBERS_14', 'MI_ICON_NUMBERS_15', 'MI_ICON_NUMBERS_16',
+ 'MI_ICON_NUMBERS_17', 'MI_ICON_NUMBERS_18', 'MI_ICON_NUMBERS_19',
+ 'MI_ICON_NUMBERS_2', 'MI_ICON_NUMBERS_20', 'MI_ICON_NUMBERS_21',
+ 'MI_ICON_NUMBERS_22', 'MI_ICON_NUMBERS_23', 'MI_ICON_NUMBERS_24',
+ 'MI_ICON_NUMBERS_25', 'MI_ICON_NUMBERS_26', 'MI_ICON_NUMBERS_27',
+ 'MI_ICON_NUMBERS_28', 'MI_ICON_NUMBERS_29', 'MI_ICON_NUMBERS_3',
+ 'MI_ICON_NUMBERS_30', 'MI_ICON_NUMBERS_31', 'MI_ICON_NUMBERS_32',
+ 'MI_ICON_NUMBERS_4', 'MI_ICON_NUMBERS_5', 'MI_ICON_NUMBERS_6',
+ 'MI_ICON_NUMBERS_7', 'MI_ICON_NUMBERS_8', 'MI_ICON_NUMBERS_9',
+ 'MI_ICON_ODBC_DISCONNECT', 'MI_ICON_ODBC_MAPPABLE',
+ 'MI_ICON_ODBC_OPEN', 'MI_ICON_ODBC_REFRESH', 'MI_ICON_ODBC_SYMBOL',
+ 'MI_ICON_ODBC_UNLINK', 'MI_ICON_OPEN_FILE', 'MI_ICON_OPEN_WOR',
+ 'MI_ICON_OPENWFS', 'MI_ICON_OPENWMS', 'MI_ICON_PASTE',
+ 'MI_ICON_POLYGON', 'MI_ICON_POLYLINE', 'MI_ICON_PRINT',
+ 'MI_ICON_REALESTATE_1', 'MI_ICON_REALESTATE_10',
+ 'MI_ICON_REALESTATE_11', 'MI_ICON_REALESTATE_12',
+ 'MI_ICON_REALESTATE_13', 'MI_ICON_REALESTATE_14',
+ 'MI_ICON_REALESTATE_15', 'MI_ICON_REALESTATE_16',
+ 'MI_ICON_REALESTATE_17', 'MI_ICON_REALESTATE_18',
+ 'MI_ICON_REALESTATE_19', 'MI_ICON_REALESTATE_2',
+ 'MI_ICON_REALESTATE_20', 'MI_ICON_REALESTATE_21',
+ 'MI_ICON_REALESTATE_22', 'MI_ICON_REALESTATE_23',
+ 'MI_ICON_REALESTATE_3', 'MI_ICON_REALESTATE_4',
+ 'MI_ICON_REALESTATE_5', 'MI_ICON_REALESTATE_6',
+ 'MI_ICON_REALESTATE_7', 'MI_ICON_REALESTATE_8',
+ 'MI_ICON_REALESTATE_9', 'MI_ICON_RECT', 'MI_ICON_REGION_STYLE',
+ 'MI_ICON_RESHAPE', 'MI_ICON_ROUND_RECT', 'MI_ICON_RULER',
+ 'MI_ICON_RUN', 'MI_ICON_SAVE_FILE', 'MI_ICON_SAVE_WIN',
+ 'MI_ICON_SAVE_WOR', 'MI_ICON_SEARCH_BDY', 'MI_ICON_SEARCH_POLYGON',
+ 'MI_ICON_SEARCH_RADIUS', 'MI_ICON_SEARCH_RECT', 'MI_ICON_SIGNS_1',
+ 'MI_ICON_SIGNS_10', 'MI_ICON_SIGNS_11', 'MI_ICON_SIGNS_12',
+ 'MI_ICON_SIGNS_13', 'MI_ICON_SIGNS_14', 'MI_ICON_SIGNS_15',
+ 'MI_ICON_SIGNS_16', 'MI_ICON_SIGNS_17', 'MI_ICON_SIGNS_18',
+ 'MI_ICON_SIGNS_19', 'MI_ICON_SIGNS_2', 'MI_ICON_SIGNS_3',
+ 'MI_ICON_SIGNS_4', 'MI_ICON_SIGNS_5', 'MI_ICON_SIGNS_6',
+ 'MI_ICON_SIGNS_7', 'MI_ICON_SIGNS_8', 'MI_ICON_SIGNS_9',
+ 'MI_ICON_STATISTICS', 'MI_ICON_SYMBOL', 'MI_ICON_SYMBOL_STYLE',
+ 'MI_ICON_TEXT', 'MI_ICON_TEXT_STYLE', 'MI_ICON_TRANSPORT_1',
+ 'MI_ICON_TRANSPORT_10', 'MI_ICON_TRANSPORT_11',
+ 'MI_ICON_TRANSPORT_12', 'MI_ICON_TRANSPORT_13',
+ 'MI_ICON_TRANSPORT_14', 'MI_ICON_TRANSPORT_15',
+ 'MI_ICON_TRANSPORT_16', 'MI_ICON_TRANSPORT_17',
+ 'MI_ICON_TRANSPORT_18', 'MI_ICON_TRANSPORT_19',
+ 'MI_ICON_TRANSPORT_2', 'MI_ICON_TRANSPORT_20',
+ 'MI_ICON_TRANSPORT_21', 'MI_ICON_TRANSPORT_22',
+ 'MI_ICON_TRANSPORT_23', 'MI_ICON_TRANSPORT_24',
+ 'MI_ICON_TRANSPORT_25', 'MI_ICON_TRANSPORT_26',
+ 'MI_ICON_TRANSPORT_27', 'MI_ICON_TRANSPORT_3',
+ 'MI_ICON_TRANSPORT_4', 'MI_ICON_TRANSPORT_5',
+ 'MI_ICON_TRANSPORT_6', 'MI_ICON_TRANSPORT_7',
+ 'MI_ICON_TRANSPORT_8', 'MI_ICON_TRANSPORT_9', 'MI_ICON_UNDO',
+ 'MI_ICON_UNSELECT_ALL', 'MI_ICON_WINDOW_FRAME', 'MI_ICON_WRENCH',
+ 'MI_ICON_ZOOM_IN', 'MI_ICON_ZOOM_OUT', 'MI_ICON_ZOOM_QUESTION',
+ 'MI_ICONS_MAPS_1', 'MI_ICONS_MAPS_10', 'MI_ICONS_MAPS_11',
+ 'MI_ICONS_MAPS_12', 'MI_ICONS_MAPS_13', 'MI_ICONS_MAPS_14',
+ 'MI_ICONS_MAPS_15', 'MI_ICONS_MAPS_2', 'MI_ICONS_MAPS_3',
+ 'MI_ICONS_MAPS_4', 'MI_ICONS_MAPS_5', 'MI_ICONS_MAPS_6',
+ 'MI_ICONS_MAPS_7', 'MI_ICONS_MAPS_8', 'MI_ICONS_MAPS_9',
+ 'MIPLATFORM_HP', 'MIPLATFORM_MAC68K', 'MIPLATFORM_POWERMAC',
+ 'MIPLATFORM_SPECIAL', 'MIPLATFORM_SUN', 'MIPLATFORM_WIN16',
+ 'MIPLATFORM_WIN32', 'MODE_APPEND', 'MODE_BINARY', 'MODE_INPUT',
+ 'MODE_OUTPUT', 'MODE_RANDOM', 'OBJ_ARC', 'OBJ_ELLIPSE',
+ 'OBJ_FRAME', 'OBJ_GEO_ARCBEGANGLE', 'OBJ_GEO_ARCENDANGLE',
+ 'OBJ_GEO_CENTROID', 'OBJ_GEO_LINEBEGX', 'OBJ_GEO_LINEBEGY',
+ 'OBJ_GEO_LINEENDX', 'OBJ_GEO_LINEENDY', 'OBJ_GEO_MAXX',
+ 'OBJ_GEO_MAXY', 'OBJ_GEO_MINX', 'OBJ_GEO_MINY', 'OBJ_GEO_POINTM',
+ 'OBJ_GEO_POINTX', 'OBJ_GEO_POINTY', 'OBJ_GEO_POINTZ',
+ 'OBJ_GEO_ROUNDRADIUS', 'OBJ_GEO_TEXTANGLE', 'OBJ_GEO_TEXTLINEX',
+ 'OBJ_GEO_TEXTLINEY', 'OBJ_INFO_BRUSH', 'OBJ_INFO_FILLFRAME',
+ 'OBJ_INFO_FRAMETITLE', 'OBJ_INFO_FRAMEWIN', 'OBJ_INFO_HAS_M',
+ 'OBJ_INFO_HAS_Z', 'OBJ_INFO_MPOINT', 'OBJ_INFO_NONEMPTY',
+ 'OBJ_INFO_NPNTS', 'OBJ_INFO_NPOLYGONS', 'OBJ_INFO_PEN',
+ 'OBJ_INFO_PLINE', 'OBJ_INFO_REGION', 'OBJ_INFO_SMOOTH',
+ 'OBJ_INFO_SYMBOL', 'OBJ_INFO_TEXTARROW', 'OBJ_INFO_TEXTFONT',
+ 'OBJ_INFO_TEXTJUSTIFY', 'OBJ_INFO_TEXTSPACING',
+ 'OBJ_INFO_TEXTSTRING', 'OBJ_INFO_TYPE', 'OBJ_INFO_Z_UNIT',
+ 'OBJ_INFO_Z_UNIT_SET', 'OBJ_LINE', 'OBJ_PLINE', 'OBJ_POINT',
+ 'OBJ_RECT', 'OBJ_REGION', 'OBJ_ROUNDRECT', 'OBJ_TEXT',
+ 'OBJ_TYPE_ARC', 'OBJ_TYPE_COLLECTION', 'OBJ_TYPE_ELLIPSE',
+ 'OBJ_TYPE_FRAME', 'OBJ_TYPE_LINE', 'OBJ_TYPE_MPOINT',
+ 'OBJ_TYPE_PLINE', 'OBJ_TYPE_POINT', 'OBJ_TYPE_RECT',
+ 'OBJ_TYPE_REGION', 'OBJ_TYPE_ROUNDRECT', 'OBJ_TYPE_TEXT',
+ 'ORIENTATION_CUSTOM', 'ORIENTATION_LANDSCAPE',
+ 'ORIENTATION_PORTRAIT', 'PEN_COLOR', 'PEN_INDEX',
+ 'PEN_INTERLEAVED', 'PEN_PATTERN', 'PEN_WIDTH', 'PLATFORM_MAC',
+ 'PLATFORM_MOTIF', 'PLATFORM_SPECIAL', 'PLATFORM_WIN',
+ 'PLATFORM_X11', 'PLATFORM_XOL', 'PRISMMAP_INFO_BACKGROUND',
+ 'PRISMMAP_INFO_CAMERA_CLIP_FAR', 'PRISMMAP_INFO_CAMERA_CLIP_NEAR',
+ 'PRISMMAP_INFO_CAMERA_FOCAL_X', 'PRISMMAP_INFO_CAMERA_FOCAL_Y',
+ 'PRISMMAP_INFO_CAMERA_FOCAL_Z', 'PRISMMAP_INFO_CAMERA_VPN_1',
+ 'PRISMMAP_INFO_CAMERA_VPN_2', 'PRISMMAP_INFO_CAMERA_VPN_3',
+ 'PRISMMAP_INFO_CAMERA_VU_1', 'PRISMMAP_INFO_CAMERA_VU_2',
+ 'PRISMMAP_INFO_CAMERA_VU_3', 'PRISMMAP_INFO_CAMERA_X',
+ 'PRISMMAP_INFO_CAMERA_Y', 'PRISMMAP_INFO_CAMERA_Z',
+ 'PRISMMAP_INFO_INFOTIP_EXPR', 'PRISMMAP_INFO_LIGHT_COLOR',
+ 'PRISMMAP_INFO_LIGHT_X', 'PRISMMAP_INFO_LIGHT_Y',
+ 'PRISMMAP_INFO_LIGHT_Z', 'PRISMMAP_INFO_SCALE', 'RAD_2_DEG',
+ 'RASTER_CONTROL_POINT_X', 'RASTER_CONTROL_POINT_Y',
+ 'RASTER_TAB_INFO_ALPHA', 'RASTER_TAB_INFO_BITS_PER_PIXEL',
+ 'RASTER_TAB_INFO_BRIGHTNESS', 'RASTER_TAB_INFO_CONTRAST',
+ 'RASTER_TAB_INFO_DISPLAY_TRANSPARENT', 'RASTER_TAB_INFO_GREYSCALE',
+ 'RASTER_TAB_INFO_HEIGHT', 'RASTER_TAB_INFO_IMAGE_CLASS',
+ 'RASTER_TAB_INFO_IMAGE_NAME', 'RASTER_TAB_INFO_IMAGE_TYPE',
+ 'RASTER_TAB_INFO_NUM_CONTROL_POINTS',
+ 'RASTER_TAB_INFO_TRANSPARENT_COLOR', 'RASTER_TAB_INFO_WIDTH',
+ 'RED', 'REGION_INFO_IS_CLOCKWISE', 'SEARCH_INFO_ROW',
+ 'SEARCH_INFO_TABLE', 'SECONDS_PER_DAY', 'SEL_INFO_NROWS',
+ 'SEL_INFO_SELNAME', 'SEL_INFO_TABLENAME',
+ 'SESSION_INFO_AREA_UNITS', 'SESSION_INFO_COORDSYS_CLAUSE',
+ 'SESSION_INFO_DISTANCE_UNITS', 'SESSION_INFO_PAPER_UNITS',
+ 'SRV_COL_INFO_ALIAS', 'SRV_COL_INFO_NAME',
+ 'SRV_COL_INFO_PRECISION', 'SRV_COL_INFO_SCALE',
+ 'SRV_COL_INFO_STATUS', 'SRV_COL_INFO_TYPE', 'SRV_COL_INFO_VALUE',
+ 'SRV_COL_INFO_WIDTH', 'SRV_COL_TYPE_BIN_STRING',
+ 'SRV_COL_TYPE_CHAR', 'SRV_COL_TYPE_DATE', 'SRV_COL_TYPE_DECIMAL',
+ 'SRV_COL_TYPE_FIXED_LEN_STRING', 'SRV_COL_TYPE_FLOAT',
+ 'SRV_COL_TYPE_INTEGER', 'SRV_COL_TYPE_LOGICAL',
+ 'SRV_COL_TYPE_NONE', 'SRV_COL_TYPE_SMALLINT',
+ 'SRV_CONNECT_INFO_DB_NAME', 'SRV_CONNECT_INFO_DRIVER_NAME',
+ 'SRV_CONNECT_INFO_DS_NAME', 'SRV_CONNECT_INFO_QUOTE_CHAR',
+ 'SRV_CONNECT_INFO_SQL_USER_ID', 'SRV_DRV_DATA_SOURCE',
+ 'SRV_DRV_INFO_NAME', 'SRV_DRV_INFO_NAME_LIST', 'SRV_ERROR',
+ 'SRV_FETCH_FIRST', 'SRV_FETCH_LAST', 'SRV_FETCH_NEXT',
+ 'SRV_FETCH_PREV', 'SRV_INVALID_HANDLE', 'SRV_NEED_DATA',
+ 'SRV_NO_MORE_DATA', 'SRV_NULL_DATA', 'SRV_SUCCESS',
+ 'SRV_SUCCESS_WITH_INFO', 'SRV_TRUNCATED_DATA',
+ 'SRV_WM_HIST_NO_OVERWRITE', 'SRV_WM_HIST_NONE',
+ 'SRV_WM_HIST_OVERWRITE', 'STR_EQ', 'STR_GT', 'STR_LT',
+ 'STYLE_SAMPLE_SIZE_LARGE', 'STYLE_SAMPLE_SIZE_SMALL',
+ 'SWITCHING_INTO_MAPINFO', 'SWITCHING_OUT_OF_MAPINFO',
+ 'SYMBOL_ANGLE', 'SYMBOL_CODE', 'SYMBOL_COLOR',
+ 'SYMBOL_CUSTOM_NAME', 'SYMBOL_CUSTOM_STYLE', 'SYMBOL_FONT_NAME',
+ 'SYMBOL_FONT_STYLE', 'SYMBOL_KIND', 'SYMBOL_KIND_CUSTOM',
+ 'SYMBOL_KIND_FONT', 'SYMBOL_KIND_VECTOR', 'SYMBOL_POINTSIZE',
+ 'SYS_INFO_APPIDISPATCH', 'SYS_INFO_APPLICATIONWND',
+ 'SYS_INFO_APPVERSION', 'SYS_INFO_CHARSET',
+ 'SYS_INFO_COPYPROTECTED', 'SYS_INFO_DATE_FORMAT',
+ 'SYS_INFO_DDESTATUS', 'SYS_INFO_DIG_INSTALLED',
+ 'SYS_INFO_DIG_MODE', 'SYS_INFO_MAPINFOWND',
+ 'SYS_INFO_MDICLIENTWND', 'SYS_INFO_MIBUILD_NUMBER',
+ 'SYS_INFO_MIPLATFORM', 'SYS_INFO_MIVERSION',
+ 'SYS_INFO_NUMBER_FORMAT', 'SYS_INFO_PLATFORM',
+ 'SYS_INFO_PRODUCTLEVEL', 'SYS_INFO_RUNTIME',
+ 'TAB_GEO_CONTROL_POINT_X', 'TAB_GEO_CONTROL_POINT_Y',
+ 'TAB_INFO_BROWSER_LIST', 'TAB_INFO_COORDSYS_CLAUSE',
+ 'TAB_INFO_COORDSYS_CLAUSE_WITHOUT_BOUNDS',
+ 'TAB_INFO_COORDSYS_MAXX', 'TAB_INFO_COORDSYS_MAXY',
+ 'TAB_INFO_COORDSYS_MINX', 'TAB_INFO_COORDSYS_MINY',
+ 'TAB_INFO_COORDSYS_NAME', 'TAB_INFO_EDITED', 'TAB_INFO_FASTEDIT',
+ 'TAB_INFO_MAPPABLE', 'TAB_INFO_MAPPABLE_TABLE', 'TAB_INFO_MAXX',
+ 'TAB_INFO_MAXY', 'TAB_INFO_MINX', 'TAB_INFO_MINY', 'TAB_INFO_NAME',
+ 'TAB_INFO_NCOLS', 'TAB_INFO_NREFS', 'TAB_INFO_NROWS',
+ 'TAB_INFO_NUM', 'TAB_INFO_READONLY', 'TAB_INFO_SEAMLESS',
+ 'TAB_INFO_SUPPORT_MZ', 'TAB_INFO_TABFILE', 'TAB_INFO_TEMP',
+ 'TAB_INFO_THEME_METADATA', 'TAB_INFO_TYPE', 'TAB_INFO_UNDO',
+ 'TAB_INFO_USERBROWSE', 'TAB_INFO_USERCLOSE',
+ 'TAB_INFO_USERDISPLAYMAP', 'TAB_INFO_USEREDITABLE',
+ 'TAB_INFO_USERMAP', 'TAB_INFO_USERREMOVEMAP', 'TAB_INFO_Z_UNIT',
+ 'TAB_INFO_Z_UNIT_SET', 'TAB_TYPE_BASE', 'TAB_TYPE_FME',
+ 'TAB_TYPE_IMAGE', 'TAB_TYPE_LINKED', 'TAB_TYPE_RESULT',
+ 'TAB_TYPE_VIEW', 'TAB_TYPE_WFS', 'TAB_TYPE_WMS', 'TRUE', 'WHITE',
+ 'WIN_3DMAP', 'WIN_BROWSER', 'WIN_BUTTONPAD', 'WIN_CART_LEGEND',
+ 'WIN_GRAPH', 'WIN_HELP', 'WIN_INFO', 'WIN_INFO_AUTOSCROLL',
+ 'WIN_INFO_CLONEWINDOW', 'WIN_INFO_ENHANCED_RENDERING',
+ 'WIN_INFO_EXPORT_ANTIALIASING', 'WIN_INFO_EXPORT_BORDER',
+ 'WIN_INFO_EXPORT_DITHER', 'WIN_INFO_EXPORT_FILTER',
+ 'WIN_INFO_EXPORT_MASKSIZE', 'WIN_INFO_EXPORT_THRESHOLD',
+ 'WIN_INFO_EXPORT_TRANSPRASTER', 'WIN_INFO_EXPORT_TRANSPVECTOR',
+ 'WIN_INFO_EXPORT_TRUECOLOR', 'WIN_INFO_HEIGHT',
+ 'WIN_INFO_LEGENDS_MAP', 'WIN_INFO_NAME', 'WIN_INFO_OPEN',
+ 'WIN_INFO_PRINTER_BORDER', 'WIN_INFO_PRINTER_BOTTOMMARGIN',
+ 'WIN_INFO_PRINTER_COPIES', 'WIN_INFO_PRINTER_DITHER',
+ 'WIN_INFO_PRINTER_LEFTMARGIN', 'WIN_INFO_PRINTER_METHOD',
+ 'WIN_INFO_PRINTER_NAME', 'WIN_INFO_PRINTER_ORIENT',
+ 'WIN_INFO_PRINTER_PAPERSIZE', 'WIN_INFO_PRINTER_RIGHTMARGIN',
+ 'WIN_INFO_PRINTER_SCALE_PATTERNS', 'WIN_INFO_PRINTER_TOPMARGIN',
+ 'WIN_INFO_PRINTER_TRANSPRASTER', 'WIN_INFO_PRINTER_TRANSPVECTOR',
+ 'WIN_INFO_PRINTER_TRUECOLOR', 'WIN_INFO_SMARTPAN',
+ 'WIN_INFO_SMOOTH_IMAGE', 'WIN_INFO_SMOOTH_TEXT',
+ 'WIN_INFO_SMOOTH_VECTOR', 'WIN_INFO_SNAPMODE',
+ 'WIN_INFO_SNAPTHRESHOLD', 'WIN_INFO_STATE',
+ 'WIN_INFO_SYSMENUCLOSE', 'WIN_INFO_TABLE', 'WIN_INFO_TOPMOST',
+ 'WIN_INFO_TYPE', 'WIN_INFO_WIDTH', 'WIN_INFO_WINDOWID',
+ 'WIN_INFO_WND', 'WIN_INFO_WORKSPACE', 'WIN_INFO_X', 'WIN_INFO_Y',
+ 'WIN_LAYOUT', 'WIN_LEGEND', 'WIN_MAPBASIC', 'WIN_MAPINFO',
+ 'WIN_MAPPER', 'WIN_MESSAGE', 'WIN_PENPICKER',
+ 'WIN_PRINTER_LANDSCAPE', 'WIN_PRINTER_PORTRAIT', 'WIN_RULER',
+ 'WIN_STATE_MAXIMIZED', 'WIN_STATE_MINIMIZED', 'WIN_STATE_NORMAL',
+ 'WIN_STATISTICS', 'WIN_STYLE_CHILD', 'WIN_STYLE_POPUP',
+ 'WIN_STYLE_POPUP_FULLCAPTION', 'WIN_STYLE_STANDARD',
+ 'WIN_SYMBOLPICKER', 'WIN_TOOLBAR', 'WIN_TOOLPICKER', 'YELLOW'
+ ),
+ 5 => array(
+ 'Abbrs', 'Above', 'Access', 'Active', 'Address', 'Advanced',
+ 'Affine', 'Align', 'Alpha', 'alpha_value', 'Always', 'Angle',
+ 'Animate', 'Antialiasing', 'Append', 'Apply', 'ApplyUpdates',
+ 'Arrow', 'Ascending', 'ASCII', 'At', 'AttributeData', 'Auto',
+ 'Autoflip', 'Autokey', 'Automatic', 'Autoscroll', 'Axis',
+ 'Background', 'Banding', 'Batch', 'Behind', 'Below', 'Bend',
+ 'Binary', 'Blocks', 'Border', 'BorderPen', 'Bottom', 'Bounds',
+ 'ByteOrder', 'ByVal', 'Calling', 'Camera', 'Candidates',
+ 'Cartesian', 'Cell', 'Center', 'Change', 'Char', 'Circle',
+ 'Clipping', 'CloseMatchesOnly', 'ClosestAddr', 'Color', 'Columns',
+ 'Contents', 'ControlPoints', 'Copies', 'Copyright', 'Counter',
+ 'Country', 'CountrySecondarySubdivision', 'CountrySubdivision',
+ 'Cross', 'CubicConvolution', 'Cull', 'Cursor', 'Custom', 'Data',
+ 'DBF', 'DDE', 'Decimal', 'DecimalPlaces', 'DefaultAmbientSpeed',
+ 'DefaultPropagationFactor', 'DeformatNumber', 'Delimiter',
+ 'Density', 'DenyWrite', 'Descending', 'Destroy', 'Device',
+ 'Dictionary', 'DInfo', 'Disable', 'DiscardUpdates', 'Display',
+ 'Dither', 'DrawMode', 'DropKey', 'Droplines', 'Duplicates',
+ 'Dynamic', 'Earth', 'East', 'EditLayerPopup', 'Elevation', 'Else',
+ 'ElseIf', 'Emf', 'Enable', 'Envinsa', 'ErrorDiffusion', 'Extents',
+ 'Fallback', 'FastEdit', 'FillFrame', 'Filter', 'First', 'Fit',
+ 'Fixed', 'FocalPoint', 'Footnote', 'Force', 'FromMapCatalog',
+ 'Front', 'Gap', 'Geographic', 'Geography', 'Graduated', 'Graphic',
+ 'Gutter', 'Half', 'Halftone', 'Handles', 'Height', 'Help',
+ 'HelpMsg', 'Hide', 'Hierarchical', 'HIGHLOW', 'History', 'Icon',
+ 'ID', 'Ignore', 'Image', 'Inflect', 'Inset', 'Inside',
+ 'Interactive', 'Internal', 'Interpolate', 'IntersectingStreet',
+ 'Justify', 'Key', 'Label', 'Labels', 'Landscape', 'Large', 'Last',
+ 'Layer', 'Left', 'Lib', 'Light', 'LinePen', 'Lines', 'Linestyle',
+ 'Longitude', 'LOWHIGH', 'Major', 'MajorPolygonOnly',
+ 'MajorRoadsOnly', 'MapBounds', 'MapMarker', 'MapString', 'Margins',
+ 'MarkMultiple', 'MaskSize', 'Match', 'MaxOffRoadDistance',
+ 'Message', 'MICODE', 'Minor', 'MixedCase', 'Mode', 'ModifierKeys',
+ 'Modify', 'Multiple', 'MultiPolygonRgns', 'Municipality',
+ 'MunicipalitySubdivision', 'Name', 'NATIVE', 'NearestNeighbor',
+ 'NoCollision', 'Node', 'Nodes', 'NoIndex', 'None', 'Nonearth',
+ 'NoRefresh', 'Normalized', 'North', 'Number', 'ObjectType', 'ODBC',
+ 'Off', 'OK', 'OLE', 'On', 'Options', 'Orientation', 'OtherBdy',
+ 'Output', 'Outside', 'Overlapped', 'Overwrite', 'Pagebreaks',
+ 'Pan', 'Papersize', 'Parent', 'PassThrough', 'Password',
+ 'Patterns', 'Per', 'Percent', 'Percentage', 'Permanent',
+ 'PersistentCache', 'Pie', 'Pitch', 'Placename', 'PointsOnly',
+ 'PolyObj', 'Portrait', 'Position', 'PostalCode', 'Prefer',
+ 'Preferences', 'Prev', 'Printer', 'Projection', 'PushButton',
+ 'Quantile', 'Query', 'Random', 'Range', 'Raster', 'Read',
+ 'ReadOnly', 'Rec', 'Redraw', 'Refine', 'Regionstyle', 'RemoveData',
+ 'Replace', 'Reprojection', 'Resampling', 'Restore', 'ResultCode',
+ 'ReturnHoles', 'Right', 'Roll', 'ROP', 'Rotated', 'Row', 'Ruler',
+ 'Scale', 'ScrollBars', 'Seamless', 'SecondaryPostalCode',
+ 'SelfInt', 'Separator', 'Series', 'Service', 'SetKey',
+ 'SetTraverse', 'Shades', 'Show', 'Simple', 'SimplificationFactor',
+ 'Size', 'Small', 'Smart', 'Smooth', 'South', 'Spacing',
+ 'SPATIALWARE', 'Spherical', 'Square', 'Stacked', 'Step', 'Store',
+ 'Street', 'StreetName', 'StreetNumber', 'StyleType', 'Subtitle',
+ 'SysMenuClose', 'Thin', 'Tick', 'Title', 'TitleAxisY',
+ 'TitleGroup', 'Titles', 'TitleSeries', 'ToggleButton', 'Tolerance',
+ 'ToolbarPosition', 'ToolButton', 'Toolkit', 'Top', 'Translucency',
+ 'translucency_percent', 'Transparency', 'Transparent', 'Traverse',
+ 'TrueColor', 'Uncheck', 'Undo', 'Union', 'Unit', 'Until', 'URL',
+ 'Use', 'User', 'UserBrowse', 'UserClose', 'UserDisplayMap',
+ 'UserEdit', 'UserMap', 'UserRemoveMap', 'Value', 'Variable',
+ 'Vary', 'Vector', 'Versioned', 'View', 'ViewDisplayPopup',
+ 'VisibleOnly', 'VMDefault', 'VMGrid', 'VMRaster', 'Voronoi',
+ 'Warnings', 'Wedge', 'West', 'Width', 'With', 'XY', 'XYINDEX',
+ 'Yaw', 'Zoom'
+ )
+ ),
+ 'SYMBOLS' => array(
+ //Numeric/String Operators + Comparison Operators
+ '(', ')', '[', ']', '+', '-', '*', '/', '\\', '^', '&',
+ '=', '<', '>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000ff;', //Statements + Clauses + Data Types + Logical Operators, Geographical Operators + SQL
+ 2 => 'color: #2391af;', //Special Procedures
+ 3 => 'color: #2391af;', //Functions
+ 4 => 'color: #c635cb;', //Constants
+ 5 => 'color: #0000ff;' //Extended keywords (case sensitive)
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000;',
+ 'MULTI' => 'color: #008000;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #a31515;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #12198b;', //Table Attributes
+ 1 => 'color: #2391af;' //Data Types
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Table Attribute
+ 0 => "[\\.]{1}[a-zA-Z0-9_]+",
+ //Data Type
+ 1 => "(?xi) \\s+ as \\s+ (Alias|Brush|Date|Float|Font|Integer|Logical|Object|Pen|SmallInt|String|Symbol)"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/matlab.php b/application/libraries/geshi/matlab.php
new file mode 100644
index 000000000..f3ad34968
--- /dev/null
+++ b/application/libraries/geshi/matlab.php
@@ -0,0 +1,227 @@
+<?php
+/*************************************************************************************
+ * matlab.php
+ * -----------
+ * Author: Florian Knorn (floz@gmx.de)
+ * Copyright: (c) 2004 Florian Knorn (http://www.florian-knorn.com)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/02/09
+ *
+ * Matlab M-file language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006-03-25 (1.0.7.22)
+ * - support for the transpose operator
+ * - many keywords added
+ * - links to the matlab documentation at mathworks
+ * by: Olivier Verdier (olivier.verdier@free.fr)
+ * 2005/05/07 (1.0.0)
+ * - 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' => 'Matlab M',
+ 'COMMENT_SINGLE' => array(1 => '%'),
+ 'COMMENT_MULTI' => array(),
+ //Matlab Strings
+ 'COMMENT_REGEXP' => array(
+ 2 => "/(?<![\\w\\)\\]\\}\\.])('[^\\n']*?')/"
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'break', 'case', 'catch', 'continue', 'elseif', 'else', 'end', 'for',
+ 'function', 'global', 'if', 'otherwise', 'persistent', 'return',
+ 'switch', 'try', 'while'
+ ),
+ 2 => array(
+ 'all','any','exist','is','logical','mislocked',
+
+ 'abs','acos','acosh','acot','acoth','acsc','acsch','airy','angle',
+ 'ans','area','asec','asech','asin','asinh','atan','atan2','atanh',
+ 'auread','autumn','auwrite','axes','axis','balance','bar','bar3',
+ 'bar3h','barh','besselh','besseli','besselj','besselk','Bessely',
+ 'beta','betainc','betaln','bicg','bicgstab','bin2dec','bitand',
+ 'bitcmp','bitget','bitmax','bitor','bitset','bitshift','bitxor',
+ 'blkdiag','bone','box','brighten','builtin','bwcontr','calendar',
+ 'camdolly','camlight','camlookat','camorbit','campan','campos',
+ 'camproj','camroll','camtarget','camup','camva','camzoom','capture',
+ 'cart2pol','cart2sph','cat','caxis','cdf2rdf','ceil','cell',
+ 'cell2struct','celldisp','cellfun','cellplot','cellstr','cgs',
+ 'char','chol','cholinc','cholupdate','cla','clabel','class','clc',
+ 'clf','clg','clock','close','colmmd','colorbar','colorcube',
+ 'colordef','colormap','colperm','comet','comet3','compan','compass',
+ 'complex','computer','cond','condeig','condest','coneplot','conj',
+ 'contour','contourc','contourf','contourslice','contrast','conv',
+ 'conv2','convhull','cool','copper','copyobj','corrcoef','cos',
+ 'cosh','cot','coth','cov','cplxpair','cputime','cross','csc','csch',
+ 'cumprod','cumsum','cumtrapz','cylinder','daspect','date','datenum',
+ 'datestr','datetick','datevec','dbclear','dbcont','dbdown',
+ 'dblquad','dbmex','dbquit','dbstack','dbstatus','dbstep','dbstop',
+ 'dbtype','dbup','deblank','dec2bin','dec2hex','deconv','del2',
+ 'delaunay','det','diag','dialog','diff','diffuse','dlmread',
+ 'dlmwrite','dmperm','double','dragrect','drawnow','dsearch','eig',
+ 'eigs','ellipj','ellipke','eomday','eps','erf','erfc','erfcx',
+ 'erfiny','error','errorbar','errordlg','etime','eval','evalc',
+ 'evalin','exp','expint','expm','eye','ezcontour','ezcontourf',
+ 'ezmesh','ezmeshc','ezplot','ezplot3','ezpolar','ezsurf','ezsurfc',
+ 'factor','factorial','fclose','feather','feof','ferror','feval',
+ 'fft','fft2','fftshift','fgetl','fgets','fieldnames','figure',
+ 'fill','fill3','filter','filter2','find','findfigs','findobj',
+ 'findstr','fix','flag','flipdim','fliplr','flipud','floor','flops',
+ 'fmin','fmins','fopen','fplot','fprintf','fread','frewind','fscanf',
+ 'fseek','ftell','full','funm','fwrite','fzero','gallery','gamma',
+ 'gammainc','gammaln','gca','gcbo','gcd','gcf','gco','get',
+ 'getfield','ginput','gmres','gradient','gray','graymon','grid',
+ 'griddata','gsvd','gtext','hadamard','hankel','hdf','helpdlg',
+ 'hess','hex2dec','hex2num','hidden','hilb','hist','hold','hot',
+ 'hsv','hsv2rgb','i','ifft','ifft2','ifftn','ifftshift','imag',
+ 'image','imfinfo','imread','imwrite','ind2sub','Inf','inferiorto',
+ 'inline','inpolygon','input','inputdlg','inputname','int16',
+ 'int2str','int32','int8','interp1','interp2','interp3','interpft',
+ 'interpn','intersect','inv','invhilb','ipermute','isa','ishandle',
+ 'ismember','isocaps','isonormals','isosurface','j','jet','keyboard',
+ 'lcm','legend','legendre','light','lighting','lightingangle',
+ 'lin2mu','line','lines','linspace','listdlg','loadobj','log',
+ 'log10','log2','loglog','logm','logspace','lower','lscov','lu',
+ 'luinc','magic','mat2str','material','max','mean','median','menu',
+ 'menuedit','mesh','meshc','meshgrid','min','mod','msgbox','mu2lin',
+ 'NaN','nargchk','nargin','nargout','nchoosek','ndgrid','ndims',
+ 'newplot','nextpow2','nnls','nnz','nonzeros','norm','normest','now',
+ 'null','num2cell','num2str','nzmax','ode113,','ode15s,','ode23s,',
+ 'ode23t,','ode23tb','ode45,','odefile','odeget','odeset','ones',
+ 'orient','orth','pagedlg','pareto','pascal','patch','pause',
+ 'pbaspect','pcg','pcolor','peaks','perms','permute','pi','pie',
+ 'pie3','pinv','plot','plot3','plotmatrix','plotyy','pol2cart',
+ 'polar','poly','polyarea','polyder','polyeig','polyfit','polyval',
+ 'polyvalm','pow2','primes','print','printdlg','printopt','prism',
+ 'prod','propedit','qmr','qr','qrdelete','qrinsert','qrupdate',
+ 'quad','questdlg','quiver','quiver3','qz','rand','randn','randperm',
+ 'rank','rat','rats','rbbox','rcond','real','realmax','realmin',
+ 'rectangle','reducepatch','reducevolume','refresh','rem','repmat',
+ 'reset','reshape','residue','rgb2hsv','rgbplot','ribbon','rmfield',
+ 'roots','rose','rot90','rotate','rotate3d','round','rref',
+ 'rrefmovie','rsf2csf','saveobj','scatter','scatter3','schur',
+ 'script','sec','sech','selectmoveresize','semilogx','semilogy',
+ 'set','setdiff','setfield','setxor','shading','shg','shiftdim',
+ 'shrinkfaces','sign','sin','single','sinh','slice','smooth3','sort',
+ 'sortrows','sound','soundsc','spalloc','sparse','spconvert',
+ 'spdiags','specular','speye','spfun','sph2cart','sphere','spinmap',
+ 'spline','spones','spparms','sprand','sprandn','sprandsym','spring',
+ 'sprintf','sqrt','sqrtm','squeeze','sscanf','stairs','std','stem',
+ 'stem3','str2double','str2num','strcat','strcmp','strcmpi',
+ 'stream2','stream3','streamline','strings','strjust','strmatch',
+ 'strncmp','strrep','strtok','struct','struct2cell','strvcat',
+ 'sub2ind','subplot','subspace','subvolume','sum','summer',
+ 'superiorto','surf','surf2patch','surface','surfc','surfl',
+ 'surfnorm','svd','svds','symmmd','symrcm','symvar','tan','tanh',
+ 'texlabel','text Create','textread','textwrap','tic','title','toc',
+ 'toeplitz','trace','trapz','tril','trimesh','trisurf','triu',
+ 'tsearch','uicontext Create','uicontextmenu','uicontrol',
+ 'uigetfile','uimenu','uint32','uint8','uiputfile','uiresume',
+ 'uisetcolor','uisetfont','uiwait Used','union','unique','unwrap',
+ 'upper','var','varargin','varargout','vectorize','view','viewmtx',
+ 'voronoi','waitbar','waitforbuttonpress','warndlg','warning',
+ 'waterfall','wavread','wavwrite','weekday','whitebg','wilkinson',
+ 'winter','wk1read','wk1write','xlabel','xlim','ylabel','ylim',
+ 'zeros','zlabel','zlim','zoom',
+ //'[Keywords 6]',
+ 'addpath','cd','clear','copyfile','delete','diary','dir','disp',
+ 'doc','docopt','echo','edit','fileparts','format','fullfile','help',
+ 'helpdesk','helpwin','home','inmem','lasterr','lastwarn','length',
+ 'load','lookfor','ls','matlabrc','matlabroot','mkdir','mlock',
+ 'more','munlock','open','openvar','pack','partialpath','path',
+ 'pathtool','profile','profreport','pwd','quit','rmpath','save',
+ 'saveas','size','tempdir','tempname','type','ver','version','web',
+ 'what','whatsnew','which','who','whos','workspace'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '...'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ //3 => false,
+ //4 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000FF;',
+ 2 => 'color: #0000FF;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #228B22;',
+ 2 => 'color:#A020F0;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #080;'
+ ),
+ 'STRINGS' => array(
+ //0 => 'color: #A020F0;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #33f;'
+ ),
+ 'METHODS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #080;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #33f;'
+ ),
+ 'SCRIPT' => array(
+ 0 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => 'http://www.mathworks.com/access/helpdesk/help/techdoc/ref/{FNAMEL}.html'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ //Complex numbers
+ 0 => '(?<![\\w])[+-]?[\\d]*([\\d]\\.|\\.[\\d])?[\\d]*[ij](?![\\w])'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/mirc.php b/application/libraries/geshi/mirc.php
new file mode 100644
index 000000000..a27c6c265
--- /dev/null
+++ b/application/libraries/geshi/mirc.php
@@ -0,0 +1,171 @@
+<?php
+/*************************************************************************************
+ * mirc.php
+ * -----
+ * Author: Alberto 'Birckin' de Areba (Birckin@hotmail.com)
+ * Copyright: (c) 2006 Alberto de Areba
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/05/29
+ *
+ * mIRC Scripting language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2006/05/29 (1.0.0)
+ * - 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' => 'mIRC Scripting',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'alias', 'menu', 'dialog',
+ ),
+ 2 => array(
+ 'if', 'elseif', 'else', 'while', 'return', 'goto', 'var'
+ ),
+ 3 => array(
+ 'action','ajinvite','amsg','ame','anick','aop','auser',
+ 'avoice','auto','autojoin','away','background','ban','beep',
+ 'channel','clear','clearall','clipboard','close','closemsg','color',
+ 'copy','creq','ctcp','ctcpreply','ctcps','dcc','dde','ddeserver',
+ 'debug','describe','disable','disconnect','dlevel','dll','dns',
+ 'dqwindow','ebeeps','echo','editbox','emailaddr','enable','events',
+ 'exit','filter','findtext','finger','flash','flood','flush',
+ 'flushini','font','fsend','fserve','fullname','ghide','gload',
+ 'gmove','gopts','gplay','gpoint','gqreq','groups','gshow','gsize',
+ 'gstop','gtalk','gunload','guser','help','hop','ignore','invite',
+ 'join','kick','linesep','links','list','load','loadbuf','localinfo',
+ 'log','me','mdi','mkdir','mnick','mode','msg','names','nick','noop',
+ 'notice','notify','omsg','onotice','part','partall','pdcc',
+ 'perform','ping','play','pop','protect','pvoice','qmsg','qme',
+ 'query','queryrn','quit','raw','remini','remote','remove','rename',
+ 'enwin','resetidle','rlevel','rmdir','run','ruser','save','savebuf',
+ 'saveini','say','server','showmirc','sline','sound','speak','splay',
+ 'sreq','strip','time',
+ //'timer[N/name]', //Handled as a regular expression below ...
+ 'timers','timestamp','titlebar','tnick','tokenize','topic','ulist',
+ 'unload','updatenl','url','uwho','window','winhelp','write',
+ 'writeini','who','whois','whowas'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '/'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #994444;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #990000; font-weight: bold;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #FF0000;',
+ ),
+ 'STRINGS' => array(
+ ),
+ 'NUMBERS' => array(
+ 0 => '',
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #008000;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #FF0000;',
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #000099;',
+ 1 => 'color: #990000;',
+ 2 => 'color: #000099;',
+ 3 => 'color: #888800;',
+ 4 => 'color: #888800;',
+ 5 => 'color: #000099;',
+ 6 => 'color: #990000; font-weight: bold;',
+ 7 => 'color: #990000; font-weight: bold;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.mirc.com/{FNAMEL}'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array('.'),
+ 'REGEXPS' => array(
+ //Variable names
+ 0 => '\$[a-zA-Z0-9]+',
+ //Variable names
+ 1 => '(%|&amp;)[\w\x80-\xFE]+',
+ //Client to Client Protocol handling
+ 2 => '(on|ctcp) (!|@|&amp;)?(\d|\*):[a-zA-Z]+:',
+ /*4 => array(
+ GESHI_SEARCH => '((on|ctcp) (!|@|&)?(\d|\*):(Action|Active|Agent|AppActive|Ban|Chat|Close|Connect|Ctcp|CtcpReply|DccServer|DeHelp|DeOp|DeVoice|Dialog|Dns|Error|Exit|FileRcvd|FileSent|GetFail|Help|Hotlink|Input|Invite|Join|KeyDown|KeyUp|Kick|Load|Logon|MidiEnd|Mode|Mp3End|Nick|NoSound|Notice|Notify|Op|Open|Part|Ping|Pong|PlayEnd|Quit|Raw|RawMode|SendFail|Serv|ServerMode|ServerOp|Signal|Snotice|Start|Text|Topic|UnBan|Unload|Unotify|User|Mode|Voice|Wallops|WaveEnd):)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),*/
+ //Channel names
+ 3 => '(#|@)[a-zA-Z0-9]+',
+ 4 => '-[a-z\d]+',
+ //Raw protocol handling
+ 5 => 'raw (\d|\*):',
+ //Timer handling
+ 6 => '(?<!>|:|\/)\/timer(?!s\b)[0-9a-zA-Z_]+',
+ // /...
+ 7 => '(?<!>|:|\/|\w)\/[a-zA-Z][a-zA-Z0-9]*(?!>)'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'ENABLE_FLAGS' => array(
+ 'NUMBERS' => GESHI_NEVER
+ ),
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => '(?<![\w\$\|\#;<^&])'
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/mmix.php b/application/libraries/geshi/mmix.php
new file mode 100644
index 000000000..efdb932f1
--- /dev/null
+++ b/application/libraries/geshi/mmix.php
@@ -0,0 +1,173 @@
+<?php
+/*************************************************************************************
+ * mmix.php
+ * -------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/10/16
+ *
+ * MMIX Assembler language file for GeSHi.
+ *
+ * This is an implementation of the MMIX language as designed by Donald E. Knuth
+ *
+ * CHANGES
+ * -------
+ * 2004/08/05 (1.0.8.6)
+ * - First Release
+ *
+ * TODO (updated 2009/10/16)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'MMIX',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ //Line address prefix suppression
+ 'COMMENT_REGEXP' => array(2 => "/^\s*[0-9a-f]{12,16}+(?:\s+[0-9a-f]+(?:\.{3}[0-9a-f]{2,})?)?:/mi"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ /*CPU*/
+ 1 => array(
+ '16ADDU','2ADDU','4ADDU','8ADDU','ADD','ADDU','AND','ANDN','ANDNH',
+ 'ANDNL','ANDNMH','ANDNML','BDIF','BEV','BN','BNN','BNP','BNZ','BOD',
+ 'BP','BZ','CMP','CMPU','CSEV','CSN','CSNN','CSNP','CSNZ','CSOD',
+ 'CSP','CSWAP','CSZ','DIV','DIVU','FADD','FCMP','FCMPE','FDIV',
+ 'FEQL','FEQLE','FINT','FIX','FIXU','FLOT','FLOTU','FMUL','FREM',
+ 'FSQRT','FSUB','FUN','FUNE','GET','GETA','GO','INCH','INCL','INCMH',
+ 'INCML','JMP','LDB','LDBU','LDHT','LDO','LDOU','LDSF','LDT','LDTU',
+ 'LDUNC','LDVTS','LDW','LDWU','MOR','MUL','MULU','MUX','MXOR','NAND',
+ 'NEG','NEGU','NOR','NXOR','ODIF','OR','ORH','ORL','ORMH','ORML',
+ 'ORN','PBEV','PBN','PBNN','PBNP','PBNZ','PBOD','PBP','PBZ','POP',
+ 'PREGO','PRELD','PREST','PUSHGO','PUSHJ','PUT','RESUME','SADD',
+ 'SAVE','SETH','SETL','SETMH','SETML','SFLOT','SFLOTU','SL','SLU',
+ 'SR','SRU','STB','STBU','STCO','STHT','STO','STOU','STSF','STT',
+ 'STTU','STUNC','STW','STWU','SUB','SUBU','SWYM','SYNC','SYNCD',
+ 'SYNCID','TDIF','TRAP','TRIP','UNSAVE','WDIF','XOR','ZSEV','ZSN',
+ 'ZSNN','ZSNP','ZSNZ','ZSOD','ZSP','ZSZ'
+ ),
+ /*registers*/
+ 3 => array(
+ 'rA','rB','rC','rD','rE','rF','rG','rH','rI','rJ','rK','rL','rM',
+ 'rN','rO','rP','rQ','rR','rS','rT','rU','rV','rW','rX','rY','rZ',
+ 'rBB','rTT','rWW','rXX','rYY','rZZ'
+ ),
+ /*Directive*/
+ 4 => array(
+ ),
+ /*Operands*/
+ 5 => array(
+ )
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '(', ')',
+ '+', '-', '*', '/', '%',
+ '.', ',', ';', ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => false,
+ 3 => true,
+ 4 => false,
+ 5 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #00007f; font-weight: bold;',
+ 2 => 'color: #0000ff; font-weight: bold;',
+ 3 => 'color: #00007f;',
+ 4 => 'color: #000000; font-weight: bold;',
+ 5 => 'color: #000000; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #adadad; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #009900; font-weight: bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #7f007f;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;'
+ ),
+ 'REGEXPS' => array(
+// 0 => 'color: #0000ff;',
+// 1 => 'color: #0000ff;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ ),
+ 'NUMBERS' =>
+ GESHI_NUMBER_BIN_PREFIX_PERCENT |
+ GESHI_NUMBER_BIN_SUFFIX |
+ GESHI_NUMBER_HEX_PREFIX |
+ GESHI_NUMBER_HEX_SUFFIX |
+ GESHI_NUMBER_OCT_SUFFIX |
+ GESHI_NUMBER_INT_BASIC |
+ GESHI_NUMBER_FLT_NONSCI |
+ GESHI_NUMBER_FLT_NONSCI_F |
+ GESHI_NUMBER_FLT_SCI_ZERO,
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Hex numbers
+// 0 => /* */ "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))(?:[0-9][0-9a-fA-F]{0,31}[hH]|0x[0-9a-fA-F]{1,32})(?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))",
+ //Binary numbers
+// 1 => "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))[01]{1,64}[bB](?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 8,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+ 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%])"
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/modula3.php b/application/libraries/geshi/modula3.php
new file mode 100644
index 000000000..caff92788
--- /dev/null
+++ b/application/libraries/geshi/modula3.php
@@ -0,0 +1,135 @@
+<?php
+/*************************************************************************************
+ * modula3.php
+ * ----------
+ * Author: mbishop (mbishop@esoteriq.org)
+ * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/01/21
+ *
+ * Modula-3 language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *
+ * TODO
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Modula-3',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array('(*' => '*)'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'HARDQUOTE' => array("'", "'"),
+ 'HARDESCAPE' => array("''"),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'AND', 'ANY', 'ARRAY', 'AS', 'BEGIN', 'BITS', 'BRANDED', 'BY', 'CASE',
+ 'CONST', 'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'EVAL', 'EXCEPT', 'EXCEPTION',
+ 'EXIT', 'EXPORTS', 'FINALLY', 'FOR', 'FROM', 'GENERIC', 'IF', 'IMPORT', 'IN',
+ 'INTERFACE', 'LOCK', 'LOOP', 'METHODS', 'MOD', 'MODULE', 'NOT', 'OBJECT', 'OF',
+ 'OR', 'OVERRIDE', 'PROCEDURE', 'RAISE', 'RAISES', 'READONLY', 'RECORD', 'REF',
+ 'REPEAT', 'RETURN', 'REVEAL', 'ROOT', 'SET', 'THEN', 'TO', 'TRY', 'TYPE', 'TYPECASE',
+ 'UNSAFE', 'UNTIL', 'UNTRACED', 'VALUE', 'VAR', 'WHILE', 'WITH'
+ ),
+ 2 => array(
+ 'NIL', 'NULL', 'FALSE', 'TRUE',
+ ),
+ 3 => array(
+ 'ABS','ADR','ADRSIZE','BITSIZE','BYTESIZE','CEILING','DEC','DISPOSE',
+ 'EXTENDED','FIRST','FLOAT','FLOOR','INC','ISTYPE','LAST','LOOPHOLE','MAX','MIN',
+ 'NARROW','NEW','NUMBER','ORD','ROUND','SUBARRAY','TRUNC','TYPECODE', 'VAL'
+ ),
+ 4 => array(
+ 'ADDRESS', 'BOOLEAN', 'CARDINAL', 'CHAR', 'INTEGER',
+ 'LONGREAL', 'MUTEX', 'REAL', 'REFANY', 'TEXT'
+ ),
+ ),
+ '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' => 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/mpasm.php b/application/libraries/geshi/mpasm.php
new file mode 100644
index 000000000..d97f0b17f
--- /dev/null
+++ b/application/libraries/geshi/mpasm.php
@@ -0,0 +1,164 @@
+<?php
+/*************************************************************************************
+ * mpasm.php
+ * ---------
+ * Author: Bakalex (bakalex@gmail.com)
+ * Copyright: (c) 2004 Bakalex, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/12/6
+ *
+ * Microchip Assembler language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2005/01/29 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2005/12/6)
+ * -------------------------
+ *
+ * For the moment, i've only added PIC16C6X registers. We need more (PIC16F/C7x/8x,
+ * PIC10, PIC18 and dsPIC registers).
+ * Must take a look to dsPIC instructions.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Microchip Assembler',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ /*Directive Language*/
+ 4 => array(
+ 'CONSTANT', '#DEFINE', 'END', 'EQU', 'ERROR', 'ERROR-LEVEL', '#INCLUDE', 'LIST',
+ 'MESSG', 'NOLIST', 'ORG', 'PAGE', 'PROCESSOR', 'RADIX', 'SET', 'SPACE', 'SUBTITLE',
+ 'TITLE', '#UNDEFINE', 'VARIABLE', 'ELSE', 'ENDIF', 'ENDW', 'IF', 'IFDEF', 'IFNDEF',
+ 'WHILE', '__BADRAM', 'CBLOCK', '__CONFIG', 'DA', 'DATA', 'DB', 'DE', 'DT', 'DW',
+ 'ENDC', 'FILL', '__IDLOCS', '__MAXRAM', 'RES', 'ENDM', 'EXITM', 'EXPAND', 'LOCAL',
+ 'MACRO', 'NOEXPAND', 'BANKISEL', 'BANKSEL', 'CODE', 'EXTERN', 'GLOBAL', 'IDATA',
+ 'PAGESEL', 'UDATA', 'UDATA_ACS', 'UDATA_OVR', 'UDATA_SHR'
+ ),
+ /* 12&14-bit Specific Instruction Set*/
+ 1 => array(
+ 'andlw', 'call', 'clrwdt', 'goto', 'iorlw', 'movlw', 'option', 'retlw', 'sleep',
+ 'tris', 'xorlw', 'addwf', 'andwf', 'clrf', 'clrw', 'comf', 'decf', 'decfsz', 'incf',
+ 'incfsz', 'iorwf', 'movf', 'nop', 'rlf', 'rrf', 'subwf', 'swapf', 'xorwf',
+ 'bcf', 'bsf', 'btfsc', 'btfss',
+ 'addlw', 'retfie', 'return', 'sublw', 'addcf', 'adddcf', 'b', 'bc', 'bdc',
+ 'bnc', 'bndc', 'bnz', 'bz', 'clrc', 'clrdc', 'clrz', 'lcall', 'lgoto', 'movfw',
+ 'negf', 'setc', 'setdc', 'setz', 'skpc', 'skpdc', 'skpnc', 'skpndc', 'skpnz', 'skpz',
+ 'subcf', 'subdcf', 'tstf'
+ ),
+ /* 16-bit Specific Instructiob Set */
+ 2 => array (
+ 'movfp', 'movlb', 'movlp', 'movpf', 'movwf', 'tablrd', 'tablwt', 'tlrd', 'tlwt',
+ 'addwfc', 'daw', 'mullw', 'negw', 'rlcf', 'rlncf', 'rrcf', 'rrncf', 'setf', 'subwfb',
+ 'btg', 'cpfseq', 'cpfsgt', 'cpfslt', 'dcfsnz', 'infsnz', 'tstfsz', 'lfsr', 'bnn',
+ 'bnov', 'bra', 'pop', 'push', 'rcall', 'reset'
+ ),
+ /* Registers */
+ 3 => array(
+ 'INDF', 'TMR0', 'PCL', 'STATUS', 'FSR', 'PORTA', 'PORTB', 'PORTC', 'PORTD', 'PORTE',
+ 'PCLATH', 'INTCON', 'PIR1', 'PIR2', 'TMR1L', 'TMR1H', 'T1CON', 'TMR2', 'T2CON', 'TMR2L',
+ 'TMR2H', 'TMR0H', 'TMR0L', 'SSPBUF', 'SSPCON', 'CCPR1L', 'CCPR1H', 'CCP1CON', 'RCSTA',
+ 'TXREG', 'RCREG', 'CCPR2L', 'CCPR2H', 'CCP2CON', 'OPTION', 'TRISA', 'TRISB', 'TRISC',
+ 'TRISD', 'TRISE', 'PIE2', 'PIE1', 'PR2', 'SSPADD', 'SSPSTAT', 'TXSTA', 'SPBRG'
+ ),
+ /*Operands*/
+ 5 => array(
+ 'high','low'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '(', ')'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #00007f;',
+ 2 => 'color: #0000ff;',
+ 3 => 'color: #007f00;',
+ 4 => 'color: #46aa03; font-weight:bold;',
+ 5 => 'color: #7f0000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #adadad; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #7f007f;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #ff0000;',
+ 1 => 'color: #ff0000;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Hex numbers
+ 0 => '[0-9a-fA-F]{1,32}[hH]',
+ //Binary numbers
+ 1 => '[01]{1,64}[bB]'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/mxml.php b/application/libraries/geshi/mxml.php
new file mode 100644
index 000000000..a2073d3ab
--- /dev/null
+++ b/application/libraries/geshi/mxml.php
@@ -0,0 +1,145 @@
+<?php
+/*************************************************************************************
+ * mxml.php
+ * -------
+ * Author: David Spurr
+ * Copyright: (c) 2007 David Spurr (http://www.defusion.org.uk/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/10/04
+ *
+ * MXML language file for GeSHi. Based on the XML file by Nigel McNie
+ *
+ * CHANGES
+ * -------
+ * 2007/10/04 (1.0.7.22)
+ * - First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'MXML',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array('<!--' => '-->'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ ),
+ 'COMMENTS' => array(
+ 'MULTI' => '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(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'SCRIPT' => array(
+ 0 => 'color: #00bbdd;',
+ 1 => 'color: #ddbb00;',
+ 2 => 'color: #339933;',
+ 3 => 'color: #000000;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'font-weight: bold; color: black;',
+ 1 => 'color: #7400FF;',
+ 2 => 'color: #7400FF;'
+ )
+ ),
+ 'URLS' => array(
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ // xml declaration
+ 0 => array(
+ GESHI_SEARCH => '(&lt;[\/?|(\?xml)]?[a-z0-9_\-:]*(\?&gt;))',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ // opening tags
+ 1 => array(
+ GESHI_SEARCH => '(&lt;\/?[a-z]+:[a-z]+)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ // closing tags
+ 2 => array(
+ GESHI_SEARCH => '(\/?&gt;)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => array(
+ '<!DOCTYPE' => '>'
+ ),
+ 1 => array(
+ '&' => ';'
+ ),
+ 2 => array(
+ //'<![CDATA[' => ']]>'
+ '<mx:Script>' => '</mx:Script>'
+ ),
+ 3 => array(
+ '<' => '>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => true
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/mysql.php b/application/libraries/geshi/mysql.php
new file mode 100644
index 000000000..3bc6f9504
--- /dev/null
+++ b/application/libraries/geshi/mysql.php
@@ -0,0 +1,475 @@
+<?php
+/*************************************************************************************
+ * mysql.php
+ * ---------
+ * Author: Marjolein Katsma (marjolein.is.back@gmail.com)
+ * Copyright: (c) 2008 Marjolein Katsma (http://blog.marjoleinkatsma.com/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008-12-12
+ *
+ * MySQL language file for GeSHi.
+ *
+ * Based on original MySQL language file by Carl Fürstenberg (2004); brought
+ * up-to-date for current MySQL versions, and with more classes for different
+ * types of keywords; several minor errors were corrected as well.
+ *
+ * Some "classes" have two groups here: this is to allow for the fact that some
+ * keywords in MySQL have a double function: many of those are either a function
+ * (must be immediately followed by an opening bracket) or some other keyword:
+ * so they can be distinguished by the presence (or not) of that opening bracket.
+ * (An immediately following opening bracket is a default rule for functions in
+ * MySQL, though this may be overridden; because it's only a default, we use a
+ * regex lookahead only where necessary to distinguish homonyms, not generally
+ * to match any function.)
+ * Other keywords with double usage cannot be distinguished and are classified
+ * in the "Mix" category.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'MySQL',
+ //'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'), // '--' MUST be folowed by whitespace,not necessarily a space
+ 'COMMENT_SINGLE' => array(
+ 1 =>'-- ',
+ 2 => '#'
+ ),
+ 'COMMENT_REGEXP' => array(
+ 1 => "/(?:--\s).*?$/", // double dash followed by any whitespace
+ ),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, // @@@ would be nice if this could be defined per group!
+ 'QUOTEMARKS' => array("'", '"', '`'),
+ 'ESCAPE_CHAR' => '\\', // by default only, can be specified
+ 'ESCAPE_REGEXP' => array(
+ 1 => "/[_%]/", // search wildcards
+ ),
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC |
+ GESHI_NUMBER_OCT_PREFIX |
+ GESHI_NUMBER_HEX_PREFIX |
+ GESHI_NUMBER_FLT_NONSCI |
+ GESHI_NUMBER_FLT_SCI_SHORT |
+ GESHI_NUMBER_FLT_SCI_ZERO,
+ 'KEYWORDS' => array(
+ 1 => array(
+ // Mix: statement keywords and keywords that don't fit in any other
+ // category, or have multiple usage/meanings
+ 'ACTION','ADD','AFTER','ALGORITHM','ALL','ALTER','ANALYZE','ANY',
+ 'ASC','AS','BDB','BEGIN','BERKELEYDB','BINARY','BTREE','CALL',
+ 'CASCADED','CASCADE','CHAIN','CHECK','COLUMNS','COLUMN','COMMENT',
+ 'COMMIT','COMMITTED','CONSTRAINT','CONTAINS SQL','CONSISTENT',
+ 'CONVERT','CREATE','CROSS','DATA','DATABASES',
+ 'DECLARE','DEFINER','DELAYED','DELETE','DESCRIBE','DESC',
+ 'DETERMINISTIC','DISABLE','DISCARD','DISTINCTROW','DISTINCT','DO',
+ 'DROP','DUMPFILE','DUPLICATE KEY','ENABLE','ENCLOSED BY','ENGINE',
+ 'ERRORS','ESCAPED BY','EXISTS','EXPLAIN','EXTENDED','FIELDS',
+ 'FIRST','FOR EACH ROW','FORCE','FOREIGN KEY','FROM','FULL',
+ 'FUNCTION','GLOBAL','GRANT','GROUP BY','HANDLER','HASH','HAVING',
+ 'HELP','HIGH_PRIORITY','IF NOT EXISTS','IGNORE','IMPORT','INDEX',
+ 'INFILE','INNER','INNODB','INOUT','INTO','INVOKER',
+ 'ISOLATION LEVEL','JOIN','KEYS','KEY','KILL','LANGUAGE SQL','LAST',
+ 'LIMIT','LINES','LOAD','LOCAL','LOCK','LOW_PRIORITY',
+ 'MASTER_SERVER_ID','MATCH','MERGE','MIDDLEINT','MODIFIES SQL DATA',
+ 'MODIFY','MRG_MYISAM','NATURAL','NEXT','NO SQL','NO','ON',
+ 'OPTIMIZE','OPTIONALLY','OPTION','ORDER BY','OUTER','OUTFILE','OUT',
+ 'PARTIAL','PREV','PRIMARY KEY','PRIVILEGES','PROCEDURE','PURGE',
+ 'QUICK','READS SQL DATA','READ','REFERENCES','RELEASE','RENAME',
+ 'REPEATABLE','REQUIRE','RESTRICT','RETURNS','REVOKE',
+ 'ROLLBACK','ROUTINE','RTREE','SAVEPOINT','SELECT',
+ 'SERIALIZABLE','SESSION','SET','SHARE MODE','SHOW','SIMPLE',
+ 'SNAPSHOT','SOME','SONAME','SQL SECURITY','SQL_BIG_RESULT',
+ 'SQL_BUFFER_RESULT','SQL_CACHE','SQL_CALC_FOUND_ROWS',
+ 'SQL_NO_CACHE','SQL_SMALL_RESULT','SSL','START','STARTING BY',
+ 'STATUS','STRAIGHT_JOIN','STRIPED','TABLESPACE','TABLES','TABLE',
+ 'TEMPORARY','TEMPTABLE','TERMINATED BY','TO','TRANSACTIONS',
+ 'TRANSACTION','TRIGGER','TYPES','TYPE','UNCOMMITTED','UNDEFINED',
+ 'UNION','UNLOCK_TABLES','UPDATE','USAGE','USE','USER_RESOURCES',
+ 'USING','VALUES','VALUE','VIEW','WARNINGS','WHERE','WITH ROLLUP',
+ 'WITH','WORK','WRITE',
+ ),
+ 2 => array( //No ( must follow
+ // Mix: statement keywords distinguished from functions by the same name
+ "CURRENT_USER", "DATABASE", "IN", "INSERT", "DEFAULT", "REPLACE", "SCHEMA", "TRUNCATE"
+ ),
+ 3 => array(
+ // Values (Constants)
+ 'FALSE','NULL','TRUE',
+ ),
+ 4 => array(
+ // Column Data Types
+ 'BIGINT','BIT','BLOB','BOOLEAN','BOOL','CHARACTER VARYING',
+ 'CHAR VARYING','DATETIME','DECIMAL','DEC','DOUBLE PRECISION',
+ 'DOUBLE','ENUM','FIXED','FLOAT','GEOMETRYCOLLECTION','GEOMETRY',
+ 'INTEGER','INT','LINESTRING','LONGBLOB','LONGTEXT','MEDIUMBLOB',
+ 'MEDIUMINT','MEDIUMTEXT','MULTIPOINT','MULTILINESTRING',
+ 'MULTIPOLYGON','NATIONAL CHARACTER','NATIONAL CHARACTER VARYING',
+ 'NATIONAL CHAR VARYING','NATIONAL VARCHAR','NCHAR VARCHAR','NCHAR',
+ 'NUMERIC','POINT','POLYGON','REAL','SERIAL',
+ 'SMALLINT','TEXT','TIMESTAMP','TINYBLOB','TINYINT',
+ 'TINYTEXT','VARBINARY','VARCHARACTER','VARCHAR',
+ ),
+ 5 => array( //No ( must follow
+ // Column data types distinguished from functions by the same name
+ "CHAR", "DATE", "TIME"
+ ),
+ 6 => array(
+ // Table, Column & Index Attributes
+ 'AUTO_INCREMENT','AVG_ROW_LENGTH','BOTH','CHECKSUM','CONNECTION',
+ 'DATA DIRECTORY','DEFAULT NULL','DELAY_KEY_WRITE','FULLTEXT',
+ 'INDEX DIRECTORY','INSERT_METHOD','LEADING','MAX_ROWS','MIN_ROWS',
+ 'NOT NULL','PACK_KEYS','ROW_FORMAT','SERIAL DEFAULT VALUE','SIGNED',
+ 'SPATIAL','TRAILING','UNIQUE','UNSIGNED','ZEROFILL'
+ ),
+ 7 => array( //No ( must follow
+ // Column attribute distinguished from function by the same name
+ "CHARSET"
+ ),
+ 8 => array(
+ // Date and Time Unit Specifiers
+ 'DAY_HOUR','DAY_MICROSECOND','DAY_MINUTE','DAY_SECOND',
+ 'HOUR_MICROSECOND','HOUR_MINUTE','HOUR_SECOND',
+ 'MINUTE_MICROSECOND','MINUTE_SECOND',
+ 'SECOND_MICROSECOND','YEAR_MONTH'
+ ),
+ 9 => array( //No ( must follow
+ // Date-time unit specifiers distinguished from functions by the same name
+ "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER", "SECOND", "WEEK", "YEAR"
+ ),
+ 10 => array(
+ // Operators (see also Symbols)
+ 'AND','BETWEEN','CHARACTER SET','COLLATE','DIV','IS NOT NULL',
+ 'IS NOT','IS NULL','IS','LIKE','NOT','OFFSET','OR','REGEXP','RLIKE',
+ 'SOUNDS LIKE','XOR'
+ ),
+ 11 => array( //No ( must follow
+ // Operator distinghuished from function by the same name
+ "INTERVAL"
+ ),
+ 12 => array(
+ // Control Flow (functions)
+ 'CASE','ELSE','END','IFNULL','IF','NULLIF','THEN','WHEN',
+ ),
+ 13 => array(
+ // String Functions
+ 'ASCII','BIN','BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH',
+ 'CONCAT_WS','CONCAT','ELT','EXPORT_SET','FIELD',
+ 'FIND_IN_SET','FORMAT','HEX','INSTR','LCASE','LEFT','LENGTH',
+ 'LOAD_FILE','LOCATE','LOWER','LPAD','LTRIM','MAKE_SET','MID',
+ 'OCTET_LENGTH','ORD','POSITION','QUOTE','REPEAT','REVERSE',
+ 'RIGHT','RPAD','RTRIM','SOUNDEX','SPACE','STRCMP','SUBSTRING_INDEX',
+ 'SUBSTRING','TRIM','UCASE','UNHEX','UPPER',
+ ),
+ 14 => array( //A ( must follow
+ // String functions distinguished from other keywords by the same name
+ "INSERT", "REPLACE", "CHAR"
+ ),
+ 15 => array(
+ // Numeric Functions
+ 'ABS','ACOS','ASIN','ATAN2','ATAN','CEILING','CEIL',
+ 'CONV','COS','COT','CRC32','DEGREES','EXP','FLOOR','LN','LOG10',
+ 'LOG2','LOG','MOD','OCT','PI','POWER','POW','RADIANS','RAND',
+ 'ROUND','SIGN','SIN','SQRT','TAN',
+ ),
+ 16 => array( //A ( must follow
+ // Numeric function distinguished from other keyword by the same name
+ "TRUNCATE"
+ ),
+ 17 => array(
+ // Date and Time Functions
+ 'ADDDATE','ADDTIME','CONVERT_TZ','CURDATE','CURRENT_DATE',
+ 'CURRENT_TIME','CURRENT_TIMESTAMP','CURTIME','DATE_ADD',
+ 'DATE_FORMAT','DATE_SUB','DATEDIFF','DAYNAME','DAYOFMONTH',
+ 'DAYOFWEEK','DAYOFYEAR','EXTRACT','FROM_DAYS','FROM_UNIXTIME',
+ 'GET_FORMAT','LAST_DAY','LOCALTIME','LOCALTIMESTAMP','MAKEDATE',
+ 'MAKETIME','MONTHNAME','NOW','PERIOD_ADD',
+ 'PERIOD_DIFF','SEC_TO_TIME','STR_TO_DATE','SUBDATE','SUBTIME',
+ 'SYSDATE','TIME_FORMAT','TIME_TO_SEC',
+ 'TIMESTAMPADD','TIMESTAMPDIFF','TO_DAYS',
+ 'UNIX_TIMESTAMP','UTC_DATE','UTC_TIME','UTC_TIMESTAMP','WEEKDAY',
+ 'WEEKOFYEAR','YEARWEEK',
+ ),
+ 18 => array( //A ( must follow
+ // Date-time functions distinguished from other keywords by the same name
+ "DATE", "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER",
+ "SECOND", "TIME", "WEEK", "YEAR"
+ ),
+ 19 => array(
+ // Comparison Functions
+ 'COALESCE','GREATEST','ISNULL','LEAST',
+ ),
+ 20 => array( //A ( must follow
+ // Comparison functions distinguished from other keywords by the same name
+ "IN", "INTERVAL"
+ ),
+ 21 => array(
+ // Encryption and Compression Functions
+ 'AES_DECRYPT','AES_ENCRYPT','COMPRESS','DECODE','DES_DECRYPT',
+ 'DES_ENCRYPT','ENCODE','ENCRYPT','MD5','OLD_PASSWORD','PASSWORD',
+ 'SHA1','SHA','UNCOMPRESS','UNCOMPRESSED_LENGTH',
+ ),
+ 22 => array(
+ // GROUP BY (aggregate) Functions
+ 'AVG','BIT_AND','BIT_OR','BIT_XOR','COUNT','GROUP_CONCAT',
+ 'MAX','MIN','STDDEV_POP','STDDEV_SAMP','STDDEV','STD','SUM',
+ 'VAR_POP','VAR_SAMP','VARIANCE',
+ ),
+ 23 => array(
+ // Information Functions
+ 'BENCHMARK','COERCIBILITY','COLLATION','CONNECTION_ID',
+ 'FOUND_ROWS','LAST_INSERT_ID','ROW_COUNT',
+ 'SESSION_USER','SYSTEM_USER','USER','VERSION',
+ ),
+ 24 => array( //A ( must follow
+ // Information functions distinguished from other keywords by the same name
+ "CURRENT_USER", "DATABASE", "SCHEMA", "CHARSET"
+ ),
+ 25 => array(
+ // Miscellaneous Functions
+ 'ExtractValue','BIT_COUNT','GET_LOCK','INET_ATON','INET_NTOA',
+ 'IS_FREE_LOCK','IS_USED_LOCK','MASTER_POS_WAIT','NAME_CONST',
+ 'RELEASE_LOCK','SLEEP','UpdateXML','UUID',
+ ),
+ 26 => array( //A ( must follow
+ // Miscellaneous function distinguished from other keyword by the same name
+ "DEFAULT"
+ ),
+ 27 => array(
+ // Geometry Functions
+ 'Area','AsBinary','AsText','AsWKB','AsWKT','Boundary','Buffer',
+ 'Centroid','Contains','ConvexHull','Crosses',
+ 'Difference','Dimension','Disjoint','Distance',
+ 'EndPoint','Envelope','Equals','ExteriorRing',
+ 'GLength','GeomCollFromText','GeomCollFromWKB','GeomFromText',
+ 'GeomFromWKB','GeometryCollectionFromText',
+ 'GeometryCollectionFromWKB','GeometryFromText','GeometryFromWKB',
+ 'GeometryN','GeometryType',
+ 'InteriorRingN','Intersection','Intersects','IsClosed','IsEmpty',
+ 'IsRing','IsSimple',
+ 'LineFromText','LineFromWKB','LineStringFromText',
+ 'LineStringFromWKB',
+ 'MBRContains','MBRDisjoint','MBREqual','MBRIntersects',
+ 'MBROverlaps','MBRTouches','MBRWithin','MLineFromText',
+ 'MLineFromWKB','MPointFromText','MPointFromWKB','MPolyFromText',
+ 'MPolyFromWKB','MultiLineStringFromText','MultiLineStringFromWKB',
+ 'MultiPointFromText','MultiPointFromWKB','MultiPolygonFromText',
+ 'MultiPolygonFromWKB',
+ 'NumGeometries','NumInteriorRings','NumPoints',
+ 'Overlaps',
+ 'PointFromText','PointFromWKB','PointN','PointOnSurface',
+ 'PolyFromText','PolyFromWKB','PolygonFromText','PolygonFromWKB',
+ 'Related','SRID','StartPoint','SymDifference',
+ 'Touches',
+ 'Union',
+ 'Within',
+ 'X',
+ 'Y',
+ ),
+ ),
+ 'SYMBOLS' => array(
+ 1 => array(
+ /* Operators */
+ '=', ':=', // assignment operators
+ '||', '&&', '!', // locical operators
+ '=', '<=>', '>=', '>', '<=', '<', '<>', '!=', // comparison operators
+ '|', '&', '^', '~', '<<', '>>', // bitwise operators
+ '-', '+', '*', '/', '%', // numerical operators
+ ),
+ 2 => array(
+ /* Other syntactical symbols */
+ '(', ')',
+ ',', ';',
+ ),
+ ),
+ '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,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false,
+ 17 => false,
+ 18 => false,
+ 19 => false,
+ 20 => false,
+ 21 => false,
+ 22 => false,
+ 23 => false,
+ 24 => false,
+ 25 => false,
+ 26 => false,
+ 27 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #990099; font-weight: bold;', // mix
+ 2 => 'color: #990099; font-weight: bold;', // mix
+ 3 => 'color: #9900FF; font-weight: bold;', // constants
+ 4 => 'color: #999900; font-weight: bold;', // column data types
+ 5 => 'color: #999900; font-weight: bold;', // column data types
+ 6 => 'color: #FF9900; font-weight: bold;', // attributes
+ 7 => 'color: #FF9900; font-weight: bold;', // attributes
+ 8 => 'color: #9900FF; font-weight: bold;', // date-time units
+ 9 => 'color: #9900FF; font-weight: bold;', // date-time units
+
+ 10 => 'color: #CC0099; font-weight: bold;', // operators
+ 11 => 'color: #CC0099; font-weight: bold;', // operators
+
+ 12 => 'color: #009900;', // control flow (functions)
+ 13 => 'color: #000099;', // string functions
+ 14 => 'color: #000099;', // string functions
+ 15 => 'color: #000099;', // numeric functions
+ 16 => 'color: #000099;', // numeric functions
+ 17 => 'color: #000099;', // date-time functions
+ 18 => 'color: #000099;', // date-time functions
+ 19 => 'color: #000099;', // comparison functions
+ 20 => 'color: #000099;', // comparison functions
+ 21 => 'color: #000099;', // encryption functions
+ 22 => 'color: #000099;', // aggregate functions
+ 23 => 'color: #000099;', // information functions
+ 24 => 'color: #000099;', // information functions
+ 25 => 'color: #000099;', // miscellaneous functions
+ 26 => 'color: #000099;', // miscellaneous functions
+ 27 => 'color: #00CC00;', // geometry functions
+ ),
+ 'COMMENTS' => array(
+ 'MULTI' => 'color: #808000; font-style: italic;',
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #004000; font-weight: bold;',
+ 1 => 'color: #008080; font-weight: bold;' // search wildcards
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #FF00FF;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #008000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #008080;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 1 => 'color: #CC0099;', // operators
+ 2 => 'color: #000033;', // syntax
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://search.mysql.com/search?site=refman-%35%31&amp;q={FNAME}',
+ 2 => 'http://search.mysql.com/search?site=refman-%35%31&amp;q={FNAME}',
+ 3 => 'http://search.mysql.com/search?site=refman-%35%31&amp;q={FNAME}',
+ 4 => 'http://search.mysql.com/search?site=refman-%35%31&amp;q={FNAME}',
+ 5 => 'http://search.mysql.com/search?site=refman-%35%31&amp;q={FNAME}',
+ 6 => 'http://search.mysql.com/search?site=refman-%35%31&amp;q={FNAME}',
+ 7 => 'http://search.mysql.com/search?site=refman-%35%31&amp;q={FNAME}',
+ 8 => 'http://search.mysql.com/search?site=refman-%35%31&amp;q={FNAME}',
+ 9 => 'http://search.mysql.com/search?site=refman-%35%31&amp;q={FNAME}',
+
+ 10 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/non-typed-operators.html',
+ 11 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/non-typed-operators.html',
+
+ 12 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/control-flow-functions.html',
+ 13 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/string-functions.html',
+ 14 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/string-functions.html',
+ 15 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/numeric-functions.html',
+ 16 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/numeric-functions.html',
+ 17 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/date-and-time-functions.html',
+ 18 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/date-and-time-functions.html',
+ 19 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/comparison-operators.html',
+ 20 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/comparison-operators.html',
+ 21 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/encryption-functions.html',
+ 22 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/group-by-functions-and-modifiers.html',
+ 23 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/information-functions.html',
+ 24 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/information-functions.html',
+ 25 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/func-op-summary-ref.html',
+ 26 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/func-op-summary-ref.html',
+ 27 => 'http://dev.mysql.com/doc/refman/%35%2E%31/en/analysing-spatial-information.html',
+ ),
+ '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(
+ 'KEYWORDS' => array(
+ 2 => array(
+ 'DISALLOWED_AFTER' => '(?![\(\w])'
+ ),
+ 5 => array(
+ 'DISALLOWED_AFTER' => '(?![\(\w])'
+ ),
+ 7 => array(
+ 'DISALLOWED_AFTER' => '(?![\(\w])'
+ ),
+ 9 => array(
+ 'DISALLOWED_AFTER' => '(?![\(\w])'
+ ),
+ 11 => array(
+ 'DISALLOWED_AFTER' => '(?![\(\w])'
+ ),
+
+ 14 => array(
+ 'DISALLOWED_AFTER' => '(?=\()'
+ ),
+ 16 => array(
+ 'DISALLOWED_AFTER' => '(?=\()'
+ ),
+ 18 => array(
+ 'DISALLOWED_AFTER' => '(?=\()'
+ ),
+ 20 => array(
+ 'DISALLOWED_AFTER' => '(?=\()'
+ ),
+ 24 => array(
+ 'DISALLOWED_AFTER' => '(?=\()'
+ ),
+ 26 => array(
+ 'DISALLOWED_AFTER' => '(?=\()'
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/newlisp.php b/application/libraries/geshi/newlisp.php
new file mode 100644
index 000000000..ee2589a07
--- /dev/null
+++ b/application/libraries/geshi/newlisp.php
@@ -0,0 +1,191 @@
+<?php
+/*************************************************************************************
+ * newlisp.php
+ * ----------
+ * Author: cormullion (cormullion@mac.com) Sept 2009
+ * Copyright: (c) 2009 Cormullion (http://unbalanced-parentheses.nfshost.com/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/09/30
+ *
+ * newLISP language file for GeSHi.
+ *
+ * based on work by Lutz Mueller and Jeff Ober
+ *
+ * CHANGES
+ * -------
+ * 2009/09/30 (1.0.8.6)
+ * - First Release
+ *
+ * TODO (updated 2009/09/30)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'newlisp',
+ 'COMMENT_SINGLE' => array(1 => ';', 2 => '#'),
+ 'COMMENT_MULTI' => array('[text]' => '[/text]', '{' => '}'), // also used for strings
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'NUMBERS' => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_SCI_ZERO,
+ 'TAB_WIDTH' => 2,
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'NaN?','abort','abs','acos','acosh','add','address','amb','and',
+ 'append','append-file','apply','args','array','array-list','array?',
+ 'asin','asinh','assoc','atan','atan2','atanh','atom?','base64-dec',
+ 'base64-enc','bayes-query','bayes-train','begin','beta','betai',
+ 'bind','binomial','bits','callback','case','catch','ceil',
+ 'change-dir','char','chop','clean','close','command-event','cond',
+ 'cons','constant','context','context?','copy','copy-file','cos',
+ 'cosh','count','cpymem','crc32','crit-chi2','crit-z','current-line',
+ 'curry','date','date-value','debug','dec','def-new','default',
+ 'define','define-macro','delete','delete-file','delete-url',
+ 'destroy','det','device','difference','directory','directory?',
+ 'div','do-until','do-while','doargs','dolist','dostring','dotimes',
+ 'dotree','dump','dup','empty?','encrypt','ends-with','env','erf',
+ 'error-event','estack','eval','eval-string','exec','exists','exit',
+ 'exp','expand','explode','factor','fft','file-info','file?',
+ 'filter','find','find-all','first','flat','float','float?','floor',
+ 'flt','for','for-all','fork','format','fv','gammai','gammaln','gcd',
+ 'get-char','get-float','get-int','get-long','get-string','get-url',
+ 'global','global?','if','if-not','ifft','import','inc','index',
+ 'inf?','int','integer','integer?','intersect','invert','irr','join',
+ 'lambda','lambda?','last','last-error','legal?','length','let',
+ 'letex','letn','list','list?','load','local','log','lookup',
+ 'lower-case','macro?','main-args','make-dir','map','mat','match',
+ 'max','member','min','mod','mul','multiply','name','net-accept',
+ 'net-close','net-connect','net-error','net-eval','net-interface',
+ 'net-listen','net-local','net-lookup','net-peek','net-peer',
+ 'net-ping','net-receive','net-receive-from','net-receive-udp',
+ 'net-select','net-send','net-send-to','net-send-udp','net-service',
+ 'net-sessions','new','nil','nil?','normal','not','now','nper','npv',
+ 'nth','null?','number?','open','or','pack','parse','parse-date',
+ 'peek','pipe','pmt','pop','pop-assoc','post-url','pow',
+ 'pretty-print','primitive?','print','println','prob-chi2','prob-z',
+ 'process','prompt-event','protected?','push','put-url','pv','quote',
+ 'quote?','rand','random','randomize','read-buffer','read-char',
+ 'read-expr','read-file','read-key','read-line','read-utf8',
+ 'real-path','receive','ref','ref-all','regex','regex-comp',
+ 'remove-dir','rename-file','replace','reset','rest','reverse',
+ 'rotate','round','save','search','seed','seek','select','semaphore',
+ 'send','sequence','series','set','set-locale','set-ref',
+ 'set-ref-all','setf','setq','sgn','share','signal','silent','sin',
+ 'sinh','sleep','slice','sort','source','spawn','sqrt','starts-with',
+ 'string','string?','sub','swap','sym','symbol?','symbols','sync',
+ 'sys-error','sys-info','tan','tanh','throw','throw-error','time',
+ 'time-of-day','timer','title-case','trace','trace-highlight',
+ 'transpose','trim','true','true?','unicode','unify','unique',
+ 'unless','unpack','until','upper-case','utf8','utf8len','uuid',
+ 'wait-pid','when','while','write-buffer','write-char','write-file',
+ 'write-line','xfer-event','xml-error','xml-parse','xml-type-tags',
+ 'zero?'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 0 => array(
+ '(', ')','\''
+ ),
+ 1 => array(
+ '!','!=','$','%','&','*','+','-','/',':',
+ '<','<<','<=','=','>','>=','>>','^','|'
+ )
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000AA;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #808080; font-style: italic;',
+ 'MULTI' => 'color: #00aa00; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #009900;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #009900;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #777700;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #AA0000;',
+ 1 => 'color: #0000AA;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #00aa00;',
+ 1 => 'color: #00aa00;',
+ 2 => 'color: #00aa00;',
+ 3 => 'color: #00aa00;',
+ 4 => 'color: #00aa00;',
+ 5 => 'color: #AA0000;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.newlisp.org/downloads/newlisp_manual.html#{FNAME}'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(':'),
+ 'REGEXPS' => array(
+ // tags in newlispdoc
+ 0 => "\s+@\S*?\s+",
+ // dollar sign symbols
+ 1 => "[\\$]\w*",
+ // curly-braced string literals
+ 2 => "{[^{}]*?}",
+ // [text] multi-line strings
+ 3 => "(?s)\[text\].*\[\/text\](?-s)",
+ // [code] multi-line blocks
+ 4 => "(?s)\[code\].*\[\/code\](?-s)",
+ // variable references
+ 5 => "'[\w\-]+"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'OOLANG' => array(
+ 'MATCH_AFTER' => '[a-zA-Z][a-zA-Z0-9_\-]*'
+ ),
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => '(?<=[^\w\-])',
+ )
+ ),
+
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/nsis.php b/application/libraries/geshi/nsis.php
new file mode 100644
index 000000000..d5f631101
--- /dev/null
+++ b/application/libraries/geshi/nsis.php
@@ -0,0 +1,351 @@
+<?php
+/*************************************************************************************
+ * nsis.php
+ * --------
+ * 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
+ * Date Started: 2005/12/03
+ *
+ * Nullsoft Scriptable Install System language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/03 (2.0.2)
+ * - Updated to NSIS 2.11.
+ * 2005/06/17 (2.0.1)
+ * - Updated to NSIS 2.07b0.
+ * 2005/04/05 (2.0.0)
+ * - Updated to NSIS 2.06.
+ * 2004/11/27 (1.0.2)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ * - Added support for URLs
+ * 2004/08/05 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'NSIS',
+ 'COMMENT_SINGLE' => array(1 => ';', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'",'"','`'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ '!appendfile', '!addIncludeDir', '!addplugindir', '!cd', '!define', '!delfile', '!echo', '!else',
+ '!endif', '!error', '!execute', '!ifdef', '!ifmacrodef', '!ifmacrondef', '!ifndef', '!include',
+ '!insertmacro', '!macro', '!macroend', '!packhdr', '!tempfile', '!system', '!undef', '!verbose',
+ '!warning'
+ ),
+ 2 => array(
+ 'AddBrandingImage', 'AllowRootDirInstall', 'AutoCloseWindow', 'BGFont',
+ 'BGGradient', 'BrandingText', 'Caption', 'ChangeUI', 'CheckBitmap', 'CompletedText', 'ComponentText',
+ 'CRCCheck', 'DetailsButtonText', 'DirShow', 'DirText', 'DirVar', 'DirVerify', 'FileErrorText',
+ 'Function', 'FunctionEnd', 'Icon', 'InstallButtonText', 'InstallColors', 'InstallDir',
+ 'InstallDirRegKey', 'InstProgressFlags', 'InstType', 'LangString', 'LangStringUP', 'LicenseBkColor',
+ 'LicenseData', 'LicenseForceSelection', 'LicenseLangString', 'LicenseText', 'LoadLanguageFile',
+ 'MiscButtonText', 'Name', 'OutFile', 'Page', 'PageEx', 'PageExEnd', 'Section',
+ 'SectionEnd', 'SectionGroup', 'SectionGroupEnd', 'SetCompressor', 'SetFont', 'ShowInstDetails',
+ 'ShowUninstDetails', 'SilentInstall', 'SilentUnInstall', 'SpaceTexts', 'SubCaption', 'SubSection',
+ 'SubSectionEnd', 'UninstallButtonText', 'UninstallCaption', 'UninstallIcon', 'UninstallSubCaption',
+ 'UninstallText', 'UninstPage', 'Var', 'VIAddVersionKey', 'VIProductVersion', 'WindowIcon', 'XPStyle'
+ ),
+ 3 => array(
+ 'AddSize', 'AllowSkipFiles', 'FileBufSize', 'GetInstDirError', 'PageCallbacks',
+ 'SectionIn', 'SetCompress', 'SetCompressionLevel', 'SetCompressorDictSize',
+ 'SetDatablockOptimize', 'SetDateSave', 'SetOverwrite', 'SetPluginUnload'
+ ),
+ 4 => array(
+ 'Abort', 'BringToFront', 'Call', 'CallInstDLL', 'ClearErrors', 'CopyFiles','CreateDirectory',
+ 'CreateFont', 'CreateShortCut', 'Delete', 'DeleteINISec', 'DeleteINIStr', 'DeleteRegKey',
+ 'DeleteRegValue', 'DetailPrint', 'EnableWindow', 'EnumRegKey', 'EnumRegValue', 'Exch', 'Exec',
+ 'ExecShell', 'ExecWait', 'ExpandEnvStrings', 'File', 'FileClose', 'FileOpen', 'FileRead',
+ 'FileReadByte', 'FileSeek', 'FileWrite', 'FileWriteByte', 'FindClose', 'FindFirst', 'FindNext',
+ 'FindWindow', 'FlushINI', 'GetCurInstType', 'GetCurrentAddress', 'GetDlgItem', 'GetDLLVersion',
+ 'GetDLLVersionLocal', 'GetErrorLevel', 'GetFileTime', 'GetFileTimeLocal', 'GetFullPathName',
+ 'GetFunctionAddress', 'GetLabelAddress', 'GetTempFileName', 'GetWindowText', 'Goto', 'HideWindow',
+ 'IfAbort', 'IfErrors', 'IfFileExists', 'IfRebootFlag', 'IfSilent', 'InitPluginsDir', 'InstTypeGetText',
+ 'InstTypeSetText', 'IntCmp', 'IntCmpU', 'IntFmt', 'IntOp', 'IsWindow', 'LockWindow', 'LogSet', 'LogText',
+ 'MessageBox', 'Nop', 'Pop', 'Push', 'Quit', 'ReadEnvStr', 'ReadIniStr', 'ReadRegDWORD', 'ReadRegStr',
+ 'Reboot', 'RegDLL', 'Rename', 'ReserveFile', 'Return', 'RMDir', 'SearchPath', 'SectionGetFlags',
+ 'SectionGetInstTypes', 'SectionGetSize', 'SectionGetText', 'SectionSetFlags', 'SectionSetInstTypes',
+ 'SectionSetSize', 'SectionSetText', 'SendMessage', 'SetAutoClose', 'SetBrandingImage', 'SetCtlColors',
+ 'SetCurInstType', 'SetDetailsPrint', 'SetDetailsView', 'SetErrorLevel', 'SetErrors', 'SetFileAttributes',
+ 'SetOutPath', 'SetRebootFlag', 'SetShellVarContext', 'SetSilent', 'ShowWindow', 'Sleep', 'StrCmp',
+ 'StrCpy', 'StrLen', 'UnRegDLL', 'WriteINIStr', 'WriteRegBin', 'WriteRegDWORD', 'WriteRegExpandStr',
+ 'WriteRegStr', 'WriteUninstaller'
+ ),
+ 5 => array(
+ 'all', 'alwaysoff', 'ARCHIVE', 'auto', 'both', 'bzip2', 'checkbox', 'components', 'current',
+ 'custom', 'directory', 'false', 'FILE_ATTRIBUTE_ARCHIVE', 'FILE_ATTRIBUTE_HIDDEN', 'FILE_ATTRIBUTE_NORMAL',
+ 'FILE_ATTRIBUTE_OFFLINE', 'FILE_ATTRIBUTE_READONLY', 'FILE_ATTRIBUTE_SYSTEM,TEMPORARY',
+ 'FILE_ATTRIBUTE_TEMPORARY', 'force', 'HIDDEN', 'hide', 'HKCC', 'HKCR', 'HKCU', 'HKDD', 'HKEY_CLASSES_ROOT',
+ 'HKEY_CURRENT_CONFIG', 'HKEY_CURRENT_USER', 'HKEY_DYN_DATA', 'HKEY_LOCAL_MACHINE', 'HKEY_PERFORMANCE_DATA',
+ 'HKEY_USERS', 'HKLM', 'HKPD', 'HKU', 'IDABORT', 'IDCANCEL', 'IDIGNORE', 'IDNO', 'IDOK', 'IDRETRY', 'IDYES',
+ 'ifdiff', 'ifnewer', 'instfiles', 'lastused', 'leave', 'license', 'listonly', 'lzma', 'manual',
+ 'MB_ABORTRETRYIGNORE', 'MB_DEFBUTTON1', 'MB_DEFBUTTON2', 'MB_DEFBUTTON3', 'MB_DEFBUTTON4',
+ 'MB_ICONEXCLAMATION', 'MB_ICONINFORMATION', 'MB_ICONQUESTION', 'MB_ICONSTOP', 'MB_OK', 'MB_OKCANCEL',
+ 'MB_RETRYCANCEL', 'MB_RIGHT', 'MB_SETFOREGROUND', 'MB_TOPMOST', 'MB_YESNO', 'MB_YESNOCANCEL', 'nevershow',
+ 'none', 'normal', 'off', 'OFFLINE', 'on', 'radiobuttons', 'READONLY', 'RO', 'SHCTX', 'SHELL_CONTEXT', 'show',
+ 'silent', 'silentlog', 'SW_HIDE', 'SW_SHOWMAXIMIZED', 'SW_SHOWMINIMIZED', 'SW_SHOWNORMAL', 'SYSTEM',
+ 'textonly', 'true', 'try', 'uninstConfirm', 'zlib'
+ ),
+ 6 => array(
+ '/a', '/components', '/COMPONENTSONLYONCUSTOM', '/CUSTOMSTRING', '/e', '/FILESONLY', '/FINAL', '/gray', '/GLOBAL',
+ '/ifempty', '/IMGID', '/ITALIC', '/lang', '/NOCUSTOM', '/nonfatal', '/NOUNLOAD', '/oname', '/r', '/REBOOTOK',
+ '/RESIZETOFIT', '/SOLID', '/SD', '/SHORT', '/silent', '/STRIKE', '/TIMEOUT', '/TRIMCENTER', '/TRIMLEFT',
+ '/TRIMRIGHT', '/UNDERLINE', '/windows', '/x'
+ ),
+ 7 => array(
+ '.onGUIEnd', '.onGUIInit', '.onInit', '.onInstFailed', '.onInstSuccess', '.onMouseOverSection',
+ '.onRebootFailed', '.onSelChange', '.onUserAbort', '.onVerifyInstDir', 'un.onGUIEnd', 'un.onGUIInit',
+ 'un.onInit', 'un.onRebootFailed', 'un.onUninstFailed', 'un.onUninstSuccess', 'un.onUserAbort'
+ ),
+ 8 => array(
+ 'MUI.nsh', '"${NSISDIR}\Contrib\Modern UI\System.nsh"', 'MUI_SYSVERSION', 'MUI_ICON', 'MUI_UNICON',
+ 'MUI_HEADERIMAGE', 'MUI_HEADERIMAGE_BITMAP', 'MUI_HEADERIMAGE_BITMAP_NOSTRETCH', 'MUI_HEADERIMAGE_BITMAP_RTL',
+ 'MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_UNBITMAP', 'MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH',
+ 'MUI_HEADERIMAGE_UNBITMAP_RTL', 'MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_RIGHT', 'MUI_BGCOLOR',
+ 'MUI_UI', 'MUI_UI_HEADERIMAGE', 'MUI_UI_HEADERIMAGE_RIGHT', 'MUI_UI_COMPONENTSPAGE_SMALLDESC',
+ 'MUI_UI_COMPONENTSPAGE_NODESC', 'MUI_WELCOMEFINISHPAGE_BITMAP', 'MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
+ 'MUI_WELCOMEFINISHPAGE_INI', 'MUI_UNWELCOMEFINISHPAGE_BITMAP', 'MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
+ 'MUI_UNWELCOMEFINISHPAGE_INI', 'MUI_LICENSEPAGE_BGCOLOR', 'MUI_COMPONENTSPAGE_CHECKBITMAP',
+ 'MUI_COMPONENTSPAGE_SMALLDESC', 'MUI_COMPONENTSPAGE_NODESC', 'MUI_INSTFILESPAGE_COLORS',
+ 'MUI_INSTFILESPAGE_PROGRESSBAR', 'MUI_FINISHPAGE_NOAUTOCLOSE', 'MUI_UNFINISHPAGE_NOAUTOCLOSE',
+ 'MUI_ABORTWARNING', 'MUI_ABORTWARNING_TEXT', 'MUI_UNABORTWARNING', 'MUI_UNABORTWARNING_TEXT',
+ 'MUI_PAGE_WELCOME', 'MUI_PAGE_LICENSE', 'MUI_PAGE_COMPONENTS', 'MUI_PAGE_DIRECTORY',
+ 'MUI_PAGE_STARTMENU', 'MUI_PAGE_INSTFILES', 'MUI_PAGE_FINISH', 'MUI_UNPAGE_WELCOME',
+ 'MUI_UNPAGE_CONFIRM', 'MUI_UNPAGE_LICENSE', 'MUI_UNPAGE_COMPONENTS', 'MUI_UNPAGE_DIRECTORY',
+ 'MUI_UNPAGE_INSTFILES', 'MUI_UNPAGE_FINISH', 'MUI_PAGE_HEADER_TEXT', 'MUI_PAGE_HEADER_SUBTEXT',
+ 'MUI_WELCOMEPAGE_TITLE', 'MUI_WELCOMEPAGE_TITLE_3LINES', 'MUI_WELCOMEPAGE_TEXT',
+ 'MUI_LICENSEPAGE_TEXT_TOP', 'MUI_LICENSEPAGE_TEXT_BOTTOM', 'MUI_LICENSEPAGE_BUTTON',
+ 'MUI_LICENSEPAGE_CHECKBOX', 'MUI_LICENSEPAGE_CHECKBOX_TEXT', 'MUI_LICENSEPAGE_RADIOBUTTONS',
+ 'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT', 'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE',
+ 'MUI_COMPONENTSPAGE_TEXT_TOP', 'MUI_COMPONENTSPAGE_TEXT_COMPLIST', 'MUI_COMPONENTSPAGE_TEXT_INSTTYPE',
+ 'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE', 'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO',
+ 'MUI_DIRECTORYPAGE_TEXT_TOP', 'MUI_DIRECTORYPAGE_TEXT_DESTINATION', 'MUI_DIRECTORYPAGE_VARIABLE',
+ 'MUI_DIRECTORYPAGE_VERIFYONLEAVE', 'MUI_STARTMENU_WRITE_BEGIN', 'MUI_STARTMENU_WRITE_END',
+ 'MUI_STARTMENUPAGE_TEXT_TOP', 'MUI_STARTMENUPAGE_TEXT_CHECKBOX', 'MUI_STARTMENUPAGE_DEFAULTFOLDER',
+ 'MUI_STARTMENUPAGE_NODISABLE', 'MUI_STARTMENUPAGE_REGISTRY_ROOT', 'MUI_STARTMENUPAGE_REGISTRY_KEY',
+ 'MUI_STARTMENUPAGE_REGISTRY_VALUENAME', 'MUI_INSTFILESPAGE_FINISHHEADER_TEXT',
+ 'MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT', 'MUI_INSTFILESPAGE_ABORTHEADER_TEXT',
+ 'MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT', 'MUI_FINISHPAGE_TITLE', 'MUI_FINISHPAGE_TITLE_3LINES',
+ 'MUI_FINISHPAGE_TEXT', 'MUI_FINISHPAGE_TEXT_LARGE', 'MUI_FINISHPAGE_BUTTON',
+ 'MUI_FINISHPAGE_TEXT_REBOOT', 'MUI_FINISHPAGE_TEXT_REBOOTNOW', 'MUI_FINISHPAGE_TEXT_REBOOTLATER',
+ 'MUI_FINISHPAGE_RUN', 'MUI_FINISHPAGE_RUN_TEXT', 'MUI_FINISHPAGE_RUN_PARAMETERS',
+ 'MUI_FINISHPAGE_RUN_NOTCHECKED', 'MUI_FINISHPAGE_RUN_FUNCTION', 'MUI_FINISHPAGE_SHOWREADME',
+ 'MUI_FINISHPAGE_SHOWREADME_TEXT', 'MUI_FINISHPAGE_SHOWREADME_NOTCHECKED',
+ 'MUI_FINISHPAGE_SHOWREADME_FUNCTION', 'MUI_FINISHPAGE_LINK', 'MUI_FINISHPAGE_LINK_LOCATION',
+ 'MUI_FINISHPAGE_LINK_COLOR', 'MUI_FINISHPAGE_NOREBOOTSUPPORT', 'MUI_UNCONFIRMPAGE_TEXT_TOP',
+ 'MUI_UNCONFIRMPAGE_TEXT_LOCATION', 'MUI_LANGUAGE', 'MUI_LANGDLL_DISPLAY',
+ 'MUI_LANGDLL_REGISTRY_ROOT', 'MUI_LANGDLL_REGISTRY_KEY', 'MUI_LANGDLL_REGISTRY_VALUENAME',
+ 'MUI_LANGDLL_WINDOWTITLE', 'MUI_LANGDLL_INFO', 'MUI_LANGDLL_ALWAYSSHOW',
+ 'MUI_RESERVEFILE_INSTALLOPTIONS', 'MUI_RESERVEFILE_LANGDLL', 'MUI_FUNCTION_DESCRIPTION_BEGIN',
+ 'MUI_DESCRIPTION_TEXT', 'MUI_FUNCTION_DESCRIPTION_END', 'MUI_INSTALLOPTIONS_EXTRACT',
+ 'MUI_INSTALLOPTIONS_EXTRACT_AS', 'MUI_HEADER_TEXT', 'MUI_INSTALLOPTIONS_DISPLAY',
+ 'MUI_INSTALLOPTIONS_INITDIALOG', 'MUI_INSTALLOPTIONS_SHOW',
+ 'MUI_INSTALLOPTIONS_DISPLAY_RETURN', 'MUI_INSTALLOPTIONS_SHOW_RETURN',
+ 'MUI_INSTALLOPTIONS_READ', 'MUI_INSTALLOPTIONS_WRITE',
+ 'MUI_CUSTOMFUNCTION_GUIINIT', 'MUI_CUSTOMFUNCTION_UNGUIINIT',
+ 'MUI_CUSTOMFUNCTION_ABORT', 'MUI_CUSTOMFUNCTION_UNABORT',
+ 'MUI_PAGE_CUSTOMFUNCTION_PRE', 'MUI_PAGE_CUSTOMFUNCTION_SHOW', 'MUI_PAGE_CUSTOMFUNCTION_LEAVE',
+ 'MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT'
+ ),
+ 9 => array(
+ 'LogicLib.nsh', '${LOGICLIB}', 'LOGICLIB_STRCMP', 'LOGICLIB_INT64CMP', 'LOGICLIB_SECTIONCMP', '${If}', '${Unless}',
+ '${ElseIf}', '${ElseUnless}', '${Else}', '${EndIf}', '${EndUnless}', '${AndIf}', '${AndUnless}',
+ '${OrIf}', '${OrUnless}', '${IfThen}', '${IfCmd}', '${Select}', '${Case2}', '${Case3}',
+ '${Case4}', '${Case5}', '${CaseElse}', '${Default}', '${EndSelect}', '${Switch}',
+ '${Case}', '${EndSwitch}', '${Do}', '${DoWhile}', '${UntilWhile}', '${Continue}', '${Break}',
+ '${Loop}', '${LoopWhile}', '${LoopUntil}', '${While}', '${ExitWhile}', '${EndWhile}', '${For}',
+ '${ForEach}', '${ExitFor}', '${Next}', '${Abort}', '${Errors}', '${RebootFlag}', '${Silent}',
+ '${FileExists}', '${Cmd}', '${SectionIsSelected}', '${SectionIsSectionGroup}',
+ '${SectionIsSectionGroupEnd}', '${SectionIsBold}', '${SectionIsReadOnly}',
+ '${SectionIsExpanded}', '${SectionIsPartiallySelected}'
+ ),
+ 10 => array(
+ 'StrFunc.nsh', '${STRFUNC}', '${StrCase}', '${StrClb}', '${StrIOToNSIS}', '${StrLoc}', '${StrNSISToIO}', '${StrRep}',
+ '${StrSort}', '${StrStr}', '${StrStrAdv}', '${StrTok}', '${StrTrimNewLines}'
+ ),
+ 11 => array(
+ 'UpgradeDLL.nsh', 'UPGRADEDLL_INCLUDED', 'UpgradeDLL'
+ ),
+ 12 => array(
+ 'Sections.nsh', 'SECTIONS_INCLUDED', '${SF_SELECTED}', '${SF_SECGRP}', '${SF_SUBSEC}', '${SF_SECGRPEND}',
+ '${SF_SUBSECEND}', '${SF_BOLD}', '${SF_RO}', '${SF_EXPAND}', '${SF_PSELECTED}', '${SF_TOGGLED}',
+ '${SF_NAMECHG}', '${SECTION_OFF}', 'SelectSection', 'UnselectSection', 'ReverseSection',
+ 'StartRadioButtons', 'RadioButton', 'EndRadioButtons', '${INSTTYPE_0}', '${INSTTYPE_1}', '${INSTTYPE_2}',
+ '${INSTTYPE_3}', '${INSTTYPE_4}', '${INSTTYPE_5}', '${INSTTYPE_6}', '${INSTTYPE_7}', '${INSTTYPE_8}',
+ '${INSTTYPE_9}', '${INSTTYPE_10}', '${INSTTYPE_11}', '${INSTTYPE_12}', '${INSTTYPE_13}', '${INSTTYPE_14}',
+ '${INSTTYPE_15}', '${INSTTYPE_16}', '${INSTTYPE_17}', '${INSTTYPE_18}', '${INSTTYPE_19}', '${INSTTYPE_20}',
+ '${INSTTYPE_21}', '${INSTTYPE_22}', '${INSTTYPE_23}', '${INSTTYPE_24}', '${INSTTYPE_25}', '${INSTTYPE_26}',
+ '${INSTTYPE_27}', '${INSTTYPE_28}', '${INSTTYPE_29}', '${INSTTYPE_30}', '${INSTTYPE_31}', '${INSTTYPE_32}',
+ 'SetSectionInInstType', 'ClearSectionInInstType', 'SetSectionFlag', 'ClearSectionFlag', 'SectionFlagIsSet'
+ ),
+ 13 => array(
+ 'Colors.nsh', 'WHITE', 'BLACK', 'YELLOW', 'RED', 'GREEN', 'BLUE', 'MAGENTA', 'CYAN', 'rgb2hex'
+ ),
+ 14 => array(
+ 'FileFunc.nsh', '${Locate}', '${GetSize}', '${DriveSpace}', '${GetDrives}', '${GetTime}', '${GetFileAttributes}', '${GetFileVersion}', '${GetExeName}', '${GetExePath}', '${GetParameters}', '${GetOptions}', '${GetRoot}', '${GetParent}', '${GetFileName}', '${GetBaseName}', '${GetFileExt}', '${BannerTrimPath}', '${DirState}', '${RefreshShellIcons}'
+ ),
+ 15 => array(
+ 'TextFunc.nsh', '${LineFind}', '${LineRead}', '${FileReadFromEnd}', '${LineSum}', '${FileJoin}', '${TextCompare}', '${ConfigRead}', '${ConfigWrite}', '${FileRecode}', '${TrimNewLines}'
+ ),
+ 16 => array(
+ 'WordFunc.nsh', '${WordFind}', '${WordFind2X}', '${WordFind3X}', '${WordReplace}', '${WordAdd}', '${WordInsert}', '${StrFilter}', '${VersionCompare}', '${VersionConvert}'
+ )
+ ),
+ '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,
+ 11 => false,
+ 12 => false,
+ 13 => false,
+ 14 => false,
+ 15 => false,
+ 16 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000066; font-weight:bold;',
+ 2 => 'color: #000066;',
+ 3 => 'color: #003366;',
+ 4 => 'color: #000099;',
+ 5 => 'color: #ff6600;',
+ 6 => 'color: #ff6600;',
+ 7 => 'color: #006600;',
+ 8 => 'color: #006600;',
+ 9 => 'color: #006600;',
+ 10 => 'color: #006600;',
+ 11 => 'color: #006600;',
+ 12 => 'color: #006600;',
+ 13 => 'color: #006600;',
+ 14 => 'color: #006600;',
+ 15 => 'color: #006600;',
+ 16 => 'color: #006600;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #666666; font-style: italic;',
+ 'MULTI' => 'color: #666666; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #660066; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => ''
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #660066;'
+ ),
+ 'NUMBERS' => array(
+ 0 => ''
+ ),
+ 'METHODS' => array(
+ 0 => ''
+ ),
+ 'SYMBOLS' => array(
+ 0 => ''
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #660000;',
+ 1 => 'color: #660000;',
+ 2 => 'color: #660000;',
+ 3 => 'color: #660000;',
+ 4 => 'color: #660000;',
+ 5 => 'color: #660000;',
+ 6 => 'color: #660000;',
+ 7 => 'color: #000099;',
+ 8 => 'color: #003399;'
+ ),
+ 'SCRIPT' => array(
+ 0 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => '',
+ 10 => '',
+ 11 => '',
+ 12 => '',
+ 13 => '',
+ 14 => '',
+ 15 => '',
+ 16 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => '\$\$',
+ 1 => '\$\\r',
+ 2 => '\$\\n',
+ 3 => '\$\\t',
+ 4 => '\$[a-zA-Z0-9_]+',
+ 5 => '\$\{.{1,256}\}',
+ 6 => '\$\\\(.{1,256}\\\)',
+ 7 => array(
+ GESHI_SEARCH => '([^:\/\\\*\?\"\<\>(?:<PIPE>)\s]*?)(::)([^:\/\\\*\?\"\<\>(?:<PIPE>)\s]*?)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => '\\2\\3'
+ ),
+ 8 => array(
+ GESHI_SEARCH => '([^:\/\\\*\?\"\<\>(?:<PIPE>)\s]*?)(::)([^:\/\\\*\?\"\<\>(?:<PIPE>)]*?\s)',
+ GESHI_REPLACE => '\\3',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1\\2',
+ GESHI_AFTER => ''
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/oberon2.php b/application/libraries/geshi/oberon2.php
new file mode 100644
index 000000000..35152b55f
--- /dev/null
+++ b/application/libraries/geshi/oberon2.php
@@ -0,0 +1,135 @@
+<?php
+/*************************************************************************************
+ * oberon2.php
+ * ----------
+ * Author: mbishop (mbishop@esoteriq.org)
+ * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/02/10
+ *
+ * Oberon-2 language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *
+ * TODO
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Oberon-2',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array('(*' => '*)'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'HARDQUOTE' => array("'", "'"),
+ 'HARDESCAPE' => array("''"),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'ARRAY', 'BEGIN', 'BY', 'CASE',
+ 'CONST', 'DIV', 'DO', 'ELSE', 'ELSIF', 'END',
+ 'EXIT', 'FOR', 'IF', 'IMPORT', 'IN', 'IS',
+ 'LOOP', 'MOD', 'MODULE', 'OF',
+ 'OR', 'POINTER', 'PROCEDURE', 'RECORD',
+ 'REPEAT', 'RETURN', 'THEN', 'TO',
+ 'TYPE', 'UNTIL', 'VAR', 'WHILE', 'WITH'
+ ),
+ 2 => array(
+ 'NIL', 'FALSE', 'TRUE',
+ ),
+ 3 => array(
+ 'ABS', 'ASH', 'ASSERT', 'CAP', 'CHR', 'COPY', 'DEC',
+ 'ENTIER', 'EXCL', 'HALT', 'INC', 'INCL', 'LEN',
+ 'LONG', 'MAX', 'MIN', 'NEW', 'ODD', 'ORD', 'SHORT', 'SIZE'
+ ),
+ 4 => array(
+ 'BOOLEAN', 'CHAR', 'SHORTINT', 'LONGINT',
+ 'INTEGER', 'LONGREAL', 'REAL', 'SET', 'PTR'
+ ),
+ ),
+ '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' => 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/objc.php b/application/libraries/geshi/objc.php
new file mode 100644
index 000000000..084be7124
--- /dev/null
+++ b/application/libraries/geshi/objc.php
@@ -0,0 +1,358 @@
+<?php
+/*************************************************************************************
+ * objc.php
+ * --------
+ * 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
+ * Date Started: 2004/06/04
+ *
+ * Objective-C language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/11 (1.0.8)
+ * - Added support for @ before strings being highlighted
+ * 2008/06/10 (1.0.7.22)
+ * - Added keywords for Objective-C 2.0 (Leopard+).
+ * - Changed colors to match Xcode 3 highlighting more closely.
+ * - Updated API for AppKit and Foundation; added CoreData classes.
+ * - Updated URLs for AppKit and Foundation; split classes and protocols.
+ * - Sorted all keyword group in reverse-alpha order for correct matching.
+ * - Changed all keyword groups to be case-sensitive.
+ * 2004/11/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Objective-C',
+ 'COMMENT_SINGLE' => array(
+ //Compiler directives
+ 1 => '#',
+ //Single line C-Comments
+ 2 => '//'
+ ),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ //Multiline Continuation for single-line comment
+ 2 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
+ //Pseudo-Highlighting of the @-sign before strings
+ 3 => "/@(?=\")/"
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"', "'"),
+ 'ESCAPE_CHAR' => '\\',
+
+ 'KEYWORDS' => array(
+ // Objective-C keywords
+ 1 => array(
+ 'while', 'switch', 'return', 'in', 'if', 'goto', 'foreach', 'for',
+ 'else', 'do', 'default', 'continue', 'case', '@try', '@throw',
+ '@synthesize', '@synchronized', '@selector', '@public', '@protocol',
+ '@protected', '@property', '@private', '@interface',
+ '@implementation', '@finally', '@end', '@encode', '@defs', '@class',
+ '@catch'
+ ),
+ // Macros and constants
+ 2 => array(
+ 'YES', 'USHRT_MAX', 'ULONG_MAX', 'UINT_MAX', 'UCHAR_MAX', 'true',
+ 'TMP_MAX', 'stdout', 'stdin', 'stderr', 'SIGTERM', 'SIGSEGV',
+ 'SIGINT', 'SIGILL', 'SIG_IGN', 'SIGFPE', 'SIG_ERR', 'SIG_DFL',
+ 'SIGABRT', 'SHRT_MIN', 'SHRT_MAX', 'SEEK_SET', 'SEEK_END',
+ 'SEEK_CUR', 'SCHAR_MIN', 'SCHAR_MAX', 'RAND_MAX', 'NULL',
+ 'NO', 'nil', 'Nil', 'L_tmpnam', 'LONG_MIN', 'LONG_MAX',
+ 'LDBL_MIN_EXP', 'LDBL_MIN', 'LDBL_MAX_EXP', 'LDBL_MAX',
+ 'LDBL_MANT_DIG', 'LDBL_EPSILON', 'LDBL_DIG', 'INT_MIN', 'INT_MAX',
+ 'HUGE_VAL', 'FOPEN_MAX', 'FLT_ROUNDS', 'FLT_RADIX', 'FLT_MIN_EXP',
+ 'FLT_MIN', 'FLT_MAX_EXP', 'FLT_MAX', 'FLT_MANT_DIG', 'FLT_EPSILON',
+ 'FLT_DIG', 'FILENAME_MAX', 'false', 'EXIT_SUCCESS', 'EXIT_FAILURE',
+ 'errno', 'ERANGE', 'EOF', 'enum', 'EDOM', 'DBL_MIN_EXP', 'DBL_MIN',
+ 'DBL_MAX_EXP', 'DBL_MAX', 'DBL_MANT_DIG', 'DBL_EPSILON', 'DBL_DIG',
+ 'CLOCKS_PER_SEC', 'CHAR_MIN', 'CHAR_MAX', 'CHAR_BIT', 'BUFSIZ',
+ 'break'
+ ),
+ // C standard library functions
+ 3 => array(
+ 'vsprintf', 'vprintf', 'vfprintf', 'va_start', 'va_end', 'va_arg',
+ 'ungetc', 'toupper', 'tolower', 'tmpname', 'tmpfile', 'time',
+ 'tanh', 'tan', 'system', 'strxfrm', 'strtoul', 'strtol', 'strtok',
+ 'strtod', 'strstr', 'strspn', 'strrchr', 'strpbrk', 'strncpy',
+ 'strncmp', 'strncat', 'strlen', 'strftime', 'strerror', 'strcspn',
+ 'strcpy', 'strcoll', 'strcmp', 'strchr', 'strcat', 'sscanf',
+ 'srand', 'sqrt', 'sprintf', 'snprintf', 'sizeof', 'sinh', 'sin',
+ 'setvbuf', 'setjmp', 'setbuf', 'scanf', 'rewind', 'rename',
+ 'remove', 'realloc', 'rand', 'qsort', 'puts', 'putchar', 'putc',
+ 'printf', 'pow', 'perror', 'offsetof', 'modf', 'mktime', 'memset',
+ 'memmove', 'memcpy', 'memcmp', 'memchr', 'malloc', 'longjmp',
+ 'log10', 'log', 'localtime', 'ldiv', 'ldexp', 'labs', 'isxdigit',
+ 'isupper', 'isspace', 'ispunct', 'isprint', 'islower',
+ 'isgraph', 'isdigit', 'iscntrl', 'isalpha', 'isalnum', 'gmtime',
+ 'gets', 'getenv', 'getchar', 'getc', 'fwrite', 'ftell', 'fsetpos',
+ 'fseek', 'fscanf', 'frexp', 'freopen', 'free', 'fread', 'fputs',
+ 'fputc', 'fprintf', 'fopen', 'fmod', 'floor', 'fgets', 'fgetpos',
+ 'fgetc', 'fflush', 'ferror', 'feof', 'fclose', 'fabs', 'exp',
+ 'exit', 'div', 'difftime', 'ctime', 'cosh', 'cos', 'clock',
+ 'clearerr', 'ceil', 'calloc', 'bsearch', 'atol', 'atoi', 'atof',
+ 'atexit', 'atan2', 'atan', 'assert', 'asin', 'asctime', 'acos',
+ 'abs', 'abort'
+ ),
+ // Data types (C, Objective-C, Cocoa)
+ 4 => array(
+ 'volatile', 'void', 'va_list', 'unsigned', 'union', 'typedef', 'tm',
+ 'time_t', 'struct', 'string', 'static', 'size_t',
+ 'signed', 'signal', 'short', 'SEL', 'register', 'raise',
+ 'ptrdiff_t', 'NSZone', 'NSRect', 'NSRange', 'NSPoint', 'long',
+ 'ldiv_t', 'jmp_buf', 'int', 'IMP', 'id', 'fpos_t', 'float', 'FILE',
+ 'extern', 'double', 'div_t', 'const', 'clock_t', 'Class', 'char',
+ 'BOOL', 'auto'
+ ),
+ // Foundation classes
+ 5 => array(
+ 'NSXMLParser', 'NSXMLNode', 'NSXMLElement', 'NSXMLDTDNode',
+ 'NSXMLDTD', 'NSXMLDocument', 'NSWhoseSpecifier',
+ 'NSValueTransformer', 'NSValue', 'NSUserDefaults', 'NSURLResponse',
+ 'NSURLRequest', 'NSURLProtocol', 'NSURLProtectionSpace',
+ 'NSURLHandle', 'NSURLDownload', 'NSURLCredentialStorage',
+ 'NSURLCredential', 'NSURLConnection', 'NSURLCache',
+ 'NSURLAuthenticationChallenge', 'NSURL', 'NSUniqueIDSpecifier',
+ 'NSUndoManager', 'NSUnarchiver', 'NSTimeZone', 'NSTimer',
+ 'NSThread', 'NSTask', 'NSString', 'NSStream', 'NSSpellServer',
+ 'NSSpecifierTest', 'NSSortDescriptor', 'NSSocketPortNameServer',
+ 'NSSocketPort', 'NSSetCommand', 'NSSet', 'NSSerializer',
+ 'NSScriptWhoseTest', 'NSScriptSuiteRegistry',
+ 'NSScriptObjectSpecifier', 'NSScriptExecutionContext',
+ 'NSScriptCommandDescription', 'NSScriptCommand',
+ 'NSScriptCoercionHandler', 'NSScriptClassDescription', 'NSScanner',
+ 'NSRunLoop', 'NSRelativeSpecifier', 'NSRecursiveLock',
+ 'NSRangeSpecifier', 'NSRandomSpecifier', 'NSQuitCommand', 'NSProxy',
+ 'NSProtocolChecker', 'NSPropertySpecifier',
+ 'NSPropertyListSerialization', 'NSProcessInfo', 'NSPredicate',
+ 'NSPositionalSpecifier', 'NSPortNameServer', 'NSPortMessage',
+ 'NSPortCoder', 'NSPort', 'NSPointerFunctions', 'NSPointerArray',
+ 'NSPipe', 'NSOutputStream', 'NSOperationQueue', 'NSOperation',
+ 'NSObject', 'NSNumberFormatter', 'NSNumber', 'NSNull',
+ 'NSNotificationQueue', 'NSNotificationCenter', 'NSNotification',
+ 'NSNetServiceBrowser', 'NSNetService', 'NSNameSpecifier',
+ 'NSMutableURLRequest', 'NSMutableString', 'NSMutableSet',
+ 'NSMutableIndexSet', 'NSMutableDictionary', 'NSMutableData',
+ 'NSMutableCharacterSet', 'NSMutableAttributedString',
+ 'NSMutableArray', 'NSMoveCommand', 'NSMiddleSpecifier',
+ 'NSMethodSignature', 'NSMetadataQueryResultGroup',
+ 'NSMetadataQueryAttributeValueTuple', 'NSMetadataQuery',
+ 'NSMetadataItem', 'NSMessagePortNameServer', 'NSMessagePort',
+ 'NSMapTable', 'NSMachPort', 'NSMachBootstrapServer',
+ 'NSLogicalTest', 'NSLock', 'NSLocale', 'NSKeyedUnarchiver',
+ 'NSKeyedArchiver', 'NSInvocationOperation', 'NSInvocation',
+ 'NSInputStream', 'NSIndexSpecifier', 'NSIndexSet', 'NSIndexPath',
+ 'NSHTTPURLResponse', 'NSHTTPCookieStorage', 'NSHTTPCookie',
+ 'NSHost', 'NSHashTable', 'NSGetCommand', 'NSGarbageCollector',
+ 'NSFormatter', 'NSFileManager', 'NSFileHandle', 'NSExpression',
+ 'NSExistsCommand', 'NSException', 'NSError', 'NSEnumerator',
+ 'NSDistributedNotificationCenter', 'NSDistributedLock',
+ 'NSDistantObjectRequest', 'NSDistantObject',
+ 'NSDirectoryEnumerator', 'NSDictionary', 'NSDeserializer',
+ 'NSDeleteCommand', 'NSDecimalNumberHandler', 'NSDecimalNumber',
+ 'NSDateFormatter', 'NSDateComponents', 'NSDate', 'NSData',
+ 'NSCreateCommand', 'NSCountedSet', 'NSCountCommand', 'NSConnection',
+ 'NSConditionLock', 'NSCondition', 'NSCompoundPredicate',
+ 'NSComparisonPredicate', 'NSCoder', 'NSCloseCommand',
+ 'NSCloneCommand', 'NSClassDescription', 'NSCharacterSet',
+ 'NSCalendarDate', 'NSCalendar', 'NSCachedURLResponse', 'NSBundle',
+ 'NSAutoreleasePool', 'NSAttributedString', 'NSAssertionHandler',
+ 'NSArray', 'NSArchiver', 'NSAppleScript', 'NSAppleEventManager',
+ 'NSAppleEventDescriptor', 'NSAffineTransform'
+ ),
+ // Foundation protocols
+ 6 => array(
+ 'NSURLProtocolClient', 'NSURLHandleClient', 'NSURLClient',
+ 'NSURLAuthenticationChallengeSender', 'NSScriptObjectSpecifiers',
+ 'NSScriptKeyValueCoding', 'NSScriptingComparisonMethods',
+ 'NSObjCTypeSerializationCallBack', 'NSMutableCopying',
+ 'NSLocking', 'NSKeyValueObserving', 'NSKeyValueCoding',
+ 'NSFastEnumeration', 'NSErrorRecoveryAttempting',
+ 'NSDecimalNumberBehaviors', 'NSCopying', 'NSComparisonMethods',
+ 'NSCoding'
+ ),
+ // AppKit classes
+ 7 => array(
+ 'NSWorkspace', 'NSWindowController', 'NSWindow', 'NSViewController',
+ 'NSViewAnimation', 'NSView', 'NSUserDefaultsController',
+ 'NSTypesetter', 'NSTreeNode', 'NSTreeController', 'NSTrackingArea',
+ 'NSToolbarItemGroup', 'NSToolbarItem', 'NSToolbar',
+ 'NSTokenFieldCell', 'NSTokenField', 'NSTextView',
+ 'NSTextTableBlock', 'NSTextTable', 'NSTextTab', 'NSTextStorage',
+ 'NSTextList', 'NSTextFieldCell', 'NSTextField', 'NSTextContainer',
+ 'NSTextBlock', 'NSTextAttachmentCell', 'NSTextAttachment', 'NSText',
+ 'NSTabViewItem', 'NSTabView', 'NSTableView', 'NSTableHeaderView',
+ 'NSTableHeaderCell', 'NSTableColumn', 'NSStepperCell', 'NSStepper',
+ 'NSStatusItem', 'NSStatusBar', 'NSSplitView', 'NSSpellChecker',
+ 'NSSpeechSynthesizer', 'NSSpeechRecognizer', 'NSSound',
+ 'NSSliderCell', 'NSSlider', 'NSSimpleHorizontalTypesetter',
+ 'NSShadow', 'NSSegmentedControl', 'NSSegmentedCell',
+ 'NSSecureTextFieldCell', 'NSSecureTextField', 'NSSearchFieldCell',
+ 'NSSearchField', 'NSScrollView', 'NSScroller', 'NSScreen',
+ 'NSSavePanel', 'NSRulerView', 'NSRulerMarker', 'NSRuleEditor',
+ 'NSResponder', 'NSQuickDrawView', 'NSProgressIndicator',
+ 'NSPrintPanel', 'NSPrintOperation', 'NSPrintInfo', 'NSPrinter',
+ 'NSPredicateEditorRowTemplate', 'NSPredicateEditor',
+ 'NSPopUpButtonCell', 'NSPopUpButton', 'NSPICTImageRep',
+ 'NSPersistentDocument', 'NSPDFImageRep', 'NSPathControl',
+ 'NSPathComponentCell', 'NSPathCell', 'NSPasteboard',
+ 'NSParagraphStyle', 'NSPanel', 'NSPageLayout', 'NSOutlineView',
+ 'NSOpenPanel', 'NSOpenGLView', 'NSOpenGLPixelFormat',
+ 'NSOpenGLPixelBuffer', 'NSOpenGLContext', 'NSObjectController',
+ 'NSNibOutletConnector', 'NSNibControlConnector', 'NSNibConnector',
+ 'NSNib', 'NSMutableParagraphStyle', 'NSMovieView', 'NSMovie',
+ 'NSMenuView', 'NSMenuItemCell', 'NSMenuItem', 'NSMenu', 'NSMatrix',
+ 'NSLevelIndicatorCell', 'NSLevelIndicator', 'NSLayoutManager',
+ 'NSInputServer', 'NSInputManager', 'NSImageView', 'NSImageRep',
+ 'NSImageCell', 'NSImage', 'NSHelpManager', 'NSGraphicsContext',
+ 'NSGradient', 'NSGlyphInfo', 'NSGlyphGenerator', 'NSFormCell',
+ 'NSForm', 'NSFontPanel', 'NSFontManager', 'NSFontDescriptor',
+ 'NSFont', 'NSFileWrapper', 'NSEvent', 'NSEPSImageRep', 'NSDrawer',
+ 'NSDocumentController', 'NSDocument', 'NSDockTile',
+ 'NSDictionaryController', 'NSDatePickerCell', 'NSDatePicker',
+ 'NSCustomImageRep', 'NSCursor', 'NSController', 'NSControl',
+ 'NSComboBoxCell', 'NSComboBox', 'NSColorWell', 'NSColorSpace',
+ 'NSColorPicker', 'NSColorPanel', 'NSColorList', 'NSColor',
+ 'NSCollectionViewItem', 'NSCollectionView', 'NSClipView',
+ 'NSCIImageRep', 'NSCell', 'NSCachedImageRep', 'NSButtonCell',
+ 'NSButton', 'NSBrowserCell', 'NSBrowser', 'NSBox',
+ 'NSBitmapImageRep', 'NSBezierPath', 'NSATSTypesetter',
+ 'NSArrayController', 'NSApplication', 'NSAnimationContext',
+ 'NSAnimation', 'NSAlert', 'NSActionCell'
+ ),
+ // AppKit protocols
+ 8 => array(
+ 'NSWindowScripting', 'NSValidatedUserInterfaceItem',
+ 'NSUserInterfaceValidations', 'NSToolTipOwner',
+ 'NSToolbarItemValidation', 'NSTextInput',
+ 'NSTableDataSource', 'NSServicesRequests',
+ 'NSPrintPanelAccessorizing', 'NSPlaceholders',
+ 'NSPathControlDelegate', 'NSPathCellDelegate',
+ 'NSOutlineViewDataSource', 'NSNibAwaking', 'NSMenuValidation',
+ 'NSKeyValueBindingCreation', 'NSInputServiceProvider',
+ 'NSInputServerMouseTracker', 'NSIgnoreMisspelledWords',
+ 'NSGlyphStorage', 'NSFontPanelValidation', 'NSEditorRegistration',
+ 'NSEditor', 'NSDraggingSource', 'NSDraggingInfo',
+ 'NSDraggingDestination', 'NSDictionaryControllerKeyValuePair',
+ 'NSComboBoxDataSource', 'NSComboBoxCellDataSource',
+ 'NSColorPickingDefault', 'NSColorPickingCustom', 'NSChangeSpelling',
+ 'NSAnimatablePropertyContainer', 'NSAccessibility'
+ ),
+ // CoreData classes
+ 9 => array(
+ 'NSRelationshipDescription', 'NSPropertyMapping',
+ 'NSPropertyDescription', 'NSPersistentStoreCoordinator',
+ 'NSPersistentStore', 'NSMigrationManager', 'NSMappingModel',
+ 'NSManagedObjectModel', 'NSManagedObjectID',
+ 'NSManagedObjectContext', 'NSManagedObject',
+ 'NSFetchRequestExpression', 'NSFetchRequest',
+ 'NSFetchedPropertyDescription', 'NSEntityMigrationPolicy',
+ 'NSEntityMapping', 'NSEntityDescription', 'NSAttributeDescription',
+ 'NSAtomicStoreCacheNode', 'NSAtomicStore'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => true,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true,
+ 6 => true,
+ 7 => true,
+ 8 => true,
+ 9 => true
+ ),
+ // Define the colors for the groups listed above
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #a61390;', // Objective-C keywords
+ 2 => 'color: #a61390;', // Macros and constants
+ 3 => 'color: #a61390;', // C standard library functions
+ 4 => 'color: #a61390;', // data types
+ 5 => 'color: #400080;', // Foundation classes
+ 6 => 'color: #2a6f76;', // Foundation protocols
+ 7 => 'color: #400080;', // AppKit classes
+ 8 => 'color: #2a6f76;', // AppKit protocols
+ 9 => 'color: #400080;' // CoreData classes
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #6e371a;', // Preprocessor directives
+ 2 => 'color: #11740a; font-style: italic;', // Normal C single-line comments
+ 3 => 'color: #bf1d1a;', // Q-sign in front of Strings
+ 'MULTI' => 'color: #11740a; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #2400d9;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #002200;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #bf1d1a;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #2400d9;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #002200;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
+ 4 => '',
+ 5 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/{FNAME}_Class/',
+ 6 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Protocols/{FNAME}_Protocol/',
+ 7 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/{FNAME}_Class/',
+ 8 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/{FNAME}_Protocol/',
+ 9 => 'http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/{FNAME}_Class/'
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/ocaml-brief.php b/application/libraries/geshi/ocaml-brief.php
new file mode 100644
index 000000000..d9e3124f0
--- /dev/null
+++ b/application/libraries/geshi/ocaml-brief.php
@@ -0,0 +1,112 @@
+<?php
+/*************************************************************************************
+ * ocaml.php
+ * ----------
+ * Author: Flaie (fireflaie@gmail.com)
+ * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/08/27
+ *
+ * OCaml (Objective Caml) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2005/08/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'OCaml (brief)',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array('(*' => '*)'),
+ 'CASE_KEYWORDS' => 0,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => "",
+ 'KEYWORDS' => array(
+ /* main OCaml keywords */
+ 1 => array(
+ 'and', 'as', 'asr', 'begin', 'class', 'closed', 'constraint', 'do', 'done', 'downto', 'else',
+ 'end', 'exception', 'external', 'failwith', 'false', 'flush', 'for', 'fun', 'function', 'functor',
+ 'if', 'in', 'include', 'inherit', 'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
+ 'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
+ 'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
+ 'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
+ )
+ ),
+ /* highlighting symbols is really important in OCaml */
+ 'SYMBOLS' => array(
+ ';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+',
+ '>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #06c; font-weight: bold;' /* nice blue */
+ ),
+ 'COMMENTS' => array(
+ 'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #6c6;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #3cb371;' /* nice green */
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #c6c;' /* pink */
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #060;' /* dark green */
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #a52a2a;' /* maroon */
+ ),
+ '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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/ocaml.php b/application/libraries/geshi/ocaml.php
new file mode 100644
index 000000000..a14d2dec1
--- /dev/null
+++ b/application/libraries/geshi/ocaml.php
@@ -0,0 +1,174 @@
+<?php
+/*************************************************************************************
+ * ocaml.php
+ * ----------
+ * Author: Flaie (fireflaie@gmail.com)
+ * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/08/27
+ *
+ * OCaml (Objective Caml) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/03/29 (1.0.7.22)
+ * - Fixed warnings resulting from missing style information
+ * 2005/08/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2005/08/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'OCaml',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array('(*' => '*)'),
+ 'CASE_KEYWORDS' => 0,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => "",
+ 'KEYWORDS' => array(
+ /* main OCaml keywords */
+ 1 => array(
+ 'and', 'as', 'asr', 'begin', 'class', 'closed', 'constraint', 'do', 'done', 'downto', 'else',
+ 'end', 'exception', 'external', 'failwith', 'false', 'for', 'fun', 'function', 'functor',
+ 'if', 'in', 'include', 'inherit', 'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
+ 'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
+ 'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
+ 'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
+ ),
+ /* 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'
+ ),
+ /* just link to the Pervasives functions library, cause it's the default opened library when starting OCaml */
+ 3 => array(
+ 'abs', 'abs_float', 'acos', 'asin', 'at_exit', 'atan', 'atan2',
+ 'bool_of_string', 'ceil', 'char_of_int', 'classify_float',
+ 'close_in', 'close_in_noerr', 'close_out', 'close_out_noerr',
+ 'compare', 'cos', 'cosh', 'decr', 'epsilon_float', 'exit', 'exp',
+ 'float', 'float_of_int', 'float_of_string', 'floor', 'flush',
+ 'flush_all', 'format_of_string', 'frexp', 'fst', 'ignore',
+ 'in_channel_length', 'infinity', 'input', 'input_binary_int',
+ 'input_byte', 'input_char', 'input_line', 'input_value',
+ 'int_of_char', 'int_of_float', 'int_of_string', 'invalid_arg',
+ 'ldexp', 'log', 'log10', 'max', 'max_float', 'max_int', 'min',
+ 'min_float', 'min_int', 'mod_float', 'modf', 'nan', 'open_in',
+ 'open_in_bin', 'open_in_gen', 'open_out', 'open_out_bin',
+ 'open_out_gen', 'out_channel_length', 'output', 'output_binary_int',
+ 'output_byte', 'output_char', 'output_string', 'output_value',
+ 'pos_in', 'pos_out', 'pred', 'prerr_char', 'prerr_endline',
+ 'prerr_float', 'prerr_int', 'prerr_newline', 'prerr_string',
+ 'print_char', 'print_endline', 'print_float', 'print_int',
+ 'print_newline', 'print_string', 'read_float', 'read_int',
+ 'read_line', 'really_input', 'seek_in', 'seek_out',
+ 'set_binary_mode_in', 'set_binary_mode_out', 'sin', 'sinh', 'snd',
+ 'sqrt', 'string_of_bool', 'string_of_float', 'string_of_format',
+ 'string_of_int', 'succ', 'tan', 'tanh', 'truncate'
+ ),
+ /* here Pervasives Types */
+ 4 => array (
+ 'fpclass', 'in_channel', 'out_channel', 'open_flag', 'Sys_error', 'format'
+ ),
+ /* finally Pervasives Exceptions */
+ 5 => array (
+ 'Exit', 'Invalid_Argument', 'Failure', 'Division_by_zero'
+ )
+ ),
+ /* highlighting symbols is really important in OCaml */
+ 'SYMBOLS' => array(
+ ';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+',
+ '>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => true, /* functions name are case sensitive */
+ 3 => true, /* types name too */
+ 4 => true, /* pervasives types */
+ 5 => true /* pervasives exceptions */
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 2 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 3 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 4 => 'color: #06c; font-weight: bold;', /* nice blue */
+ 5 => 'color: #06c; font-weight: bold;' /* nice blue */
+ ),
+ 'COMMENTS' => array(
+ 'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #6c6;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #3cb371;' /* nice green */
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #c6c;' /* pink */
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #060;' /* dark green */
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #a52a2a;' /* maroon */
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ /* some of keywords are Pervasives functions (land, lxor, asr, ...) */
+ 1 => '',
+ /* link to the wanted library */
+ 2 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/{FNAME}.html',
+ /* link to Pervasives functions */
+ 3 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#VAL{FNAME}',
+ /* link to Pervasives type */
+ 4 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#TYPE{FNAME}',
+ /* link to Pervasives exceptions */
+ 5 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#EXCEPTION{FNAME}'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/oobas.php b/application/libraries/geshi/oobas.php
new file mode 100644
index 000000000..b3a5a0b6d
--- /dev/null
+++ b/application/libraries/geshi/oobas.php
@@ -0,0 +1,135 @@
+<?php
+/*************************************************************************************
+ * oobas.php
+ * ---------
+ * 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
+ * Date Started: 2004/08/30
+ *
+ * OpenOffice.org Basic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'OpenOffice.org Basic',
+ 'COMMENT_SINGLE' => array(1 => "'"),
+ 'COMMENT_MULTI' => array(),
+ //Single-Line comments using REM keyword
+ 'COMMENT_REGEXP' => array(2 => '/\bREM.*?$/i'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'dim','private','public','global','as','if','redim','true','set','byval',
+ 'false','bool','double','integer','long','object','single','variant',
+ 'msgbox','print','inputbox','green','blue','red','qbcolor',
+ 'rgb','open','close','reset','freefile','get','input','line',
+ 'put','write','loc','seek','eof','lof','chdir','chdrive',
+ 'curdir','dir','fileattr','filecopy','filedatetime','fileexists',
+ 'filelen','getattr','kill','mkdir','name','rmdir','setattr',
+ 'dateserial','datevalue','day','month','weekday','year','cdatetoiso',
+ 'cdatefromiso','hour','minute','second','timeserial','timevalue',
+ 'date','now','time','timer','erl','err','error','on','goto','resume',
+ 'and','eqv','imp','not','or','xor','mod','atn','cos','sin','tan','log',
+ 'exp','rnd','randomize','sqr','fix','int','abs','sgn','hex','oct',
+ 'it','then','else','select','case','iif','do','loop','for','next','to',
+ 'while','wend','gosub','return','call','choose','declare',
+ 'end','exit','freelibrary','function','rem','stop','sub','switch','with',
+ 'cbool','cdate','cdbl','cint','clng','const','csng','cstr','defbool',
+ 'defdate','defdbl','defint','deflng','asc','chr','str','val','cbyte',
+ 'space','string','format','lcase','left','lset','ltrim','mid','right',
+ 'rset','rtrim','trim','ucase','split','join','converttourl','convertfromurl',
+ 'instr','len','strcomp','beep','shell','wait','getsystemticks','environ',
+ 'getsolarversion','getguitype','twipsperpixelx','twipsperpixely',
+ 'createunostruct','createunoservice','getprocessservicemanager',
+ 'createunodialog','createunolistener','createunovalue','thiscomponent',
+ 'globalscope'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '='
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ '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(
+ 1 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/oracle11.php b/application/libraries/geshi/oracle11.php
new file mode 100644
index 000000000..08c25b66d
--- /dev/null
+++ b/application/libraries/geshi/oracle11.php
@@ -0,0 +1,614 @@
+<?php
+/*************************************************************************************
+ * oracle11.php
+ * -----------
+ * Author: Guy Wicks (Guy.Wicks@rbs.co.uk)
+ * Contributions:
+ * - Updated for 11i by Simon Redhead
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/04
+ *
+ * Oracle 11i language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/04/08 (1.0.8)
+ * - SR changes to oracle8.php to support Oracle 11i reserved words.
+ * 2005/01/29 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Oracle 11 SQL',
+ 'COMMENT_SINGLE' => array(1 => '--'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array("'", '"', '`'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+//Put your package names here - e.g. select distinct ''''|| lower(name) || ''',' from user_source;
+// 6 => array(
+// ),
+
+//Put your table names here - e.g. select distinct ''''|| lower(table_name) || ''',' from user_tables;
+// 5 => array(
+// ),
+
+//Put your view names here - e.g. select distinct ''''|| lower(view_name) || ''',' from user_views;
+// 4 => array(
+// ),
+
+//Put your table field names here - e.g. select distinct ''''|| lower(column_name) || ''',' from user_tab_columns;
+// 3 => array(
+// ),
+
+ //Put ORACLE reserved keywords here (11i). I like mine uppercase.
+ 1 => array(
+ 'ABS',
+ 'ACCESS',
+ 'ACOS',
+ 'ADD',
+ 'ADD_MONTHS',
+ 'ALL',
+ 'ALTER',
+ 'ANALYZE',
+ 'AND',
+ 'ANY',
+ 'APPENDCHILDXML',
+ 'ARRAY',
+ 'AS',
+ 'ASC',
+ 'ASCII',
+ 'ASCIISTR',
+ 'ASIN',
+ 'ASSOCIATE',
+ 'AT',
+ 'ATAN',
+ 'ATAN2',
+ 'AUDIT',
+ 'AUTHID',
+ 'AVG',
+ 'BEGIN',
+ 'BETWEEN',
+ 'BFILENAME',
+ 'BIN_TO_NUM',
+ 'BINARY_INTEGER',
+ 'BITAND',
+ 'BODY',
+ 'BOOLEAN',
+ 'BULK',
+ 'BY',
+ 'CALL',
+ 'CARDINALITY',
+ 'CASCADE',
+ 'CASE',
+ 'CAST',
+ 'CEIL',
+ 'CHAR',
+ 'CHAR_BASE',
+ 'CHARTOROWID',
+ 'CHECK',
+ 'CHR',
+ 'CLOSE',
+ 'CLUSTER',
+ 'CLUSTER_ID',
+ 'CLUSTER_PROBABILITY',
+ 'CLUSTER_SET',
+ 'COALESCE',
+ 'COLLECT',
+ 'COLUMN',
+ 'COMMENT',
+ 'COMMIT',
+ 'COMPOSE',
+ 'COMPRESS',
+ 'CONCAT',
+ 'CONNECT',
+ 'CONSTANT',
+ 'CONSTRAINT',
+ 'CONSTRAINTS',
+ 'CONTEXT',
+ 'CONTROLFILE',
+ 'CONVERT',
+ 'CORR',
+ 'CORR_K',
+ 'CORR_S',
+ 'COS',
+ 'COSH',
+ 'COST',
+ 'COUNT',
+ 'COVAR_POP',
+ 'COVAR_SAMP',
+ 'CREATE',
+ 'CUBE_TABLE',
+ 'CUME_DIST',
+ 'CURRENT',
+ 'CURRENT_DATE',
+ 'CURRENT_TIMESTAMP',
+ 'CURRVAL',
+ 'CURSOR',
+ 'CV',
+ 'DATABASE',
+ 'DATAOBJ_TO_PARTITION',
+ 'DATE',
+ 'DAY',
+ 'DBTIMEZONE',
+ 'DECIMAL',
+ 'DECLARE',
+ 'DECODE',
+ 'DECOMPOSE',
+ 'DEFAULT',
+ 'DELETE',
+ 'DELETEXML',
+ 'DENSE_RANK',
+ 'DEPTH',
+ 'DEREF',
+ 'DESC',
+ 'DIMENSION',
+ 'DIRECTORY',
+ 'DISASSOCIATE',
+ 'DISTINCT',
+ 'DO',
+ 'DROP',
+ 'DUMP',
+ 'ELSE',
+ 'ELSIF',
+ 'EMPTY_BLOB',
+ 'EMPTY_CLOB',
+ 'END',
+ 'EXCEPTION',
+ 'EXCLUSIVE',
+ 'EXEC',
+ 'EXECUTE',
+ 'EXISTS',
+ 'EXISTSNODE',
+ 'EXIT',
+ 'EXP',
+ 'EXPLAIN',
+ 'EXTENDS',
+ 'EXTRACT',
+ 'EXTRACTVALUE',
+ 'FALSE',
+ 'FEATURE_ID',
+ 'FEATURE_SET',
+ 'FEATURE_VALUE',
+ 'FETCH',
+ 'FILE',
+ 'FIRST',
+ 'FIRST_VALUE',
+ 'FLOAT',
+ 'FLOOR',
+ 'FOR',
+ 'FORALL',
+ 'FROM',
+ 'FROM_TZ',
+ 'FUNCTION',
+ 'GOTO',
+ 'GRANT',
+ 'GREATEST',
+ 'GROUP',
+ 'GROUP_ID',
+ 'GROUPING',
+ 'GROUPING_ID',
+ 'HAVING',
+ 'HEAP',
+ 'HEXTORAW',
+ 'HOUR',
+ 'IDENTIFIED',
+ 'IF',
+ 'IMMEDIATE',
+ 'IN',
+ 'INCREMENT',
+ 'INDEX',
+ 'INDEXTYPE',
+ 'INDICATOR',
+ 'INITCAP',
+ 'INITIAL',
+ 'INSERT',
+ 'INSERTCHILDXML',
+ 'INSERTXMLBEFORE',
+ 'INSTR',
+ 'INSTRB',
+ 'INTEGER',
+ 'INTERFACE',
+ 'INTERSECT',
+ 'INTERVAL',
+ 'INTO',
+ 'IS',
+ 'ISOLATION',
+ 'ITERATION_NUMBER',
+ 'JAVA',
+ 'KEY',
+ 'LAG',
+ 'LAST',
+ 'LAST_DAY',
+ 'LAST_VALUE',
+ 'LEAD',
+ 'LEAST',
+ 'LENGTH',
+ 'LENGTHB',
+ 'LEVEL',
+ 'LIBRARY',
+ 'LIKE',
+ 'LIMITED',
+ 'LINK',
+ 'LN',
+ 'LNNVL',
+ 'LOCALTIMESTAMP',
+ 'LOCK',
+ 'LOG',
+ 'LONG',
+ 'LOOP',
+ 'LOWER',
+ 'LPAD',
+ 'LTRIM',
+ 'MAKE_REF',
+ 'MATERIALIZED',
+ 'MAX',
+ 'MAXEXTENTS',
+ 'MEDIAN',
+ 'MIN',
+ 'MINUS',
+ 'MINUTE',
+ 'MLSLABEL',
+ 'MOD',
+ 'MODE',
+ 'MODIFY',
+ 'MONTH',
+ 'MONTHS_BETWEEN',
+ 'NANVL',
+ 'NATURAL',
+ 'NATURALN',
+ 'NCHR',
+ 'NEW',
+ 'NEW_TIME',
+ 'NEXT_DAY',
+ 'NEXTVAL',
+ 'NLS_CHARSET_DECL_LEN',
+ 'NLS_CHARSET_ID',
+ 'NLS_CHARSET_NAME',
+ 'NLS_INITCAP',
+ 'NLS_LOWER',
+ 'NLS_UPPER',
+ 'NLSSORT',
+ 'NOAUDIT',
+ 'NOCOMPRESS',
+ 'NOCOPY',
+ 'NOT',
+ 'NOWAIT',
+ 'NTILE',
+ 'NULL',
+ 'NULLIF',
+ 'NUMBER',
+ 'NUMBER_BASE',
+ 'NUMTODSINTERVAL',
+ 'NUMTOYMINTERVAL',
+ 'NVL',
+ 'NVL2',
+ 'OCIROWID',
+ 'OF',
+ 'OFFLINE',
+ 'ON',
+ 'ONLINE',
+ 'OPAQUE',
+ 'OPEN',
+ 'OPERATOR',
+ 'OPTION',
+ 'OR',
+ 'ORA_HASH',
+ 'ORDER',
+ 'ORGANIZATION',
+ 'OTHERS',
+ 'OUT',
+ 'OUTLINE',
+ 'PACKAGE',
+ 'PARTITION',
+ 'PATH',
+ 'PCTFREE',
+ 'PERCENT_RANK',
+ 'PERCENTILE_CONT',
+ 'PERCENTILE_DISC',
+ 'PLAN',
+ 'PLS_INTEGER',
+ 'POSITIVE',
+ 'POSITIVEN',
+ 'POWER',
+ 'POWERMULTISET',
+ 'POWERMULTISET_BY_CARDINALITY',
+ 'PRAGMA',
+ 'PREDICTION',
+ 'PREDICTION_BOUNDS',
+ 'PREDICTION_COST',
+ 'PREDICTION_DETAILS',
+ 'PREDICTION_PROBABILITY',
+ 'PREDICTION_SET',
+ 'PRESENTNNV',
+ 'PRESENTV',
+ 'PREVIOUS',
+ 'PRIMARY',
+ 'PRIOR',
+ 'PRIVATE',
+ 'PRIVILEGES',
+ 'PROCEDURE',
+ 'PROFILE',
+ 'PUBLIC',
+ 'RAISE',
+ 'RANGE',
+ 'RANK',
+ 'RATIO_TO_REPORT',
+ 'RAW',
+ 'RAWTOHEX',
+ 'RAWTONHEX',
+ 'REAL',
+ 'RECORD',
+ 'REF',
+ 'REFTOHEX',
+ 'REGEXP_COUNT',
+ 'REGEXP_INSTR',
+ 'REGEXP_REPLACE',
+ 'REGEXP_SUBSTR',
+ 'REGR_AVGX',
+ 'REGR_AVGY',
+ 'REGR_COUNT',
+ 'REGR_INTERCEPT',
+ 'REGR_R2',
+ 'REGR_SLOPE',
+ 'REGR_SXX',
+ 'REGR_SXY',
+ 'REGR_SYY',
+ 'RELEASE',
+ 'REMAINDER',
+ 'RENAME',
+ 'REPLACE',
+ 'RESOURCE',
+ 'RETURN',
+ 'RETURNING',
+ 'REVERSE',
+ 'REVOKE',
+ 'ROLE',
+ 'ROLLBACK',
+ 'ROUND',
+ 'ROW',
+ 'ROW_NUMBER',
+ 'ROWID',
+ 'ROWIDTOCHAR',
+ 'ROWIDTONCHAR',
+ 'ROWNUM',
+ 'ROWS',
+ 'ROWTYPE',
+ 'RPAD',
+ 'RTRIM',
+ 'SAVEPOINT',
+ 'SCHEMA',
+ 'SCN_TO_TIMESTAMP',
+ 'SECOND',
+ 'SEGMENT',
+ 'SELECT',
+ 'SEPERATE',
+ 'SEQUENCE',
+ 'SESSION',
+ 'SESSIONTIMEZONE',
+ 'SET',
+ 'SHARE',
+ 'SIGN',
+ 'SIN',
+ 'SINH',
+ 'SIZE',
+ 'SMALLINT',
+ 'SOUNDEX',
+ 'SPACE',
+ 'SQL',
+ 'SQLCODE',
+ 'SQLERRM',
+ 'SQRT',
+ 'START',
+ 'STATISTICS',
+ 'STATS_BINOMIAL_TEST',
+ 'STATS_CROSSTAB',
+ 'STATS_F_TEST',
+ 'STATS_KS_TEST',
+ 'STATS_MODE',
+ 'STATS_MW_TEST',
+ 'STATS_ONE_WAY_ANOVA',
+ 'STATS_T_TEST_INDEP',
+ 'STATS_T_TEST_INDEPU',
+ 'STATS_T_TEST_ONE',
+ 'STATS_T_TEST_PAIRED',
+ 'STATS_WSR_TEST',
+ 'STDDEV',
+ 'STDDEV_POP',
+ 'STDDEV_SAMP',
+ 'STOP',
+ 'SUBSTR',
+ 'SUBSTRB',
+ 'SUBTYPE',
+ 'SUCCESSFUL',
+ 'SUM',
+ 'SYNONYM',
+ 'SYS_CONNECT_BY_PATH',
+ 'SYS_CONTEXT',
+ 'SYS_DBURIGEN',
+ 'SYS_EXTRACT_UTC',
+ 'SYS_GUID',
+ 'SYS_TYPEID',
+ 'SYS_XMLAGG',
+ 'SYS_XMLGEN',
+ 'SYSDATE',
+ 'SYSTEM',
+ 'SYSTIMESTAMP',
+ 'TABLE',
+ 'TABLESPACE',
+ 'TAN',
+ 'TANH',
+ 'TEMPORARY',
+ 'THEN',
+ 'TIME',
+ 'TIMESTAMP',
+ 'TIMESTAMP_TO_SCN',
+ 'TIMEZONE_ABBR',
+ 'TIMEZONE_HOUR',
+ 'TIMEZONE_MINUTE',
+ 'TIMEZONE_REGION',
+ 'TIMING',
+ 'TO',
+ 'TO_BINARY_DOUBLE',
+ 'TO_BINARY_FLOAT',
+ 'TO_CHAR',
+ 'TO_CLOB',
+ 'TO_DATE',
+ 'TO_DSINTERVAL',
+ 'TO_LOB',
+ 'TO_MULTI_BYTE',
+ 'TO_NCHAR',
+ 'TO_NCLOB',
+ 'TO_NUMBER',
+ 'TO_SINGLE_BYTE',
+ 'TO_TIMESTAMP',
+ 'TO_TIMESTAMP_TZ',
+ 'TO_YMINTERVAL',
+ 'TRANSACTION',
+ 'TRANSLATE',
+ 'TREAT',
+ 'TRIGGER',
+ 'TRIM',
+ 'TRUE',
+ 'TRUNC',
+ 'TRUNCATE',
+ 'TYPE',
+ 'TZ_OFFSET',
+ 'UI',
+ 'UID',
+ 'UNION',
+ 'UNIQUE',
+ 'UNISTR',
+ 'UPDATE',
+ 'UPDATEXML',
+ 'UPPER',
+ 'USE',
+ 'USER',
+ 'USERENV',
+ 'USING',
+ 'VALIDATE',
+ 'VALUE',
+ 'VALUES',
+ 'VAR_POP',
+ 'VAR_SAMP',
+ 'VARCHAR',
+ 'VARCHAR2',
+ 'VARIANCE',
+ 'VIEW',
+ 'VSIZE',
+ 'WHEN',
+ 'WHENEVER',
+ 'WHERE',
+ 'WHILE',
+ 'WIDTH_BUCKET',
+ 'WITH',
+ 'WORK',
+ 'WRITE',
+ 'XMLAGG',
+ 'XMLCAST',
+ 'XMLCDATA',
+ 'XMLCOLATTVAL',
+ 'XMLCOMMENT',
+ 'XMLCONCAT',
+ 'XMLDIFF',
+ 'XMLELEMENT',
+ 'XMLEXISTS',
+ 'XMLFOREST',
+ 'XMLPARSE',
+ 'XMLPATCH',
+ 'XMLPI',
+ 'XMLQUERY',
+ 'XMLROOT',
+ 'XMLSEQUENCE',
+ 'XMLSERIALIZE',
+ 'XMLTABLE',
+ 'XMLTRANSFORM',
+ 'YEAR',
+ 'ZONE'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '=', '<', '>', '|', '+', '-', '*', '/', ','
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+// 3 => false,
+// 4 => false,
+// 5 => false,
+// 6 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => '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 => '',
+// 5 => '',
+// 6 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/oracle8.php b/application/libraries/geshi/oracle8.php
new file mode 100644
index 000000000..5ac18786d
--- /dev/null
+++ b/application/libraries/geshi/oracle8.php
@@ -0,0 +1,496 @@
+<?php
+/*************************************************************************************
+ * oracle8.php
+ * -----------
+ * Author: Guy Wicks (Guy.Wicks@rbs.co.uk)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/04
+ *
+ * Oracle 8 language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/01/29 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Oracle 8 SQL',
+ 'COMMENT_SINGLE' => array(1 => '--'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array("'", '"', '`'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+//Put your package names here - e.g. select distinct ''''|| lower(name) || ''',' from user_source;
+// 6 => array(
+// ),
+
+//Put your table names here - e.g. select distinct ''''|| lower(table_name) || ''',' from user_tables;
+// 5 => array(
+// ),
+
+//Put your view names here - e.g. select distinct ''''|| lower(view_name) || ''',' from user_views;
+// 4 => array(
+// ),
+
+//Put your table field names here - e.g. select distinct ''''|| lower(column_name) || ''',' from user_tab_columns;
+// 3 => array(
+// ),
+
+//Put ORACLE reserved keywords here (8.1.7). I like mine uppercase.
+ 1 => array(
+ 'ABS',
+ 'ACCESS',
+ 'ACOS',
+ 'ADD',
+ 'ADD_MONTHS',
+ 'ALL',
+ 'ALTER',
+ 'ANALYZE',
+ 'AND',
+ 'ANY',
+ 'ARRAY',
+ 'AS',
+ 'ASC',
+ 'ASCII',
+ 'ASIN',
+ 'ASSOCIATE',
+ 'AT',
+ 'ATAN',
+ 'ATAN2',
+ 'AUDIT',
+ 'AUTHID',
+ 'AVG',
+ 'BEGIN',
+ 'BETWEEN',
+ 'BFILENAME',
+ 'BINARY_INTEGER',
+ 'BITAND',
+ 'BODY',
+ 'BOOLEAN',
+ 'BULK',
+ 'BY',
+ 'CALL',
+ 'CASCADE',
+ 'CASE',
+ 'CEIL',
+ 'CHAR',
+ 'CHAR_BASE',
+ 'CHARTOROWID',
+ 'CHECK',
+ 'CHR',
+ 'CLOSE',
+ 'CLUSTER',
+ 'COALESCE',
+ 'COLLECT',
+ 'COLUMN',
+ 'COMMENT',
+ 'COMMIT',
+ 'COMPRESS',
+ 'CONCAT',
+ 'CONNECT',
+ 'CONSTANT',
+ 'CONSTRAINT',
+ 'CONSTRAINTS',
+ 'CONTEXT',
+ 'CONTROLFILE',
+ 'CONVERT',
+ 'CORR',
+ 'COS',
+ 'COSH',
+ 'COST',
+ 'COUNT',
+ 'COVAR_POP',
+ 'COVAR_SAMP',
+ 'CREATE',
+ 'CUME_DIST',
+ 'CURRENT',
+ 'CURRVAL',
+ 'CURSOR',
+ 'DATABASE',
+ 'DATE',
+ 'DAY',
+ 'DECIMAL',
+ 'DECLARE',
+ 'DECODE',
+ 'DEFAULT',
+ 'DELETE',
+ 'DENSE_RANK',
+ 'DEREF',
+ 'DESC',
+ 'DIMENSION',
+ 'DIRECTORY',
+ 'DISASSOCIATE',
+ 'DISTINCT',
+ 'DO',
+ 'DROP',
+ 'DUMP',
+ 'ELSE',
+ 'ELSIF',
+ 'EMPTY_BLOB',
+ 'EMPTY_CLOB',
+ 'END',
+ 'EXCEPTION',
+ 'EXCLUSIVE',
+ 'EXEC',
+ 'EXECUTE',
+ 'EXISTS',
+ 'EXIT',
+ 'EXP',
+ 'EXPLAIN',
+ 'EXTENDS',
+ 'EXTRACT',
+ 'FALSE',
+ 'FETCH',
+ 'FILE',
+ 'FIRST_VALUE',
+ 'FLOAT',
+ 'FLOOR',
+ 'FOR',
+ 'FORALL',
+ 'FROM',
+ 'FUNCTION',
+ 'GOTO',
+ 'GRANT',
+ 'GREATEST',
+ 'GROUP',
+ 'GROUPING',
+ 'HAVING',
+ 'HEAP',
+ 'HEXTORAW',
+ 'HOUR',
+ 'IDENTIFIED',
+ 'IF',
+ 'IMMEDIATE',
+ 'IN',
+ 'INCREMENT',
+ 'INDEX',
+ 'INDEXTYPE',
+ 'INDICATOR',
+ 'INITCAP',
+ 'INITIAL',
+ 'INSERT',
+ 'INSTR',
+ 'INSTRB',
+ 'INTEGER',
+ 'INTERFACE',
+ 'INTERSECT',
+ 'INTERVAL',
+ 'INTO',
+ 'IS',
+ 'ISOLATION',
+ 'JAVA',
+ 'KEY',
+ 'LAG',
+ 'LAST_DAY',
+ 'LAST_VALUE',
+ 'LEAD',
+ 'LEAST',
+ 'LENGTH',
+ 'LENGTHB',
+ 'LEVEL',
+ 'LIBRARY',
+ 'LIKE',
+ 'LIMITED',
+ 'LINK',
+ 'LN',
+ 'LOCK',
+ 'LOG',
+ 'LONG',
+ 'LOOP',
+ 'LOWER',
+ 'LPAD',
+ 'LTRIM',
+ 'MAKE_REF',
+ 'MATERIALIZED',
+ 'MAX',
+ 'MAXEXTENTS',
+ 'MIN',
+ 'MINUS',
+ 'MINUTE',
+ 'MLSLABEL',
+ 'MOD',
+ 'MODE',
+ 'MODIFY',
+ 'MONTH',
+ 'MONTHS_BETWEEN',
+ 'NATURAL',
+ 'NATURALN',
+ 'NEW',
+ 'NEW_TIME',
+ 'NEXT_DAY',
+ 'NEXTVAL',
+ 'NLS_CHARSET_DECL_LEN',
+ 'NLS_CHARSET_ID',
+ 'NLS_CHARSET_NAME',
+ 'NLS_INITCAP',
+ 'NLS_LOWER',
+ 'NLS_UPPER',
+ 'NLSSORT',
+ 'NOAUDIT',
+ 'NOCOMPRESS',
+ 'NOCOPY',
+ 'NOT',
+ 'NOWAIT',
+ 'NTILE',
+ 'NULL',
+ 'NULLIF',
+ 'NUMBER',
+ 'NUMBER_BASE',
+ 'NUMTODSINTERVAL',
+ 'NUMTOYMINTERVAL',
+ 'NVL',
+ 'NVL2',
+ 'OCIROWID',
+ 'OF',
+ 'OFFLINE',
+ 'ON',
+ 'ONLINE',
+ 'OPAQUE',
+ 'OPEN',
+ 'OPERATOR',
+ 'OPTION',
+ 'OR',
+ 'ORDER',
+ 'ORGANIZATION',
+ 'OTHERS',
+ 'OUT',
+ 'OUTLINE',
+ 'PACKAGE',
+ 'PARTITION',
+ 'PCTFREE',
+ 'PERCENT_RANK',
+ 'PLAN',
+ 'PLS_INTEGER',
+ 'POSITIVE',
+ 'POSITIVEN',
+ 'POWER',
+ 'PRAGMA',
+ 'PRIMARY',
+ 'PRIOR',
+ 'PRIVATE',
+ 'PRIVILEGES',
+ 'PROCEDURE',
+ 'PROFILE',
+ 'PUBLIC',
+ 'RAISE',
+ 'RANGE',
+ 'RANK',
+ 'RATIO_TO_REPORT',
+ 'RAW',
+ 'RAWTOHEX',
+ 'REAL',
+ 'RECORD',
+ 'REF',
+ 'REFTOHEX',
+ 'REGR_AVGX',
+ 'REGR_AVGY',
+ 'REGR_COUNT',
+ 'REGR_INTERCEPT',
+ 'REGR_R2',
+ 'REGR_SLOPE',
+ 'REGR_SXX',
+ 'REGR_SXY',
+ 'REGR_SYY',
+ 'RELEASE',
+ 'RENAME',
+ 'REPLACE',
+ 'RESOURCE',
+ 'RETURN',
+ 'RETURNING',
+ 'REVERSE',
+ 'REVOKE',
+ 'ROLE',
+ 'ROLLBACK',
+ 'ROUND',
+ 'ROW',
+ 'ROW_NUMBER',
+ 'ROWID',
+ 'ROWIDTOCHAR',
+ 'ROWNUM',
+ 'ROWS',
+ 'ROWTYPE',
+ 'RPAD',
+ 'RTRIM',
+ 'SAVEPOINT',
+ 'SCHEMA',
+ 'SECOND',
+ 'SEGMENT',
+ 'SELECT',
+ 'SEPERATE',
+ 'SEQUENCE',
+ 'SESSION',
+ 'SET',
+ 'SHARE',
+ 'SIGN',
+ 'SIN',
+ 'SINH',
+ 'SIZE',
+ 'SMALLINT',
+ 'SOUNDEX',
+ 'SPACE',
+ 'SQL',
+ 'SQLCODE',
+ 'SQLERRM',
+ 'SQRT',
+ 'START',
+ 'STATISTICS',
+ 'STDDEV',
+ 'STDDEV_POP',
+ 'STDDEV_SAMP',
+ 'STOP',
+ 'SUBSTR',
+ 'SUBSTRB',
+ 'SUBTYPE',
+ 'SUCCESSFUL',
+ 'SUM',
+ 'SYNONYM',
+ 'SYS_CONTEXT',
+ 'SYS_GUID',
+ 'SYSDATE',
+ 'SYSTEM',
+ 'TABLE',
+ 'TABLESPACE',
+ 'TAN',
+ 'TANH',
+ 'TEMPORARY',
+ 'THEN',
+ 'TIME',
+ 'TIMESTAMP',
+ 'TIMEZONE_ABBR',
+ 'TIMEZONE_HOUR',
+ 'TIMEZONE_MINUTE',
+ 'TIMEZONE_REGION',
+ 'TIMING',
+ 'TO',
+ 'TO_CHAR',
+ 'TO_DATE',
+ 'TO_LOB',
+ 'TO_MULTI_BYTE',
+ 'TO_NUMBER',
+ 'TO_SINGLE_BYTE',
+ 'TRANSACTION',
+ 'TRANSLATE',
+ 'TRIGGER',
+ 'TRIM',
+ 'TRUE',
+ 'TRUNC',
+ 'TRUNCATE',
+ 'TYPE',
+ 'UI',
+ 'UID',
+ 'UNION',
+ 'UNIQUE',
+ 'UPDATE',
+ 'UPPER',
+ 'USE',
+ 'USER',
+ 'USERENV',
+ 'USING',
+ 'VALIDATE',
+ 'VALUE',
+ 'VALUES',
+ 'VAR_POP',
+ 'VAR_SAMP',
+ 'VARCHAR',
+ 'VARCHAR2',
+ 'VARIANCE',
+ 'VIEW',
+ 'VSIZE',
+ 'WHEN',
+ 'WHENEVER',
+ 'WHERE',
+ 'WHILE',
+ 'WITH',
+ 'WORK',
+ 'WRITE',
+ 'YEAR',
+ 'ZONE'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '=', '<', '>', '|', '+', '-', '*', '/', ','
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+// 3 => false,
+// 4 => false,
+// 5 => false,
+// 6 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #993333; font-weight: bold; text-transform: uppercase;'
+//Add the styles for groups 3-6 here when used
+ ),
+ '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 => '',
+// 5 => '',
+// 6 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/pascal.php b/application/libraries/geshi/pascal.php
new file mode 100644
index 000000000..948c00ce4
--- /dev/null
+++ b/application/libraries/geshi/pascal.php
@@ -0,0 +1,152 @@
+<?php
+/*************************************************************************************
+ * pascal.php
+ * ----------
+ * 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
+ * Date Started: 2004/07/26
+ *
+ * Pascal language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/11/27 (1.0.2)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ * - Added support for URLs
+ * 2004/08/05 (1.0.0)
+ * - Added support for symbols
+ * 2004/07/27 (0.9.1)
+ * - Pascal is OO language. Some new words.
+ * 2004/07/26 (0.9.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Pascal',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('{' => '}','(*' => '*)'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'HARDQUOTE' => array("'", "'"),
+ 'HARDESCAPE' => array("''"),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'absolute','asm','assembler','begin','break','case','catch','cdecl',
+ 'const','constructor','default','destructor','div','do','downto',
+ 'else','end','except','export','exports','external','far',
+ 'finalization','finally','for','forward','function','goto','if',
+ 'implementation','in','index','inherited','initialization','inline',
+ 'interface','interrupt','label','library','mod','name','not','of',
+ 'or','overload','override','private','procedure','program',
+ 'property','protected','public','published','raise','repeat',
+ 'resourcestring','shl','shr','stdcall','stored','switch','then',
+ 'to','try','type','unit','until','uses','var','while','xor'
+ ),
+ 2 => array(
+ 'nil', 'false', 'true',
+ ),
+ 3 => array(
+ 'abs','and','arc','arctan','blockread','blockwrite','chr','dispose',
+ 'cos','eof','eoln','exp','get','ln','new','odd','ord','ordinal',
+ 'pred','read','readln','sin','sqrt','succ','write','writeln'
+ ),
+ 4 => array(
+ 'ansistring','array','boolean','byte','bytebool','char','file',
+ 'integer','longbool','longint','object','packed','pointer','real',
+ 'record','set','shortint','smallint','string','union','word'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ ',', ':', '=', '+', '-', '*', '/'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ '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: #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;',
+ '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' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/per.php b/application/libraries/geshi/per.php
new file mode 100644
index 000000000..06cf2e41b
--- /dev/null
+++ b/application/libraries/geshi/per.php
@@ -0,0 +1,302 @@
+<?php
+/*************************************************************************************
+ * per.php
+ * --------
+ * Author: Lars Gersmann (lars.gersmann@gmail.com)
+ * Copyright: (c) 2007 Lars Gersmann
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/06/03
+ *
+ * Per (forms) (FOURJ's Genero 4GL) language file for GeSHi.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'per',
+ 'COMMENT_SINGLE' => array(1 => '--', 2 => '#'),
+ 'COMMENT_MULTI' => array('{' => '}'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ "ACCELERATOR",
+ "ACCELERATOR2",
+ "ACTION",
+ "ALT",
+ "AND",
+ "AUTO",
+ "AUTONEXT",
+ "AUTOSCALE",
+ "BETWEEN",
+ "BOTH",
+ "BUTTON",
+ "BUTTONEDIT",
+ "BUTTONTEXTHIDDEN",
+ "BY",
+ "BYTE",
+ "CANVAS",
+ "CENTER",
+ "CHECKBOX",
+ "CLASS",
+ "COLOR",
+ "COLUMNS",
+ "COMBOBOX",
+ "COMMAND",
+ "COMMENT",
+ "COMMENTS",
+ "COMPACT",
+ "COMPRESS",
+ "CONFIG",
+ "CONTROL",
+ "CURRENT",
+ "DATABASE",
+ "DATEEDIT",
+ "DEC",
+ "DEFAULT",
+ "DEFAULTS",
+ "DELIMITERS",
+ "DISPLAY",
+ "DISPLAYONLY",
+ "DOWNSHIFT",
+ "DYNAMIC",
+ "EDIT",
+ "FIXED",
+ "FOLDER",
+ "FONTPITCH",
+ "FORMAT",
+ "FORMONLY",
+ "GRID",
+ "GRIDCHILDRENINPARENT",
+ "GROUP",
+ "HBOX",
+ "HEIGHT",
+ "HIDDEN",
+ "HORIZONTAL",
+ "INCLUDE",
+ "INITIAL",
+ "INITIALIZER",
+ "INPUT",
+ "INSTRUCTIONS",
+ "INTERVAL",
+ "INVISIBLE",
+ "IS",
+ "ITEM",
+ "ITEMS",
+ "JUSTIFY",
+ "KEY",
+ "KEYS",
+ "LABEL",
+ "LEFT",
+ "LIKE",
+ "LINES",
+ "MATCHES",
+ "NAME",
+ "NOENTRY",
+ "NONCOMPRESS",
+ "NORMAL",
+ "NOT",
+ "NOUPDATE",
+ "OPTIONS",
+ "OR",
+ "ORIENTATION",
+ "PACKED",
+ "PAGE",
+ "PICTURE",
+ "PIXELHEIGHT",
+ "PIXELS",
+ "PIXELWIDTH",
+ "POINTS",
+ "PROGRAM",
+ "PROGRESSBAR",
+ "QUERYCLEAR",
+ "QUERYEDITABLE",
+ "RADIOGROUP",
+ "RECORD",
+ "REQUIRED",
+ "REVERSE",
+ "RIGHT",
+ "SAMPLE",
+ "SCREEN",
+ "SCROLL",
+ "SCROLLBARS",
+ "SCROLLGRID",
+ "SECOND",
+ "SEPARATOR",
+ "SHIFT",
+ "SIZE",
+ "SIZEPOLICY",
+ "SMALLFLOAT",
+ "SMALLINT",
+ "SPACING",
+ "STRETCH",
+ "STYLE",
+ "TABINDEX",
+ "TABLE",
+ "TAG",
+ "TEXT",
+ "TEXTEDIT",
+ "THROUGH",
+ "THRU",
+ "TITLE",
+ "TO",
+ "TOOLBAR",
+ "TOPMENU",
+ "TYPE",
+ "UNHIDABLE",
+ "UNHIDABLECOLUMNS",
+ "UNMOVABLE",
+ "UNMOVABLECOLUMNS",
+ "UNSIZABLE",
+ "UNSIZABLECOLUMNS",
+ "UNSORTABLE",
+ "UNSORTABLECOLUMNS",
+ "UPSHIFT",
+ "USER",
+ "VALIDATE",
+ "VALUECHECKED",
+ "VALUEMAX",
+ "VALUEMIN",
+ "VALUEUNCHECKED",
+ "VARCHAR",
+ "VARIABLE",
+ "VBOX",
+ "VERIFY",
+ "VERSION",
+ "VERTICAL",
+ "TIMESTAMP",
+ "WANTCOLUMNSANCHORED", /* to be removed! */
+ "WANTFIXEDPAGESIZE",
+ "WANTNORETURNS",
+ "WANTTABS",
+ "WHERE",
+ "WIDGET",
+ "WIDTH",
+ "WINDOWSTYLE",
+ "WITHOUT",
+ "WORDWRAP",
+ "X",
+ "Y",
+ "ZEROFILL",
+ "SCHEMA",
+ "ATTRIBUTES",
+ "TABLES",
+ "LAYOUT",
+ "END"
+ ),
+ 2 => array(
+ "YEAR",
+ "BLACK",
+ "BLINK",
+ "BLUE",
+ "YELLOW",
+ "WHITE",
+ "UNDERLINE",
+ "CENTURY",
+ "FRACTION",
+ "CHAR",
+ "CHARACTER",
+ "CHARACTERS",
+ "CYAN",
+ "DATE",
+ "DATETIME",
+ "DAY",
+ "DECIMAL",
+ "FALSE",
+ "FLOAT",
+ "GREEN",
+ "HOUR",
+ "INT",
+ "INTEGER",
+ "MAGENTA",
+ "MINUTE",
+ "MONEY",
+ "NONE",
+ "NULL",
+ "REAL",
+ "RED",
+ "TRUE",
+ "TODAY",
+ "MONTH",
+ "IMAGE"
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '+', '-', '*', '?', '=', '/', '%', '>', '<', '^', '!', '|', ':',
+ '(', ')', '[', ']'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0600FF;',
+ 2 => 'color: #0000FF; font-weight: bold;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008080; font-style: italic;',
+ 2 => 'color: #008080;',
+ 'MULTI' => 'color: green'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #008080; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #808080;'
+ ),
+ '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 => '',
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/perl.php b/application/libraries/geshi/perl.php
new file mode 100644
index 000000000..57b8971e8
--- /dev/null
+++ b/application/libraries/geshi/perl.php
@@ -0,0 +1,213 @@
+<?php
+/*************************************************************************************
+ * perl.php
+ * --------
+ * 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
+ * Date Started: 2004/08/20
+ *
+ * Perl language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/06/22 (1.0.8)
+ * - Added support for system calls in backticks (Corley Kinnane)
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * - Added comment_regexp for predefined variables
+ * 2008/02/15 (1.003)
+ * - Fixed SF#1891630 with placebo patch
+ * 2006/01/05 (1.0.2)
+ * - Used hardescape feature for ' strings (Cliff Stanford)
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/08/20 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * LABEL:
+ * * string comparison operators
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Perl',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(
+ '=back' => '=cut',
+ '=head' => '=cut',
+ '=item' => '=cut',
+ '=over' => '=cut',
+ '=begin' => '=cut',
+ '=end' => '=cut',
+ '=for' => '=cut',
+ '=encoding' => '=cut',
+ '=pod' => '=cut'
+ ),
+ 'COMMENT_REGEXP' => array(
+ //Regular expressions
+ 2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
+ //Regular expression match variables
+ 3 => '/\$\d+/',
+ //Heredoc
+ 4 => '/<<\s*?([\'"]?)([a-zA-Z0-9]+)\1;[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+ //Predefined variables
+ 5 => '/\$(\^[a-zA-Z]?|[\*\$`\'&_\.,+\-~:;\\\\\/"\|%=\?!@#<>\(\)\[\]])(?!\w)|@[_+\-]|%[!]|\$(?=\{)/',
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"','`'),
+ 'HARDQUOTE' => array("'", "'"), // An optional 2-element array defining the beginning and end of a hard-quoted string
+ 'HARDESCAPE' => array('\\\'',),
+ // Things that must still be escaped inside a hard-quoted string
+ // If HARDQUOTE is defined, HARDESCAPE must be defined
+ // This will not work unless the first character of each element is either in the
+ // QUOTEMARKS array or is the ESCAPE_CHAR
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'case', 'do', 'else', 'elsif', 'for', 'if', 'then', 'until', 'while', 'foreach', 'my',
+ 'xor', 'or', 'and', 'unless', 'next', 'last', 'redo', 'not', 'our',
+ 'reset', 'continue', 'cmp', 'ne', 'eq', 'lt', 'gt', 'le', 'ge',
+ ),
+ 2 => array(
+ 'use', 'sub', 'new', '__END__', '__DATA__', '__DIE__', '__WARN__', 'BEGIN',
+ 'STDIN', 'STDOUT', 'STDERR', 'ARGV', 'ARGVOUT'
+ ),
+ 3 => array(
+ 'abs', 'accept', 'alarm', 'atan2', 'bind', 'binmode', 'bless',
+ 'caller', 'chdir', 'chmod', 'chomp', 'chop', 'chown', 'chr',
+ 'chroot', 'close', 'closedir', 'connect', 'cos',
+ 'crypt', 'dbmclose', 'dbmopen', 'defined', 'delete', 'die',
+ 'dump', 'each', 'endgrent', 'endhostent', 'endnetent', 'endprotoent',
+ 'endpwent', 'endservent', 'eof', 'eval', 'exec', 'exists', 'exit',
+ 'exp', 'fcntl', 'fileno', 'flock', 'fork', 'format', 'formline',
+ 'getc', 'getgrent', 'getgrgid', 'getgrnam', 'gethostbyaddr',
+ 'gethostbyname', 'gethostent', 'getlogin', 'getnetbyaddr', 'getnetbyname',
+ 'getnetent', 'getpeername', 'getpgrp', 'getppid', 'getpriority',
+ 'getprotobyname', 'getprotobynumber', 'getprotoent', 'getpwent',
+ 'getpwnam', 'getpwuid', 'getservbyname', 'getservbyport', 'getservent',
+ 'getsockname', 'getsockopt', 'glob', 'gmtime', 'goto', 'grep',
+ 'hex', 'import', 'index', 'int', 'ioctl', 'join', 'keys', 'kill',
+ 'lc', 'lcfirst', 'length', 'link', 'listen', 'local',
+ 'localtime', 'log', 'lstat', 'm', 'map', 'mkdir', 'msgctl', 'msgget',
+ 'msgrcv', 'msgsnd', 'no', 'oct', 'open', 'opendir',
+ 'ord', 'pack', 'package', 'pipe', 'pop', 'pos', 'print',
+ 'printf', 'prototype', 'push', 'qq', 'qr', 'quotemeta', 'qw',
+ 'qx', 'q', 'rand', 'read', 'readdir', 'readline', 'readlink', 'readpipe',
+ 'recv', 'ref', 'rename', 'require', 'return',
+ 'reverse', 'rewinddir', 'rindex', 'rmdir', 's', 'scalar', 'seek',
+ 'seekdir', 'select', 'semctl', 'semget', 'semop', 'send', 'setgrent',
+ 'sethostent', 'setnetent', 'setpgrp', 'setpriority', 'setprotoent',
+ 'setpwent', 'setservent', 'setsockopt', 'shift', 'shmctl', 'shmget',
+ 'shmread', 'shmwrite', 'shutdown', 'sin', 'sleep', 'socket', 'socketpair',
+ 'sort', 'splice', 'split', 'sprintf', 'sqrt', 'srand', 'stat',
+ 'study', 'substr', 'symlink', 'syscall', 'sysopen', 'sysread',
+ 'sysseek', 'system', 'syswrite', 'tell', 'telldir', 'tie', 'tied',
+ 'time', 'times', 'tr', 'truncate', 'uc', 'ucfirst', 'umask', 'undef',
+ 'unlink', 'unpack', 'unshift', 'untie', 'utime', 'values',
+ 'vec', 'wait', 'waitpid', 'wantarray', 'warn', 'write', 'y'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '<', '>', '=',
+ '!', '@', '~', '&', '|', '^',
+ '+','-', '*', '/', '%',
+ ',', ';', '?', '.', ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #000066;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #009966; font-style: italic;',
+ 3 => 'color: #0000ff;',
+ 4 => 'color: #cc0000; font-style: italic;',
+ 5 => 'color: #0000ff;',
+ '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: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff;',
+ 4 => 'color: #009999;',
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://perldoc.perl.org/functions/{FNAMEL}.html'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '-&gt;',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ //Variable
+ 0 => '(?:\$[\$#]?|\\\\(?:[@%*]?|\\\\*\$|&amp;)|%[$]?|@[$]?|\*[$]?|&amp;[$]?)[a-zA-Z_][a-zA-Z0-9_]*',
+ //File Descriptor
+ 4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'COMMENTS' => array(
+ 'DISALLOWED_BEFORE' => '$'
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/perl6.php b/application/libraries/geshi/perl6.php
new file mode 100644
index 000000000..1c04098c0
--- /dev/null
+++ b/application/libraries/geshi/perl6.php
@@ -0,0 +1,197 @@
+<?php
+/*************************************************************************************
+ * perl6.php
+ * ---------
+ * 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
+ * Date Started: 2009/11/07
+ *
+ * Perl 6 language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/12/25 (1.0.8.6)
+ * - First Release
+ *
+ * TODO (updated 2009/11/07)
+ * -------------------------
+ * * It's all pretty rough. Perl 6 is complicated; this'll never be more
+ * than reasonably accurate unless it's carefully written to match
+ * STD.pm.
+ * * It's largely incomplete. Lots of keywords are no doubt missing.
+ * * Recognize comments like #`( Hello! ).
+ * * Recognize qw-ing angle brackets.
+ * * ! should probably be in OBJECT_SPLITTERS too, but putting it there
+ * gives bizarre results. What to do?.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Perl 6',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array('=begin' => '=end'),
+ 'COMMENT_REGEXP' => array(
+ //Regular expressions
+ 2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
+ //Regular expression match variables
+ 3 => '/\$\d+/',
+ //Heredoc
+ 4 => '/<<\s*?([\'"]?)([a-zA-Z0-9]+)\1;[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+ //Beastly hack to finish highlighting each POD block
+ 5 => '((?<==end) .+)'
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'HARDQUOTE' => array("'", "'"), // An optional 2-element array defining the beginning and end of a hard-quoted string
+ 'HARDESCAPE' => array('\\\''),
+ // Things that must still be escaped inside a hard-quoted string
+ // If HARDQUOTE is defined, HARDESCAPE must be defined
+ // This will not work unless the first character of each element is either in the
+ // QUOTEMARKS array or is the ESCAPE_CHAR
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'do', 'else', 'elsif', 'for', 'if', 'then', 'until',
+ 'while', 'loop', 'repeat', 'my', 'xor', 'or', 'and',
+ 'unless', 'next', 'last', 'redo', 'not', 'our', 'let',
+ 'temp', 'state', 'enum', 'constant', 'continue', 'cmp',
+ 'ne', 'eq', 'lt', 'gt', 'le', 'ge', 'leg', 'div', 'X',
+ 'Z', 'x', 'xx', 'given', 'when', 'default', 'has',
+ 'returns', 'of', 'is', 'does', 'where', 'subset', 'but',
+ 'True', 'False', 'return', 'die', 'fail'
+ ),
+ 2 => array(
+ 'use', 'sub', 'multi', 'method', 'submethod', 'proto',
+ 'class', 'role', 'grammar', 'regex', 'token', 'rule',
+ 'new', 'BEGIN', 'END', 'CHECK', 'INIT', 'START', 'FIRST',
+ 'ENTER', 'LEAVE', 'KEEP', 'UNDO', 'NEXT', 'LAST', 'PRE',
+ 'POST', 'CATCH', 'CONTROL', 'BUILD'
+ ),
+ 3 => array(
+ 'all', 'any', 'cat', 'classify', 'defined', 'grep', 'first',
+ 'keys', 'kv', 'join', 'map', 'max', 'min', 'none', 'one', 'pairs',
+ 'print', 'printf', 'roundrobin', 'pick', 'reduce', 'reverse', 'say',
+ 'shape', 'sort', 'srand', 'undefine', 'uri', 'values', 'warn', 'zip',
+
+ # Container
+ 'rotate', 'comb', 'end', 'elems', 'delete',
+ 'exists', 'pop', 'push', 'shift', 'splice',
+ 'unshift', 'invert', 'decode',
+
+ # Numeric
+ 'succ', 'pred', 'abs', 'exp', 'log',
+ 'log10', 'rand', 'roots', 'cis', 'unpolar', 'i', 'floor',
+ 'ceiling', 'round', 'truncate', 'sign', 'sqrt',
+ 'polar', 're', 'im', 'I', 'atan2', 'nude',
+ 'denominator', 'numerator',
+
+ # Str
+ 'p5chop', 'chop', 'p5chomp', 'chomp', 'lc', 'lcfirst',
+ 'uc', 'ucfirst', 'normalize', 'samecase', 'sameaccent',
+ 'capitalize', 'length', 'chars', 'graphs', 'codes',
+ 'bytes', 'encode', 'index', 'pack', 'quotemeta', 'rindex',
+ 'split', 'words', 'flip', 'sprintf', 'fmt',
+ 'substr', 'trim', 'unpack', 'match', 'subst', 'trans'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '<', '>', '=',
+ '!', '@', '~', '&', '|', '^',
+ '+','-', '*', '/', '%',
+ ',', ';', '?', '.', ':',
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #000066;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #009966; font-style: italic;',
+ 3 => 'color: #0000ff;',
+ 4 => 'color: #cc0000; font-style: italic;',
+ 5 => '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;',
+ 'HARD' => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff;',
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ //Variable
+ 0 => '(?:[$@%]|&amp;)(?:(?:[\^:*?!~]|&lt;)?[a-zA-Z_][a-zA-Z0-9_]*|(?=\.))'
+ # We treat the . twigil specially so the name can be highlighted as an
+ # object field (via OBJECT_SPLITTERS).
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'COMMENTS' => array(
+ 'DISALLOWED_BEFORE' => '$'
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/php-brief.php b/application/libraries/geshi/php-brief.php
new file mode 100644
index 000000000..ceaf423af
--- /dev/null
+++ b/application/libraries/geshi/php-brief.php
@@ -0,0 +1,222 @@
+<?php
+/*************************************************************************************
+ * php-brief.php
+ * -------------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/02
+ *
+ * PHP (brief version) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/11/27 (1.0.3)
+ * - Added support for multiple object splitters
+ * - Fixed &new problem
+ * 2004/10/27 (1.0.2)
+ * - Added support for URLs
+ * 2004/08/05 (1.0.1)
+ * - Added support for symbols
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * * Remove more functions that are hardly used
+ *
+ *************************************************************************************
+ *
+ * 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' => 'PHP (brief)',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ //Heredoc and Nowdoc syntax
+ 'COMMENT_REGEXP' => array(3 => '/<<<\s*?(\'?)([a-zA-Z0-9]+)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'HARDQUOTE' => array("'", "'"),
+ 'HARDESCAPE' => array("\'"),
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |
+ GESHI_NUMBER_FLT_SCI_ZERO,
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'include', 'require', 'include_once', 'require_once',
+ 'for', 'as', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'endwhile', 'endif', 'switch', 'case', 'endswitch',
+ 'return', 'break'
+ ),
+ 2 => array(
+ 'null', '__LINE__', '__FILE__',
+ 'false', '&lt;?php',
+ 'true', 'var', 'default',
+ 'function', 'class', 'new', '&amp;new', 'public', 'private', 'interface', 'extends',
+ 'const', 'self'
+ ),
+ 3 => array(
+ 'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
+ 'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
+ 'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
+ 'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv',
+ 'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime',
+ 'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar',
+ 'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown',
+ 'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate',
+ 'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
+ 'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat',
+ 'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from',
+ 'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport',
+ 'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 1 => array(
+ '<%', '<%=', '%>', '<?', '<?=', '?>'
+ ),
+ 0 => array(
+ '(', ')', '[', ']', '{', '}',
+ '!', '@', '%', '&', '|', '/',
+ '<', '>',
+ '=', '-', '+', '*',
+ '.', ':', ',', ';'
+ )
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #990000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #666666; font-style: italic;',
+ 3 => 'color: #0000cc; 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: #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;',
+ 1 => 'color: #000000; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.php.net/{FNAMEL}'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '-&gt;',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ //Variables
+ 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => array(
+ '<?php' => '?>'
+ ),
+ 1 => array(
+ '<?' => '?>'
+ ),
+ 2 => array(
+ '<%' => '%>'
+ ),
+ 3 => array(
+ '<script language="php">' => '</script>'
+ ),
+ 4 => "/(?P<start><\\?(?>php\b)?)(?:".
+ "(?>[^\"'?\\/<]+)|".
+ "\\?(?!>)|".
+ "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".
+ "(?>\"(?>[^\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
+ "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".
+ "\\/\\/(?>.*?$)|".
+ "\\/(?=[^*\\/])|".
+ "<(?!<<)|".
+ "<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>".
+ ")*(?P<end>\\?>|\Z)/sm",
+ 5 => "/(?P<start><%)(?:".
+ "(?>[^\"'%\\/<]+)|".
+ "%(?!>)|".
+ "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".
+ "(?>\"(?>[^\\\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
+ "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".
+ "\\/\\/(?>.*?$)|".
+ "\\/(?=[^*\\/])|".
+ "<(?!<<)|".
+ "<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>".
+ ")*(?P<end>%>)/sm"
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/php.php b/application/libraries/geshi/php.php
new file mode 100644
index 000000000..9b0bc822d
--- /dev/null
+++ b/application/libraries/geshi/php.php
@@ -0,0 +1,1114 @@
+<?php
+/*************************************************************************************
+ * php.php
+ * --------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/20
+ *
+ * PHP language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/11/25 (1.0.3)
+ * - Added support for multiple object splitters
+ * - Fixed &new problem
+ * 2004/10/27 (1.0.2)
+ * - Added URL support
+ * - Added extra constants
+ * 2004/08/05 (1.0.1)
+ * - Added support for symbols
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * * Make sure the last few function I may have missed
+ * (like eval()) are included for highlighting
+ * * Split to several files - php4, php5 etc
+ *
+ *************************************************************************************
+ *
+ * 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' => 'PHP',
+ 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ //Heredoc and Nowdoc syntax
+ 3 => '/<<<\s*?(\'?)([a-zA-Z0-9]+?)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+ // phpdoc comments
+ 4 => '#/\*\*(?![\*\/]).*\*/#sU',
+ // Advanced # handling
+ 2 => "/#.*?(?:(?=\?\>)|^)/smi"
+ ),
+ '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])#"
+ ),
+ 'HARDQUOTE' => array("'", "'"),
+ 'HARDESCAPE' => array("'", "\\"),
+ 'HARDCHAR' => "\\",
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |
+ GESHI_NUMBER_FLT_SCI_ZERO,
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'as','break','case','continue','default','do','else','elseif',
+ 'endfor','endforeach','endif','endswitch','endwhile','for',
+ 'foreach','if','include','include_once','require','require_once',
+ 'return','switch','throw','while',
+
+ 'echo','print'
+ ),
+ 2 => array(
+ '&amp;new','&lt;/script&gt;','&lt;?php','&lt;script language',
+ 'class','const','declare','extends','function','global','interface',
+ 'namespace','new','private','protected','public','self','use','var'
+ ),
+ 3 => array(
+ 'abs','acos','acosh','addcslashes','addslashes','aggregate',
+ 'aggregate_methods','aggregate_methods_by_list',
+ 'aggregate_methods_by_regexp','aggregate_properties',
+ 'aggregate_properties_by_list','aggregate_properties_by_regexp',
+ 'aggregation_info','apache_child_terminate','apache_get_modules',
+ 'apache_get_version','apache_getenv','apache_lookup_uri',
+ 'apache_note','apache_request_headers','apache_response_headers',
+ 'apache_setenv','array','array_change_key_case','array_chunk',
+ 'array_combine','array_count_values','array_diff',
+ 'array_diff_assoc','array_diff_key','array_diff_uassoc',
+ 'array_diff_ukey','array_fill','array_fill_keys','array_filter',
+ 'array_flip','array_intersect','array_intersect_assoc',
+ 'array_intersect_key','array_intersect_uassoc',
+ 'array_intersect_ukey','array_key_exists','array_keys','array_map',
+ 'array_merge','array_merge_recursive','array_multisort','array_pad',
+ 'array_pop','array_product','array_push','array_rand',
+ 'array_reduce','array_reverse','array_search','array_shift',
+ 'array_slice','array_splice','array_sum','array_udiff',
+ 'array_udiff_assoc','array_udiff_uassoc','array_uintersect',
+ 'array_uintersect_assoc','array_uintersect_uassoc','array_unique',
+ 'array_unshift','array_values','array_walk','array_walk_recursive',
+ 'arsort','asin','asinh','asort','assert','assert_options','atan',
+ 'atan2','atanh','base_convert','base64_decode','base64_encode',
+ 'basename','bcadd','bccomp','bcdiv','bcmod','bcmul',
+ 'bcompiler_load','bcompiler_load_exe','bcompiler_parse_class',
+ 'bcompiler_read','bcompiler_write_class','bcompiler_write_constant',
+ 'bcompiler_write_exe_footer','bcompiler_write_file',
+ 'bcompiler_write_footer','bcompiler_write_function',
+ 'bcompiler_write_functions_from_file','bcompiler_write_header',
+ 'bcompiler_write_included_filename','bcpow','bcpowmod','bcscale',
+ 'bcsqrt','bcsub','bin2hex','bindec','bindtextdomain',
+ 'bind_textdomain_codeset','bitset_empty','bitset_equal',
+ 'bitset_excl','bitset_fill','bitset_from_array','bitset_from_hash',
+ 'bitset_from_string','bitset_in','bitset_incl',
+ 'bitset_intersection','bitset_invert','bitset_is_empty',
+ 'bitset_subset','bitset_to_array','bitset_to_hash',
+ 'bitset_to_string','bitset_union','blenc_encrypt','bzclose',
+ 'bzcompress','bzdecompress','bzerrno','bzerror','bzerrstr',
+ 'bzflush','bzopen','bzread','bzwrite','cal_days_in_month',
+ 'cal_from_jd','cal_info','cal_to_jd','call_user_func',
+ 'call_user_func_array','call_user_method','call_user_method_array',
+ 'ceil','chdir','checkdate','checkdnsrr','chgrp','chmod','chop',
+ 'chown','chr','chunk_split','class_exists','class_implements',
+ 'class_parents','classkit_aggregate_methods',
+ 'classkit_doc_comments','classkit_import','classkit_method_add',
+ 'classkit_method_copy','classkit_method_redefine',
+ 'classkit_method_remove','classkit_method_rename','clearstatcache',
+ 'closedir','closelog','com_create_guid','com_event_sink',
+ 'com_get_active_object','com_load_typelib','com_message_pump',
+ 'com_print_typeinfo','compact','confirm_phpdoc_compiled',
+ 'connection_aborted','connection_status','constant',
+ 'convert_cyr_string','convert_uudecode','convert_uuencode','copy',
+ 'cos','cosh','count','count_chars','cpdf_add_annotation',
+ 'cpdf_add_outline','cpdf_arc','cpdf_begin_text','cpdf_circle',
+ 'cpdf_clip','cpdf_close','cpdf_closepath',
+ 'cpdf_closepath_fill_stroke','cpdf_closepath_stroke',
+ 'cpdf_continue_text','cpdf_curveto','cpdf_end_text','cpdf_fill',
+ 'cpdf_fill_stroke','cpdf_finalize','cpdf_finalize_page',
+ 'cpdf_global_set_document_limits','cpdf_import_jpeg','cpdf_lineto',
+ 'cpdf_moveto','cpdf_newpath','cpdf_open','cpdf_output_buffer',
+ 'cpdf_page_init','cpdf_rect','cpdf_restore','cpdf_rlineto',
+ 'cpdf_rmoveto','cpdf_rotate','cpdf_rotate_text','cpdf_save',
+ 'cpdf_save_to_file','cpdf_scale','cpdf_set_action_url',
+ 'cpdf_set_char_spacing','cpdf_set_creator','cpdf_set_current_page',
+ 'cpdf_set_font','cpdf_set_font_directories',
+ 'cpdf_set_font_map_file','cpdf_set_horiz_scaling',
+ 'cpdf_set_keywords','cpdf_set_leading','cpdf_set_page_animation',
+ 'cpdf_set_subject','cpdf_set_text_matrix','cpdf_set_text_pos',
+ 'cpdf_set_text_rendering','cpdf_set_text_rise','cpdf_set_title',
+ 'cpdf_set_viewer_preferences','cpdf_set_word_spacing',
+ 'cpdf_setdash','cpdf_setflat','cpdf_setgray','cpdf_setgray_fill',
+ 'cpdf_setgray_stroke','cpdf_setlinecap','cpdf_setlinejoin',
+ 'cpdf_setlinewidth','cpdf_setmiterlimit','cpdf_setrgbcolor',
+ 'cpdf_setrgbcolor_fill','cpdf_setrgbcolor_stroke','cpdf_show',
+ 'cpdf_show_xy','cpdf_stringwidth','cpdf_stroke','cpdf_text',
+ 'cpdf_translate','crack_check','crack_closedict',
+ 'crack_getlastmessage','crack_opendict','crc32','create_function',
+ 'crypt','ctype_alnum','ctype_alpha','ctype_cntrl','ctype_digit',
+ 'ctype_graph','ctype_lower','ctype_print','ctype_punct',
+ 'ctype_space','ctype_upper','ctype_xdigit','curl_close',
+ 'curl_copy_handle','curl_errno','curl_error','curl_exec',
+ 'curl_getinfo','curl_init','curl_multi_add_handle',
+ 'curl_multi_close','curl_multi_exec','curl_multi_getcontent',
+ 'curl_multi_info_read','curl_multi_init','curl_multi_remove_handle',
+ 'curl_multi_select','curl_setopt','curl_setopt_array',
+ 'curl_version','current','cvsclient_connect','cvsclient_log',
+ 'cvsclient_login','cvsclient_retrieve','date','date_create',
+ 'date_date_set','date_default_timezone_get',
+ 'date_default_timezone_set','date_format','date_isodate_set',
+ 'date_modify','date_offset_get','date_parse','date_sun_info',
+ 'date_sunrise','date_sunset','date_time_set','date_timezone_get',
+ 'date_timezone_set','db_id_list','dba_close','dba_delete',
+ 'dba_exists','dba_fetch','dba_firstkey','dba_handlers','dba_insert',
+ 'dba_key_split','dba_list','dba_nextkey','dba_open','dba_optimize',
+ 'dba_popen','dba_replace','dba_sync','dbase_add_record',
+ 'dbase_close','dbase_create','dbase_delete_record',
+ 'dbase_get_header_info','dbase_get_record',
+ 'dbase_get_record_with_names','dbase_numfields','dbase_numrecords',
+ 'dbase_open','dbase_pack','dbase_replace_record',
+ 'dbg_get_all_contexts','dbg_get_all_module_names',
+ 'dbg_get_all_source_lines','dbg_get_context_name',
+ 'dbg_get_module_name','dbg_get_profiler_results',
+ 'dbg_get_source_context','dblist','dbmclose','dbmdelete',
+ 'dbmexists','dbmfetch','dbmfirstkey','dbminsert','dbmnextkey',
+ 'dbmopen','dbmreplace','dbx_close','dbx_compare','dbx_connect',
+ 'dbx_error','dbx_escape_string','dbx_fetch_row','dbx_query',
+ 'dbx_sort','dcgettext','dcngettext','deaggregate','debug_backtrace',
+ 'debug_zval_dump','debugbreak','decbin','dechex','decoct','define',
+ 'defined','define_syslog_variables','deg2rad','dgettext','die',
+ 'dio_close','dio_open','dio_read','dio_seek','dio_stat','dio_write',
+ 'dir','dirname','disk_free_space','disk_total_space',
+ 'diskfreespace','dl','dngettext','docblock_token_name',
+ 'docblock_tokenize','dom_import_simplexml','domxml_add_root',
+ 'domxml_attributes','domxml_children','domxml_doc_add_root',
+ 'domxml_doc_document_element','domxml_doc_get_element_by_id',
+ 'domxml_doc_get_elements_by_tagname','domxml_doc_get_root',
+ 'domxml_doc_set_root','domxml_doc_validate','domxml_doc_xinclude',
+ 'domxml_dump_mem','domxml_dump_mem_file','domxml_dump_node',
+ 'domxml_dumpmem','domxml_elem_get_attribute',
+ 'domxml_elem_set_attribute','domxml_get_attribute','domxml_getattr',
+ 'domxml_html_dump_mem','domxml_new_child','domxml_new_doc',
+ 'domxml_new_xmldoc','domxml_node','domxml_node_add_namespace',
+ 'domxml_node_attributes','domxml_node_children',
+ 'domxml_node_get_content','domxml_node_has_attributes',
+ 'domxml_node_new_child','domxml_node_set_content',
+ 'domxml_node_set_namespace','domxml_node_unlink_node',
+ 'domxml_open_file','domxml_open_mem','domxml_parser',
+ 'domxml_parser_add_chunk','domxml_parser_cdata_section',
+ 'domxml_parser_characters','domxml_parser_comment',
+ 'domxml_parser_end','domxml_parser_end_document',
+ 'domxml_parser_end_element','domxml_parser_entity_reference',
+ 'domxml_parser_get_document','domxml_parser_namespace_decl',
+ 'domxml_parser_processing_instruction',
+ 'domxml_parser_start_document','domxml_parser_start_element',
+ 'domxml_root','domxml_set_attribute','domxml_setattr',
+ 'domxml_substitute_entities_default','domxml_unlink_node',
+ 'domxml_version','domxml_xmltree','doubleval','each','easter_date',
+ 'easter_days','empty','end','ereg','ereg_replace','eregi',
+ 'eregi_replace','error_get_last','error_log','error_reporting',
+ 'escapeshellarg','escapeshellcmd','eval','event_deschedule',
+ 'event_dispatch','event_free','event_handle_signal',
+ 'event_have_events','event_init','event_new','event_pending',
+ 'event_priority_set','event_schedule','event_set','event_timeout',
+ 'exec','exif_imagetype','exif_read_data','exif_tagname',
+ 'exif_thumbnail','exit','exp','explode','expm1','extension_loaded',
+ 'extract','ezmlm_hash','fbird_add_user','fbird_affected_rows',
+ 'fbird_backup','fbird_blob_add','fbird_blob_cancel',
+ 'fbird_blob_close','fbird_blob_create','fbird_blob_echo',
+ 'fbird_blob_get','fbird_blob_import','fbird_blob_info',
+ 'fbird_blob_open','fbird_close','fbird_commit','fbird_commit_ret',
+ 'fbird_connect','fbird_db_info','fbird_delete_user','fbird_drop_db',
+ 'fbird_errcode','fbird_errmsg','fbird_execute','fbird_fetch_assoc',
+ 'fbird_fetch_object','fbird_fetch_row','fbird_field_info',
+ 'fbird_free_event_handler','fbird_free_query','fbird_free_result',
+ 'fbird_gen_id','fbird_maintain_db','fbird_modify_user',
+ 'fbird_name_result','fbird_num_fields','fbird_num_params',
+ 'fbird_param_info','fbird_pconnect','fbird_prepare','fbird_query',
+ 'fbird_restore','fbird_rollback','fbird_rollback_ret',
+ 'fbird_server_info','fbird_service_attach','fbird_service_detach',
+ 'fbird_set_event_handler','fbird_trans','fbird_wait_event','fclose',
+ 'fdf_add_doc_javascript','fdf_add_template','fdf_close',
+ 'fdf_create','fdf_enum_values','fdf_errno','fdf_error','fdf_get_ap',
+ 'fdf_get_attachment','fdf_get_encoding','fdf_get_file',
+ 'fdf_get_flags','fdf_get_opt','fdf_get_status','fdf_get_value',
+ 'fdf_get_version','fdf_header','fdf_next_field_name','fdf_open',
+ 'fdf_open_string','fdf_remove_item','fdf_save','fdf_save_string',
+ 'fdf_set_ap','fdf_set_encoding','fdf_set_file','fdf_set_flags',
+ 'fdf_set_javascript_action','fdf_set_on_import_javascript',
+ 'fdf_set_opt','fdf_set_status','fdf_set_submit_form_action',
+ 'fdf_set_target_frame','fdf_set_value','fdf_set_version','feof',
+ 'fflush','fgetc','fgetcsv','fgets','fgetss','file','file_exists',
+ 'file_get_contents','file_put_contents','fileatime','filectime',
+ 'filegroup','fileinode','filemtime','fileowner','fileperms',
+ 'filepro','filepro_fieldcount','filepro_fieldname',
+ 'filepro_fieldtype','filepro_fieldwidth','filepro_retrieve',
+ 'filepro_rowcount','filesize','filetype','filter_has_var',
+ 'filter_id','filter_input','filter_input_array','filter_list',
+ 'filter_var','filter_var_array','finfo_buffer','finfo_close',
+ 'finfo_file','finfo_open','finfo_set_flags','floatval','flock',
+ 'floor','flush','fmod','fnmatch','fopen','fpassthru','fprintf',
+ 'fputcsv','fputs','fread','frenchtojd','fribidi_charset_info',
+ 'fribidi_get_charsets','fribidi_log2vis','fscanf','fseek',
+ 'fsockopen','fstat','ftell','ftok','ftp_alloc','ftp_cdup',
+ 'ftp_chdir','ftp_chmod','ftp_close','ftp_connect','ftp_delete',
+ 'ftp_exec','ftp_fget','ftp_fput','ftp_get','ftp_get_option',
+ 'ftp_login','ftp_mdtm','ftp_mkdir','ftp_nb_continue','ftp_nb_fget',
+ 'ftp_nb_fput','ftp_nb_get','ftp_nb_put','ftp_nlist','ftp_pasv',
+ 'ftp_put','ftp_pwd','ftp_quit','ftp_raw','ftp_rawlist','ftp_rename',
+ 'ftp_rmdir','ftp_set_option','ftp_site','ftp_size',
+ 'ftp_ssl_connect','ftp_systype','ftruncate','function_exists',
+ 'func_get_arg','func_get_args','func_num_args','fwrite','gd_info',
+ 'getallheaders','getcwd','getdate','getenv','gethostbyaddr',
+ 'gethostbyname','gethostbynamel','getimagesize','getlastmod',
+ 'getmxrr','getmygid','getmyinode','getmypid','getmyuid','getopt',
+ 'getprotobyname','getprotobynumber','getrandmax','getrusage',
+ 'getservbyname','getservbyport','gettext','gettimeofday','gettype',
+ 'get_browser','get_cfg_var','get_class','get_class_methods',
+ 'get_class_vars','get_current_user','get_declared_classes',
+ 'get_defined_constants','get_defined_functions','get_defined_vars',
+ 'get_extension_funcs','get_headers','get_html_translation_table',
+ 'get_included_files','get_include_path','get_loaded_extensions',
+ 'get_magic_quotes_gpc','get_magic_quotes_runtime','get_meta_tags',
+ 'get_object_vars','get_parent_class','get_required_files',
+ 'get_resource_type','glob','gmdate','gmmktime','gmp_abs','gmp_add',
+ 'gmp_and','gmp_clrbit','gmp_cmp','gmp_com','gmp_div','gmp_div_q',
+ 'gmp_div_qr','gmp_div_r','gmp_divexact','gmp_fact','gmp_gcd',
+ 'gmp_gcdext','gmp_hamdist','gmp_init','gmp_intval','gmp_invert',
+ 'gmp_jacobi','gmp_legendre','gmp_mod','gmp_mul','gmp_neg',
+ 'gmp_nextprime','gmp_or','gmp_perfect_square','gmp_popcount',
+ 'gmp_pow','gmp_powm','gmp_prob_prime','gmp_random','gmp_scan0',
+ 'gmp_scan1','gmp_setbit','gmp_sign','gmp_sqrt','gmp_sqrtrem',
+ 'gmp_strval','gmp_sub','gmp_xor','gmstrftime','gopher_parsedir',
+ 'gregoriantojd','gzclose','gzcompress','gzdeflate','gzencode',
+ 'gzeof','gzfile','gzgetc','gzgets','gzgetss','gzinflate','gzopen',
+ 'gzpassthru','gzputs','gzread','gzrewind','gzseek','gztell',
+ 'gzuncompress','gzwrite','hash','hash_algos','hash_file',
+ 'hash_final','hash_hmac','hash_hmac_file','hash_init','hash_update',
+ 'hash_update_file','hash_update_stream','header','headers_list',
+ 'headers_sent','hebrev','hebrevc','hexdec','highlight_file',
+ 'highlight_string','html_doc','html_doc_file','html_entity_decode',
+ 'htmlentities','htmlspecialchars','htmlspecialchars_decode',
+ 'http_build_cookie','http_build_query','http_build_str',
+ 'http_build_url','http_cache_etag','http_cache_last_modified',
+ 'http_chunked_decode','http_date','http_deflate','http_get',
+ 'http_get_request_body','http_get_request_body_stream',
+ 'http_get_request_headers','http_head','http_inflate',
+ 'http_match_etag','http_match_modified','http_match_request_header',
+ 'http_negotiate_charset','http_negotiate_content_type',
+ 'http_negotiate_language','http_parse_cookie','http_parse_headers',
+ 'http_parse_message','http_parse_params',
+ 'http_persistent_handles_clean','http_persistent_handles_count',
+ 'http_persistent_handles_ident','http_post_data','http_post_fields',
+ 'http_put_data','http_put_file','http_put_stream','http_redirect',
+ 'http_request','http_request_body_encode',
+ 'http_request_method_exists','http_request_method_name',
+ 'http_request_method_register','http_request_method_unregister',
+ 'http_send_content_disposition','http_send_content_type',
+ 'http_send_data','http_send_file','http_send_last_modified',
+ 'http_send_status','http_send_stream','http_support',
+ 'http_throttle','hypot','i18n_convert','i18n_discover_encoding',
+ 'i18n_http_input','i18n_http_output','i18n_internal_encoding',
+ 'i18n_ja_jp_hantozen','i18n_mime_header_decode',
+ 'i18n_mime_header_encode','ibase_add_user','ibase_affected_rows',
+ 'ibase_backup','ibase_blob_add','ibase_blob_cancel',
+ 'ibase_blob_close','ibase_blob_create','ibase_blob_echo',
+ 'ibase_blob_get','ibase_blob_import','ibase_blob_info',
+ 'ibase_blob_open','ibase_close','ibase_commit','ibase_commit_ret',
+ 'ibase_connect','ibase_db_info','ibase_delete_user','ibase_drop_db',
+ 'ibase_errcode','ibase_errmsg','ibase_execute','ibase_fetch_assoc',
+ 'ibase_fetch_object','ibase_fetch_row','ibase_field_info',
+ 'ibase_free_event_handler','ibase_free_query','ibase_free_result',
+ 'ibase_gen_id','ibase_maintain_db','ibase_modify_user',
+ 'ibase_name_result','ibase_num_fields','ibase_num_params',
+ 'ibase_param_info','ibase_pconnect','ibase_prepare','ibase_query',
+ 'ibase_restore','ibase_rollback','ibase_rollback_ret',
+ 'ibase_server_info','ibase_service_attach','ibase_service_detach',
+ 'ibase_set_event_handler','ibase_trans','ibase_wait_event','iconv',
+ 'iconv_get_encoding','iconv_mime_decode',
+ 'iconv_mime_decode_headers','iconv_mime_encode',
+ 'iconv_set_encoding','iconv_strlen','iconv_strpos','iconv_strrpos',
+ 'iconv_substr','id3_get_frame_long_name','id3_get_frame_short_name',
+ 'id3_get_genre_id','id3_get_genre_list','id3_get_genre_name',
+ 'id3_get_tag','id3_get_version','id3_remove_tag','id3_set_tag',
+ 'idate','ignore_user_abort','image_type_to_extension',
+ 'image_type_to_mime_type','image2wbmp','imagealphablending',
+ 'imageantialias','imagearc','imagechar','imagecharup',
+ 'imagecolorallocate','imagecolorallocatealpha','imagecolorat',
+ 'imagecolorclosest','imagecolorclosestalpha','imagecolordeallocate',
+ 'imagecolorexact','imagecolorexactalpha','imagecolormatch',
+ 'imagecolorresolve','imagecolorresolvealpha','imagecolorset',
+ 'imagecolorsforindex','imagecolorstotal','imagecolortransparent',
+ 'imageconvolution','imagecopy','imagecopymerge',
+ 'imagecopymergegray','imagecopyresampled','imagecopyresized',
+ 'imagecreate','imagecreatefromgd','imagecreatefromgd2',
+ 'imagecreatefromgd2part','imagecreatefromgif','imagecreatefromjpeg',
+ 'imagecreatefrompng','imagecreatefromstring','imagecreatefromwbmp',
+ 'imagecreatefromxbm','imagecreatetruecolor','imagedashedline',
+ 'imagedestroy','imageellipse','imagefill','imagefilledarc',
+ 'imagefilledellipse','imagefilledpolygon','imagefilledrectangle',
+ 'imagefilltoborder','imagefilter','imagefontheight',
+ 'imagefontwidth','imageftbbox','imagefttext','imagegammacorrect',
+ 'imagegd','imagegd2','imagegif','imagegrabscreen','imagegrabwindow',
+ 'imageinterlace','imageistruecolor','imagejpeg','imagelayereffect',
+ 'imageline','imageloadfont','imagepalettecopy','imagepng',
+ 'imagepolygon','imagepsbbox','imagepsencodefont',
+ 'imagepsextendfont','imagepsfreefont','imagepsloadfont',
+ 'imagepsslantfont','imagepstext','imagerectangle','imagerotate',
+ 'imagesavealpha','imagesetbrush','imagesetpixel','imagesetstyle',
+ 'imagesetthickness','imagesettile','imagestring','imagestringup',
+ 'imagesx','imagesy','imagetruecolortopalette','imagettfbbox',
+ 'imagettftext','imagetypes','imagewbmp','imagexbm','imap_8bit',
+ 'imap_alerts','imap_append','imap_base64','imap_binary','imap_body',
+ 'imap_bodystruct','imap_check','imap_clearflag_full','imap_close',
+ 'imap_create','imap_createmailbox','imap_delete',
+ 'imap_deletemailbox','imap_errors','imap_expunge',
+ 'imap_fetch_overview','imap_fetchbody','imap_fetchheader',
+ 'imap_fetchstructure','imap_fetchtext','imap_get_quota',
+ 'imap_get_quotaroot','imap_getacl','imap_getmailboxes',
+ 'imap_getsubscribed','imap_header','imap_headerinfo','imap_headers',
+ 'imap_last_error','imap_list','imap_listmailbox',
+ 'imap_listsubscribed','imap_lsub','imap_mail','imap_mail_compose',
+ 'imap_mail_copy','imap_mail_move','imap_mailboxmsginfo',
+ 'imap_mime_header_decode','imap_msgno','imap_num_msg',
+ 'imap_num_recent','imap_open','imap_ping','imap_qprint',
+ 'imap_rename','imap_renamemailbox','imap_reopen',
+ 'imap_rfc822_parse_adrlist','imap_rfc822_parse_headers',
+ 'imap_rfc822_write_address','imap_savebody','imap_scan',
+ 'imap_scanmailbox','imap_search','imap_set_quota','imap_setacl',
+ 'imap_setflag_full','imap_sort','imap_status','imap_subscribe',
+ 'imap_thread','imap_timeout','imap_uid','imap_undelete',
+ 'imap_unsubscribe','imap_utf7_decode','imap_utf7_encode',
+ 'imap_utf8','implode','import_request_variables','in_array',
+ 'ini_alter','ini_get','ini_get_all','ini_restore','ini_set',
+ 'intval','ip2long','iptcembed','iptcparse','isset','is_a',
+ 'is_array','is_bool','is_callable','is_dir','is_double',
+ 'is_executable','is_file','is_finite','is_float','is_infinite',
+ 'is_int','is_integer','is_link','is_long','is_nan','is_null',
+ 'is_numeric','is_object','is_readable','is_real','is_resource',
+ 'is_scalar','is_soap_fault','is_string','is_subclass_of',
+ 'is_uploaded_file','is_writable','is_writeable','iterator_apply',
+ 'iterator_count','iterator_to_array','java_last_exception_clear',
+ 'java_last_exception_get','jddayofweek','jdmonthname','jdtofrench',
+ 'jdtogregorian','jdtojewish','jdtojulian','jdtounix','jewishtojd',
+ 'join','jpeg2wbmp','json_decode','json_encode','juliantojd','key',
+ 'key_exists','krsort','ksort','lcg_value','ldap_add','ldap_bind',
+ 'ldap_close','ldap_compare','ldap_connect','ldap_count_entries',
+ 'ldap_delete','ldap_dn2ufn','ldap_err2str','ldap_errno',
+ 'ldap_error','ldap_explode_dn','ldap_first_attribute',
+ 'ldap_first_entry','ldap_first_reference','ldap_free_result',
+ 'ldap_get_attributes','ldap_get_dn','ldap_get_entries',
+ 'ldap_get_option','ldap_get_values','ldap_get_values_len',
+ 'ldap_list','ldap_mod_add','ldap_mod_del','ldap_mod_replace',
+ 'ldap_modify','ldap_next_attribute','ldap_next_entry',
+ 'ldap_next_reference','ldap_parse_reference','ldap_parse_result',
+ 'ldap_read','ldap_rename','ldap_search','ldap_set_option',
+ 'ldap_sort','ldap_start_tls','ldap_unbind','levenshtein',
+ 'libxml_clear_errors','libxml_get_errors','libxml_get_last_error',
+ 'libxml_set_streams_context','libxml_use_internal_errors','link',
+ 'linkinfo','list','localeconv','localtime','log','log1p','log10',
+ 'long2ip','lstat','ltrim','lzf_compress','lzf_decompress',
+ 'lzf_optimized_for','magic_quotes_runtime','mail','max','mbereg',
+ 'mberegi','mberegi_replace','mbereg_match','mbereg_replace',
+ 'mbereg_search','mbereg_search_getpos','mbereg_search_getregs',
+ 'mbereg_search_init','mbereg_search_pos','mbereg_search_regs',
+ 'mbereg_search_setpos','mbregex_encoding','mbsplit','mbstrcut',
+ 'mbstrlen','mbstrpos','mbstrrpos','mbsubstr','mb_check_encoding',
+ 'mb_convert_case','mb_convert_encoding','mb_convert_kana',
+ 'mb_convert_variables','mb_decode_mimeheader',
+ 'mb_decode_numericentity','mb_detect_encoding','mb_detect_order',
+ 'mb_encode_mimeheader','mb_encode_numericentity','mb_ereg',
+ 'mb_eregi','mb_eregi_replace','mb_ereg_match','mb_ereg_replace',
+ 'mb_ereg_search','mb_ereg_search_getpos','mb_ereg_search_getregs',
+ 'mb_ereg_search_init','mb_ereg_search_pos','mb_ereg_search_regs',
+ 'mb_ereg_search_setpos','mb_get_info','mb_http_input',
+ 'mb_http_output','mb_internal_encoding','mb_language',
+ 'mb_list_encodings','mb_output_handler','mb_parse_str',
+ 'mb_preferred_mime_name','mb_regex_encoding','mb_regex_set_options',
+ 'mb_send_mail','mb_split','mb_strcut','mb_strimwidth','mb_stripos',
+ 'mb_stristr','mb_strlen','mb_strpos','mb_strrchr','mb_strrichr',
+ 'mb_strripos','mb_strrpos','mb_strstr','mb_strtolower',
+ 'mb_strtoupper','mb_strwidth','mb_substitute_character','mb_substr',
+ 'mb_substr_count','mcrypt_cbc','mcrypt_cfb','mcrypt_create_iv',
+ 'mcrypt_decrypt','mcrypt_ecb','mcrypt_enc_get_algorithms_name',
+ 'mcrypt_enc_get_block_size','mcrypt_enc_get_iv_size',
+ 'mcrypt_enc_get_key_size','mcrypt_enc_get_modes_name',
+ 'mcrypt_enc_get_supported_key_sizes',
+ 'mcrypt_enc_is_block_algorithm',
+ 'mcrypt_enc_is_block_algorithm_mode','mcrypt_enc_is_block_mode',
+ 'mcrypt_enc_self_test','mcrypt_encrypt','mcrypt_generic',
+ 'mcrypt_generic_deinit','mcrypt_generic_end','mcrypt_generic_init',
+ 'mcrypt_get_block_size','mcrypt_get_cipher_name',
+ 'mcrypt_get_iv_size','mcrypt_get_key_size','mcrypt_list_algorithms',
+ 'mcrypt_list_modes','mcrypt_module_close',
+ 'mcrypt_module_get_algo_block_size',
+ 'mcrypt_module_get_algo_key_size',
+ 'mcrypt_module_get_supported_key_sizes',
+ 'mcrypt_module_is_block_algorithm',
+ 'mcrypt_module_is_block_algorithm_mode',
+ 'mcrypt_module_is_block_mode','mcrypt_module_open',
+ 'mcrypt_module_self_test','mcrypt_ofb','md5','md5_file',
+ 'mdecrypt_generic','memcache_add','memcache_add_server',
+ 'memcache_close','memcache_connect','memcache_debug',
+ 'memcache_decrement','memcache_delete','memcache_flush',
+ 'memcache_get','memcache_get_extended_stats',
+ 'memcache_get_server_status','memcache_get_stats',
+ 'memcache_get_version','memcache_increment','memcache_pconnect',
+ 'memcache_replace','memcache_set','memcache_set_compress_threshold',
+ 'memcache_set_server_params','memory_get_peak_usage',
+ 'memory_get_usage','metaphone','mhash','mhash_count',
+ 'mhash_get_block_size','mhash_get_hash_name','mhash_keygen_s2k',
+ 'method_exists','microtime','mime_content_type','min',
+ 'ming_keypress','ming_setcubicthreshold','ming_setscale',
+ 'ming_useconstants','ming_useswfversion','mkdir','mktime',
+ 'money_format','move_uploaded_file','msql','msql_affected_rows',
+ 'msql_close','msql_connect','msql_create_db','msql_createdb',
+ 'msql_data_seek','msql_db_query','msql_dbname','msql_drop_db',
+ 'msql_dropdb','msql_error','msql_fetch_array','msql_fetch_field',
+ 'msql_fetch_object','msql_fetch_row','msql_field_flags',
+ 'msql_field_len','msql_field_name','msql_field_seek',
+ 'msql_field_table','msql_field_type','msql_fieldflags',
+ 'msql_fieldlen','msql_fieldname','msql_fieldtable','msql_fieldtype',
+ 'msql_free_result','msql_freeresult','msql_list_dbs',
+ 'msql_list_fields','msql_list_tables','msql_listdbs',
+ 'msql_listfields','msql_listtables','msql_num_fields',
+ 'msql_num_rows','msql_numfields','msql_numrows','msql_pconnect',
+ 'msql_query','msql_regcase','msql_result','msql_select_db',
+ 'msql_selectdb','msql_tablename','mssql_bind','mssql_close',
+ 'mssql_connect','mssql_data_seek','mssql_execute',
+ 'mssql_fetch_array','mssql_fetch_assoc','mssql_fetch_batch',
+ 'mssql_fetch_field','mssql_fetch_object','mssql_fetch_row',
+ 'mssql_field_length','mssql_field_name','mssql_field_seek',
+ 'mssql_field_type','mssql_free_result','mssql_free_statement',
+ 'mssql_get_last_message','mssql_guid_string','mssql_init',
+ 'mssql_min_error_severity','mssql_min_message_severity',
+ 'mssql_next_result','mssql_num_fields','mssql_num_rows',
+ 'mssql_pconnect','mssql_query','mssql_result','mssql_rows_affected',
+ 'mssql_select_db','mt_getrandmax','mt_rand','mt_srand','mysql',
+ 'mysql_affected_rows','mysql_client_encoding','mysql_close',
+ 'mysql_connect','mysql_createdb','mysql_create_db',
+ 'mysql_data_seek','mysql_dbname','mysql_db_name','mysql_db_query',
+ 'mysql_dropdb','mysql_drop_db','mysql_errno','mysql_error',
+ 'mysql_escape_string','mysql_fetch_array','mysql_fetch_assoc',
+ 'mysql_fetch_field','mysql_fetch_lengths','mysql_fetch_object',
+ 'mysql_fetch_row','mysql_fieldflags','mysql_fieldlen',
+ 'mysql_fieldname','mysql_fieldtable','mysql_fieldtype',
+ 'mysql_field_flags','mysql_field_len','mysql_field_name',
+ 'mysql_field_seek','mysql_field_table','mysql_field_type',
+ 'mysql_freeresult','mysql_free_result','mysql_get_client_info',
+ 'mysql_get_host_info','mysql_get_proto_info',
+ 'mysql_get_server_info','mysql_info','mysql_insert_id',
+ 'mysql_listdbs','mysql_listfields','mysql_listtables',
+ 'mysql_list_dbs','mysql_list_fields','mysql_list_processes',
+ 'mysql_list_tables','mysql_numfields','mysql_numrows',
+ 'mysql_num_fields','mysql_num_rows','mysql_pconnect','mysql_ping',
+ 'mysql_query','mysql_real_escape_string','mysql_result',
+ 'mysql_selectdb','mysql_select_db','mysql_set_charset','mysql_stat',
+ 'mysql_tablename','mysql_table_name','mysql_thread_id',
+ 'mysql_unbuffered_query','mysqli_affected_rows','mysqli_autocommit',
+ 'mysqli_bind_param','mysqli_bind_result','mysqli_change_user',
+ 'mysqli_character_set_name','mysqli_client_encoding','mysqli_close',
+ 'mysqli_commit','mysqli_connect','mysqli_connect_errno',
+ 'mysqli_connect_error','mysqli_data_seek','mysqli_debug',
+ 'mysqli_disable_reads_from_master','mysqli_disable_rpl_parse',
+ 'mysqli_dump_debug_info','mysqli_embedded_server_end',
+ 'mysqli_embedded_server_start','mysqli_enable_reads_from_master',
+ 'mysqli_enable_rpl_parse','mysqli_errno','mysqli_error',
+ 'mysqli_escape_string','mysqli_execute','mysqli_fetch',
+ 'mysqli_fetch_array','mysqli_fetch_assoc','mysqli_fetch_field',
+ 'mysqli_fetch_field_direct','mysqli_fetch_fields',
+ 'mysqli_fetch_lengths','mysqli_fetch_object','mysqli_fetch_row',
+ 'mysqli_field_count','mysqli_field_seek','mysqli_field_tell',
+ 'mysqli_free_result','mysqli_get_charset','mysqli_get_client_info',
+ 'mysqli_get_client_version','mysqli_get_host_info',
+ 'mysqli_get_metadata','mysqli_get_proto_info',
+ 'mysqli_get_server_info','mysqli_get_server_version',
+ 'mysqli_get_warnings','mysqli_info','mysqli_init',
+ 'mysqli_insert_id','mysqli_kill','mysqli_master_query',
+ 'mysqli_more_results','mysqli_multi_query','mysqli_next_result',
+ 'mysqli_num_fields','mysqli_num_rows','mysqli_options',
+ 'mysqli_param_count','mysqli_ping','mysqli_prepare','mysqli_query',
+ 'mysqli_real_connect','mysqli_real_escape_string',
+ 'mysqli_real_query','mysqli_report','mysqli_rollback',
+ 'mysqli_rpl_parse_enabled','mysqli_rpl_probe',
+ 'mysqli_rpl_query_type','mysqli_select_db','mysqli_send_long_data',
+ 'mysqli_send_query','mysqli_set_charset',
+ 'mysqli_set_local_infile_default','mysqli_set_local_infile_handler',
+ 'mysqli_set_opt','mysqli_slave_query','mysqli_sqlstate',
+ 'mysqli_ssl_set','mysqli_stat','mysqli_stmt_affected_rows',
+ 'mysqli_stmt_attr_get','mysqli_stmt_attr_set',
+ 'mysqli_stmt_bind_param','mysqli_stmt_bind_result',
+ 'mysqli_stmt_close','mysqli_stmt_data_seek','mysqli_stmt_errno',
+ 'mysqli_stmt_error','mysqli_stmt_execute','mysqli_stmt_fetch',
+ 'mysqli_stmt_field_count','mysqli_stmt_free_result',
+ 'mysqli_stmt_get_warnings','mysqli_stmt_init',
+ 'mysqli_stmt_insert_id','mysqli_stmt_num_rows',
+ 'mysqli_stmt_param_count','mysqli_stmt_prepare','mysqli_stmt_reset',
+ 'mysqli_stmt_result_metadata','mysqli_stmt_send_long_data',
+ 'mysqli_stmt_sqlstate','mysqli_stmt_store_result',
+ 'mysqli_store_result','mysqli_thread_id','mysqli_thread_safe',
+ 'mysqli_use_result','mysqli_warning_count','natcasesort','natsort',
+ 'new_xmldoc','next','ngettext','nl2br','nl_langinfo',
+ 'ntuser_getdomaincontroller','ntuser_getusergroups',
+ 'ntuser_getuserinfo','ntuser_getuserlist','number_format',
+ 'ob_clean','ob_deflatehandler','ob_end_clean','ob_end_flush',
+ 'ob_etaghandler','ob_flush','ob_get_clean','ob_get_contents',
+ 'ob_get_flush','ob_get_length','ob_get_level','ob_get_status',
+ 'ob_gzhandler','ob_iconv_handler','ob_implicit_flush',
+ 'ob_inflatehandler','ob_list_handlers','ob_start','ob_tidyhandler',
+ 'octdec','odbc_autocommit','odbc_binmode','odbc_close',
+ 'odbc_close_all','odbc_columnprivileges','odbc_columns',
+ 'odbc_commit','odbc_connect','odbc_cursor','odbc_data_source',
+ 'odbc_do','odbc_error','odbc_errormsg','odbc_exec','odbc_execute',
+ 'odbc_fetch_array','odbc_fetch_into','odbc_fetch_object',
+ 'odbc_fetch_row','odbc_field_len','odbc_field_name',
+ 'odbc_field_num','odbc_field_precision','odbc_field_scale',
+ 'odbc_field_type','odbc_foreignkeys','odbc_free_result',
+ 'odbc_gettypeinfo','odbc_longreadlen','odbc_next_result',
+ 'odbc_num_fields','odbc_num_rows','odbc_pconnect','odbc_prepare',
+ 'odbc_primarykeys','odbc_procedurecolumns','odbc_procedures',
+ 'odbc_result','odbc_result_all','odbc_rollback','odbc_setoption',
+ 'odbc_specialcolumns','odbc_statistics','odbc_tableprivileges',
+ 'odbc_tables','opendir','openlog','openssl_csr_export',
+ 'openssl_csr_export_to_file','openssl_csr_get_public_key',
+ 'openssl_csr_get_subject','openssl_csr_new','openssl_csr_sign',
+ 'openssl_error_string','openssl_free_key','openssl_get_privatekey',
+ 'openssl_get_publickey','openssl_open','openssl_pkcs12_export',
+ 'openssl_pkcs12_export_to_file','openssl_pkcs12_read',
+ 'openssl_pkcs7_decrypt','openssl_pkcs7_encrypt',
+ 'openssl_pkcs7_sign','openssl_pkcs7_verify','openssl_pkey_export',
+ 'openssl_pkey_export_to_file','openssl_pkey_free',
+ 'openssl_pkey_get_details','openssl_pkey_get_private',
+ 'openssl_pkey_get_public','openssl_pkey_new',
+ 'openssl_private_decrypt','openssl_private_encrypt',
+ 'openssl_public_decrypt','openssl_public_encrypt','openssl_seal',
+ 'openssl_sign','openssl_verify','openssl_x509_checkpurpose',
+ 'openssl_x509_check_private_key','openssl_x509_export',
+ 'openssl_x509_export_to_file','openssl_x509_free',
+ 'openssl_x509_parse','openssl_x509_read','ord',
+ 'output_add_rewrite_var','output_reset_rewrite_vars','overload',
+ 'outputdebugstring','pack','parse_ini_file','parse_str','parse_url',
+ 'parsekit_compile_file','parsekit_compile_string',
+ 'parsekit_func_arginfo','parsekit_opcode_flags',
+ 'parsekit_opcode_name','passthru','pathinfo','pclose',
+ 'pdf_add_bookmark','pdf_add_launchlink','pdf_add_locallink',
+ 'pdf_add_nameddest','pdf_add_note','pdf_add_pdflink',
+ 'pdf_add_thumbnail','pdf_add_weblink','pdf_arc','pdf_arcn',
+ 'pdf_attach_file','pdf_begin_font','pdf_begin_glyph',
+ 'pdf_begin_page','pdf_begin_pattern','pdf_begin_template',
+ 'pdf_circle','pdf_clip','pdf_close','pdf_close_image',
+ 'pdf_close_pdi','pdf_close_pdi_page','pdf_closepath',
+ 'pdf_closepath_fill_stroke','pdf_closepath_stroke','pdf_concat',
+ 'pdf_continue_text','pdf_create_gstate','pdf_create_pvf',
+ 'pdf_curveto','pdf_delete','pdf_delete_pvf','pdf_encoding_set_char',
+ 'pdf_end_font','pdf_end_glyph','pdf_end_page','pdf_end_pattern',
+ 'pdf_end_template','pdf_endpath','pdf_fill','pdf_fill_imageblock',
+ 'pdf_fill_pdfblock','pdf_fill_stroke','pdf_fill_textblock',
+ 'pdf_findfont','pdf_fit_image','pdf_fit_pdi_page',
+ 'pdf_fit_textline','pdf_get_apiname','pdf_get_buffer',
+ 'pdf_get_errmsg','pdf_get_errnum','pdf_get_parameter',
+ 'pdf_get_pdi_parameter','pdf_get_pdi_value','pdf_get_value',
+ 'pdf_initgraphics','pdf_lineto','pdf_load_font',
+ 'pdf_load_iccprofile','pdf_load_image','pdf_makespotcolor',
+ 'pdf_moveto','pdf_new','pdf_open_ccitt','pdf_open_file',
+ 'pdf_open_image','pdf_open_image_file','pdf_open_pdi',
+ 'pdf_open_pdi_page','pdf_place_image','pdf_place_pdi_page',
+ 'pdf_process_pdi','pdf_rect','pdf_restore','pdf_rotate','pdf_save',
+ 'pdf_scale','pdf_set_border_color','pdf_set_border_dash',
+ 'pdf_set_border_style','pdf_set_gstate','pdf_set_info',
+ 'pdf_set_parameter','pdf_set_text_pos','pdf_set_value',
+ 'pdf_setcolor','pdf_setdash','pdf_setdashpattern','pdf_setflat',
+ 'pdf_setfont','pdf_setlinecap','pdf_setlinejoin','pdf_setlinewidth',
+ 'pdf_setmatrix','pdf_setmiterlimit','pdf_setpolydash','pdf_shading',
+ 'pdf_shading_pattern','pdf_shfill','pdf_show','pdf_show_boxed',
+ 'pdf_show_xy','pdf_skew','pdf_stringwidth','pdf_stroke',
+ 'pdf_translate','pdo_drivers','pfsockopen','pg_affected_rows',
+ 'pg_cancel_query','pg_clientencoding','pg_client_encoding',
+ 'pg_close','pg_cmdtuples','pg_connect','pg_connection_busy',
+ 'pg_connection_reset','pg_connection_status','pg_convert',
+ 'pg_copy_from','pg_copy_to','pg_dbname','pg_delete','pg_end_copy',
+ 'pg_errormessage','pg_escape_bytea','pg_escape_string','pg_exec',
+ 'pg_execute','pg_fetch_all','pg_fetch_all_columns','pg_fetch_array',
+ 'pg_fetch_assoc','pg_fetch_object','pg_fetch_result','pg_fetch_row',
+ 'pg_fieldisnull','pg_fieldname','pg_fieldnum','pg_fieldprtlen',
+ 'pg_fieldsize','pg_fieldtype','pg_field_is_null','pg_field_name',
+ 'pg_field_num','pg_field_prtlen','pg_field_size','pg_field_table',
+ 'pg_field_type','pg_field_type_oid','pg_free_result',
+ 'pg_freeresult','pg_get_notify','pg_get_pid','pg_get_result',
+ 'pg_getlastoid','pg_host','pg_insert','pg_last_error',
+ 'pg_last_notice','pg_last_oid','pg_loclose','pg_locreate',
+ 'pg_loexport','pg_loimport','pg_loopen','pg_loread','pg_loreadall',
+ 'pg_lounlink','pg_lowrite','pg_lo_close','pg_lo_create',
+ 'pg_lo_export','pg_lo_import','pg_lo_open','pg_lo_read',
+ 'pg_lo_read_all','pg_lo_seek','pg_lo_tell','pg_lo_unlink',
+ 'pg_lo_write','pg_meta_data','pg_numfields','pg_numrows',
+ 'pg_num_fields','pg_num_rows','pg_options','pg_parameter_status',
+ 'pg_pconnect','pg_ping','pg_port','pg_prepare','pg_put_line',
+ 'pg_query','pg_query_params','pg_result','pg_result_error',
+ 'pg_result_error_field','pg_result_seek','pg_result_status',
+ 'pg_select','pg_send_execute','pg_send_prepare','pg_send_query',
+ 'pg_send_query_params','pg_set_client_encoding',
+ 'pg_set_error_verbosity','pg_setclientencoding','pg_trace',
+ 'pg_transaction_status','pg_tty','pg_unescape_bytea','pg_untrace',
+ 'pg_update','pg_version','php_egg_logo_guid','php_ini_loaded_file',
+ 'php_ini_scanned_files','php_logo_guid','php_real_logo_guid',
+ 'php_sapi_name','php_strip_whitespace','php_uname','phpcredits',
+ 'phpdoc_xml_from_string','phpinfo','phpversion','pi','png2wbmp',
+ 'pop3_close','pop3_delete_message','pop3_get_account_size',
+ 'pop3_get_message','pop3_get_message_count',
+ 'pop3_get_message_header','pop3_get_message_ids',
+ 'pop3_get_message_size','pop3_get_message_sizes','pop3_open',
+ 'pop3_undelete','popen','pos','posix_ctermid','posix_errno',
+ 'posix_getcwd','posix_getegid','posix_geteuid','posix_getgid',
+ 'posix_getgrgid','posix_getgrnam','posix_getgroups',
+ 'posix_getlogin','posix_getpgid','posix_getpgrp','posix_getpid',
+ 'posix_getppid','posix_getpwnam','posix_getpwuid','posix_getrlimit',
+ 'posix_getsid','posix_getuid','posix_get_last_error','posix_isatty',
+ 'posix_kill','posix_mkfifo','posix_setegid','posix_seteuid',
+ 'posix_setgid','posix_setpgid','posix_setsid','posix_setuid',
+ 'posix_strerror','posix_times','posix_ttyname','posix_uname','pow',
+ 'preg_grep','preg_last_error','preg_match','preg_match_all',
+ 'preg_quote','preg_replace','preg_replace_callback','preg_split',
+ 'prev','print_r','printf','proc_close','proc_get_status',
+ 'proc_open','proc_terminate','putenv','quoted_printable_decode',
+ 'quotemeta','rad2deg','radius_acct_open','radius_add_server',
+ 'radius_auth_open','radius_close','radius_config',
+ 'radius_create_request','radius_cvt_addr','radius_cvt_int',
+ 'radius_cvt_string','radius_demangle','radius_demangle_mppe_key',
+ 'radius_get_attr','radius_get_vendor_attr','radius_put_addr',
+ 'radius_put_attr','radius_put_int','radius_put_string',
+ 'radius_put_vendor_addr','radius_put_vendor_attr',
+ 'radius_put_vendor_int','radius_put_vendor_string',
+ 'radius_request_authenticator','radius_send_request',
+ 'radius_server_secret','radius_strerror','rand','range',
+ 'rawurldecode','rawurlencode','read_exif_data','readdir','readfile',
+ 'readgzfile','readlink','realpath','reg_close_key','reg_create_key',
+ 'reg_enum_key','reg_enum_value','reg_get_value','reg_open_key',
+ 'reg_set_value','register_shutdown_function',
+ 'register_tick_function','rename','res_close','res_get','res_list',
+ 'res_list_type','res_open','res_set','reset',
+ 'restore_error_handler','restore_include_path','rewind','rewinddir',
+ 'rmdir','round','rsort','rtrim','runkit_class_adopt',
+ 'runkit_class_emancipate','runkit_constant_add',
+ 'runkit_constant_redefine','runkit_constant_remove',
+ 'runkit_default_property_add','runkit_function_add',
+ 'runkit_function_copy','runkit_function_redefine',
+ 'runkit_function_remove','runkit_function_rename','runkit_import',
+ 'runkit_lint','runkit_lint_file','runkit_method_add',
+ 'runkit_method_copy','runkit_method_redefine',
+ 'runkit_method_remove','runkit_method_rename','runkit_object_id',
+ 'runkit_return_value_used','runkit_sandbox_output_handler',
+ 'runkit_superglobals','runkit_zval_inspect','scandir','sem_acquire',
+ 'sem_get','sem_release','sem_remove','serialize',
+ 'session_cache_expire','session_cache_limiter','session_commit',
+ 'session_decode','session_destroy','session_encode',
+ 'session_get_cookie_params','session_id','session_is_registered',
+ 'session_module_name','session_name','session_regenerate_id',
+ 'session_register','session_save_path','session_set_cookie_params',
+ 'session_set_save_handler','session_start','session_unregister',
+ 'session_unset','session_write_close','set_content',
+ 'set_error_handler','set_file_buffer','set_include_path',
+ 'set_magic_quotes_runtime','set_socket_blocking','set_time_limit',
+ 'setcookie','setlocale','setrawcookie','settype','sha1','sha1_file',
+ 'shell_exec','shmop_close','shmop_delete','shmop_open','shmop_read',
+ 'shmop_size','shmop_write','shm_attach','shm_detach','shm_get_var',
+ 'shm_put_var','shm_remove','shm_remove_var','show_source','shuffle',
+ 'similar_text','simplexml_import_dom','simplexml_load_file',
+ 'simplexml_load_string','sin','sinh','sizeof','sleep','smtp_close',
+ 'smtp_cmd_data','smtp_cmd_mail','smtp_cmd_rcpt','smtp_connect',
+ 'snmp_get_quick_print','snmp_get_valueretrieval','snmp_read_mib',
+ 'snmp_set_quick_print','snmp_set_valueretrieval','snmp2_get',
+ 'snmp2_getnext','snmp2_real_walk','snmp2_set','snmp2_walk',
+ 'snmp3_get','snmp3_getnext','snmp3_real_walk','snmp3_set',
+ 'snmp3_walk','snmpget','snmpgetnext','snmprealwalk','snmpset',
+ 'snmpwalk','snmpwalkoid','socket_accept','socket_bind',
+ 'socket_clear_error','socket_close','socket_connect',
+ 'socket_create','socket_create_listen','socket_create_pair',
+ 'socket_getopt','socket_getpeername','socket_getsockname',
+ 'socket_get_option','socket_get_status','socket_iovec_add',
+ 'socket_iovec_alloc','socket_iovec_delete','socket_iovec_fetch',
+ 'socket_iovec_free','socket_iovec_set','socket_last_error',
+ 'socket_listen','socket_read','socket_readv','socket_recv',
+ 'socket_recvfrom','socket_recvmsg','socket_select','socket_send',
+ 'socket_sendmsg','socket_sendto','socket_setopt','socket_set_block',
+ 'socket_set_blocking','socket_set_nonblock','socket_set_option',
+ 'socket_set_timeout','socket_shutdown','socket_strerror',
+ 'socket_write','socket_writev','sort','soundex','spl_autoload',
+ 'spl_autoload_call','spl_autoload_extensions',
+ 'spl_autoload_functions','spl_autoload_register',
+ 'spl_autoload_unregister','spl_classes','spl_object_hash','split',
+ 'spliti','sprintf','sql_regcase','sqlite_array_query',
+ 'sqlite_busy_timeout','sqlite_changes','sqlite_close',
+ 'sqlite_column','sqlite_create_aggregate','sqlite_create_function',
+ 'sqlite_current','sqlite_error_string','sqlite_escape_string',
+ 'sqlite_exec','sqlite_factory','sqlite_fetch_all',
+ 'sqlite_fetch_array','sqlite_fetch_column_types',
+ 'sqlite_fetch_object','sqlite_fetch_single','sqlite_fetch_string',
+ 'sqlite_field_name','sqlite_has_more','sqlite_has_prev',
+ 'sqlite_last_error','sqlite_last_insert_rowid','sqlite_libencoding',
+ 'sqlite_libversion','sqlite_next','sqlite_num_fields',
+ 'sqlite_num_rows','sqlite_open','sqlite_popen','sqlite_prev',
+ 'sqlite_query','sqlite_rewind','sqlite_seek','sqlite_single_query',
+ 'sqlite_udf_decode_binary','sqlite_udf_encode_binary',
+ 'sqlite_unbuffered_query','sqlite_valid','sqrt','srand','sscanf',
+ 'ssh2_auth_hostbased_file','ssh2_auth_none','ssh2_auth_password',
+ 'ssh2_auth_pubkey_file','ssh2_connect','ssh2_exec',
+ 'ssh2_fetch_stream','ssh2_fingerprint','ssh2_forward_accept',
+ 'ssh2_forward_listen','ssh2_methods_negotiated','ssh2_poll',
+ 'ssh2_publickey_add','ssh2_publickey_init','ssh2_publickey_list',
+ 'ssh2_publickey_remove','ssh2_scp_recv','ssh2_scp_send','ssh2_sftp',
+ 'ssh2_sftp_lstat','ssh2_sftp_mkdir','ssh2_sftp_readlink',
+ 'ssh2_sftp_realpath','ssh2_sftp_rename','ssh2_sftp_rmdir',
+ 'ssh2_sftp_stat','ssh2_sftp_symlink','ssh2_sftp_unlink',
+ 'ssh2_shell','ssh2_tunnel','stat','stats_absolute_deviation',
+ 'stats_cdf_beta','stats_cdf_binomial','stats_cdf_cauchy',
+ 'stats_cdf_chisquare','stats_cdf_exponential','stats_cdf_f',
+ 'stats_cdf_gamma','stats_cdf_laplace','stats_cdf_logistic',
+ 'stats_cdf_negative_binomial','stats_cdf_noncentral_chisquare',
+ 'stats_cdf_noncentral_f','stats_cdf_noncentral_t',
+ 'stats_cdf_normal','stats_cdf_poisson','stats_cdf_t',
+ 'stats_cdf_uniform','stats_cdf_weibull','stats_covariance',
+ 'stats_dens_beta','stats_dens_cauchy','stats_dens_chisquare',
+ 'stats_dens_exponential','stats_dens_f','stats_dens_gamma',
+ 'stats_dens_laplace','stats_dens_logistic','stats_dens_normal',
+ 'stats_dens_pmf_binomial','stats_dens_pmf_hypergeometric',
+ 'stats_dens_pmf_negative_binomial','stats_dens_pmf_poisson',
+ 'stats_dens_t','stats_dens_uniform','stats_dens_weibull',
+ 'stats_harmonic_mean','stats_kurtosis','stats_rand_gen_beta',
+ 'stats_rand_gen_chisquare','stats_rand_gen_exponential',
+ 'stats_rand_gen_f','stats_rand_gen_funiform','stats_rand_gen_gamma',
+ 'stats_rand_gen_ipoisson','stats_rand_gen_iuniform',
+ 'stats_rand_gen_noncenral_f','stats_rand_gen_noncentral_chisquare',
+ 'stats_rand_gen_noncentral_t','stats_rand_gen_normal',
+ 'stats_rand_gen_t','stats_rand_getsd','stats_rand_ibinomial',
+ 'stats_rand_ibinomial_negative','stats_rand_ignlgi',
+ 'stats_rand_phrase_to_seeds','stats_rand_ranf','stats_rand_setall',
+ 'stats_skew','stats_standard_deviation','stats_stat_binomial_coef',
+ 'stats_stat_correlation','stats_stat_factorial',
+ 'stats_stat_independent_t','stats_stat_innerproduct',
+ 'stats_stat_paired_t','stats_stat_percentile','stats_stat_powersum',
+ 'stats_variance','strcasecmp','strchr','strcmp','strcoll','strcspn',
+ 'stream_bucket_append','stream_bucket_make_writeable',
+ 'stream_bucket_new','stream_bucket_prepend','stream_context_create',
+ 'stream_context_get_default','stream_context_get_options',
+ 'stream_context_set_default','stream_context_set_option',
+ 'stream_context_set_params','stream_copy_to_stream',
+ 'stream_encoding','stream_filter_append','stream_filter_prepend',
+ 'stream_filter_register','stream_filter_remove',
+ 'stream_get_contents','stream_get_filters','stream_get_line',
+ 'stream_get_meta_data','stream_get_transports',
+ 'stream_get_wrappers','stream_is_local',
+ 'stream_notification_callback','stream_register_wrapper',
+ 'stream_resolve_include_path','stream_select','stream_set_blocking',
+ 'stream_set_timeout','stream_set_write_buffer',
+ 'stream_socket_accept','stream_socket_client',
+ 'stream_socket_enable_crypto','stream_socket_get_name',
+ 'stream_socket_pair','stream_socket_recvfrom',
+ 'stream_socket_sendto','stream_socket_server',
+ 'stream_socket_shutdown','stream_supports_lock',
+ 'stream_wrapper_register','stream_wrapper_restore',
+ 'stream_wrapper_unregister','strftime','stripcslashes','stripos',
+ 'stripslashes','strip_tags','stristr','strlen','strnatcasecmp',
+ 'strnatcmp','strpbrk','strncasecmp','strncmp','strpos','strrchr',
+ 'strrev','strripos','strrpos','strspn','strstr','strtok',
+ 'strtolower','strtotime','strtoupper','strtr','strval',
+ 'str_ireplace','str_pad','str_repeat','str_replace','str_rot13',
+ 'str_split','str_shuffle','str_word_count','substr',
+ 'substr_compare','substr_count','substr_replace','svn_add',
+ 'svn_auth_get_parameter','svn_auth_set_parameter','svn_cat',
+ 'svn_checkout','svn_cleanup','svn_client_version','svn_commit',
+ 'svn_diff','svn_export','svn_fs_abort_txn','svn_fs_apply_text',
+ 'svn_fs_begin_txn2','svn_fs_change_node_prop','svn_fs_check_path',
+ 'svn_fs_contents_changed','svn_fs_copy','svn_fs_delete',
+ 'svn_fs_dir_entries','svn_fs_file_contents','svn_fs_file_length',
+ 'svn_fs_is_dir','svn_fs_is_file','svn_fs_make_dir',
+ 'svn_fs_make_file','svn_fs_node_created_rev','svn_fs_node_prop',
+ 'svn_fs_props_changed','svn_fs_revision_prop',
+ 'svn_fs_revision_root','svn_fs_txn_root','svn_fs_youngest_rev',
+ 'svn_import','svn_info','svn_log','svn_ls','svn_repos_create',
+ 'svn_repos_fs','svn_repos_fs_begin_txn_for_commit',
+ 'svn_repos_fs_commit_txn','svn_repos_hotcopy','svn_repos_open',
+ 'svn_repos_recover','svn_status','svn_update','symlink',
+ 'sys_get_temp_dir','syslog','system','tan','tanh','tempnam',
+ 'textdomain','thread_get','thread_include','thread_lock',
+ 'thread_lock_try','thread_mutex_destroy','thread_mutex_init',
+ 'thread_set','thread_start','thread_unlock','tidy_access_count',
+ 'tidy_clean_repair','tidy_config_count','tidy_diagnose',
+ 'tidy_error_count','tidy_get_body','tidy_get_config',
+ 'tidy_get_error_buffer','tidy_get_head','tidy_get_html',
+ 'tidy_get_html_ver','tidy_get_output','tidy_get_release',
+ 'tidy_get_root','tidy_get_status','tidy_getopt','tidy_is_xhtml',
+ 'tidy_is_xml','tidy_parse_file','tidy_parse_string',
+ 'tidy_repair_file','tidy_repair_string','tidy_warning_count','time',
+ 'timezone_abbreviations_list','timezone_identifiers_list',
+ 'timezone_name_from_abbr','timezone_name_get','timezone_offset_get',
+ 'timezone_open','timezone_transitions_get','tmpfile',
+ 'token_get_all','token_name','touch','trigger_error',
+ 'transliterate','transliterate_filters_get','trim','uasort',
+ 'ucfirst','ucwords','uksort','umask','uniqid','unixtojd','unlink',
+ 'unpack','unregister_tick_function','unserialize','unset',
+ 'urldecode','urlencode','user_error','use_soap_error_handler',
+ 'usleep','usort','utf8_decode','utf8_encode','var_dump',
+ 'var_export','variant_abs','variant_add','variant_and',
+ 'variant_cast','variant_cat','variant_cmp',
+ 'variant_date_from_timestamp','variant_date_to_timestamp',
+ 'variant_div','variant_eqv','variant_fix','variant_get_type',
+ 'variant_idiv','variant_imp','variant_int','variant_mod',
+ 'variant_mul','variant_neg','variant_not','variant_or',
+ 'variant_pow','variant_round','variant_set','variant_set_type',
+ 'variant_sub','variant_xor','version_compare','virtual','vfprintf',
+ 'vprintf','vsprintf','wddx_add_vars','wddx_deserialize',
+ 'wddx_packet_end','wddx_packet_start','wddx_serialize_value',
+ 'wddx_serialize_vars','win_beep','win_browse_file',
+ 'win_browse_folder','win_create_link','win_message_box',
+ 'win_play_wav','win_shell_execute','win32_create_service',
+ 'win32_delete_service','win32_get_last_control_message',
+ 'win32_ps_list_procs','win32_ps_stat_mem','win32_ps_stat_proc',
+ 'win32_query_service_status','win32_scheduler_delete_task',
+ 'win32_scheduler_enum_tasks','win32_scheduler_get_task_info',
+ 'win32_scheduler_run','win32_scheduler_set_task_info',
+ 'win32_set_service_status','win32_start_service',
+ 'win32_start_service_ctrl_dispatcher','win32_stop_service',
+ 'wordwrap','xml_error_string','xml_get_current_byte_index',
+ 'xml_get_current_column_number','xml_get_current_line_number',
+ 'xml_get_error_code','xml_parse','xml_parser_create',
+ 'xml_parser_create_ns','xml_parser_free','xml_parser_get_option',
+ 'xml_parser_set_option','xml_parse_into_struct',
+ 'xml_set_character_data_handler','xml_set_default_handler',
+ 'xml_set_element_handler','xml_set_end_namespace_decl_handler',
+ 'xml_set_external_entity_ref_handler',
+ 'xml_set_notation_decl_handler','xml_set_object',
+ 'xml_set_processing_instruction_handler',
+ 'xml_set_start_namespace_decl_handler',
+ 'xml_set_unparsed_entity_decl_handler','xmldoc','xmldocfile',
+ 'xmlrpc_decode','xmlrpc_decode_request','xmlrpc_encode',
+ 'xmlrpc_encode_request','xmlrpc_get_type','xmlrpc_is_fault',
+ 'xmlrpc_parse_method_descriptions',
+ 'xmlrpc_server_add_introspection_data','xmlrpc_server_call_method',
+ 'xmlrpc_server_create','xmlrpc_server_destroy',
+ 'xmlrpc_server_register_introspection_callback',
+ 'xmlrpc_server_register_method','xmlrpc_set_type','xmltree',
+ 'xmlwriter_end_attribute','xmlwriter_end_cdata',
+ 'xmlwriter_end_comment','xmlwriter_end_document',
+ 'xmlwriter_end_dtd','xmlwriter_end_dtd_attlist',
+ 'xmlwriter_end_dtd_element','xmlwriter_end_dtd_entity',
+ 'xmlwriter_end_element','xmlwriter_end_pi','xmlwriter_flush',
+ 'xmlwriter_full_end_element','xmlwriter_open_memory',
+ 'xmlwriter_open_uri','xmlwriter_output_memory',
+ 'xmlwriter_set_indent','xmlwriter_set_indent_string',
+ 'xmlwriter_start_attribute','xmlwriter_start_attribute_ns',
+ 'xmlwriter_start_cdata','xmlwriter_start_comment',
+ 'xmlwriter_start_document','xmlwriter_start_dtd',
+ 'xmlwriter_start_dtd_attlist','xmlwriter_start_dtd_element',
+ 'xmlwriter_start_dtd_entity','xmlwriter_start_element',
+ 'xmlwriter_start_element_ns','xmlwriter_start_pi','xmlwriter_text',
+ 'xmlwriter_write_attribute','xmlwriter_write_attribute_ns',
+ 'xmlwriter_write_cdata','xmlwriter_write_comment',
+ 'xmlwriter_write_dtd','xmlwriter_write_dtd_attlist',
+ 'xmlwriter_write_dtd_element','xmlwriter_write_dtd_entity',
+ 'xmlwriter_write_element','xmlwriter_write_element_ns',
+ 'xmlwriter_write_pi','xmlwriter_write_raw','xpath_eval',
+ 'xpath_eval_expression','xpath_new_context','xpath_register_ns',
+ 'xpath_register_ns_auto','xptr_eval','xptr_new_context','yp_all',
+ 'yp_cat','yp_errno','yp_err_string','yp_first',
+ 'yp_get_default_domain','yp_master','yp_match','yp_next','yp_order',
+ 'zend_current_obfuscation_level','zend_get_cfg_var','zend_get_id',
+ 'zend_loader_current_file','zend_loader_enabled',
+ 'zend_loader_file_encoded','zend_loader_file_licensed',
+ 'zend_loader_install_license','zend_loader_version',
+ 'zend_logo_guid','zend_match_hostmasks','zend_obfuscate_class_name',
+ 'zend_obfuscate_function_name','zend_optimizer_version',
+ 'zend_runtime_obfuscate','zend_version','zip_close',
+ 'zip_entry_close','zip_entry_compressedsize',
+ 'zip_entry_compressionmethod','zip_entry_filesize','zip_entry_name',
+ 'zip_entry_open','zip_entry_read','zip_open','zip_read',
+ 'zlib_get_coding_type'
+ ),
+ 4 => array(
+ 'DEFAULT_INCLUDE_PATH', 'DIRECTORY_SEPARATOR', 'E_ALL',
+ 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_CORE_ERROR',
+ 'E_CORE_WARNING', 'E_ERROR', 'E_NOTICE', 'E_PARSE', 'E_STRICT',
+ 'E_USER_ERROR', 'E_USER_NOTICE', 'E_USER_WARNING', 'E_WARNING',
+ 'ENT_COMPAT','ENT_QUOTES','ENT_NOQUOTES',
+ 'false', 'null', 'PEAR_EXTENSION_DIR', 'PEAR_INSTALL_DIR',
+ 'PHP_BINDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_DATADIR',
+ 'PHP_EXTENSION_DIR', 'PHP_LIBDIR',
+ 'PHP_LOCALSTATEDIR', 'PHP_OS',
+ 'PHP_OUTPUT_HANDLER_CONT', 'PHP_OUTPUT_HANDLER_END',
+ 'PHP_OUTPUT_HANDLER_START', 'PHP_SYSCONFDIR',
+ 'PHP_VERSION', 'true', '__CLASS__', '__FILE__', '__FUNCTION__',
+ '__LINE__', '__METHOD__'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 1 => array(
+ '<'.'%', '<'.'%=', '%'.'>', '<'.'?', '<'.'?=', '?'.'>'
+ ),
+ 0 => array(
+ '(', ')', '[', ']', '{', '}',
+ '!', '@', '%', '&', '|', '/',
+ '<', '>',
+ '=', '-', '+', '*',
+ '.', ':', ',', ';'
+ )
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #990000;',
+ 4 => 'color: #009900; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #666666; font-style: italic;',
+ 3 => 'color: #0000cc; font-style: italic;',
+ 4 => 'color: #009933; 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;',
+ 1 => 'color: #000000; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #000088;'
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.php.net/{FNAMEL}',
+ 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '-&gt;',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ //Variables
+ 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => array(
+ '<'.'?php' => '?'.'>'
+ ),
+ 1 => array(
+ '<'.'?' => '?'.'>'
+ ),
+ 2 => array(
+ '<'.'%' => '%'.'>'
+ ),
+ 3 => array(
+ '<script language="php">' => '</script>'
+ ),
+ 4 => "/(?P<start><\\?(?>php\b)?)(?:".
+ "(?>[^\"'?\\/<]+)|".
+ "\\?(?!>)|".
+ "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".
+ "(?>\"(?>[^\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
+ "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".
+ "\\/\\/(?>.*?$)|".
+ "\\/(?=[^*\\/])|".
+ "<(?!<<)|".
+ "<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>".
+ ")*(?P<end>\\?>|\Z)/sm",
+ 5 => "/(?P<start><%)(?:".
+ "(?>[^\"'%\\/<]+)|".
+ "%(?!>)|".
+ "(?>'(?>[^'\\\\]|\\\\'|\\\\\\\|\\\\)*')|".
+ "(?>\"(?>[^\\\"\\\\]|\\\\\"|\\\\\\\\|\\\\)*\")|".
+ "(?>\\/\\*(?>[^\\*]|(?!\\*\\/)\\*)*\\*\\/)|".
+ "\\/\\/(?>.*?$)|".
+ "\\/(?=[^*\\/])|".
+ "<(?!<<)|".
+ "<<<(?P<phpdoc>\w+)\s.*?\s\k<phpdoc>".
+ ")*(?P<end>%>)/sm",
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/pic16.php b/application/libraries/geshi/pic16.php
new file mode 100644
index 000000000..88d4a6745
--- /dev/null
+++ b/application/libraries/geshi/pic16.php
@@ -0,0 +1,141 @@
+<?php
+/*************************************************************************************
+ * pic16.php
+ * -------
+ * Author: Phil Mattison (mattison@ohmikron.com)
+ * Copyright: (c) 2008 Ohmikron Corp. (http://www.ohmikron.com/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/07/30
+ *
+ * PIC16 Assembler language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/30 (1.0.8)
+ * - First Release
+ *
+ * TODO (updated 2008/07/30)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'PIC16',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ /*Instructions*/
+ 1 => array(
+ 'addcf','adddcf','addlw','addwf','andlw','andwf','bc','bcf','bdc',
+ 'bnc','bndc','bnz','bsf','btfsc','btfss','bz','call','clrc','clrdc',
+ 'clrf','clrw','clrwdt','clrz','comf','decf','goto','incf','incfsz',
+ 'iorlw','iorwf','lcall','lgoto','movf','movfw','movlw','movwf',
+ 'option','negf','nop','retfie','retlw','return','rlf','rrf','setc',
+ 'setdc','setz','skpc','skpdc','skpnc','skpndc','skpnz','skpz',
+ 'sleep','subcf','subdcf','sublw','subwf','swapf','tris','tstf',
+ 'xorlw','xorwf'
+ ),
+ /*Registers*/
+ 2 => array(
+ 'INDF','TMR0','OPTION','PCL','STATUS','FSR','PORTA','PORTB','PORTC',
+ 'PORTD','PORTE','PORTF','TRISA','TRISB','TRISC','TRISD','TRISE',
+ 'TRISF','PCLATH','INTCON','PIR1','PIE1','PCON','CMCON','VRCON',
+ 'F','W'
+ ),
+ /*Directives*/
+ 3 => array(
+ '_BADRAM','BANKISEL','BANKSEL','CBLOCK','CODE','_CONFIG','CONSTANT',
+ 'DA','DATA','DB','DE','#DEFINE','DT','DW','ELSE','END','ENDC',
+ 'ENDIF','ENDM','ENDW','EQU','ERROR','ERRORLEVEL','EXITM','EXPAND',
+ 'EXTERN','FILL','GLOBAL','IDATA','_IDLOCS','IF','IFDEF','IFNDEF',
+ 'INCLUDE','#INCLUDE','LIST','LOCAL','MACRO','_MAXRAM','MESSG',
+ 'NOEXPAND','NOLIST','ORG','PAGE','PAGESEL','PROCESSOR','RADIX',
+ 'RES','SET','SPACE','SUBTITLE','TITLE','UDATA','UDATA_ACS',
+ 'UDATA_OVR','UDATA_SHR','#UNDEFINE','VARIABLE','WHILE',
+ 'D','H','O','B','A'
+ ),
+ ),
+ 'SYMBOLS' => array('=','.',',',':'),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000a0; font-weight: bold;',
+ 2 => 'color: #aa3300; font-weight: bold;',
+ 3 => 'color: #0000ff;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #00a000;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff7700;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #ff7700;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #7777ff;'
+ ),
+ 'REGEXPS' => array(),
+ 'SCRIPT' => array()
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC |
+ GESHI_NUMBER_BIN_SUFFIX |
+ GESHI_NUMBER_HEX_PREFIX |
+ GESHI_NUMBER_HEX_SUFFIX,
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "a-zA-Z0-9\$_\|\#>|^",
+ 'DISALLOWED_AFTER' => "a-zA-Z0-9_<\|%"
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/pike.php b/application/libraries/geshi/pike.php
new file mode 100644
index 000000000..e67975fe2
--- /dev/null
+++ b/application/libraries/geshi/pike.php
@@ -0,0 +1,103 @@
+<?php
+/*************************************************************************************
+ * pike.php
+ * --------
+ * Author: Rick E. (codeblock@eighthbit.net)
+ * Copyright: (c) 2009 Rick E.
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/12/10
+ *
+ * Pike language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/12/25 (1.0.8.6)
+ * - First Release
+ *
+ * TODO (updated 2009/12/25)
+ * -------------------------
+ *
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Pike',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'goto', 'break', 'continue', 'return', 'case', 'default', 'if',
+ 'else', 'switch', 'while', 'foreach', 'do', 'for', 'gauge',
+ 'destruct', 'lambda', 'inherit', 'import', 'typeof', 'catch',
+ 'inline', 'nomask', 'private', 'protected', 'public', 'static'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 1 => array(
+ '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '%', '=', '!', '&', '|', '?', ';'
+ )
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => '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 => ''),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(1 => '.'),
+ 'REGEXPS' => array(),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
diff --git a/application/libraries/geshi/pixelbender.php b/application/libraries/geshi/pixelbender.php
new file mode 100644
index 000000000..d19754f3e
--- /dev/null
+++ b/application/libraries/geshi/pixelbender.php
@@ -0,0 +1,176 @@
+<?php
+/*************************************************************************************
+ * pixelbender.php
+ * ----------------
+ * Author: Richard Olsson (r@richardolsson.se)
+ * Copyright: (c) 2008 Richard Olsson (richardolsson.se)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/11/16
+ *
+ * Pixel Bender 1.0 language file for GeSHi.
+ *
+ *
+ * Please feel free to modify this file, although I would greatly appreciate
+ * it if you would then send some feedback on why the file needed to be
+ * changed, using the e-mail address above.
+ *
+ *
+ * The colors are inspired by those used in the Pixel Bender Toolkit, with
+ * some slight modifications.
+ *
+ * For more info on Pixel Bender, see the Adobe Labs Wiki article at
+ * http://labs.adobe.com/wiki/index.php/Pixel_Bender_Toolkit.
+ *
+ * Keyword groups are defined as follows (groups marked with an asterisk
+ * inherit their names from terminology used in the language specification
+ * included with the Pixel Bender Toolkit, see URL above.)
+ *
+ * 1. languageVersion & kernel keywords
+ * 2. Kernel Members *
+ * 3. Types *
+ * 4. Statements * & qualifiers (in, out, inout)
+ * 5. Built-in functions *
+ * 6. Meta-data names
+ * 7. Preprocessor & Pre-defined symbols *
+ *
+ *
+ * CHANGES
+ * -------
+ * 2008/11/16 (1.0.8.2)
+ * - Initial release
+ *
+ * TODO (updated 2008/11/16)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Pixel Bender 1.0',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'languageVersion', 'kernel'
+ ),
+ 2 => array(
+ 'import', 'parameter', 'dependent', 'const', 'input', 'output',
+ 'evaluatePixel', 'evaluateDependents', 'needed', 'changed', 'generated'
+ ),
+ 3 => array(
+ 'bool', 'bool2', 'bool3', 'bool4', 'int', 'int2', 'int3', 'int4',
+ 'float', 'float2', 'float3', 'float4', 'float2x2', 'float3x3', 'float4x4',
+ 'pixel2', 'pixel3', 'pixel4', 'region', 'image1', 'image2', 'image3', 'image4',
+ 'imageRef', 'void'
+ ),
+ 4 => array(
+ 'in', 'out', 'inout', 'if', 'else', 'for', 'while', 'do', 'break',
+ 'continue', 'return'
+ ),
+ 5 => array(
+ 'radians', 'degrees', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'pow',
+ 'exp', 'exp2', 'log', 'log2', 'sqrt', 'inverseSqrt', 'abs', 'sign', 'floor',
+ 'ceil', 'fract', 'mod', 'min', 'max', 'step', 'clamp', 'mix', 'smoothStep',
+ 'length', 'distance', 'dot', 'cross', 'normalize', 'matrixCompMult', 'lessThan',
+ 'lessThanEqual', 'greaterThan', 'greaterThanEqual', 'equal', 'notEqual', 'any',
+ 'all', 'not', 'nowhere', 'everywhere', 'transform', 'union', 'intersect',
+ 'outset', 'inset', 'bounds', 'isEmpty', 'sample', 'sampleLinear', 'sampleNearest',
+ 'outCoord', 'dod', 'pixelSize', 'pixelAspectRatio'
+ ),
+ 6 => array(
+ 'namespace', 'vendor', 'version', 'minValue', 'maxValue', 'defaultValue', 'description'
+ ),
+ 7 => array(
+ '#if', '#endif', '#ifdef', '#elif', 'defined', '#define',
+ 'AIF_ATI', 'AIF_NVIDIA', 'AIF_FLASH_TARGET'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '!', '%', '&', '|', '+', '-', '*', '/', '=', '<', '>', '?', ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true,
+ 6 => true,
+ 7 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0033ff;',
+ 2 => 'color: #0033ff; font-weight: bold;',
+ 3 => 'color: #0033ff;',
+ 4 => 'color: #9900cc; font-weight: bold;',
+ 5 => 'color: #333333;',
+ 6 => 'color: #666666;',
+ 7 => 'color: #990000;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #009900;',
+ 'MULTI' => 'color: #3f5fbf;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #990000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000000; font-weight:bold;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #000000;',
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array('.'),
+ 'REGEXPS' => array(),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+
+?>
diff --git a/application/libraries/geshi/plsql.php b/application/libraries/geshi/plsql.php
new file mode 100644
index 000000000..0779ca04f
--- /dev/null
+++ b/application/libraries/geshi/plsql.php
@@ -0,0 +1,256 @@
+<?php
+/*************************************************************************************
+ * plsql.php
+ * -------
+ * Author: Victor Engmark <victor.engmark@gmail.com>
+ * Copyright: (c) 2006 Victor Engmark (http://l0b0.net/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/10/26
+ *
+ * Oracle 9.2 PL/SQL language file for GeSHi.
+ * Formatting is based on the default setup of TOAD 8.6.
+ *
+ * CHANGES
+ * -------
+ * 2006/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2006/10/27)
+ * -------------------------
+ * * Add < and > to brackets
+ * * Remove symbols which are also comment delimiters / quote marks?
+ *
+ *************************************************************************************
+ *
+ * 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' => 'PL/SQL',
+ 'COMMENT_SINGLE' => array(1 =>'--'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2930
+ 'COMMENT_MULTI' => array('/*' => '*/'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2950
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array("'", '"'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ //PL/SQL reserved keywords (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/f_words.htm#LNPLS019)
+ 1 => array('ZONE', 'YEAR', 'WRITE', 'WORK', 'WITH', 'WHILE', 'WHERE',
+ 'WHENEVER', 'WHEN', 'VIEW', 'VARCHAR2', 'VARCHAR', 'VALUES',
+ 'VALIDATE', 'USE', 'UPDATE', 'UNIQUE', 'UNION', 'TYPE', 'TRUE',
+ 'TRIGGER', 'TO', 'TIMEZONE_REGION', 'TIMEZONE_MINUTE', 'TIMEZONE_HOUR',
+ 'TIMEZONE_ABBR', 'TIMESTAMP', 'TIME', 'THEN', 'TABLE', 'SYNONYM',
+ 'SUCCESSFUL', 'SUBTYPE', 'START', 'SQLERRM', 'SQLCODE', 'SQL', 'SPACE',
+ 'SMALLINT', 'SHARE', 'SET', 'SEPARATE', 'SELECT', 'SECOND',
+ 'SAVEPOINT', 'ROWTYPE', 'ROWNUM', 'ROWID', 'ROW', 'ROLLBACK',
+ 'REVERSE', 'RETURN', 'RELEASE', 'RECORD', 'REAL', 'RAW', 'RANGE',
+ 'RAISE', 'PUBLIC', 'PROCEDURE', 'PRIVATE', 'PRIOR', 'PRAGMA',
+ 'POSITIVEN', 'POSITIVE', 'PLS_INTEGER', 'PCTFREE', 'PARTITION',
+ 'PACKAGE', 'OUT', 'OTHERS', 'ORGANIZATION', 'ORDER', 'OR', 'OPTION',
+ 'OPERATOR', 'OPEN', 'OPAQUE', 'ON', 'OF', 'OCIROWID', 'NUMBER_BASE',
+ 'NUMBER', 'NULL', 'NOWAIT', 'NOT', 'NOCOPY', 'NEXTVAL', 'NEW',
+ 'NATURALN', 'NATURAL', 'MONTH', 'MODE', 'MLSLABEL', 'MINUTE', 'MINUS',
+ 'LOOP', 'LONG', 'LOCK', 'LIMITED', 'LIKE', 'LEVEL', 'JAVA',
+ 'ISOLATION', 'IS', 'INTO', 'INTERVAL', 'INTERSECT', 'INTERFACE',
+ 'INTEGER', 'INSERT', 'INDICATOR', 'INDEX', 'IN', 'IMMEDIATE', 'IF',
+ 'HOUR', 'HEAP', 'HAVING', 'GROUP', 'GOTO', 'FUNCTION', 'FROM',
+ 'FORALL', 'FOR', 'FLOAT', 'FETCH', 'FALSE', 'EXTENDS', 'EXIT',
+ 'EXISTS', 'EXECUTE', 'EXCLUSIVE', 'EXCEPTION', 'END', 'ELSIF', 'ELSE',
+ 'DROP', 'DO', 'DISTINCT', 'DESC', 'DELETE', 'DEFAULT', 'DECLARE',
+ 'DECIMAL', 'DAY', 'DATE', 'CURSOR', 'CURRVAL', 'CURRENT', 'CREATE',
+ 'CONSTANT', 'CONNECT', 'COMPRESS', 'COMMIT', 'COMMENT', 'COLLECT',
+ 'CLUSTER', 'CLOSE', 'CHECK', 'CHAR_BASE', 'CHAR', 'CASE', 'BY', 'BULK',
+ 'BOOLEAN', 'BODY', 'BINARY_INTEGER', 'BETWEEN', 'BEGIN', 'AUTHID',
+ 'AT', 'ASC', 'AS', 'ARRAY', 'ANY', 'AND', 'ALTER', 'ALL'),
+ //SQL functions (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/toc.htm & http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/functions101a.htm#85925)
+ 2 => array('XMLTRANSFORM', 'XMLSEQUENCE', 'XMLFOREST', 'XMLELEMENT',
+ 'XMLCONCAT', 'XMLCOLATTVAL', 'XMLAGG', 'WIDTH_BUCKET', 'VSIZE',
+ 'VARIANCE', 'VAR_SAMP', 'VAR_POP', 'VALUE', 'USERENV', 'USER', 'UPPER',
+ 'UPDATEXML', 'UNISTR', 'UID', 'TZ_OFFSET', 'TRUNC', 'TRIM', 'TREAT',
+ 'TRANSLATE', 'TO_YMINTERVAL', 'TO_TIMESTAMP_TZ', 'TO_TIMESTAMP',
+ 'TO_SINGLE_BYTE', 'TO_NUMBER', 'TO_NCLOB', 'TO_NCHAR', 'TO_MULTI_BYTE',
+ 'TO_LOB', 'TO_DSINTERVAL', 'TO_DATE', 'TO_CLOB', 'TO_CHAR', 'TANH',
+ 'TAN', 'SYSTIMESTAMP', 'SYSDATE', 'SYS_XMLGEN', 'SYS_XMLAGG',
+ 'SYS_TYPEID', 'SYS_GUID', 'SYS_EXTRACT_UTC', 'SYS_DBURIGEN',
+ 'SYS_CONTEXT', 'SYS_CONNECT_BY_PATH', 'SUM', 'SUBSTR', 'STDDEV_SAMP',
+ 'STDDEV_POP', 'STDDEV', 'SQRT', 'SOUNDEX', 'SINH', 'SIN', 'SIGN',
+ 'SESSIONTIMEZONE', 'RTRIM', 'RPAD', 'ROWIDTONCHAR', 'ROWIDTOCHAR',
+ 'ROW_NUMBER', 'ROUND', 'REPLACE', 'REGR_SYY', 'REGR_SXY', 'REGR_SXX',
+ 'REGR_SLOPE', 'REGR_R2', 'REGR_INTERCEPT', 'REGR_COUNT', 'REGR_AVGY',
+ 'REGR_AVGX', 'REFTOHEX', 'REF', 'RAWTONHEX', 'RAWTOHEX',
+ 'RATIO_TO_REPORT', 'RANK', 'POWER', 'PERCENTILE_DISC',
+ 'PERCENTILE_CONT', 'PERCENT_RANK', 'PATH', 'NVL2', 'NVL',
+ 'NUMTOYMINTERVAL', 'NUMTODSINTERVAL', 'NULLIF', 'NTILE', 'NLSSORT',
+ 'NLS_UPPER', 'NLS_LOWER', 'NLS_INITCAP', 'NLS_CHARSET_NAME',
+ 'NLS_CHARSET_ID', 'NLS_CHARSET_DECL_LEN', 'NEXT_DAY', 'NEW_TIME',
+ 'NCHR', 'MONTHS_BETWEEN', 'MOD', 'MIN', 'MAX', 'MAKE_REF', 'LTRIM',
+ 'LPAD', 'LOWER', 'LOG', 'LOCALTIMESTAMP', 'LN', 'LENGTH', 'LEAST',
+ 'LEAD', 'LAST_VALUE', 'LAST_DAY', 'LAST', 'LAG', 'INSTR', 'INITCAP',
+ 'HEXTORAW', 'GROUPING_ID', 'GROUPING', 'GROUP_ID', 'GREATEST',
+ 'FROM_TZ', 'FLOOR', 'FIRST_VALUE', 'FIRST', 'EXTRACTVALUE', 'EXTRACT',
+ 'EXP', 'EXISTSNODE', 'EMPTY_CLOB', 'EMPTY_BLOB', 'DUMP', 'DEREF',
+ 'DEPTH', 'DENSE_RANK', 'DECOMPOSE', 'DECODE', 'DBTIMEZONE',
+ 'CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CUME_DIST', 'COVAR_SAMP',
+ 'COVAR_POP', 'COUNT', 'COSH', 'COS', 'CORR', 'CONVERT', 'CONCAT',
+ 'COMPOSE', 'COALESCE', 'CHR', 'CHARTOROWID', 'CEIL', 'CAST', 'BITAND',
+ 'BIN_TO_NUM', 'BFILENAME', 'AVG', 'ATAN2', 'ATAN', 'ASIN', 'ASCIISTR',
+ 'ASCII', 'ADD_MONTHS', 'ACOS', 'ABS'),
+ //PL/SQL packages (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/intro2.htm#1025672)
+ 3 => array('UTL_URL', 'UTL_TCP', 'UTL_SMTP', 'UTL_REF', 'UTL_RAW',
+ 'UTL_PG', 'UTL_INADDR', 'UTL_HTTP', 'UTL_FILE', 'UTL_ENCODE',
+ 'UTL_COLL', 'SDO_UTIL', 'SDO_TUNE', 'SDO_MIGRATE', 'SDO_LRS',
+ 'SDO_GEOM', 'SDO_CS', 'DMBS_XMLQUERY', 'DMBS_FLASHBACK',
+ 'DMBS_DEFER_SYS', 'DEBUG_EXTPROC', 'DBMS_XSLPROCESSOR', 'DBMS_XPLAN',
+ 'DBMS_XMLSCHEMA', 'DBMS_XMLSAVE', 'DBMS_XMLPARSER', 'DBMS_XMLGEN',
+ 'DBMS_XMLDOM', 'DBMS_XDBT', 'DBMS_XDB_VERSION', 'DBMS_XDB', 'DBMS_WM',
+ 'DBMS_UTILITY', 'DBMS_TYPES', 'DBMS_TTS', 'DBMS_TRANSFORM',
+ 'DBMS_TRANSACTION', 'DBMS_TRACE', 'DBMS_STRM_A', 'DBMS_STRM',
+ 'DBMS_STORAGE_MAP', 'DBMS_STATS', 'DBMS_SQL', 'DBMS_SPACE_ADMIN',
+ 'DBMS_SPACE', 'DBMS_SHARED_POOL', 'DBMS_SESSION', 'DBMS_RULE_ADM',
+ 'DBMS_RULE', 'DBMS_ROWID', 'DBMS_RLS', 'DBMS_RESUMABLE',
+ 'DBMS_RESOURCE_MANAGER_PRIVS', 'DBMS_RESOURCE_MANAGER', 'DBMS_REPUTIL',
+ 'DBMS_REPCAT_RGT', 'DBMS_REPCAT_INSTATIATE', 'DBMS_REPCAT_ADMIN',
+ 'DBMS_REPCAT', 'DBMS_REPAIR', 'DBMS_REFRESH', 'DBMS_REDEFINITION',
+ 'DBMS_RECTIFIER_DIFF', 'DBMS_RANDOM', 'DBMS_PROPAGATION_ADM',
+ 'DBMS_PROFILER', 'DBMS_PIPE', 'DBMS_PCLXUTIL', 'DBMS_OUTPUT',
+ 'DBMS_OUTLN_EDIT', 'DBMS_OUTLN', 'DBMS_ORACLE_TRACE_USER',
+ 'DBMS_ORACLE_TRACE_AGENT', 'DBMS_OLAP', 'DBMS_OFFLINE_SNAPSHOT',
+ 'DBMS_OFFLINE_OG', 'DBMS_ODCI', 'DBMS_OBFUSCATION_TOOLKIT',
+ 'DBMS_MVIEW', 'DBMS_MGWMSG', 'DBMS_MGWADM', 'DBMS_METADATA',
+ 'DBMS_LOGSTDBY', 'DBMS_LOGMNR_D', 'DBMS_LOGMNR_CDC_SUBSCRIBE',
+ 'DBMS_LOGMNR_CDC_PUBLISH', 'DBMS_LOGMNR', 'DBMS_LOCK', 'DBMS_LOB',
+ 'DBMS_LIBCACHE', 'DBMS_LDAP', 'DBMS_JOB', 'DBMS_IOT',
+ 'DBMS_HS_PASSTHROUGH', 'DBMS_FGA', 'DBMS_DISTRIBUTED_TRUST_ADMIN',
+ 'DBMS_DESCRIBE', 'DBMS_DEFER_QUERY', 'DBMS_DEFER', 'DBMS_DEBUG',
+ 'DBMS_DDL', 'DBMS_CAPTURE_ADM', 'DBMS_AW', 'DBMS_AQELM', 'DBMS_AQADM',
+ 'DBMS_AQ', 'DBMS_APPLY_ADM', 'DBMS_APPLICATION_INFO', 'DBMS_ALERT',
+ 'CWM2_OLAP_AW_ACCESS'),
+ //PL/SQL predefined exceptions (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/07_errs.htm#784)
+ 4 => array('ZERO_DIVIDE', 'VALUE_ERROR', 'TOO_MANY_ROWS',
+ 'TIMEOUT_ON_RESOURCE', 'SYS_INVALID_ROWID', 'SUBSCRIPT_OUTSIDE_LIMIT',
+ 'SUBSCRIPT_BEYOND_COUNT', 'STORAGE_ERROR', 'SELF_IS_NULL',
+ 'ROWTYPE_MISMATCH', 'PROGRAM_ERROR', 'NOT_LOGGED_ON', 'NO_DATA_FOUND',
+ 'LOGIN_DENIED', 'INVALID_NUMBER', 'INVALID_CURSOR', 'DUP_VAL_ON_INDEX',
+ 'CURSOR_ALREADY_OPEN', 'COLLECTION_IS_NULL', 'CASE_NOT_FOUND',
+ 'ACCESS_INTO_NULL'),
+ //Static data dictionary views (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2.htm)
+ 5 => array('USER_REPSITES', 'USER_REPSCHEMA',
+ 'USER_REPRESOLUTION_STATISTICS', 'USER_REPRESOLUTION_METHOD',
+ 'USER_REPRESOLUTION', 'USER_REPRESOL_STATS_CONTROL', 'USER_REPPROP',
+ 'USER_REPPRIORITY_GROUP', 'USER_REPPRIORITY',
+ 'USER_REPPARAMETER_COLUMN', 'USER_REPOBJECT', 'USER_REPKEY_COLUMNS',
+ 'USER_REPGROUPED_COLUMN', 'USER_REPGROUP_PRIVILEGES', 'USER_REPGROUP',
+ 'USER_REPGENOBJECTS', 'USER_REPGENERATED', 'USER_REPFLAVORS',
+ 'USER_REPFLAVOR_OBJECTS', 'USER_REPFLAVOR_COLUMNS', 'USER_REPDDL',
+ 'USER_REPCONFLICT', 'USER_REPCOLUMN_GROUP', 'USER_REPCOLUMN',
+ 'USER_REPCATLOG', 'USER_REPCAT_USER_PARM_VALUES',
+ 'USER_REPCAT_USER_AUTHORIZATIONS', 'USER_REPCAT_TEMPLATE_SITES',
+ 'USER_REPCAT_TEMPLATE_PARMS', 'USER_REPCAT_TEMPLATE_OBJECTS',
+ 'USER_REPCAT_REFRESH_TEMPLATES', 'USER_REPCAT', 'USER_REPAUDIT_COLUMN',
+ 'USER_REPAUDIT_ATTRIBUTE', 'DBA_REPSITES_NEW', 'DBA_REPSITES',
+ 'DBA_REPSCHEMA', 'DBA_REPRESOLUTION_STATISTICS',
+ 'DBA_REPRESOLUTION_METHOD', 'DBA_REPRESOLUTION',
+ 'DBA_REPRESOL_STATS_CONTROL', 'DBA_REPPROP', 'DBA_REPPRIORITY_GROUP',
+ 'DBA_REPPRIORITY', 'DBA_REPPARAMETER_COLUMN', 'DBA_REPOBJECT',
+ 'DBA_REPKEY_COLUMNS', 'DBA_REPGROUPED_COLUMN',
+ 'DBA_REPGROUP_PRIVILEGES', 'DBA_REPGROUP', 'DBA_REPGENOBJECTS',
+ 'DBA_REPGENERATED', 'DBA_REPFLAVORS', 'DBA_REPFLAVOR_OBJECTS',
+ 'DBA_REPFLAVOR_COLUMNS', 'DBA_REPEXTENSIONS', 'DBA_REPDDL',
+ 'DBA_REPCONFLICT', 'DBA_REPCOLUMN_GROUP', 'DBA_REPCOLUMN',
+ 'DBA_REPCATLOG', 'DBA_REPCAT_USER_PARM_VALUES',
+ 'DBA_REPCAT_USER_AUTHORIZATIONS', 'DBA_REPCAT_TEMPLATE_SITES',
+ 'DBA_REPCAT_TEMPLATE_PARMS', 'DBA_REPCAT_TEMPLATE_OBJECTS',
+ 'DBA_REPCAT_REFRESH_TEMPLATES', 'DBA_REPCAT_EXCEPTIONS', 'DBA_REPCAT',
+ 'DBA_REPAUDIT_COLUMN', 'DBA_REPAUDIT_ATTRIBUTE', 'ALL_REPSITES',
+ 'ALL_REPSCHEMA', 'ALL_REPRESOLUTION_STATISTICS',
+ 'ALL_REPRESOLUTION_METHOD', 'ALL_REPRESOLUTION',
+ 'ALL_REPRESOL_STATS_CONTROL', 'ALL_REPPROP', 'ALL_REPPRIORITY_GROUP',
+ 'ALL_REPPRIORITY', 'ALL_REPPARAMETER_COLUMN', 'ALL_REPOBJECT',
+ 'ALL_REPKEY_COLUMNS', 'ALL_REPGROUPED_COLUMN',
+ 'ALL_REPGROUP_PRIVILEGES', 'ALL_REPGROUP', 'ALL_REPGENOBJECTS',
+ 'ALL_REPGENERATED', 'ALL_REPFLAVORS', 'ALL_REPFLAVOR_OBJECTS',
+ 'ALL_REPFLAVOR_COLUMNS', 'ALL_REPDDL', 'ALL_REPCONFLICT',
+ 'ALL_REPCOLUMN_GROUP', 'ALL_REPCOLUMN', 'ALL_REPCATLOG',
+ 'ALL_REPCAT_USER_PARM_VALUES', 'ALL_REPCAT_USER_AUTHORIZATIONS',
+ 'ALL_REPCAT_TEMPLATE_SITES', 'ALL_REPCAT_TEMPLATE_PARMS',
+ 'ALL_REPCAT_TEMPLATE_OBJECTS', 'ALL_REPCAT_REFRESH_TEMPLATES',
+ 'ALL_REPCAT', 'ALL_REPAUDIT_COLUMN', 'ALL_REPAUDIT_ATTRIBUTE')
+ ),
+ 'SYMBOLS' => array(
+ //PL/SQL delimiters (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2732)
+ '+', '%', "'", '.', '/', '(', ')', ':', ',', '*', '"', '=', '<', '>', '@', ';', '-', ':=', '=>', '||', '**', '<<', '>>', '/*', '*/', '..', '<>', '!=', '~=', '^=', '<=', '>='
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #00F;',
+ 2 => 'color: #000;',
+ 3 => 'color: #00F;',
+ 4 => 'color: #F00;',
+ 5 => 'color: #800;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #080; font-style: italic;',
+ 'MULTI' => 'color: #080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #00F;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #F00;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #800;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #0F0;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #00F;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ 0 => 'color: #0F0;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
+ 2 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
+ 3 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
+ 4 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
+ 5 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}'
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'REGEXPS' => array(),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
diff --git a/application/libraries/geshi/povray.php b/application/libraries/geshi/povray.php
new file mode 100644
index 000000000..80bf5a478
--- /dev/null
+++ b/application/libraries/geshi/povray.php
@@ -0,0 +1,199 @@
+<?php
+/*************************************************************************************
+ * povray.php
+ * --------
+ * Author: Carl Fürstenberg (azatoth@gmail.com)
+ * Copyright: © 2007 Carl Fürstenberg
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/07/11
+ *
+ * Povray language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/11 (1.0.8)
+ * - initial import to GeSHi SVN
+ *************************************************************************************
+ *
+ * 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' => 'POVRAY',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'yes', 'wrinkles', 'wood', 'width', 'waves', 'water_level', 'warp', 'vturbulence',
+ 'vstr', 'vrotate', 'vnormalize', 'vlength', 'vcross', 'vaxis_rotate', 'variance', 'v_steps',
+ 'uv_mapping', 'utf8', 'use_index', 'use_colour', 'use_color', 'use_alpha', 'up', 'undef',
+ 'ultra_wide_angle', 'u_steps', 'type', 'turbulence', 'turb_depth', 'ttf', 'true', 'triangle_wave',
+ 'translate', 'transform', 'trace', 'toroidal', 'tolerance', 'tiles', 'tile2', 'tightness',
+ 'tiff', 'threshold', 'thickness', 'tga', 'texture_map', 'target', 'sys', 'sum',
+ 'substr', 'sturm', 'strupr', 'strlwr', 'strength', 'str', 'statistics', 'sqr',
+ 'spotted', 'spotlight', 'split_union', 'spline', 'spiral2', 'spiral1', 'spherical', 'specular',
+ 'spacing', 'solid', 'smooth', 'slope', 'slice', 'sky', 'size', 'sine_wave',
+ 'shadowless', 'scattering', 'scallop_wave', 'scale', 'save_file', 'samples', 'roughness', 'rotate',
+ 'ripples', 'right', 'rgbt', 'rgbft', 'rgbf', 'rgb', 'repeat', 'render',
+ 'refraction', 'reflection_exponent', 'recursion_limit', 'reciprocal', 'ratio', 'ramp_wave', 'radius', 'radial',
+ 'quilted', 'quick_colour', 'quick_color', 'quaternion', 'quadratic_spline', 'pwr', 'projected_through', 'prod',
+ 'pretrace_start', 'pretrace_end', 'precompute', 'precision', 'ppm', 'pow', 'pot', 'poly_wave',
+ 'point_at', 'png', 'planar', 'pigment_pattern', 'pi', 'phong_size', 'phong', 'phase',
+ 'pgm', 'perspective', 'pattern', 'pass_through', 'parallel', 'panoramic', 'orthographic', 'orientation',
+ 'orient', 'open', 'onion', 'once', 'on', 'omnimax', 'omega', 'offset',
+ 'off', 'octaves', 'number_of_waves', 'noise_generator', 'no_shadow', 'no_reflection', 'no_image', 'no_bump_scale',
+ 'no', 'nearest_count', 'natural_spline', 'mortar', 'minimum_reuse', 'min_extent', 'metric', 'method',
+ 'metallic', 'media_interaction', 'media_attenuation', 'media', 'max_trace_level', 'max_trace', 'max_sample', 'max_iteration',
+ 'max_intersections', 'max_gradient', 'max_extent', 'matrix', 'material_map', 'marble', 'map_type', 'mandel',
+ 'major_radius', 'magnet', 'low_error_factor', 'look_at', 'location', 'load_file', 'linear_sweep', 'linear_spline',
+ 'leopard', 'lambda', 'julia', 'jpeg', 'jitter', 'irid_wavelength', 'ior', 'inverse',
+ 'intervals', 'interpolate', 'internal', 'inside_vector', 'inside', 'initial_frame', 'initial_clock', 'image_width',
+ 'image_pattern', 'image_height', 'iff', 'hypercomplex', 'hollow', 'hierarchy', 'hf_gray_16', 'hexagon',
+ 'gray_threshold', 'granite', 'gradient', 'global_lights', 'gif', 'gather', 'fresnel', 'frequency',
+ 'frame_number', 'form', 'fog_type', 'fog_offset', 'fog_alt', 'focal_point', 'flip', 'flatness',
+ 'fisheye', 'final_frame', 'final_clock', 'false', 'falloff_angle', 'falloff', 'fade_power', 'fade_distance',
+ 'fade_colour', 'fade_color', 'facets', 'extinction', 'exterior', 'exponent', 'expand_thresholds', 'evaluate',
+ 'error_bound', 'emission', 'eccentricity', 'double_illuminate', 'distance', 'dist_exp', 'dispersion_samples', 'dispersion',
+ 'direction', 'diffuse', 'df3', 'dents', 'density_map', 'density_file', 'density', 'cylindrical',
+ 'cutaway_textures', 'cubic_wave', 'cubic_spline', 'cube', 'crand', 'crackle', 'count', 'coords',
+ 'control1', 'control0', 'conserve_energy', 'conic_sweep', 'confidence', 'concat', 'composite', 'component',
+ 'colour_map', 'colour', 'color', 'collect', 'clock_on', 'clock_delta', 'clock', 'circular',
+ 'chr', 'checker', 'charset', 'cells', 'caustics', 'bumps', 'bump_size', 'brilliance',
+ 'brightness', 'brick_size', 'brick', 'bozo', 'boxed', 'blur_samples', 'black_hole', 'bezier_spline',
+ 'b_spline', 'average', 'autostop', 'assumed_gamma', 'ascii', 'array', 'area_light', 'arc_angle',
+ 'append', 'aperture', 'angle', 'ambient_light', 'ambient', 'always_sample', 'altitude', 'alpha',
+ 'all_intersections', 'all', 'agate_turb', 'agate', 'adc_bailout', 'adaptive', 'accuracy', 'absorption',
+ 'aa_threshold', 'aa_level', 'reflection'
+ ),
+ 2 => array(
+ 'abs', 'acos', 'acosh', 'asc', 'asin', 'asinh', 'atan', 'atanh',
+ 'atan2', 'ceil', 'cos', 'cosh', 'defined', 'degrees', 'dimensions', 'dimension_size',
+ 'div', 'exp', 'file_exists', 'floor', 'int', 'ln', 'log', 'max',
+ 'min', 'mod', 'pov', 'radians', 'rand', 'seed', 'select', 'sin',
+ 'sinh', 'sqrt', 'strcmp', 'strlen', 'tan', 'tanh', 'val', 'vdot',
+ 'vlenght',
+ ),
+ 3 => array (
+ 'x', 'y', 'z', 't', 'u', 'v', 'red', 'blue',
+ 'green', 'filter', 'transmit', 'gray', 'e',
+ ),
+ 4 => array (
+ 'camera', 'background', 'fog', 'sky_sphere', 'rainbow', 'global_settings', 'radiosity', 'photon',
+ 'object', 'blob', 'sphere', 'cylinder', 'box', 'cone', 'height_field', 'julia_fractal',
+ 'lathe', 'prism', 'sphere_sweep', 'superellipsoid', 'sor', 'text', 'torus', 'bicubic_patch',
+ 'disc', 'mesh', 'triangle', 'smooth_triangle', 'mesh2', 'vertex_vectors', 'normal_vectors', 'uv_vectors',
+ 'texture_list', 'face_indices', 'normal_indices', 'uv_indices', 'texture', 'polygon', 'plane', 'poly',
+ 'cubic', 'quartic', 'quadric', 'isosurface', 'function', 'contained_by', 'parametric', 'pigment',
+ 'union', 'intersection', 'difference', 'merge', 'light_source', 'looks_like', 'light_group', 'clipped_by',
+ 'bounded_by', 'interior', 'material', 'interior_texture', 'normal', 'finish', 'color_map', 'pigment_map',
+ 'image_map', 'bump_map', 'slope_map', 'normal_map', 'irid', 'photons',
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '!',
+ '@', '%', '&', '*', '|', '/', '<',
+ '>', '+', '-', '.', '=', '<=', '>=',
+ '!=',
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #a63123;',
+ 2 => 'color: #2312bc;',
+ 3 => 'color: #cc1122; font-weight: bold;',
+ 4 => 'color: #116688; font-weight: bold;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+// 2 => 'color: #808080; font-style: italic;',
+ 'MULTI' => '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: #cc66aa;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #6666cc; font-weight: bold;',
+ 1 => 'color: #66cc66; font-weight: bold;',
+ 2 => 'color: #66cc66; font-weight: bold;'
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ # normal hash lines
+ 0 => '\#(?!(include|declare|local|fopen|fclose|read|write|default|version|if|else|end|ifdef|ifndef|switch|case|range|break|while|debug|error|warning|macro) )[[:word:]]*',
+ # syntax functions hash thingis
+ 1 => "\#(include|declare|local|fopen|fclose|read|write|default|version|if|else|end|ifdef|ifndef|switch|case|range|break|while|debug|error|warning|macro)",
+ 2 => array(
+ GESHI_SEARCH => "([a-zA-Z]+)(\n)(.*)(\n)(\\1;?)",
+ GESHI_REPLACE => '\3',
+ GESHI_BEFORE => '\1\2',
+ GESHI_AFTER => '\4\5',
+ GESHI_MODIFIERS => 'siU'
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ ),
+ 'TAB_WIDTH' => 4
+);
+?>
diff --git a/application/libraries/geshi/powerbuilder.php b/application/libraries/geshi/powerbuilder.php
new file mode 100644
index 000000000..e276d85ee
--- /dev/null
+++ b/application/libraries/geshi/powerbuilder.php
@@ -0,0 +1,418 @@
+<?php
+/*************************************************************************************
+ * powerbuilder.php
+ * ------
+ * Author: Doug Porter (powerbuilder.geshi@gmail.com)
+ * Copyright: (c) 2009 Doug Porter
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/07/13
+ *
+ * PowerBuilder (PowerScript) language file for GeSHi.
+ *
+ * Based on the TextPad Syntax file for PowerBuilder
+ * built by Rafi Avital
+ *
+ * CHANGES
+ * -------
+ * 2009/07/13 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2009/07/13)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'PowerBuilder',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '~',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'alias', 'and', 'autoinstantiate', 'call',
+ 'case', 'catch', 'choose', 'close', 'commit', 'connect',
+ 'constant', 'continue', 'create', 'cursor', 'declare',
+ 'delete', 'describe', 'descriptor', 'destroy', 'disconnect',
+ 'do', 'dynamic', 'else', 'elseif', 'end', 'enumerated',
+ 'event', 'execute', 'exit', 'external', 'false', 'fetch',
+ 'first', 'for', 'forward', 'from', 'function', 'global',
+ 'goto', 'halt', 'if', 'immediate', 'indirect', 'insert',
+ 'into', 'intrinsic', 'is', 'last', 'library', 'loop', 'next',
+ 'not', 'of', 'on', 'open', 'or', 'parent', 'post', 'prepare',
+ 'prior', 'private', 'privateread', 'privatewrite', 'procedure',
+ 'protected', 'protectedread', 'protectedwrite', 'prototypes',
+ 'public', 'readonly', 'ref', 'return', 'rollback', 'rpcfunc',
+ 'select', 'selectblob', 'shared', 'static', 'step', 'subroutine',
+ 'super', 'system', 'systemread', 'systemwrite', 'then', 'this',
+ 'to', 'trigger', 'true', 'try', 'type', 'until', 'update', 'updateblob',
+ 'using', 'variables', 'where', 'while', 'with', 'within'
+ ),
+ 2 => array (
+ 'blob', 'boolean', 'char', 'character', 'date', 'datetime',
+ 'dec', 'decimal',
+ 'double', 'int', 'integer', 'long', 'real', 'string', 'time',
+ 'uint', 'ulong', 'unsignedint', 'unsignedinteger', 'unsignedlong'
+ ),
+ 3 => array (
+ 'abortretryignore!', 'actbegin!', 'acterror!', 'actesql!',
+ 'actgarbagecollect!', 'activate!', 'activatemanually!',
+ 'activateondoubleclick!',
+ 'activateongetfocus!', 'actline!', 'actobjectcreate!', 'actobjectdestroy!',
+ 'actprofile!', 'actroutine!', 'acttrace!', 'actual!',
+ 'actuser!', 'adoresultset!', 'adtdate!', 'adtdatetime!',
+ 'adtdefault!', 'adtdouble!', 'adttext!', 'adttime!',
+ 'aix!', 'alignatbottom!', 'alignatleft!', 'alignatright!',
+ 'alignattop!', 'all!', 'allowpartialchanges!', 'alpha!',
+ 'ansi!', 'any!', 'anycase!', 'anyfont!',
+ 'append!', 'application!', 'arabiccharset!', 'area3d!',
+ 'areagraph!', 'arraybounds!', 'arrow!', 'ascending!',
+ 'asstatement!', 'atbottom!', 'atleft!', 'atright!',
+ 'attop!', 'autosize!', 'background!', 'balticcharset!',
+ 'bar3dgraph!', 'bar3dobjgraph!', 'bargraph!', 'barstack3dobjgraph!',
+ 'barstackgraph!', 'bdiagonal!', 'beam!', 'begin!',
+ 'begindrag!', 'beginlabeledit!', 'beginrightdrag!', 'behind!',
+ 'blob!', 'bold!', 'boolean!', 'bottom!',
+ 'boundedarray!', 'box!', 'byreferenceargument!', 'byvalueargument!',
+ 'cancel!', 'cascade!', 'cascaded!', 'category!',
+ 'center!', 'character!', 'charsetansi!', 'charsetansiarabic!',
+ 'charsetansihebrew!', 'charsetdbcsjapanese!', 'charsetunicode!', 'checkbox!',
+ 'child!', 'childtreeitem!', 'chinesebig5!', 'classdefinition!',
+ 'classdefinitionobject!', 'classorstructuretype!', 'clicked!', 'clip!',
+ 'clipboard!', 'clipformatbitmap!', 'clipformatdib!', 'clipformatdif!',
+ 'clipformatenhmetafile!', 'clipformathdrop!', 'clipformatlocale!',
+ 'clipformatmetafilepict!',
+ 'clipformatoemtext!', 'clipformatpalette!', 'clipformatpendata!', 'clipformatriff!',
+ 'clipformatsylk!', 'clipformattext!', 'clipformattiff!', 'clipformatunicodetext!',
+ 'clipformatwave!', 'clock!', 'close!', 'closequery!',
+ 'col3dgraph!', 'col3dobjgraph!', 'colgraph!',
+ 'colstack3dobjgraph!', 'colstackgraph!', 'columnclick!', 'commandbutton!',
+ 'connection!', 'connectioninfo!', 'connectobject!', 'connectprivilege!',
+ 'connectwithadminprivilege!', 'constructor!', 'containsany!', 'containsembeddedonly!',
+ 'containslinkedonly!', 'contextinformation!', 'contextkeyword!', 'continuous!',
+ 'corbaobject!', 'corbaunion!', 'cplusplus!', 'cross!',
+ 'csv!', 'cumulative!', 'cumulativepercent!', 'currenttreeitem!',
+ 'customvisual!', 'dash!', 'dashdot!', 'dashdotdot!',
+ 'data!', 'datachange!', 'datamodified!', 'datastore!',
+ 'datawindow!', 'datawindowchild!', 'date!', 'datemask!',
+ 'datetime!', 'datetimemask!', 'dbase2!', 'dbase3!',
+ 'dberror!', 'deactivate!', 'decimal!', 'decimalmask!',
+ 'decorative!', 'default!', 'defaultcharset!', 'delete!',
+ 'deleteallitems!', 'deleteitem!', 'descending!', 'desktop!',
+ 'destructor!', 'detail!', 'diamond!', 'dif!',
+ 'dirall!', 'dirapplication!', 'dirdatawindow!', 'directionall!',
+ 'directiondown!', 'directionleft!', 'directionright!', 'directionup!',
+ 'dirfunction!', 'dirmenu!', 'dirpipeline!', 'dirproject!',
+ 'dirquery!', 'dirstructure!', 'diruserobject!', 'dirwindow!',
+ 'displayasactivexdocument!', 'displayascontent!', 'displayasicon!', 'dot!',
+ 'double!', 'doubleclicked!', 'dragdrop!', 'dragenter!',
+ 'dragleave!', 'dragobject!', 'dragwithin!', 'drawobject!',
+ 'dropdownlistbox!', 'dropdownpicturelistbox!', 'drophighlighttreeitem!', 'dwobject!',
+ 'dynamicdescriptionarea!', 'dynamicstagingarea!', 'easteuropecharset!', 'editchanged!',
+ 'editmask!', 'editmenu!', 'end!', 'endlabeledit!',
+ 'enterprise!', 'enterpriseonlyfeature!', 'enumeratedtype!', 'enumerationdefinition!',
+ 'enumerationitemdefinition!', 'environment!', 'error!', 'errorlogging!',
+ 'eventnotexisterror!', 'eventwrongprototypeerror!', 'excel!', 'excel5!',
+ 'exceptionfail!', 'exceptionignore!', 'exceptionretry!',
+ 'exceptionsubstitutereturnvalue!',
+ 'exclamation!', 'exclude!', 'exportapplication!', 'exportdatawindow!',
+ 'exportfunction!', 'exportmenu!', 'exportpipeline!', 'exportproject!',
+ 'exportquery!', 'exportstructure!', 'exportuserobject!', 'exportwindow!',
+ 'externalvisual!', 'extobject!', 'failonanyconflict!', 'fdiagonal!',
+ 'featurenotsupportederror!', 'filealreadyopenerror!', 'filecloseerror!',
+ 'fileexists!',
+ 'fileinvalidformaterror!', 'filemenu!', 'filenotopenerror!', 'filenotseterror!',
+ 'filereaderror!', 'filetyperichtext!', 'filetypetext!', 'filewriteerror!',
+ 'filter!', 'first!', 'firstvisibletreeitem!', 'fixed!',
+ 'floating!', 'focusrect!', 'footer!', 'foreground!',
+ 'frombeginning!', 'fromcurrent!', 'fromend!', 'functionobject!',
+ 'gb231charset!', 'getfocus!', 'graph!', 'graphicobject!',
+ 'graxis!', 'grdispattr!', 'greekcharset!', 'groupbox!',
+ 'hand!', 'hangeul!', 'header!', 'hebrewcharset!',
+ 'helpmenu!', 'hide!', 'horizontal!', 'hotlinkalarm!',
+ 'hourglass!', 'hppa!', 'hprogressbar!', 'hpux!',
+ 'hscrollbar!', 'hticksonboth!', 'hticksonbottom!', 'hticksonneither!',
+ 'hticksontop!', 'htmltable!', 'htrackbar!', 'i286!',
+ 'i386!', 'i486!', 'icon!', 'icons!',
+ 'idle!', 'importdatawindow!', 'indent!', 'index!',
+ 'inet!', 'information!', 'inplace!', 'inputfieldselected!',
+ 'insertitem!', 'inside!', 'integer!', 'internetresult!',
+ 'italic!', 'itemchanged!', 'itemchanging!', 'itemcollapsed!',
+ 'itemcollapsing!', 'itemerror!', 'itemexpanded!', 'itemexpanding!',
+ 'itemfocuschanged!', 'itempopulate!', 'jaguarorb!', 'johabcharset!',
+ 'justify!', 'key!', 'key0!', 'key1!',
+ 'key2!', 'key3!', 'key4!', 'key5!',
+ 'key6!', 'key7!', 'key8!', 'key9!',
+ 'keya!', 'keyadd!', 'keyalt!', 'keyapps!',
+ 'keyb!', 'keyback!', 'keybackquote!', 'keybackslash!',
+ 'keyc!', 'keycapslock!', 'keycomma!', 'keycontrol!',
+ 'keyd!', 'keydash!', 'keydecimal!', 'keydelete!',
+ 'keydivide!', 'keydownarrow!', 'keye!', 'keyend!',
+ 'keyenter!', 'keyequal!', 'keyescape!', 'keyf!',
+ 'keyf1!', 'keyf10!', 'keyf11!', 'keyf12!',
+ 'keyf2!', 'keyf3!', 'keyf4!', 'keyf5!',
+ 'keyf6!', 'keyf7!', 'keyf8!', 'keyf9!',
+ 'keyg!', 'keyh!', 'keyhome!', 'keyi!',
+ 'keyinsert!', 'keyj!', 'keyk!', 'keyl!',
+ 'keyleftarrow!', 'keyleftbracket!', 'keyleftbutton!', 'keyleftwindows!',
+ 'keym!', 'keymiddlebutton!', 'keymultiply!', 'keyn!',
+ 'keynull!', 'keynumlock!', 'keynumpad0!', 'keynumpad1!',
+ 'keynumpad2!', 'keynumpad3!', 'keynumpad4!', 'keynumpad5!',
+ 'keynumpad6!', 'keynumpad7!', 'keynumpad8!', 'keynumpad9!',
+ 'keyo!', 'keyp!', 'keypagedown!', 'keypageup!',
+ 'keypause!', 'keyperiod!', 'keyprintscreen!', 'keyq!',
+ 'keyquote!', 'keyr!', 'keyrightarrow!', 'keyrightbracket!',
+ 'keyrightbutton!', 'keyrightwindows!', 'keys!', 'keyscrolllock!',
+ 'keysemicolon!', 'keyshift!', 'keyslash!', 'keyspacebar!',
+ 'keysubtract!', 'keyt!', 'keytab!', 'keyu!',
+ 'keyuparrow!', 'keyv!', 'keyw!', 'keyword!',
+ 'keyx!', 'keyy!', 'keyz!', 'languageafrikaans!',
+ 'languagealbanian!', 'languagearabicalgeria!', 'languagearabicbahrain!',
+ 'languagearabicegypt!',
+ 'languagearabiciraq!', 'languagearabicjordan!', 'languagearabickuwait!',
+ 'languagearabiclebanon!',
+ 'languagearabiclibya!', 'languagearabicmorocco!', 'languagearabicoman!',
+ 'languagearabicqatar!',
+ 'languagearabicsaudiarabia!', 'languagearabicsyria!', 'languagearabictunisia!',
+ 'languagearabicuae!',
+ 'languagearabicyemen!', 'languagebasque!', 'languagebulgarian!', 'languagebyelorussian!',
+ 'languagecatalan!', 'languagechinese!', 'languagechinesehongkong!', 'languagechinesesimplified!',
+ 'languagechinesesingapore!', 'languagechinesetraditional!', 'languagecroatian!', 'languageczech!',
+ 'languagedanish!', 'languagedutch!', 'languagedutchbelgian!', 'languagedutchneutral!',
+ 'languageenglish!', 'languageenglishaustralian!', 'languageenglishcanadian!',
+ 'languageenglishirish!',
+ 'languageenglishnewzealand!', 'languageenglishsouthafrica!', 'languageenglishuk!',
+ 'languageenglishus!',
+ 'languageestonian!', 'languagefaeroese!', 'languagefarsi!', 'languagefinnish!',
+ 'languagefrench!', 'languagefrenchbelgian!', 'languagefrenchcanadian!', 'languagefrenchluxembourg!',
+ 'languagefrenchneutral!', 'languagefrenchswiss!', 'languagegerman!', 'languagegermanaustrian!',
+ 'languagegermanliechtenstein!', 'languagegermanluxembourg!', 'languagegermanneutral!',
+ 'languagegermanswiss!',
+ 'languagegreek!', 'languagehebrew!', 'languagehindi!', 'languagehungarian!',
+ 'languageicelandic!', 'languageindonesian!', 'languageitalian!', 'languageitalianneutral!',
+ 'languageitalianswiss!', 'languagejapanese!', 'languagekorean!', 'languagekoreanjohab!',
+ 'languagelatvian!', 'languagelithuanian!', 'languagemacedonian!', 'languagemaltese!',
+ 'languageneutral!', 'languagenorwegian!', 'languagenorwegianbokmal!', 'languagenorwegiannynorsk!',
+ 'languagepolish!', 'languageportuguese!', 'languageportuguese_brazilian!',
+ 'languageportugueseneutral!',
+ 'languagerhaetoromanic!', 'languageromanian!', 'languageromanianmoldavia!', 'languagerussian!',
+ 'languagerussianmoldavia!', 'languagesami!', 'languageserbian!', 'languageslovak!',
+ 'languageslovenian!', 'languagesorbian!', 'languagesortnative!', 'languagesortunicode!',
+ 'languagespanish!', 'languagespanishcastilian!', 'languagespanishmexican!', 'languagespanishmodern!',
+ 'languagesutu!', 'languageswedish!', 'languagesystemdefault!', 'languagethai!',
+ 'languagetsonga!', 'languagetswana!', 'languageturkish!', 'languageukrainian!',
+ 'languageurdu!', 'languageuserdefault!', 'languagevenda!', 'languagexhosa!',
+ 'languagezulu!', 'last!', 'layer!', 'layered!',
+ 'Left!', 'leftmargin!', 'line!', 'line3d!',
+ 'linear!', 'linecolor!', 'linedown!', 'linegraph!',
+ 'lineleft!', 'linemode!', 'lineright!', 'lineup!',
+ 'linkupdateautomatic!', 'linkupdatemanual!', 'listbox!', 'listview!',
+ 'listviewitem!', 'listviewlargeicon!', 'listviewlist!', 'listviewreport!',
+ 'listviewsmallicon!', 'lockread!', 'lockreadwrite!', 'lockwrite!',
+ 'log10!', 'loge!', 'long!', 'losefocus!',
+ 'lower!', 'lowered!', 'm68000!', 'm68020!',
+ 'm68030!', 'm68040!', 'maccharset!', 'macintosh!',
+ 'mailattach!', 'mailbcc!', 'mailbodyasfile!', 'mailcc!',
+ 'maildownload!', 'mailentiremessage!', 'mailenvelopeonly!', 'mailfiledescription!',
+ 'mailmessage!', 'mailnewsession!', 'mailnewsessionwithdownload!', 'mailole!',
+ 'mailolestatic!', 'mailoriginator!', 'mailrecipient!', 'mailreturnaccessdenied!',
+ 'mailreturnattachmentnotfound!', 'mailreturnattachmentopenfailure!',
+ 'mailreturnattachmentwritefailure!', 'mailreturndiskfull!',
+ 'mailreturnfailure!', 'mailreturninsufficientmemory!', 'mailreturninvalidmessage!',
+ 'mailreturnloginfailure!',
+ 'mailreturnmessageinuse!', 'mailreturnnomessages!', 'mailreturnsuccess!', 'mailreturntexttoolarge!',
+ 'mailreturntoomanyfiles!', 'mailreturntoomanyrecipients!', 'mailreturntoomanysessions!',
+ 'mailreturnunknownrecipient!',
+ 'mailreturnuserabort!', 'mailsession!', 'mailsuppressattachments!', 'mailto!',
+ 'main!', 'maximized!', 'mdi!', 'mdiclient!',
+ 'mdihelp!', 'menu!', 'menucascade!', 'menuitemtypeabout!',
+ 'menuitemtypeexit!', 'menuitemtypehelp!', 'menuitemtypenormal!', 'merge!',
+ 'message!', 'minimized!', 'mips!', 'modelexistserror!',
+ 'modelnotexistserror!', 'modern!', 'modified!', 'mousedown!',
+ 'mousemove!', 'mouseup!', 'moved!', 'multiline!',
+ 'multilineedit!', 'mutexcreateerror!', 'new!', 'newmodified!',
+ 'next!', 'nexttreeitem!', 'nextvisibletreeitem!', 'noborder!',
+ 'noconnectprivilege!', 'nolegend!', 'none!', 'nonvisualobject!',
+ 'normal!', 'nosymbol!', 'notic!', 'notmodified!',
+ 'notopmost!', 'notype!', 'numericmask!', 'objhandle!',
+ 'oem!', 'off!', 'offsite!', 'ok!',
+ 'okcancel!', 'olecontrol!', 'olecustomcontrol!', 'oleobject!',
+ 'olestorage!', 'olestream!', 'oletxnobject!', 'omcontrol!',
+ 'omcustomcontrol!', 'omembeddedcontrol!', 'omobject!', 'omstorage!',
+ 'omstream!', 'open!', 'orb!', 'original!',
+ 'osf1!', 'other!', 'outside!', 'oval!',
+ 'pagedown!', 'pageleft!', 'pageright!', 'pageup!',
+ 'parenttreeitem!', 'pbtocppobject!', 'pentium!', 'percentage!',
+ 'picture!', 'picturebutton!', 'picturehyperlink!', 'picturelistbox!',
+ 'pictureselected!', 'pie3d!', 'piegraph!', 'pipeend!',
+ 'pipeline!', 'pipemeter!', 'pipestart!', 'popup!',
+ 'powerobject!', 'powerpc!', 'powerrs!', 'ppc601!',
+ 'ppc603!', 'ppc604!', 'previewdelete!', 'previewfunctionreselectrow!',
+ 'previewfunctionretrieve!', 'previewfunctionupdate!', 'previewinsert!', 'previewselect!',
+ 'previewupdate!', 'previoustreeitem!', 'previousvisibletreeitem!', 'primary!',
+ 'printend!', 'printfooter!', 'printheader!', 'printpage!',
+ 'printstart!', 'prior!', 'private!', 'process!',
+ 'profilecall!', 'profileclass!', 'profileline!', 'profileroutine!',
+ 'profiling!', 'protected!', 'psreport!', 'public!',
+ 'question!', 'radiobutton!', 'raised!', 'rbuttondown!',
+ 'rbuttonup!', 'read!', 'readonlyargument!', 'real!',
+ 'rectangle!', 'regbinary!', 'regexpandstring!', 'reglink!',
+ 'regmultistring!', 'regstring!', 'regulong!', 'regulongbigendian!',
+ 'remoteexec!', 'remotehotlinkstart!', 'remotehotlinkstop!', 'remoteobject!',
+ 'remoterequest!', 'remotesend!', 'rename!', 'replace!',
+ 'resize!', 'resizeborder!', 'response!', 'resultset!',
+ 'resultsets!', 'retrieveend!', 'retrieverow!', 'retrievestart!',
+ 'retrycancel!', 'richtextedit!', 'Right!', 'rightclicked!',
+ 'rightdoubleclicked!', 'rightmargin!', 'rnddays!', 'rnddefault!',
+ 'rndhours!', 'rndmicroseconds!', 'rndminutes!', 'rndmonths!',
+ 'rndnumber!', 'rndseconds!', 'rndyears!', 'roman!',
+ 'roottreeitem!', 'roundrectangle!', 'routineesql!', 'routineevent!',
+ 'routinefunction!', 'routinegarbagecollection!', 'routineobjectcreation!',
+ 'routineobjectdestruction!',
+ 'routineroot!', 'rowfocuschanged!', 'russiancharset!', 'save!',
+ 'scalartype!', 'scattergraph!', 'script!', 'scriptdefinition!',
+ 'scriptevent!', 'scriptfunction!', 'scrollhorizontal!', 'scrollvertical!',
+ 'selected!', 'selectionchanged!', 'selectionchanging!', 'series!',
+ 'service!', 'shade!', 'shadowbox!', 'shared!',
+ 'sharedobjectcreateinstanceerror!', 'sharedobjectcreatepbsessionerror!',
+ 'sharedobjectexistserror!', 'sharedobjectnotexistserror!',
+ 'shiftjis!', 'show!', 'simpletype!', 'simpletypedefinition!',
+ 'singlelineedit!', 'size!', 'sizenesw!', 'sizens!',
+ 'sizenwse!', 'sizewe!', 'sol2!', 'solid!',
+ 'sort!', 'sourcepblerror!', 'spacing1!', 'spacing15!',
+ 'spacing2!', 'sparc!', 'sqlinsert!', 'sqlpreview!',
+ 'square!', 'sslcallback!', 'sslserviceprovider!', 'statichyperlink!',
+ 'statictext!', 'stgdenynone!', 'stgdenyread!', 'stgdenywrite!',
+ 'stgexclusive!', 'stgread!', 'stgreadwrite!', 'stgwrite!',
+ 'stopsign!', 'straddle!', 'streammode!', 'stretch!',
+ 'strikeout!', 'string!', 'stringmask!', 'structure!',
+ 'stylebox!', 'stylelowered!', 'styleraised!', 'styleshadowbox!',
+ 'subscript!', 'success!', 'superscript!', 'swiss!',
+ 'sylk!', 'symbol!', 'symbolhollowbox!', 'symbolhollowcircle!',
+ 'symbolhollowdiamond!', 'symbolhollowdownarrow!', 'symbolhollowuparrow!', 'symbolplus!',
+ 'symbolsolidbox!', 'symbolsolidcircle!', 'symbolsoliddiamond!', 'symbolsoliddownarrow!',
+ 'symbolsoliduparrow!', 'symbolstar!', 'symbolx!', 'system!',
+ 'systemerror!', 'systemfunctions!', 'systemkey!', 'tab!',
+ 'tabsonbottom!', 'tabsonbottomandtop!', 'tabsonleft!', 'tabsonleftandright!',
+ 'tabsonright!', 'tabsonrightandleft!', 'tabsontop!', 'tabsontopandbottom!',
+ 'text!', 'thaicharset!', 'thread!', 'tile!',
+ 'tilehorizontal!', 'time!', 'timemask!', 'timer!',
+ 'timernone!', 'timing!', 'tobottom!', 'toolbarmoved!',
+ 'top!', 'topic!', 'topmost!', 'totop!',
+ 'traceactivitynode!', 'traceatomic!', 'tracebeginend!', 'traceerror!',
+ 'traceesql!', 'tracefile!', 'tracegarbagecollect!', 'tracegeneralerror!',
+ 'tracein!', 'traceline!', 'tracenomorenodes!', 'tracenotstartederror!',
+ 'traceobject!', 'traceout!', 'traceroutine!', 'tracestartederror!',
+ 'tracetree!', 'tracetreeerror!', 'tracetreeesql!', 'tracetreegarbagecollect!',
+ 'tracetreeline!', 'tracetreenode!', 'tracetreeobject!', 'tracetreeroutine!',
+ 'tracetreeuser!', 'traceuser!', 'transaction!', 'transactionserver!',
+ 'transparent!', 'transport!', 'treeview!', 'treeviewitem!',
+ 'turkishcharset!', 'typeboolean!', 'typecategory!', 'typecategoryaxis!',
+ 'typecategorylabel!', 'typedata!', 'typedate!', 'typedatetime!',
+ 'typedecimal!', 'typedefinition!', 'typedouble!', 'typegraph!',
+ 'typeinteger!', 'typelegend!', 'typelong!', 'typereal!',
+ 'typeseries!', 'typeseriesaxis!', 'typeserieslabel!', 'typestring!',
+ 'typetime!', 'typetitle!', 'typeuint!', 'typeulong!',
+ 'typeunknown!', 'typevalueaxis!', 'typevaluelabel!', 'ultrasparc!',
+ 'unboundedarray!', 'underline!', 'underlined!', 'unsignedinteger!',
+ 'unsignedlong!', 'unsorted!', 'uparrow!', 'updateend!',
+ 'updatestart!', 'upper!', 'userdefinedsort!', 'userobject!',
+ 'variable!', 'variableargument!', 'variablecardinalitydefinition!', 'variabledefinition!',
+ 'variableglobal!', 'variableinstance!', 'variablelocal!', 'variableshared!',
+ 'varlistargument!', 'vbxvisual!', 'vcenter!', 'vertical!',
+ 'vietnamesecharset!', 'viewchange!', 'vprogressbar!', 'vscrollbar!',
+ 'vticksonboth!', 'vticksonleft!', 'vticksonneither!', 'vticksonright!',
+ 'vtrackbar!', 'window!', 'windowmenu!', 'windowobject!',
+ 'windows!', 'windowsnt!', 'wk1!', 'wks!',
+ 'wmf!', 'write!', 'xpixelstounits!', 'xunitstopixels!',
+ 'xvalue!', 'yesno!', 'yesnocancel!', 'ypixelstounits!',
+ 'yunitstopixels!',
+ 'yvalue!',
+ 'zoom!'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 0 => array('(', ')', '[', ']', '{', '}'),
+ 1 => array('|'),
+ 2 => array('+', '-', '*', '/'),
+ 3 => array('=', '&lt;', '>', '^')
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #008000; font-weight: bold;',
+ 2 => 'color: #990099; font-weight: bold;',
+ 3 => 'color: #330099; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #0000ff; font-weight: bold;',
+ 'MULTI' => 'color: #0000ff; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #800000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #330099; font-weight: bold;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;',
+ 1 => 'color: #ffff00; background-color:#993300; font-weight: bold',
+ 2 => 'color: #000000;',
+ 3 => 'color: #000000;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #800000; font-weight: bold;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => 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(
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/powershell.php b/application/libraries/geshi/powershell.php
new file mode 100644
index 000000000..fe8a5da07
--- /dev/null
+++ b/application/libraries/geshi/powershell.php
@@ -0,0 +1,277 @@
+<?php
+/*************************************************************************************
+ * powershell.php
+ * ---------------------------------
+ * Author: Frode Aarebrot (frode@aarebrot.net)
+ * Copyright: (c) 2008 Frode Aarebrot (http://www.aarebrot.net)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/06/20
+ *
+ * PowerShell language file for GeSHi.
+ *
+ * I've tried to make this language file as true to the highlighting in PowerGUI as
+ * possible. Unfortunately it's not 100% complete, although it is pretty close.
+ *
+ * I've included some classes and their members, but there's tons and tons of these.
+ * I suggest you add the ones you need yourself. I've included a few Sharepoint ones
+ * in this language file.
+ *
+ * CHANGES
+ * -------
+ * 2008/06/20 (1.0.8)
+ * - First Release
+ *
+ * TODO (updated 2008/06/20)
+ * -------------------------
+ * - Color text between Cmdlets/Aliases and pipe/end-of-line
+ * - Try and get -- and ++ to work in the KEYWORDS array with the other operators
+ *
+ *************************************************************************************
+ *
+ * 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' => 'PowerShell',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '`',
+ 'KEYWORDS' => array(
+ 1 => array(
+ // Cmdlets
+ 'Add-Content', 'Add-History', 'Add-Member', 'Add-PSSnapin', 'Clear-Content', 'Clear-Item',
+ 'Clear-ItemProperty', 'Clear-Variable', 'Compare-Object', 'ConvertFrom-SecureString',
+ 'Convert-Path', 'ConvertTo-Html', 'ConvertTo-SecureString', 'Copy-Item', 'Copy-ItemProperty',
+ 'Export-Alias', 'Export-Clixml', 'Export-Console', 'Export-Csv', 'ForEach-Object',
+ 'Format-Custom', 'Format-List', 'Format-Table', 'Format-Wide', 'Get-Acl', 'Get-Alias',
+ 'Get-AuthenticodeSignature', 'Get-ChildItem', 'Get-Command', 'Get-Content', 'Get-Credential',
+ 'Get-Culture', 'Get-Date', 'Get-EventLog', 'Get-ExecutionPolicy', 'Get-Help', 'Get-History',
+ 'Get-Host', 'Get-Item', 'Get-ItemProperty', 'Get-Location', 'Get-Member',
+ 'Get-PfxCertificate', 'Get-Process', 'Get-PSDrive', 'Get-PSProvider', 'Get-PSSnapin',
+ 'Get-Service', 'Get-TraceSource', 'Get-UICulture', 'Get-Unique', 'Get-Variable',
+ 'Get-WmiObject', 'Group-Object', 'Import-Alias', 'Import-Clixml', 'Import-Csv',
+ 'Invoke-Expression', 'Invoke-History', 'Invoke-Item', 'Join-Path', 'Measure-Command',
+ 'Measure-Object', 'Move-Item', 'Move-ItemProperty', 'New-Alias', 'New-Item',
+ 'New-ItemProperty', 'New-Object', 'New-PSDrive', 'New-Service', 'New-TimeSpan',
+ 'New-Variable', 'Out-Default', 'Out-File', 'Out-Host', 'Out-Null', 'Out-Printer',
+ 'Out-String', 'Pop-Location', 'Push-Location', 'Read-Host', 'Remove-Item',
+ 'Remove-ItemProperty', 'Remove-PSDrive', 'Remove-PSSnapin', 'Remove-Variable', 'Rename-Item',
+ 'Rename-ItemProperty', 'Resolve-Path', 'Restart-Service', 'Resume-Service', 'Select-Object',
+ 'Select-String', 'Set-Acl', 'Set-Alias', 'Set-AuthenticodeSignature', 'Set-Content',
+ 'Set-Date', 'Set-ExecutionPolicy', 'Set-Item', 'Set-ItemProperty', 'Set-Location',
+ 'Set-PSDebug', 'Set-Service', 'Set-TraceSource', 'Set-Variable', 'Sort-Object', 'Split-Path',
+ 'Start-Service', 'Start-Sleep', 'Start-Transcript', 'Stop-Process', 'Stop-Service',
+ 'Stop-Transcript', 'Suspend-Service', 'Tee-Object', 'Test-Path', 'Trace-Command',
+ 'Update-FormatData', 'Update-TypeData', 'Where-Object', 'Write-Debug', 'Write-Error',
+ 'Write-Host', 'Write-Output', 'Write-Progress', 'Write-Verbose', 'Write-Warning'
+ ),
+ 2 => array(
+ // Aliases
+ 'ac', 'asnp', 'clc', 'cli', 'clp', 'clv', 'cpi', 'cpp', 'cvpa', 'diff', 'epal', 'epcsv', 'fc',
+ 'fl', 'ft', 'fw', 'gal', 'gc', 'gci', 'gcm', 'gdr', 'ghy', 'gi', 'gl', 'gm',
+ 'gp', 'gps', 'group', 'gsv', 'gsnp', 'gu', 'gv', 'gwmi', 'iex', 'ihy', 'ii', 'ipal', 'ipcsv',
+ 'mi', 'mp', 'nal', 'ndr', 'ni', 'nv', 'oh', 'rdr', 'ri', 'rni', 'rnp', 'rp', 'rsnp', 'rv',
+ 'rvpa', 'sal', 'sasv', 'sc', 'select', 'si', 'sl', 'sleep', 'sort', 'sp', 'spps', 'spsv', 'sv',
+ 'tee', 'write', 'cat', 'cd', 'clear', 'cp', 'h', 'history', 'kill', 'lp', 'ls',
+ 'mount', 'mv', 'popd', 'ps', 'pushd', 'pwd', 'r', 'rm', 'rmdir', 'echo', 'cls', 'chdir',
+ 'copy', 'del', 'dir', 'erase', 'move', 'rd', 'ren', 'set', 'type'
+ ),
+ 3 => array(
+ // Reserved words
+ 'break', 'continue', 'do', 'for', 'foreach', 'while', 'if', 'switch', 'until', 'where',
+ 'function', 'filter', 'else', 'elseif', 'in', 'return', 'param', 'throw', 'trap'
+ ),
+ 4 => array(
+ // Operators
+ '-eq', '-ne', '-gt', '-ge', '-lt', '-le', '-ieq', '-ine', '-igt', '-ige', '-ilt', '-ile',
+ '-ceq', '-cne', '-cgt', '-cge', '-clt', '-cle', '-like', '-notlike', '-match', '-notmatch',
+ '-ilike', '-inotlike', '-imatch', '-inotmatch', '-clike', '-cnotlike', '-cmatch', '-cnotmatch',
+ '-contains', '-notcontains', '-icontains', '-inotcontains', '-ccontains', '-cnotcontains',
+ '-isnot', '-is', '-as', '-replace', '-ireplace', '-creplace', '-and', '-or', '-band', '-bor',
+ '-not', '-bnot', '-f', '-casesensitive', '-exact', '-file', '-regex', '-wildcard'
+ ),
+ 5 => array(
+ // Options
+ '-Year', '-Wrap', '-Word', '-Width', '-WhatIf', '-Wait', '-View', '-Verbose', '-Verb',
+ '-Variable', '-ValueOnly', '-Value', '-Unique', '-UFormat', '-TypeName', '-Trace', '-TotalCount',
+ '-Title', '-TimestampServer', '-TargetObject', '-Syntax', '-SyncWindow', '-Sum', '-String',
+ '-Strict', '-Stream', '-Step', '-Status', '-Static', '-StartupType', '-Start', '-StackName',
+ '-Stack', '-SourceId', '-SimpleMatch', '-ShowError', '-Separator', '-SecureString', '-SecureKey',
+ '-SecondValue', '-SecondsRemaining', '-Seconds', '-Second', '-Scope', '-Root', '-Role',
+ '-Resolve', '-RemoveListener', '-RemoveFileListener', '-Registered', '-ReferenceObject',
+ '-Recurse', '-RecommendedAction', '-ReadCount', '-Quiet', '-Query', '-Qualifier', '-PSSnapin',
+ '-PSProvider', '-PSHost', '-PSDrive', '-PropertyType', '-Property', '-Prompt', '-Process',
+ '-PrependPath', '-PercentComplete', '-Pattern', '-PathType', '-Path', '-PassThru', '-ParentId',
+ '-Parent', '-Parameter', '-Paging', '-OutVariable', '-OutBuffer', '-Option', '-OnType', '-Off',
+ '-Object', '-Noun', '-NoTypeInformation', '-NoQualifier', '-NoNewline', '-NoElement',
+ '-NoClobber', '-NewName', '-Newest', '-Namespace', '-Name', '-Month', '-Minutes', '-Minute',
+ '-Minimum', '-Milliseconds', '-Message', '-MemberType', '-Maximum', '-LogName', '-LiteralPath',
+ '-LiteralName', '-ListenerOption', '-List', '-Line', '-Leaf', '-Last', '-Key', '-ItemType',
+ '-IsValid', '-IsAbsolute', '-InputObject', '-IncludeEqual', '-IncludeChain', '-Include',
+ '-IgnoreWhiteSpace', '-Id', '-Hours', '-Hour', '-HideTableHeaders', '-Head', '-GroupBy',
+ '-Functionality', '-Full', '-Format', '-ForegroundColor', '-Force', '-First', '-FilterScript',
+ '-Filter', '-FilePath', '-Expression', '-ExpandProperty', '-Expand', '-ExecutionPolicy',
+ '-ExcludeProperty', '-ExcludeDifferent', '-Exclude', '-Exception', '-Examples', '-ErrorVariable',
+ '-ErrorRecord', '-ErrorId', '-ErrorAction', '-End', '-Encoding', '-DisplayName', '-DisplayHint',
+ '-DisplayError', '-DifferenceObject', '-Detailed', '-Destination', '-Description', '-Descending',
+ '-Depth', '-DependsOn', '-Delimiter', '-Debugger', '-Debug', '-Days', '-Day', '-Date',
+ '-CurrentOperation', '-Culture', '-Credential', '-Count', '-Container', '-Confirm',
+ '-ComputerName', '-Component', '-Completed', '-ComObject', '-CommandType', '-Command',
+ '-Column', '-Class', '-ChildPath', '-Character', '-Certificate', '-CategoryTargetType',
+ '-CategoryTargetName', '-CategoryReason', '-CategoryActivity', '-Category', '-CaseSensitive',
+ '-Body', '-BinaryPathName', '-Begin', '-BackgroundColor', '-Average', '-AutoSize', '-Audit',
+ '-AsString', '-AsSecureString', '-AsPlainText', '-As', '-ArgumentList', '-AppendPath', '-Append',
+ '-Adjust', '-Activity', '-AclObject'
+ ),
+ 6 => array(
+ '_','args','DebugPreference','Error','ErrorActionPreference',
+ 'foreach','Home','Host','Input','LASTEXITCODE','MaximumAliasCount',
+ 'MaximumDriveCount','MaximumFunctionCount','MaximumHistoryCount',
+ 'MaximumVariableCount','OFS','PsHome',
+ 'ReportErrorShowExceptionClass','ReportErrorShowInnerException',
+ 'ReportErrorShowSource','ReportErrorShowStackTrace',
+ 'ShouldProcessPreference','ShouldProcessReturnPreference',
+ 'StackTrace','VerbosePreference','WarningPreference','PWD'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '=', '<', '>', '@', '|', '&', ',', '?',
+ '+=', '-=', '*=', '/=', '%=', '*', '/', '%', '!', '+', '-', '++', '--'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ 6 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #008080; font-weight: bold;',
+ 2 => 'color: #008080; font-weight: bold;',
+ 3 => 'color: #0000FF;',
+ 4 => 'color: #FF0000;',
+ 5 => 'color: #008080; font-style: italic;',
+ 6 => 'color: #000080;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000;',
+ 'MULTI' => 'color: #008000;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #008080; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #800000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #804000;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: pink;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: pink;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #800080;',
+ 3 => 'color: #008080;',
+ 4 => 'color: #008080;',
+ 5 => 'color: #800000;',
+ 6 => 'color: #000080;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => 'about:blank',
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ // special after pipe
+ 3 => array(
+ GESHI_SEARCH => '(\[)(int|long|string|char|bool|byte|double|decimal|float|single|regex|array|xml|scriptblock|switch|hashtable|type|ref|psobject|wmi|wmisearcher|wmiclass|object)((\[.*\])?\])',
+ GESHI_REPLACE => '\2',
+ GESHI_MODIFIERS => 'si',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => '\3'
+ ),
+ // Classes
+ 4 => array(
+ GESHI_SEARCH => '(\[)(System\.Reflection\.Assembly|System\.Net\.CredentialCache|Microsoft\.SharePoint\.SPFileLevel|Microsoft\.SharePoint\.Publishing\.PublishingWeb|Microsoft\.SharePoint\.Publishing|Microsoft\.SharePoint\.SPWeb)(\])',
+ GESHI_REPLACE => '\2',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => '\3'
+ ),
+ // Members
+ // There's about a hundred million of these, add the ones you need as you need them
+ 5 => array (
+ GESHI_SEARCH => '(::)(ReflectionOnlyLoadFrom|ReflectionOnlyLoad|ReferenceEquals|LoadWithPartialName|LoadFrom|LoadFile|Load|GetExecutingAssembly|GetEntryAssembly|GetCallingAssembly|GetAssembly|Equals|DefaultNetworkCredentials|DefaultCredentials|CreateQualifiedName|Checkout|Draft|Published|IsPublishingWeb)',
+ GESHI_REPLACE => '\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\1',
+ GESHI_AFTER => ''
+ ),
+ // Special variables
+ 6 => array(
+ GESHI_SEARCH => '(\$)(\$[_\^]?|\?)(?!\w)',
+ GESHI_REPLACE => '\1\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ // variables
+ //BenBE: Please note that changes here and in Keyword group 6 have to be synchronized in order to work properly.
+ //This Regexp must only match, if keyword group 6 doesn't. If this assumption fails
+ //Highlighting of the keywords will be incomplete or incorrect!
+ 0 => "(?<!\\\$|>)[\\\$](\w+)(?=[^|\w])",
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 4 => array(
+ 'DISALLOWED_AFTER' => '(?![a-zA-Z])',
+ 'DISALLOWED_BEFORE' => ''
+ ),
+ 6 => array(
+ 'DISALLOWED_BEFORE' => '(?<!\$>)\$'
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/progress.php b/application/libraries/geshi/progress.php
new file mode 100644
index 000000000..3824e7b0b
--- /dev/null
+++ b/application/libraries/geshi/progress.php
@@ -0,0 +1,485 @@
+<?php
+/*************************************************************************************
+ * progress.php
+ * --------
+ * 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
+ * Date Started: 2008/07/11
+ *
+ * Progress language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/11 (1.0.8)
+ * - First Release
+ *
+ * TODO (updated 2008/07/11)
+ * -------------------------
+ * * Clean up the keyword list
+ * * Sort Keyword lists by Control Structures, Predefined functions and other important keywords
+ * * Complete language support
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Progress',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array (
+ 1 => array(
+ 'ACCUMULATE','APPLY','ASSIGN','BELL','QUERY',
+ 'BUFFER-COMPARE','BUFFER-COPY','CALL','CASE',
+ 'CHOOSE','CLASS','CLOSE QUERY','each','WHERE',
+ 'CLOSE STORED-PROCEDURE','COLOR','COMPILE','CONNECT',
+ 'CONSTRUCTOR','COPY-LOB','CREATE','CREATE ALIAS',
+ 'CREATE BROWSE','CREATE BUFFER','CREATE CALL','CREATE CLIENT-PRINCIPAL',
+ 'CREATE DATABASE','CREATE DATASET','CREATE DATA-SOURCE','CREATE QUERY',
+ 'CREATE SAX-attributeS','CREATE SAX-READER','CREATE SAX-WRITER','CREATE SERVER',
+ 'CREATE SERVER-SOCKET','CREATE SOAP-HEADER','CREATE SOAP-HEADER-ENTRYREF','CREATE SOCKET',
+ 'CREATE TEMP-TABLE','CREATE WIDGET','CREATE widget-POOL','CREATE X-DOCUMENT',
+ 'CREATE X-NODEREF','CURRENT-LANGUAGE','CURRENT-VALUE','DDE ADVISE',
+ 'DDE EXECUTE','DDE GET','DDE INITIATE','DDE REQUEST',
+ 'DDE SEND','DDE TERMINATE','DEFINE BROWSE','DEFINE BUFFER','DEFINE',
+ 'DEFINE BUTTON','DEFINE DATASET','DEFINE DATA-SOURCE','DEFINE FRAME','DEF','VAR',
+ 'DEFINE IMAGE','DEFINE MENU','DEFINE PARAMETER','DEFINE property','PARAM',
+ 'DEFINE QUERY','DEFINE RECTANGLE','DEFINE STREAM','DEFINE SUB-MENU',
+ 'DEFINE TEMP-TABLE','DEFINE WORKFILE','DEFINE WORK-TABLE',
+ 'DELETE','DELETE ALIAS','DELETE object','DELETE PROCEDURE',
+ 'DELETE widget','DELETE widget-POOL','DESTRUCTOR','DICTIONARY',
+ 'DISABLE','DISABLE TRIGGERS','DISCONNECT','DISPLAY',
+ 'DO','DOS','DOWN','DYNAMIC-CURRENT-VALUE',
+ 'ELSE','EMPTY TEMP-TABLE','ENABLE','END',
+ 'ENTRY','FIND','AND',
+ 'FIX-CODEPAGE','FOR','FORM','FRAME-VALUE',
+ 'GET','GET-KEY-VALUE','HIDE','IF',
+ 'IMPORT','INPUT CLEAR','INPUT CLOSE','INPUT FROM','input',
+ 'INPUT THROUGH','INPUT-OUTPUT CLOSE','INPUT-OUTPUT THROUGH',
+ 'INTERFACE','LEAVE','BREAK',
+ 'LOAD-PICTURE','MESSAGE','method','NEXT','prev',
+ 'NEXT-PROMPT','ON','OPEN QUERY','OS-APPEND',
+ 'OS-COMMAND','OS-COPY','OS-CREATE-DIR','OS-DELETE',
+ 'OS-RENAME','OUTPUT CLOSE','OUTPUT THROUGH','OUTPUT TO',
+ 'OVERLAY','PAGE','PAUSE','PROCEDURE',
+ 'PROCESS EVENTS','PROMPT-FOR','PROMSGS','PROPATH',
+ 'PUBLISH','PUT','PUT CURSOR','PUT SCREEN',
+ 'PUT-BITS','PUT-BYTE','PUT-BYTES','PUT-DOUBLE',
+ 'PUT-FLOAT','PUT-INT64','PUT-KEY-VALUE','PUT-LONG',
+ 'PUT-SHORT','PUT-STRING','PUT-UNSIGNED-LONG','PUT-UNSIGNED-SHORT',
+ 'QUIT','RAW-TRANSFER','READKEY','RELEASE',
+ 'RELEASE EXTERNAL','RELEASE object','REPEAT','REPOSITION',
+ 'RUN','RUN STORED-PROCEDURE','RUN SUPER',
+ 'SAVE CACHE','SCROLL','SEEK','SET',
+ 'SET-BYTE-ORDER','SET-POINTER-VALUE','SET-SIZE','SHOW-STATS',
+ 'STATUS','STOP','SUBSCRIBE','SUBSTRING',
+ 'system-DIALOG COLOR','system-DIALOG FONT','system-DIALOG GET-DIR','system-DIALOG GET-FILE',
+ 'system-DIALOG PRINTER-SETUP','system-HELP','THEN','THIS-object',
+ 'TRANSACTION-MODE AUTOMATIC','TRIGGER PROCEDURE','UNDERLINE','UNDO',
+ 'UNIX','UNLOAD','UNSUBSCRIBE','UP','STRING',
+ 'UPDATE','USE','USING','substr','SKIP','CLOSE',
+ 'VIEW','WAIT-FOR','MODULO','NE','AVAIL',
+ 'NOT','OR','&GLOBAL-DEFINE','&IF','UNFORMATTED','NO-PAUSE',
+ '&THEN','&ELSEIF','&ELSE','&ENDIF','OPEN','NO-WAIT',
+ '&MESSAGE','&SCOPED-DEFINE','&UNDEFINE','DEFINED',
+ 'BROWSE','BUTTON','COMBO-BOX','CONTROL-FRAME',
+ 'DIALOG-BOX','EDITOR','FIELD-GROUP','FILL-IN',
+ 'FRAME','IMAGE','LITERAL','MENU',
+ 'MENU-ITEM','RADIO-SET','RECTANGLE','SELECTION-LIST',
+ 'SLIDER','SUB-MENU','TEXT','TOGGLE-BOX',
+ 'WINDOW','WITH','AT','OF','EDITING','ON ENDKEY','output',
+ 'ON ERROR','ON QUIT','ON STOP','PRESELECT',
+ 'QUERY-TUNING','SIZE','Trigger','VIEW-AS','ALERT-BOX',
+ 'Buffer','Data-relation','ProDataSet','SAX-attributes',
+ 'SAX-reader','SAX-writer','Server socket','SOAP-fault',
+ 'SOAP-header','SOAP-header-entryref','Socket','Temp-table',
+ 'X-noderef','Height','Left','Top','TO',
+ 'Width','ACTIVE-WINDOW','AUDIT-CONTROL','FIRST','LAST',
+ 'AUDIT-POLICY','CLIPBOARD','CODEBASE-LOCATOR','COLOR-TABLE',
+ 'COMPILER','COM-SELF','DEBUGGER','DEFAULT-WINDOW',
+ 'ERROR-STATUS','FILE-INFO','FOCUS','FONT-TABLE',
+ 'LAST-EVENT','LOG-MANAGER','RCODE-INFO','SECURITY-POLICY',
+ 'SELF','SESSION','SOURCE-PROCEDURE','TARGET-PROCEDURE','NO-LOCK','NO-error',
+ 'THIS-PROCEDURE','WEB-CONTEXT','FUNCTION','RETURNS','NO-UNDO'
+ ),
+ 2 => array(
+ 'ACCEPT-CHANGES','ACCEPT-ROW-CHANGES','ADD-BUFFER','ADD-CALC-COLUMN',
+ 'ADD-COLUMNS-FROM','ADD-EVENTS-PROCEDURE','ADD-FIELDS-FROM','ADD-FIRST',
+ 'ADD-HEADER-ENTRY','ADD-INDEX-FIELD','ADD-LAST','ADD-LIKE-COLUMN',
+ 'ADD-LIKE-FIELD','ADD-LIKE-INDEX','ADD-NEW-FIELD','ADD-NEW-INDEX',
+ 'ADD-RELATION','ADD-SCHEMA-LOCATION','ADD-SOURCE-BUFFER','ADD-SUPER-PROCEDURE',
+ 'APPEND-CHILD','APPLY-CALLBACK','ATTACH-DATA-SOURCE','AUTHENTICATION-FAILED',
+ 'BEGIN-EVENT-GROUP','BUFFER-CREATE',
+ 'BUFFER-DELETE','BUFFER-RELEASE','BUFFER-VALIDATE',
+ 'CANCEL-BREAK','CANCEL-REQUESTS','CLEAR','CLEAR-APPL-CONTEXT',
+ 'CLEAR-LOG','CLEAR-SELECTION','CLEAR-SORT-ARROWS','CLONE-NODE',
+ 'CLOSE-LOG','CONNECTED','CONVERT-TO-OFFSET',
+ 'COPY-DATASET','COPY-SAX-attributeS','COPY-TEMP-TABLE','CREATE-LIKE',
+ 'CREATE-NODE','CREATE-NODE-NAMESPACE','CREATE-RESULT-LIST-ENTRY','DEBUG',
+ 'DECLARE-NAMESPACE','DELETE-CHAR','DELETE-CURRENT-ROW',
+ 'DELETE-HEADER-ENTRY','DELETE-LINE','DELETE-NODE','DELETE-RESULT-LIST-ENTRY',
+ 'DELETE-SELECTED-ROW','DELETE-SELECTED-ROWS','DESELECT-FOCUSED-ROW','DESELECT-ROWS',
+ 'DESELECT-SELECTED-ROW','DETACH-DATA-SOURCE','DISABLE-CONNECTIONS',
+ 'DISABLE-DUMP-TRIGGERS','DISABLE-LOAD-TRIGGERS','DISPLAY-MESSAGE',
+ 'DUMP-LOGGING-NOW','EDIT-CLEAR','EDIT-COPY','EDIT-CUT',
+ 'EDIT-PASTE','EDIT-UNDO','EMPTY-DATASET','EMPTY-TEMP-TABLE',
+ 'ENABLE-CONNECTIONS','ENABLE-EVENTS','ENCRYPT-AUDIT-MAC-KEY',
+ 'END-DOCUMENT','END-ELEMENT','END-EVENT-GROUP','END-FILE-DROP',
+ 'EXPORT','EXPORT-PRINCIPAL','FETCH-SELECTED-ROW',
+ 'FILL','FIND-BY-ROWID','FIND-CURRENT','FIND-FIRST',
+ 'FIND-LAST','FIND-UNIQUE','GET-attribute','GET-attribute-NODE',
+ 'GET-BINARY-DATA','GET-BLUE-VALUE','GET-BROWSE-COLUMN','GET-BUFFER-HANDLE',
+ 'GET-BYTES-AVAILABLE','GET-CALLBACK-PROC-CONTEXT','GET-CALLBACK-PROC-NAME','GET-CGI-LIST',
+ 'GET-CGI-LONG-VALUE','GET-CGI-VALUE','GET-CHANGES','GET-CHILD',
+ 'GET-CHILD-RELATION','GET-CONFIG-VALUE','GET-CURRENT','GET-DATASET-BUFFER',
+ 'GET-DOCUMENT-ELEMENT','GET-DROPPED-FILE','GET-DYNAMIC','GET-ERROR-COLUMN ',
+ 'GET-ERROR-ROW ','GET-FILE-NAME ','GET-FILE-OFFSET ','GET-FIRST',
+ 'GET-GREEN-VALUE','GET-HEADER-ENTRY','GET-INDEX-BY-NAMESPACE-NAME','GET-INDEX-BY-QNAME',
+ 'GET-ITERATION','GET-LAST','GET-LOCALNAME-BY-INDEX','GET-MESSAGE',
+ 'GET-NEXT','GET-NODE','GET-NUMBER','GET-PARENT',
+ 'GET-PREV','GET-PRINTERS','GET-property','GET-QNAME-BY-INDEX',
+ 'GET-RED-VALUE','GET-RELATION','GET-REPOSITIONED-ROW','GET-RGB-VALUE',
+ 'GET-SELECTED-widget','GET-SERIALIZED','GET-SIGNATURE','GET-SOCKET-OPTION',
+ 'GET-SOURCE-BUFFER','GET-TAB-ITEM','GET-TEXT-HEIGHT-CHARS','GET-TEXT-HEIGHT-PIXELS',
+ 'GET-TEXT-WIDTH-CHARS','GET-TEXT-WIDTH-PIXELS','GET-TOP-BUFFER','GET-TYPE-BY-INDEX',
+ 'GET-TYPE-BY-NAMESPACE-NAME','GET-TYPE-BY-QNAME','GET-URI-BY-INDEX','GET-VALUE-BY-INDEX',
+ 'GET-VALUE-BY-NAMESPACE-NAME','GET-VALUE-BY-QNAME','GET-WAIT-STATE','IMPORT-NODE',
+ 'IMPORT-PRINCIPAL','INCREMENT-EXCLUSIVE-ID','INITIALIZE-DOCUMENT-TYPE',
+ 'INITIATE','INSERT','INSERT-attribute','INSERT-BACKTAB',
+ 'INSERT-BEFORE','INSERT-FILE','INSERT-ROW','INSERT-STRING',
+ 'INSERT-TAB','INVOKE','IS-ROW-SELECTED','IS-SELECTED',
+ 'LIST-property-NAMES','LOAD','LoadControls','LOAD-DOMAINS',
+ 'LOAD-ICON','LOAD-IMAGE','LOAD-IMAGE-DOWN','LOAD-IMAGE-INSENSITIVE',
+ 'LOAD-IMAGE-UP','LOAD-MOUSE-POINTER','LOAD-SMALL-ICON','LOCK-REGISTRATION',
+ 'LOG-AUDIT-EVENT','LOGOUT','LONGCHAR-TO-NODE-VALUE','LOOKUP',
+ 'MEMPTR-TO-NODE-VALUE','MERGE-CHANGES','MERGE-ROW-CHANGES','MOVE-AFTER-TAB-ITEM',
+ 'MOVE-BEFORE-TAB-ITEM','MOVE-COLUMN','MOVE-TO-BOTTOM','MOVE-TO-EOF',
+ 'MOVE-TO-TOP','NODE-VALUE-TO-LONGCHAR','NODE-VALUE-TO-MEMPTR','NORMALIZE',
+ 'QUERY-CLOSE','QUERY-OPEN','QUERY-PREPARE',
+ 'READ','READ-FILE','READ-XML','READ-XMLSCHEMA',
+ 'REFRESH','REFRESH-AUDIT-POLICY','REGISTER-DOMAIN','REJECT-CHANGES',
+ 'REJECT-ROW-CHANGES','REMOVE-attribute','REMOVE-CHILD','REMOVE-EVENTS-PROCEDURE',
+ 'REMOVE-SUPER-PROCEDURE','REPLACE','REPLACE-CHILD','REPLACE-SELECTION-TEXT',
+ 'REPOSITION-BACKWARD','REPOSITION-FORWARD','REPOSITION-TO-ROW','REPOSITION-TO-ROWID',
+ 'RESET','SAVE','SAVE-FILE','SAVE-ROW-CHANGES',
+ 'SAX-PARSE','SAX-PARSE-FIRST','SAX-PARSE-NEXT','SCROLL-TO-CURRENT-ROW',
+ 'SCROLL-TO-ITEM','SCROLL-TO-SELECTED-ROW','SEAL','SEARCH',
+ 'SELECT-ALL','SELECT-FOCUSED-ROW','SELECT-NEXT-ROW','SELECT-PREV-ROW',
+ 'SELECT-ROW','SET-ACTOR','SET-APPL-CONTEXT','SET-attribute',
+ 'SET-attribute-NODE','SET-BLUE-VALUE','SET-BREAK','SET-BUFFERS',
+ 'SET-CALLBACK','SET-CALLBACK-PROCEDURE','SET-CLIENT','SET-COMMIT',
+ 'SET-CONNECT-PROCEDURE','SET-DYNAMIC','SET-GREEN-VALUE','SET-INPUT-SOURCE',
+ 'SET-MUST-UNDERSTAND','SET-NODE','SET-NUMERIC-FORMAT','SET-OUTPUT-DESTINATION',
+ 'SET-PARAMETER','SET-property','SET-READ-RESPONSE-PROCEDURE','SET-RED-VALUE',
+ 'SET-REPOSITIONED-ROW','SET-RGB-VALUE','SET-ROLLBACK','SET-SELECTION',
+ 'SET-SERIALIZED','SET-SOCKET-OPTION','SET-SORT-ARROW','SET-WAIT-STATE',
+ 'START-DOCUMENT','START-ELEMENT','STOP-PARSING','SYNCHRONIZE',
+ 'TEMP-TABLE-PREPARE','UPDATE-attribute','URL-DECODE','URL-ENCODE',
+ 'VALIDATE','VALIDATE-SEAL','WRITE','WRITE-CDATA','USE-INDEX',
+ 'WRITE-CHARACTERS','WRITE-COMMENT','WRITE-DATA-ELEMENT','WRITE-EMPTY-ELEMENT',
+ 'WRITE-ENTITY-REF','WRITE-EXTERNAL-DTD','WRITE-FRAGMENT','WRITE-MESSAGE',
+ 'WRITE-PROCESSING-INSTRUCTION','WRITE-XML','WRITE-XMLSCHEMA','FALSE','true'
+ ),
+ 3 => array(
+ 'ABSOLUTE','ACCUM','ADD-INTERVAL','ALIAS','mod',
+ 'AMBIGUOUS','ASC','AUDIT-ENABLED','AVAILABLE',
+ 'BASE64-DECODE','BASE64-ENCODE','CAN-DO','CAN-FIND',
+ 'CAN-QUERY','CAN-SET','CAPS','CAST','OS-DIR',
+ 'CHR','CODEPAGE-CONVERT','COMPARE',
+ 'COUNT-OF','CURRENT-CHANGED','CURRENT-RESULT-ROW','DATASERVERS',
+ 'DATA-SOURCE-MODIFIED','DATETIME','DATETIME-TZ',
+ 'DAY','DBCODEPAGE','DBCOLLATION','DBNAME',
+ 'DBPARAM','DBRESTRICTIONS','DBTASKID','DBTYPE',
+ 'DBVERSION','DECIMAL','DECRYPT','DYNAMIC-function',
+ 'DYNAMIC-NEXT-VALUE','ENCODE','ENCRYPT','ENTERED',
+ 'ERROR','ETIME','EXP','ENDKEY','END-error',
+ 'FIRST-OF','FRAME-DB','FRAME-DOWN',
+ 'FRAME-FIELD','FRAME-FILE','FRAME-INDEX','FRAME-LINE',
+ 'GATEWAYS','GENERATE-PBE-KEY','GENERATE-PBE-SALT','GENERATE-RANDOM-KEY',
+ 'GENERATE-UUID','GET-BITS','GET-BYTE','GET-BYTE-ORDER',
+ 'GET-BYTES','GET-CODEPAGE','GET-CODEPAGES','GET-COLLATION',
+ 'GET-COLLATIONS','GET-DOUBLE','GET-FLOAT','GET-INT64',
+ 'GET-LONG','GET-POINTER-VALUE','GET-SHORT','GET-SIZE',
+ 'GET-STRING','GET-UNSIGNED-LONG','GET-UNSIGNED-SHORT','GO-PENDING',
+ 'GUID','HEX-DECODE','INDEX',
+ 'INT64','INTEGER','INTERVAL','IS-ATTR-SPACE',
+ 'IS-CODEPAGE-FIXED','IS-COLUMN-CODEPAGE','IS-LEAD-BYTE','ISO-DATE',
+ 'KBLABEL','KEYCODE','KEYFUNCTION','KEYLABEL',
+ 'KEYWORD','KEYWORD-ALL','LASTKEY',
+ 'LAST-OF','LC','LDBNAME','LEFT-TRIM',
+ 'LIBRARY','LINE-COUNTER','LIST-EVENTS','LIST-QUERY-ATTRS',
+ 'LIST-SET-ATTRS','LIST-widgetS','LOCKED',
+ 'LOGICAL','MAXIMUM','MD5-DIGEST',
+ 'MEMBER','MESSAGE-LINES','MINIMUM','MONTH',
+ 'MTIME','NEW','NEXT-VALUE','SHARED',
+ 'NOT ENTERED','NOW','NUM-ALIASES','NUM-DBS',
+ 'NUM-ENTRIES','NUM-RESULTS','OPSYS','OS-DRIVES',
+ 'OS-ERROR','OS-GETENV','PAGE-NUMBER','PAGE-SIZE',
+ 'PDBNAME','PROC-HANDLE','PROC-STATUS','PROGRAM-NAME',
+ 'PROGRESS','PROVERSION','QUERY-OFF-END','QUOTER',
+ 'RANDOM','RAW','RECID','REJECTED',
+ 'RETRY','RETURN-VALUE','RGB-VALUE',
+ 'RIGHT-TRIM','R-INDEX','ROUND','ROWID','LENGTH',
+ 'SDBNAME','SET-DB-CLIENT','SETUSERID',
+ 'SHA1-DIGEST','SQRT','SUBSTITUTE','VARIABLE',
+ 'SUPER','TERMINAL','TIME','TIMEZONE','external',
+ 'TODAY','TO-ROWID','TRIM','TRUNCATE','return',
+ 'TYPE-OF','USERID','VALID-EVENT','VALID-HANDLE',
+ 'VALID-object','WEEKDAY','YEAR','BEGINS','VALUE',
+ 'EQ','GE','GT','LE','LT','MATCHES','AS','BY','LIKE'
+ ),
+ 4 => array(
+ 'ACCELERATOR','ACTIVE','ACTOR','ADM-DATA',
+ 'AFTER-BUFFER','AFTER-ROWID','AFTER-TABLE','ALLOW-COLUMN-SEARCHING',
+ 'ALWAYS-ON-TOP','APPL-ALERT-BOXES','APPL-CONTEXT-ID','APPSERVER-INFO',
+ 'APPSERVER-PASSWORD','APPSERVER-USERID','ASYNCHRONOUS','ASYNC-REQUEST-COUNT',
+ 'ASYNC-REQUEST-HANDLE','ATTACHED-PAIRLIST','attribute-NAMES','ATTR-SPACE',
+ 'AUDIT-EVENT-CONTEXT','AUTO-COMPLETION','AUTO-DELETE','AUTO-DELETE-XML',
+ 'AUTO-END-KEY','AUTO-GO','AUTO-INDENT','AUTO-RESIZE',
+ 'AUTO-RETURN','AUTO-SYNCHRONIZE','AUTO-VALIDATE','AUTO-ZAP',
+ 'AVAILABLE-FORMATS','BACKGROUND','BASE-ADE','BASIC-LOGGING',
+ 'BATCH-MODE','BATCH-SIZE','BEFORE-BUFFER','BEFORE-ROWID',
+ 'BEFORE-TABLE','BGCOLOR','BLANK','BLOCK-ITERATION-DISPLAY',
+ 'BORDER-BOTTOM-CHARS','BORDER-BOTTOM-PIXELS','BORDER-LEFT-CHARS','BORDER-LEFT-PIXELS',
+ 'BORDER-RIGHT-CHARS','BORDER-RIGHT-PIXELS','BORDER-TOP-CHARS','BORDER-TOP-PIXELS',
+ 'BOX','BOX-SELECTABLE','BUFFER-CHARS','BUFFER-FIELD',
+ 'BUFFER-HANDLE','BUFFER-LINES','BUFFER-NAME','BUFFER-VALUE',
+ 'BYTES-READ','BYTES-WRITTEN','CACHE','CALL-NAME',
+ 'CALL-TYPE','CANCEL-BUTTON','CANCELLED','CAN-CREATE',
+ 'CAN-DELETE','CAN-READ','CAN-WRITE','CAREFUL-PAINT',
+ 'CASE-SENSITIVE','CENTERED','CHARSET','CHECKED',
+ 'CHILD-BUFFER','CHILD-NUM','CLASS-TYPE','CLIENT-CONNECTION-ID',
+ 'CLIENT-TTY','CLIENT-TYPE','CLIENT-WORKSTATION','CODE',
+ 'CODEPAGE','COLUMN','COLUMN-BGCOLOR','COLUMN-DCOLOR',
+ 'COLUMN-FGCOLOR','COLUMN-FONT','COLUMN-LABEL','COLUMN-MOVABLE',
+ 'COLUMN-PFCOLOR','COLUMN-READ-ONLY','COLUMN-RESIZABLE','COLUMN-SCROLLING',
+ 'COM-HANDLE','COMPLETE','CONFIG-NAME','CONTEXT-HELP',
+ 'CONTEXT-HELP-FILE','CONTEXT-HELP-ID','CONTROL-BOX','CONVERT-3D-COLORS',
+ 'CPCASE','CPCOLL','CPINTERNAL','CPLOG',
+ 'CPPRINT','CPRCODEIN','CPRCODEOUT','CPSTREAM',
+ 'CPTERM','CRC-VALUE','CURRENT-COLUMN','CURRENT-ENVIRONMENT',
+ 'CURRENT-ITERATION','CURRENT-ROW-MODIFIED','CURRENT-WINDOW','CURSOR-CHAR',
+ 'CURSOR-LINE','CURSOR-OFFSET','DATA-ENTRY-RETURN','DATASET',
+ 'DATA-SOURCE','DATA-SOURCE-COMPLETE-MAP','DATA-TYPE','DATE-FORMAT',
+ 'DB-REFERENCES','DCOLOR','DDE-ERROR','DDE-ID',
+ 'DDE-ITEM','DDE-NAME','DDE-TOPIC','DEBLANK',
+ 'DEBUG-ALERT','DECIMALS','DEFAULT','DEFAULT-BUFFER-HANDLE',
+ 'DEFAULT-BUTTON','DEFAULT-COMMIT','DELIMITER','DISABLE-AUTO-ZAP',
+ 'DISPLAY-TIMEZONE','DISPLAY-TYPE','DOMAIN-DESCRIPTION','DOMAIN-NAME',
+ 'DOMAIN-TYPE','DRAG-ENABLED','DROP-TARGET','DYNAMIC',
+ 'EDGE-CHARS','EDGE-PIXELS','EDIT-CAN-PASTE','EDIT-CAN-UNDO',
+ 'EMPTY','ENCODING','ENCRYPTION-SALT','END-USER-PROMPT',
+ 'ENTRY-TYPES-LIST','ERROR-COLUMN','ERROR-object-DETAIL','ERROR-ROW',
+ 'ERROR-STRING','EVENT-GROUP-ID','EVENT-PROCEDURE','EVENT-PROCEDURE-CONTEXT',
+ 'EVENT-TYPE','EXCLUSIVE-ID','EXECUTION-LOG','EXPAND',
+ 'EXPANDABLE','FGCOLOR','FILE-CREATE-DATE','FILE-CREATE-TIME',
+ 'FILE-MOD-DATE','FILE-MOD-TIME','FILE-NAME','FILE-OFFSET',
+ 'FILE-SIZE','FILE-TYPE','FILLED','FILL-MODE',
+ 'FILL-WHERE-STRING','FIRST-ASYNC-REQUEST','FIRST-BUFFER','FIRST-CHILD',
+ 'FIRST-COLUMN','FIRST-DATASET','FIRST-DATA-SOURCE','FIRST-object',
+ 'FIRST-PROCEDURE','FIRST-QUERY','FIRST-SERVER','FIRST-SERVER-SOCKET',
+ 'FIRST-SOCKET','FIRST-TAB-ITEM','FIT-LAST-COLUMN','FLAT-BUTTON',
+ 'FOCUSED-ROW','FOCUSED-ROW-SELECTED','FONT','FOREGROUND',
+ 'FORMAT','FORMATTED','FORM-INPUT','FORM-LONG-INPUT',
+ 'FORWARD-ONLY','FRAGMENT','FRAME-COL','FRAME-NAME',
+ 'FRAME-ROW','FRAME-SPACING','FRAME-X','FRAME-Y',
+ 'FREQUENCY','FULL-HEIGHT-CHARS','FULL-HEIGHT-PIXELS','FULL-PATHNAME',
+ 'FULL-WIDTH-CHARS','FULL-WIDTH-PIXELS','GRAPHIC-EDGE',
+ 'GRID-FACTOR-HORIZONTAL','GRID-FACTOR-VERTICAL','GRID-SNAP','GRID-UNIT-HEIGHT-CHARS',
+ 'GRID-UNIT-HEIGHT-PIXELS','GRID-UNIT-WIDTH-CHARS','GRID-UNIT-WIDTH-PIXELS','GRID-VISIBLE',
+ 'GROUP-BOX','HANDLE','HANDLER','HAS-LOBS',
+ 'HAS-RECORDS','HEIGHT-CHARS','HEIGHT-PIXELS','HELP',
+ 'HIDDEN','HORIZONTAL','HTML-CHARSET','HTML-END-OF-LINE',
+ 'HTML-END-OF-PAGE','HTML-FRAME-BEGIN','HTML-FRAME-END','HTML-HEADER-BEGIN',
+ 'HTML-HEADER-END','HTML-TITLE-BEGIN','HTML-TITLE-END','HWND',
+ 'ICFPARAMETER','ICON','IGNORE-CURRENT-MODIFIED','IMAGE-DOWN',
+ 'IMAGE-INSENSITIVE','IMAGE-UP','IMMEDIATE-DISPLAY','INDEX-INFORMATION',
+ 'IN-HANDLE','INHERIT-BGCOLOR','INHERIT-FGCOLOR','INITIAL','INIT',
+ 'INNER-CHARS','INNER-LINES','INPUT-VALUE','INSTANTIATING-PROCEDURE',
+ 'INTERNAL-ENTRIES','IS-CLASS','IS-OPEN','IS-PARAMETER-SET',
+ 'IS-XML','ITEMS-PER-ROW','KEEP-CONNECTION-OPEN','KEEP-FRAME-Z-ORDER',
+ 'KEEP-SECURITY-CACHE','KEY','KEYS','LABEL',
+ 'LABEL-BGCOLOR','LABEL-DCOLOR','LABEL-FGCOLOR','LABEL-FONT',
+ 'LABELS','LANGUAGES','LARGE','LARGE-TO-SMALL',
+ 'LAST-ASYNC-REQUEST','LAST-BATCH','LAST-CHILD','LAST-object',
+ 'LAST-PROCEDURE','LAST-SERVER','LAST-SERVER-SOCKET','LAST-SOCKET',
+ 'LAST-TAB-ITEM','LINE','LIST-ITEM-PAIRS','LIST-ITEMS',
+ 'LITERAL-QUESTION','LOCAL-HOST','LOCAL-NAME','LOCAL-PORT',
+ 'LOCATOR-COLUMN-NUMBER','LOCATOR-LINE-NUMBER','LOCATOR-PUBLIC-ID','LOCATOR-system-ID',
+ 'LOCATOR-TYPE','LOG-ENTRY-TYPES','LOGFILE-NAME','LOGGING-LEVEL',
+ 'LOGIN-EXPIRATION-TIMESTAMP','LOGIN-HOST','LOGIN-STATE','LOG-THRESHOLD',
+ 'MANDATORY','MANUAL-HIGHLIGHT','MAX-BUTTON','MAX-CHARS',
+ 'MAX-DATA-GUESS','MAX-HEIGHT-CHARS','MAX-HEIGHT-PIXELS','MAX-VALUE',
+ 'MAX-WIDTH-CHARS','MAX-WIDTH-PIXELS','MD5-VALUE','MENU-BAR',
+ 'MENU-KEY','MENU-MOUSE','MERGE-BY-FIELD','MESSAGE-AREA',
+ 'MESSAGE-AREA-FONT','MIN-BUTTON','MIN-COLUMN-WIDTH-CHARS','MIN-COLUMN-WIDTH-PIXELS',
+ 'MIN-HEIGHT-CHARS','MIN-HEIGHT-PIXELS','MIN-SCHEMA-MARSHAL','MIN-VALUE',
+ 'MIN-WIDTH-CHARS','MIN-WIDTH-PIXELS','MODIFIED','MOUSE-POINTER',
+ 'MOVABLE','MULTI-COMPILE','MULTIPLE','MULTITASKING-INTERVAL',
+ 'MUST-UNDERSTAND','NAME','NAMESPACE-PREFIX','NAMESPACE-URI',
+ 'NEEDS-APPSERVER-PROMPT','NEEDS-PROMPT','NESTED','NEW-ROW',
+ 'NEXT-COLUMN','NEXT-ROWID','NEXT-SIBLING','NEXT-TAB-ITEM', 'NO-BOX',
+ 'NO-CURRENT-VALUE','NODE-VALUE','NO-EMPTY-SPACE','NO-FOCUS',
+ 'NONAMESPACE-SCHEMA-LOCATION','NO-SCHEMA-MARSHAL','NO-VALIDATE','NUM-BUFFERS',
+ 'NUM-BUTTONS','NUM-CHILD-RELATIONS','NUM-CHILDREN','NUM-COLUMNS',
+ 'NUM-DROPPED-FILES','NUMERIC-DECIMAL-POINT','NUMERIC-FORMAT','NUMERIC-SEPARATOR',
+ 'NUM-FIELDS','NUM-FORMATS','NUM-HEADER-ENTRIES','NUM-ITEMS',
+ 'NUM-ITERATIONS','NUM-LINES','NUM-LOCKED-COLUMNS','NUM-LOG-FILES',
+ 'NUM-MESSAGES','NUM-PARAMETERS','NUM-REFERENCES','NUM-RELATIONS',
+ 'NUM-REPLACED','NUM-SELECTED-ROWS','NUM-SELECTED-WIDGETS','NUM-SOURCE-BUFFERS',
+ 'NUM-TABS','NUM-TOP-BUFFERS','NUM-TO-RETAIN','NUM-VISIBLE-COLUMNS',
+ 'ON-FRAME-BORDER','ORIGIN-HANDLE','ORIGIN-ROWID','OWNER',
+ 'OWNER-DOCUMENT','PAGE-BOTTOM','PAGE-TOP','PARAMETER',
+ 'PARENT','PARENT-BUFFER','PARENT-RELATION','PARSE-STATUS',
+ 'PASSWORD-FIELD','PATHNAME','PBE-HASH-ALGORITHM','PBE-KEY-ROUNDS',
+ 'PERSISTENT','PERSISTENT-CACHE-DISABLED','PERSISTENT-PROCEDURE','PFCOLOR',
+ 'PIXELS-PER-COLUMN','PIXELS-PER-ROW','POPUP-MENU','POPUP-ONLY',
+ 'POSITION','PREFER-DATASET','PREPARED','PREPARE-STRING',
+ 'PREV-COLUMN','PREV-SIBLING','PREV-TAB-ITEM','PRIMARY',
+ 'PRINTER-CONTROL-HANDLE','PRINTER-HDC','PRINTER-NAME','PRINTER-PORT',
+ 'PRIVATE-DATA','PROCEDURE-NAME','PROGRESS-SOURCE','PROXY',
+ 'PROXY-PASSWORD','PROXY-USERID','PUBLIC-ID','PUBLISHED-EVENTS',
+ 'RADIO-BUTTONS','READ-ONLY','RECORD-LENGTH',
+ 'REFRESHABLE','RELATION-FIELDS','RELATIONS-ACTIVE','REMOTE',
+ 'REMOTE-HOST','REMOTE-PORT','RESIZABLE','RESIZE',
+ 'RESTART-ROWID','RETAIN-SHAPE','RETURN-INSERTED','RETURN-VALUE-DATA-TYPE',
+ 'ROLES','ROUNDED','COL','ROW','ROW-HEIGHT-CHARS',
+ 'ROW-HEIGHT-PIXELS','ROW-MARKERS','ROW-RESIZABLE','ROW-STATE',
+ 'SAVE-WHERE-STRING','SCHEMA-CHANGE','SCHEMA-LOCATION','SCHEMA-MARSHAL',
+ 'SCHEMA-PATH','SCREEN-LINES','SCREEN-VALUE','SCROLLABLE',
+ 'SCROLLBAR-HORIZONTAL','SCROLL-BARS','SCROLLBAR-VERTICAL','SEAL-TIMESTAMP',
+ 'SELECTABLE','SELECTED','SELECTION-END','SELECTION-START',
+ 'SELECTION-TEXT','SENSITIVE','SEPARATOR-FGCOLOR','SEPARATORS',
+ 'SERVER','SERVER-CONNECTION-BOUND','SERVER-CONNECTION-BOUND-REQUEST','SERVER-CONNECTION-CONTEXT',
+ 'SERVER-CONNECTION-ID','SERVER-OPERATING-MODE','SESSION-END','SESSION-ID',
+ 'SHOW-IN-TASKBAR','SIDE-LABEL-HANDLE','SIDE-LABELS','SKIP-DELETED-RECORD',
+ 'SMALL-ICON','SMALL-TITLE','SOAP-FAULT-ACTOR','SOAP-FAULT-CODE',
+ 'SOAP-FAULT-DETAIL','SOAP-FAULT-STRING','SORT','SORT-ASCENDING',
+ 'SORT-NUMBER','SSL-SERVER-NAME','STANDALONE','STARTUP-PARAMETERS',
+ 'STATE-DETAIL','STATUS-AREA','STATUS-AREA-FONT','STOPPED',
+ 'STREAM','STRETCH-TO-FIT','STRICT','STRING-VALUE',
+ 'SUBTYPE','SUPER-PROCEDURES','SUPPRESS-NAMESPACE-PROCESSING','SUPPRESS-WARNINGS',
+ 'SYMMETRIC-ENCRYPTION-ALGORITHM','SYMMETRIC-ENCRYPTION-IV','SYMMETRIC-ENCRYPTION-KEY','SYMMETRIC-SUPPORT',
+ 'system-ALERT-BOXES','system-ID','TABLE','TABLE-CRC-LIST',
+ 'TABLE-HANDLE','TABLE-LIST','TABLE-NUMBER','TAB-POSITION',
+ 'TAB-STOP','TEMP-DIRECTORY','TEXT-SELECTED','THREE-D',
+ 'TIC-MARKS','TIME-SOURCE','TITLE','TITLE-BGCOLOR','FIELD',
+ 'TITLE-DCOLOR','TITLE-FGCOLOR','TITLE-FONT','TOOLTIP',
+ 'TOOLTIPS','TOP-ONLY','TRACKING-CHANGES','TRANSACTION',
+ 'TRANS-INIT-PROCEDURE','TRANSPARENT','TYPE','UNIQUE-ID',
+ 'UNIQUE-MATCH','URL','URL-PASSWORD','URL-USERID','EXTENT',
+ 'USER-ID','V6DISPLAY','VALIDATE-EXPRESSION','VALIDATE-MESSAGE',
+ 'VALIDATE-XML','VALIDATION-ENABLED','VIEW-FIRST-COLUMN-ON-REOPEN',
+ 'VIRTUAL-HEIGHT-CHARS','VIRTUAL-HEIGHT-PIXELS','VIRTUAL-WIDTH-CHARS','VIRTUAL-WIDTH-PIXELS',
+ 'VISIBLE','WARNING','WHERE-STRING','widget-ENTER','DATE',
+ 'widget-LEAVE','WIDTH-CHARS','WIDTH-PIXELS','WINDOW-STATE',
+ 'WINDOW-system','WORD-WRAP','WORK-AREA-HEIGHT-PIXELS','WORK-AREA-WIDTH-PIXELS',
+ 'WORK-AREA-X','WORK-AREA-Y','WRITE-STATUS','X','widget-Handle',
+ 'X-DOCUMENT','XML-DATA-TYPE','XML-NODE-TYPE','XML-SCHEMA-PATH',
+ 'XML-SUPPRESS-NAMESPACE-PROCESSING','Y','YEAR-OFFSET','CHARACTER',
+ 'LONGCHAR','MEMPTR','CHAR','DEC','INT','LOG','DECI','INTE','LOGI','long'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}',
+ '<', '>', '=',
+ '+', '-', '*', '/',
+ '!', '@', '%', '|', '$',
+ ':', '.', ';', ',',
+ '?', '<=','<>','>=', '\\'
+ ),
+ 'CASE_SENSITIVE' => array (
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false
+ ),
+ 'STYLES' => array (
+ 'KEYWORDS' => array (
+ 1 => 'color: #0000ff; font-weight: bold;',
+ 2 => 'color: #1D16B2;',
+ 3 => 'color: #993333;',
+ 4 => 'color: #0000ff;'
+ ),
+ 'COMMENTS' => array (
+// 1 => 'color: #808080; font-style: italic;',
+// 2 => 'color: #808080; font-style: italic;',
+ 'MULTI' => '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 (
+ 0 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array (
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array (
+ ),
+ 'SCRIPT' => array (
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 0 => ':'
+ ),
+ 'REGEXPS' => array (
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array (
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array (
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<![\.\-a-zA-Z0-9_\$\#&])",
+ 'DISALLOWED_AFTER' => "(?![\-a-zA-Z0-9_%])",
+ 1 => array(
+ 'SPACE_AS_WHITESPACE' => true
+ ),
+ 2 => array(
+ 'SPACE_AS_WHITESPACE' => true
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/prolog.php b/application/libraries/geshi/prolog.php
new file mode 100644
index 000000000..1f35a1b82
--- /dev/null
+++ b/application/libraries/geshi/prolog.php
@@ -0,0 +1,143 @@
+<?php
+/*************************************************************************************
+ * prolog.php
+ * --------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/10/02
+ *
+ * Prolog language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/02 (1.0.8.1)
+ * - First Release
+ *
+ * TODO (updated 2008/10/02)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Prolog',
+ 'COMMENT_SINGLE' => array(1 => '%'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'HARDQUOTE' => array("'", "'"),
+ 'HARDESCAPE' => array("\'"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO,
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'abolish','abs','arg','asserta','assertz','at_end_of_stream','atan',
+ 'atom','atom_chars','atom_codes','atom_concat','atom_length',
+ 'atomic','bagof','call','catch','ceiling','char_code',
+ 'char_conversion','clause','close','compound','consult','copy_term',
+ 'cos','current_char_conversion','current_input','current_op',
+ 'current_output','current_predicate','current_prolog_flag',
+ 'discontiguous','dynamic','ensure_loaded','exp','fail','findall',
+ 'float','float_fractional_part','float_integer_part','floor',
+ 'flush_output','functor','get_byte','get_char','get_code','halt',
+ 'include','initialization','integer','is','listing','log','mod',
+ 'multifile','nl','nonvar','notrace','number','number_chars',
+ 'number_codes','once','op','open','peek_byte','peek_char',
+ 'peek_code','put_byte','put_char','put_code','read','read_term',
+ 'rem','repeat','retract','round','set_input','set_output',
+ 'set_prolog_flag','set_stream_position','setof','sign','sin','sqrt',
+ 'stream_property','sub_atom','throw','trace','true','truncate',
+ 'unify_with_occurs_check','univ','var','write','write_canonical',
+ 'write_term','writeq'
+ )
+ ),
+ 'SYMBOLS' => array(
+ 0 => array('(', ')', '[', ']', '{', '}',),
+ 1 => array('?-', ':-', '=:='),
+ 2 => array('\-', '\+', '\*', '\/'),
+ 3 => array('-', '+', '*', '/'),
+ 4 => array('.', ':', ',', ';'),
+ 5 => array('!', '@', '&', '|'),
+ 6 => array('<', '>', '=')
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #990000;'
+ ),
+ '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: #0000ff;',
+ 'HARD' => 'color: #0000ff;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #800080;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;',
+ 1 => 'color: #339933;',
+ 2 => 'color: #339933;',
+ 3 => 'color: #339933;',
+ 4 => 'color: #339933;',
+ 5 => 'color: #339933;',
+ 6 => 'color: #339933;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #008080;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://pauillac.inria.fr/~deransar/prolog/bips.html'
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Variables
+ 0 => "(?<![A-Z_])(?!(?:PIPE|SEMI)[^a-zA-Z0-9_])[A-Z_][a-zA-Z0-9_]*(?![a-zA-Z0-9_])"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/properties.php b/application/libraries/geshi/properties.php
new file mode 100644
index 000000000..231dd6e8b
--- /dev/null
+++ b/application/libraries/geshi/properties.php
@@ -0,0 +1,127 @@
+<?php
+/*************************************************************************************
+ * properties.php
+ * --------
+ * Author: Edy Hinzen
+ * Copyright: (c) 2009 Edy Hinzen
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/04/03
+ *
+ * Property language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/04/03 (1.0.0)
+ * - First Release
+ *
+ * TODO
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'PROPERTIES',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ /* Common used variables */
+ 1 => array(
+ '${user.home}'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '='
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'font-weight: bold;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => ''
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #933;'
+ ),
+ 'NUMBERS' => array(
+ 0 => ''
+ ),
+ 'METHODS' => array(
+ 0 => ''
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #000080; font-weight:bold;',
+ 1 => 'color: #008000; font-weight:bold;'
+ ),
+ 'SCRIPT' => array(
+ 0 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Entry names
+ 0 => array(
+ GESHI_SEARCH => '^(\s*)([.a-zA-Z0-9_\-]+)(\s*=)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ //Entry values
+ 1 => array(
+ // Evil hackery to get around GeSHi bug: <>" and ; are added so <span>s can be matched
+ // Explicit match on variable names because if a comment is before the first < of the span
+ // gets chewed up...
+ GESHI_SEARCH => '([<>";a-zA-Z0-9_]+\s*)=(.*)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1=',
+ GESHI_AFTER => ''
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/providex.php b/application/libraries/geshi/providex.php
new file mode 100644
index 000000000..aaa02e797
--- /dev/null
+++ b/application/libraries/geshi/providex.php
@@ -0,0 +1,299 @@
+<?php
+/******************************************************************************
+ * providex.php
+ * ----------
+ * Author: Jeff Wilder (jeff@coastallogix.com)
+ * Copyright: (c) 2008 Coastal Logix (http://www.coastallogix.com)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/10/18
+ *
+ * ProvideX language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/21 (1.0.0)
+ * - First Release
+ *
+ * TODO
+ * -------------------------
+ * 1. Create a regexp for numeric global variables (ex: %VarName = 3)
+ * 2. Add standard object control properties
+ *
+ ******************************************************************************
+ *
+ * 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' => 'ProvideX',
+ 'COMMENT_SINGLE' => array(1 => '!'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ // Single-Line Comments using REM command
+ 2 => "/\bREM\b.*?$/i"
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ // Directives
+ '*break', '*continue', '*end', '*escape', '*next', '*proceed',
+ '*retry', '*return', '*same', 'accept', 'add index', 'addr',
+ 'auto', 'begin', 'break', 'button', 'bye', 'call', 'case',
+ 'chart', 'check_box', 'class', 'clear', 'clip_board', 'close',
+ 'continue', 'control', 'create required', 'create table',
+ 'cwdir', 'data', 'day_format', 'def', 'default', 'defctl',
+ 'defprt', 'deftty', 'delete required', 'dictionary', 'dim', 'direct',
+ 'directory', 'disable', 'drop', 'drop_box', 'dump', 'edit',
+ 'else', 'enable', 'end switch', 'end', 'end_if', 'endtrace',
+ 'enter', 'erase', 'error_handler', 'escape', 'event', 'execute',
+ 'exit', 'exitto', 'extract', 'file', 'find', 'floating point',
+ 'for', 'function', 'get_file_box', 'gosub', 'goto', 'grid',
+ 'h_scrollbar', 'hide', 'if', 'index', 'indexed', 'input',
+ 'insert', 'invoke', 'iolist', 'keyed', 'let', 'like',
+ 'line_switch', 'list', 'list_box', 'load', 'local', 'lock',
+ 'long_form', 'menu_bar', 'merge', 'message_lib', 'mnemonic',
+ 'msgbox', 'multi_line', 'multi_media', 'next', 'object', 'obtain',
+ 'on', 'open', 'password', 'perform', 'pop', 'popup_menu',
+ 'precision', 'prefix', 'preinput', 'print', 'process', 'program',
+ 'property', 'purge', 'quit', 'radio_button', 'randomize',
+ 'read', 'record', 'redim', 'refile', 'release', 'rem', 'remove',
+ 'rename', 'renumber', 'repeat', 'reset', 'restore', 'retry',
+ 'return', 'round', 'run', 'save', 'select', 'serial', 'server',
+ 'set_focus', 'set_nbf', 'set_param', 'setctl', 'setday', 'setdev',
+ 'setdrive', 'seterr', 'setesc', 'setfid', 'setmouse', 'settime',
+ 'settrace', 'short_form', 'show', 'sort', 'start', 'static',
+ 'step', 'stop', 'switch', 'system_help', 'system_jrnl', 'table',
+ 'then', 'to', 'translate', 'tristate_box', 'unlock', 'until',
+ 'update', 'user_lex', 'v_scrollbar', 'vardrop_box', 'varlist_box',
+ 'via', 'video_palette', 'wait', 'wend', 'while', 'winprt_setup',
+ 'with', 'write'
+ ),
+ 2 => array(
+ // System Functions
+ '@x', '@y', 'abs', 'acs', 'and', 'arg', 'asc', 'asn', 'ath',
+ 'atn', 'bin', 'bsz', 'chg', 'chr', 'cmp', 'cos', 'cpl',
+ 'crc', 'cse', 'ctl', 'cvs', 'dec', 'dir', 'dll', 'dsk',
+ 'dte', 'env', 'ept', 'err', 'evn', 'evs', 'exp', 'ffn',
+ 'fib', 'fid', 'fin', 'fpt', 'gap', 'gbl', 'gep', 'hsa',
+ 'hsh', 'hta', 'hwn', 'i3e', 'ind', 'int', 'iol', 'ior',
+ 'jul', 'jst', 'kec', 'kef', 'kel', 'ken', 'kep', 'key',
+ 'kgn', 'lcs', 'len', 'lno', 'log', 'lrc', 'lst', 'max',
+ 'mem', 'mid', 'min', 'mnm', 'mod', 'msg', 'msk', 'mxc',
+ 'mxl', 'new', 'not', 'nul', 'num', 'obj', 'opt', 'pad',
+ 'pck', 'pfx', 'pgm', 'pos', 'prc', 'prm', 'pth', 'pub',
+ 'rcd', 'rdx', 'rec', 'ref', 'rnd', 'rno', 'sep', 'sgn',
+ 'sin', 'sqr', 'srt', 'ssz', 'stk', 'stp', 'str', 'sub',
+ 'swp', 'sys', 'tan', 'tbl', 'tcb', 'tmr', 'trx', 'tsk',
+ 'txh', 'txw', 'ucp', 'ucs', 'upk', 'vin', 'vis', 'xeq',
+ 'xfa', 'xor', '_obj'
+ ),
+ 3 => array(
+ // System Variables
+ // Vars that are duplicates of functions
+ // 'ctl', 'err', 'pfx', 'prm', 'rnd', 'sep', 'sys',
+ 'bkg', 'chn', 'day', 'dlm', 'dsz', 'eom', 'ers', 'esc',
+ 'gfn', 'gid', 'hfn', 'hlp', 'hwd', 'lfa', 'lfo', 'lip',
+ 'lpg', 'lwd', 'mse', 'msl', 'nar', 'nid', 'pgn', 'psz',
+ 'quo', 'ret', 'sid', 'ssn', 'tim', 'tme', 'tms', 'tsm',
+ 'uid', 'unt', 'who'
+
+ ),
+ 4 => array(
+ // Nomads Variables
+ '%Flmaint_Lib$', '%Flmaint_Msg$', '%Nomads_Activation_Ok',
+ '%Nomads_Auto_Qry', '%Nomads_Disable_Debug',
+ '%Nomads_Disable_Trace', '%Nomads_Fkey_Handler$',
+ '%Nomads_Fkey_Tbl$', '%Nomads_Notest', '%Nomads_Onexit$',
+ '%Nomads_Post_Display', '%Nomads_Pre_Display$',
+ '%Nomads_Process$', '%Nomads_Trace_File$',
+ '%Nomad_Actv_Folder_Colors$', '%Nomad_Automation_Enabled',
+ '%Nomad_Auto_Close', '%Nomad_Center_Wdw', '%Nomad_Concurrent_Wdw',
+ '%Nomad_Custom_Define', '%Nomad_Custom_Dir$',
+ '%Nomad_Custom_Genmtc', '%Nomad_Custom_Skip_Definition',
+ '%Nomad_Def_Sfx$', '%Nomad_Enter_Tab', '%Nomad_Esc_Sel',
+ '%Nomad_Isjavx', '%Nomad_Iswindx', '%Nomad_Iswindx$',
+ '%Nomad_Menu$', '%Nomad_Menu_Leftedge_Clr$',
+ '%Nomad_Menu_Textbackground_Clr$', '%Nomad_Mln_Sep$',
+ '%Nomad_Msgmnt$', '%Nomad_Noplusw', '%Nomad_No_Customize',
+ '%Nomad_Object_Persistence', '%Nomad_Object_Resize',
+ '%Nomad_Open_Load', '%Nomad_Override_Font$',
+ '%Nomad_Palette_Loaded', '%Nomad_Panel_Info_Force',
+ '%Nomad_Panel_Info_Prog$', '%Nomad_Pnl_Def_Colour$',
+ '%Nomad_Pnl_Def_Font$', '%Nomad_Prg_Cache', '%Nomad_Qry_Attr$',
+ '%Nomad_Qry_Btn$', '%Nomad_Qry_Clear_Start', '%Nomad_Qry_Tip$',
+ '%Nomad_Qry_Wide', '%Nomad_Query_Clear_Status', '%Nomad_Query_Kno',
+ '%Nomad_Query_No_Gray', '%Nomad_Query_Odb_Ignore',
+ '%Nomad_Query_Retkno', '%Nomad_Query_Sbar_Max',
+ '%Nomad_Relative_Wdw', '%Nomad_Save_Qry_Path', '%Nomad_Script_Fn',
+ '%Nomad_Script_Log', '%Nomad_Script_Wdw',
+ '%Nomad_Skip_Change_Logic', '%Nomad_Skip_Onselect_Logic',
+ '%Nomad_Stk$', '%Nomad_Tab_Dir', '%Nomad_Timeout',
+ '%Nomad_Turbo_Off', '%Nomad_Visual_Effect',
+ '%Nomad_Visual_Override', '%Nomad_Win_Ver', '%Nomad_Xchar',
+ '%Nomad_Xmax', '%Nomad_Ychar', '%Nomad_Ymax', '%Scr_Def_Attr$',
+ '%Scr_Def_H_Fl$', '%Scr_Def_H_Id$', '%Scr_Lib', '%Scr_Lib$',
+ '%Z__Usr_Sec$', 'Alternate_Panel$', 'Alternate_Panel_Type$',
+ 'Arg_1$', 'Arg_10$', 'Arg_11$', 'Arg_12$', 'Arg_13$', 'Arg_14$',
+ 'Arg_15$', 'Arg_16$', 'Arg_17$', 'Arg_18$', 'Arg_19$', 'Arg_2$',
+ 'Arg_20$', 'Arg_3$', 'Arg_4$', 'Arg_5$', 'Arg_6$', 'Arg_7$',
+ 'Arg_8$', 'Arg_9$', 'Change_Flg', 'Cmd_Str$', 'Default_Prog$',
+ 'Disp_Cmd$', 'Entire_Record$', 'Exit_Cmd$', 'Fldr_Default_Prog$',
+ 'Folder_Id$', 'Id', 'Id$', 'Ignore_Exit', 'Initialize_Flg',
+ 'Init_Text$', 'Init_Val$', 'Main_Scrn_K$', 'Mnu_Ln$',
+ 'Next_Folder', 'Next_Id', 'Next_Id$', 'No_Flush', 'Prime_Key$',
+ 'Prior_Val', 'Prior_Val$', 'Qry_Val$', 'Refresh_Flg',
+ 'Replacement_Folder$', 'Replacement_Lib$', 'Replacement_Scrn$',
+ 'Scrn_Id$', 'Scrn_K$', 'Scrn_Lib$', 'Tab_Table$', '_Eom$'
+ ),
+ 5 => array(
+ // Mnemonics
+ "'!w'", "'*c'", "'*h'", "'*i'", "'*o'", "'*r'", "'*x'",
+ "'+b'", "'+d'", "'+e'", "'+f'", "'+i'", "'+n'",
+ "'+p'", "'+s'", "'+t'", "'+u'", "'+v'", "'+w'", "'+x'",
+ "'+z'", "'-b'", "'-d'", "'-e'", "'-f'", "'-i'",
+ "'-n'", "'-p'", "'-s'", "'-t'", "'-u'", "'-v'", "'-w'",
+ "'-x'", "'-z'", "'2d'", "'3d'", "'4d'", "'@@'", "'ab'",
+ "'arc'", "'at'", "'backgr'", "'bb'", "'be'", "'beep'",
+ "'bg'", "'bi'", "'bj'", "'bk'", "'black'", "'blue'",
+ "'bm'", "'bo'", "'box'", "'br'", "'bs'", "'bt'", "'bu'",
+ "'bw'", "'bx'", "'caption'", "'ce'", "'cf'", "'ch'",
+ "'ci'", "'circle'", "'cl'", "'colour'", "'cp'", "'cpi'",
+ "'cr'", "'cs'", "'cursor'", "'cyan''_cyan'", "'dc'",
+ "'default'", "'df'", "'dialogue'", "'dn'", "'do'",
+ "'drop'", "'eb'", "'ee'", "'ef'", "'eg'", "'ei'", "'ej'",
+ "'el'", "'em'", "'eo'", "'ep'", "'er'", "'es'", "'et'",
+ "'eu'", "'ew'", "'ff'", "'fill'", "'fl'", "'font'",
+ "'frame'", "'gd'", "'ge'", "'gf'", "'goto'", "'green'",
+ "'gs'", "'hide'", "'ic'", "'image'", "'jc'",
+ "'jd'", "'jl'", "'jn'", "'jr'", "'js'", "'l6'", "'l8'",
+ "'lc'", "'ld'", "'lf'", "'li'", "'line'", "'lm'",
+ "'lpi'", "'lt'", "'magenta'", "'maxsize'", "'me'",
+ "'message'", "'minsize'", "'mn'", "'mode'",
+ "'move'", "'mp'", "'ms'", "'ni'", "'offset'", "'option'",
+ "'pe'", "'pen'", "'picture'", "'pie'", "'pm'", "'polygon'",
+ "'pop'", "'ps'", "'push'", "'rb'", "'rc'", "'rectangle'",
+ "'red'", "'rl'", "'rm'", "'rp'", "'rs'", "'rt'", "'sb'",
+ "'scroll'", "'sd'", "'se'", "'sf'", "'show'", "'size'",
+ "'sl'", "'sn'", "'sp'", "'sr'", "'swap'", "'sx'", "'text'",
+ "'textwdw'", "'tr'", "'tw'", "'uc'", "'up'", "'vt'", "'wa'",
+ "'wc'", "'wd'", "'wg'", "'white'", "'window'", "'wm'",
+ "'wp'", "'wr'", "'wrap'", "'ws'", "'wx'", "'xp'", "'yellow'",
+ "'zx'", "'_black'", "'_blue'", "'_colour'", "'_green'",
+ "'_magenta'", "'_red'", "'_white'", "'_yellow'"
+ ),
+ ),
+ 'SYMBOLS' => array(
+ 0 => array('+', '-', '*', '/', '^', '|'),
+ 1 => array('++', '--', '+=', '-=', '*=', '/=', '^=', '|='),
+ 2 => array('&lt;', '&gt;', '='),
+ 3 => array('(', ')', '[', ']', '{', '}'),
+ 4 => array(',', '@', ';', '\\')
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: navy;', // Directives
+ 2 => 'color: blue;', // System Functions
+ 3 => 'color: blue;', // System Variables
+ 4 => 'color: #6A5ACD; font-style: italic;', // Nomads Global Variables
+ 5 => 'color: #BDB76B;', // Mnemonics
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008080; font-style: italic;',
+ 2 => 'color: #008080;',
+ 'MULTI' => 'color: #008080; font-style: italic;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: green;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #00008B;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #008000;',
+ 1 => 'color: #000099;',
+ 2 => 'color: #000099;',
+ 3 => 'color: #0000C9;',
+ 4 => 'color: #000099;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 1 => 'color: #006400; font-weight: bold',
+ 2 => 'color: #6A5ACD;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.allbasic.info./wiki/index.php/PX:Directive_{FNAME}',
+ 2 => 'http://www.allbasic.info./wiki/index.php/PX:System_function_{FNAME}',
+ 3 => 'http://www.allbasic.info./wiki/index.php/PX:System_variable_{FNAME}',
+ 4 => 'http://www.allbasic.info./wiki/index.php/PX:Nomads_{FNAME}',
+ 5 => 'http://www.allbasic.info./wiki/index.php/PX:Mnemonic_{FNAMEU}'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => "'"
+ ),
+ 'REGEXPS' => array(
+ 1 => array(
+ // Line Labels
+ GESHI_SEARCH => '([[:space:]])([a-zA-Z_][a-zA-Z0-9_]+)(:)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ 2 => array(
+ // Global String Variables
+ GESHI_SEARCH => '(\%)([a-zA-Z_][a-zA-Z0-9_]+)(\$)',
+ GESHI_REPLACE => '\\1\\2\\3',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'ENABLE_FLAGS' => array(
+ 'NUMBERS' => GESHI_NEVER
+ )
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/purebasic.php b/application/libraries/geshi/purebasic.php
new file mode 100644
index 000000000..b644af3fe
--- /dev/null
+++ b/application/libraries/geshi/purebasic.php
@@ -0,0 +1,303 @@
+<?php
+/*************************************************************************************
+ * purebasic.php
+ * -------
+ * Author: GuShH
+ * Copyright: (c) 2009 Gustavo Julio Fiorenza
+ * Release Version: 1.0.8.6
+ * Date Started: 13/06/2009
+ *
+ * PureBasic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 13/06/2009 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2009/06/13)
+ * -------------------------
+ * Add the remaining ASM mnemonics and the 4.3x functions/etc.
+ * Better coloring (perhaps match the default scheme of PB?)
+ *
+ *************************************************************************************
+ *
+ * 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' => 'PureBasic',
+ 'COMMENT_SINGLE' => array( 1 => ";" ),
+ 'COMMENT_MULTI' => array( ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ // Keywords
+ 'And', 'As', 'Break', 'CallDebugger', 'Case', 'CompilerCase', 'CompilerDefault', 'CompilerElse', 'CompilerEndIf', 'CompilerEndSelect',
+ 'CompilerError', 'CompilerIf', 'CompilerSelect', 'Continue', 'Data', 'DataSection', 'EndDataSection', 'Debug', 'DebugLevel', 'Declare',
+ 'DeclareCDLL', 'DeclareDLL', 'Default', 'Define', 'Dim', 'DisableASM', 'DisableDebugger', 'DisableExplicit', 'Else', 'ElseIf', 'EnableASM',
+ 'EnableDebugger', 'EnableExplicit', 'End', 'EndEnumeration', 'EndIf', 'EndImport', 'EndInterface', 'EndMacro', 'EndProcedure',
+ 'EndSelect', 'EndStructure', 'EndStructureUnion', 'EndWith', 'Enumeration', 'Extends', 'FakeReturn', 'For', 'Next', 'ForEach',
+ 'ForEver', 'Global', 'Gosub', 'Goto', 'If', 'Import', 'ImportC', 'IncludeBinary', 'IncludeFile', 'IncludePath', 'Interface', 'Macro',
+ 'NewList', 'Not', 'Or', 'Procedure', 'ProcedureC', 'ProcedureCDLL', 'ProcedureDLL', 'ProcedureReturn', 'Protected', 'Prototype',
+ 'PrototypeC', 'Read', 'ReDim', 'Repeat', 'Until', 'Restore', 'Return', 'Select', 'Shared', 'Static', 'Step', 'Structure', 'StructureUnion',
+ 'Swap', 'To', 'Wend', 'While', 'With', 'XIncludeFile', 'XOr'
+ ),
+ 2 => array(
+ // All Functions
+ 'Abs', 'ACos', 'Add3DArchive', 'AddBillboard', 'AddDate', 'AddElement', 'AddGadgetColumn', 'AddGadgetItem',
+ 'AddKeyboardShortcut', 'AddMaterialLayer', 'AddPackFile', 'AddPackMemory', 'AddStatusBarField', 'AddSysTrayIcon',
+ 'AllocateMemory', 'AmbientColor', 'AnimateEntity', 'Asc', 'ASin', 'ATan', 'AudioCDLength', 'AudioCDName', 'AudioCDStatus',
+ 'AudioCDTrackLength', 'AudioCDTracks', 'AudioCDTrackSeconds', 'AvailableProgramOutput', 'AvailableScreenMemory',
+ 'BackColor', 'Base64Decoder', 'Base64Encoder', 'BillboardGroupLocate', 'BillboardGroupMaterial', 'BillboardGroupX',
+ 'BillboardGroupY', 'BillboardGroupZ', 'BillboardHeight', 'BillboardLocate', 'BillboardWidth', 'BillboardX', 'BillboardY', 'BillboardZ',
+ 'Bin', 'BinQ', 'Blue', 'Box', 'ButtonGadget', 'ButtonImageGadget', 'CalendarGadget', 'CallCFunction', 'CallCFunctionFast',
+ 'CallFunction', 'CallFunctionFast', 'CameraBackColor', 'CameraFOV', 'CameraLocate', 'CameraLookAt', 'CameraProjection',
+ 'CameraRange', 'CameraRenderMode', 'CameraX', 'CameraY', 'CameraZ', 'CatchImage', 'CatchSound', 'CatchSprite',
+ 'CatchXML', 'ChangeAlphaIntensity', 'ChangeCurrentElement', 'ChangeGamma', 'ChangeListIconGadgetDisplay',
+ 'ChangeSysTrayIcon', 'CheckBoxGadget', 'CheckEntityCollision', 'CheckFilename', 'ChildXMLNode', 'Chr', 'Circle',
+ 'ClearBillboards', 'ClearClipboard', 'ClearConsole', 'ClearError', 'ClearGadgetItemList', 'ClearList', 'ClearScreen', 'ClipSprite',
+ 'CloseConsole', 'CloseDatabase', 'CloseFile', 'CloseGadgetList', 'CloseHelp', 'CloseLibrary', 'CloseNetworkConnection',
+ 'CloseNetworkServer', 'ClosePack', 'ClosePreferences', 'CloseProgram', 'CloseScreen', 'CloseSubMenu', 'CloseWindow',
+ 'ColorRequester', 'ComboBoxGadget', 'CompareMemory', 'CompareMemoryString', 'ConnectionID', 'ConsoleColor',
+ 'ConsoleCursor', 'ConsoleError', 'ConsoleLocate', 'ConsoleTitle', 'ContainerGadget', 'CopyDirectory', 'CopyEntity',
+ 'CopyFile', 'CopyImage', 'CopyLight', 'CopyMaterial', 'CopyMemory', 'CopyMemoryString', 'CopyMesh', 'CopySprite',
+ 'CopyTexture', 'CopyXMLNode', 'Cos', 'CountBillboards', 'CountGadgetItems', 'CountLibraryFunctions', 'CountList',
+ 'CountMaterialLayers', 'CountProgramParameters', 'CountRenderedTriangles', 'CountString', 'CRC32Fingerprint',
+ 'CreateBillboardGroup', 'CreateCamera', 'CreateDirectory', 'CreateEntity', 'CreateFile', 'CreateGadgetList',
+ 'CreateImage', 'CreateLight', 'CreateMaterial', 'CreateMenu', 'CreateMesh', 'CreateMutex', 'CreateNetworkServer',
+ 'CreatePack', 'CreatePalette', 'CreateParticleEmitter', 'CreatePopupMenu', 'CreatePreferences', 'CreateSprite',
+ 'CreateSprite3D', 'CreateStatusBar', 'CreateTerrain', 'CreateTexture', 'CreateThread', 'CreateToolBar', 'CreateXML',
+ 'CreateXMLNode', 'DatabaseColumnName', 'DatabaseColumns', 'DatabaseColumnType', 'DatabaseDriverDescription',
+ 'DatabaseDriverName', 'DatabaseError', 'DatabaseQuery', 'DatabaseUpdate', 'Date', 'DateGadget', 'Day', 'DayOfWeek',
+ 'DayOfYear', 'DefaultPrinter', 'Defined', 'Delay', 'DeleteDirectory', 'DeleteElement', 'DeleteFile', 'DeleteXMLNode',
+ 'DESFingerprint', 'DesktopDepth', 'DesktopFrequency', 'DesktopHeight', 'DesktopMouseX', 'DesktopMouseY', 'DesktopName',
+ 'DesktopWidth', 'DirectoryEntryAttributes', 'DirectoryEntryDate', 'DirectoryEntryName', 'DirectoryEntrySize',
+ 'DirectoryEntryType', 'DisableGadget', 'DisableMaterialLighting', 'DisableMenuItem', 'DisableToolBarButton', 'DisableWindow',
+ 'DisASMCommand', 'DisplayAlphaSprite', 'DisplayPalette', 'DisplayPopupMenu', 'DisplayRGBFilter', 'DisplayShadowSprite',
+ 'DisplaySolidSprite', 'DisplaySprite', 'DisplaySprite3D', 'DisplayTranslucentSprite', 'DisplayTransparentSprite', 'DragFiles',
+ 'DragImage', 'DragOSFormats', 'DragPrivate', 'DragText', 'DrawAlphaImage', 'DrawImage', 'DrawingBuffer',
+ 'DrawingBufferPitch', 'DrawingBufferPixelFormat', 'DrawingFont', 'DrawingMode', 'DrawText', 'EditorGadget',
+ 'egrid_AddColumn', 'egrid_AddRows', 'egrid_AppendCells', 'egrid_ClearRows', 'egrid_CopyCells',
+ 'egrid_CreateCellCallback', 'egrid_CreateGrid', 'egrid_DeleteCells', 'egrid_FastDeleteCells', 'egrid_FreeGrid',
+ 'egrid_GetCellSelection', 'egrid_GetCellText', 'egrid_GetColumnOrderArray', 'egrid_HasSelectedCellChanged', 'egrid_Height',
+ 'egrid_HideEdit', 'egrid_HideGrid', 'egrid_MakeCellVisible', 'egrid_NumberOfColumns', 'egrid_NumberOfRows',
+ 'egrid_PasteCells', 'egrid_Register', 'egrid_RemoveCellCallback', 'egrid_RemoveColumn', 'egrid_RemoveRow', 'egrid_Resize',
+ 'egrid_SelectCell', 'egrid_SelectedColumn', 'egrid_SelectedRow', 'egrid_SetCellSelection', 'egrid_SetCellText',
+ 'egrid_SetColumnOrderArray', 'egrid_SetHeaderFont', 'egrid_SetHeaderHeight', 'egrid_SetOption', 'egrid_Width', 'egrid_x',
+ 'egrid_y', 'EjectAudioCD', 'ElapsedMilliseconds', 'Ellipse', 'EnableGadgetDrop', 'EnableGraphicalConsole',
+ 'EnableWindowDrop', 'EnableWorldCollisions', 'EnableWorldPhysics', 'Engine3DFrameRate', 'EntityAngleX',
+ 'EntityAnimationLength', 'EntityLocate', 'EntityMaterial', 'EntityMesh', 'EntityPhysicBody', 'EntityRenderMode',
+ 'EntityX', 'EntityY', 'EntityZ', 'EnvironmentVariableName', 'EnvironmentVariableValue', 'Eof', 'EventClient',
+ 'EventDropAction', 'EventDropBuffer', 'EventDropFiles', 'EventDropImage', 'EventDropPrivate', 'EventDropSize',
+ 'EventDropText', 'EventDropType', 'EventDropX', 'EventDropY', 'EventGadget', 'EventlParam', 'EventMenu', 'EventServer',
+ 'EventType', 'EventWindow', 'EventwParam', 'ExamineDatabaseDrivers', 'ExamineDesktops', 'ExamineDirectory',
+ 'ExamineEnvironmentVariables', 'ExamineIPAddresses', 'ExamineJoystick', 'ExamineKeyboard', 'ExamineLibraryFunctions',
+ 'ExamineMouse', 'ExaminePreferenceGroups', 'ExaminePreferenceKeys', 'ExamineScreenModes', 'ExamineWorldCollisions',
+ 'ExamineXMLAttributes', 'ExplorerComboGadget', 'ExplorerListGadget', 'ExplorerTreeGadget', 'ExportXML',
+ 'ExportXMLSize', 'FileBuffersSize', 'FileID', 'FileSeek', 'FileSize', 'FillArea', 'FindString', 'FinishDirectory',
+ 'FirstDatabaseRow', 'FirstElement', 'FirstWorldCollisionEntity', 'FlipBuffers', 'FlushFileBuffers', 'Fog', 'FontID',
+ 'FontRequester', 'FormatDate', 'FormatXML', 'Frame3DGadget', 'FreeBillboardGroup', 'FreeCamera', 'FreeEntity',
+ 'FreeFont', 'FreeGadget', 'FreeImage', 'FreeLight', 'FreeMaterial', 'FreeMemory', 'FreeMenu', 'FreeMesh',
+ 'FreeModule', 'FreeMovie', 'FreeMutex', 'FreePalette', 'FreeParticleEmitter', 'FreeSound', 'FreeSprite',
+ 'FreeSprite3D', 'FreeStatusBar', 'FreeTexture', 'FreeToolBar', 'FreeXML', 'FrontColor', 'GadgetHeight', 'GadgetID',
+ 'GadgetItemID', 'GadgetToolTip', 'GadgetType', 'GadgetWidth', 'GadgetX', 'GadgetY', 'GetActiveGadget',
+ 'GetActiveWindow', 'GetClientIP', 'GetClientPort', 'GetClipboardImage', 'GetClipboardText', 'GetCurrentDirectory',
+ 'GetCurrentEIP', 'GetDatabaseDouble', 'GetDatabaseFloat', 'GetDatabaseLong', 'GetDatabaseQuad', 'GetDatabaseString',
+ 'GetDisASMString', 'GetEntityAnimationTime', 'GetEntityFriction', 'GetEntityMass', 'GetEnvironmentVariable',
+ 'GetErrorAddress', 'GetErrorCounter', 'GetErrorDescription', 'GetErrorDLL', 'GetErrorLineNR', 'GetErrorModuleName',
+ 'GetErrorNumber', 'GetErrorRegister', 'GetExtensionPart', 'GetFileAttributes', 'GetFileDate', 'GetFilePart', 'GetFunction',
+ 'GetFunctionEntry', 'GetGadgetAttribute', 'GetGadgetColor', 'GetGadgetData', 'GetGadgetFont',
+ 'GetGadgetItemAttribute', 'GetGadgetItemColor', 'GetGadgetItemData', 'GetGadgetItemState', 'GetGadgetItemText',
+ 'GetGadgetState', 'GetGadgetText', 'GetHomeDirectory', 'GetMenuItemState', 'GetMenuItemText', 'GetMenuTitleText',
+ 'GetModulePosition', 'GetModuleRow', 'GetPaletteColor', 'GetPathPart', 'GetTemporaryDirectory',
+ 'GetToolBarButtonState', 'GetWindowColor', 'GetWindowState', 'GetWindowTitle', 'GetXMLAttribute', 'GetXMLEncoding',
+ 'GetXMLNodeName', 'GetXMLNodeOffset', 'GetXMLNodeText', 'GetXMLStandalone', 'GoToEIP', 'GrabImage', 'GrabSprite',
+ 'Green', 'Hex', 'HexQ', 'HideBillboardGroup', 'HideEntity', 'HideGadget', 'HideLight', 'HideMenu', 'HideParticleEmitter',
+ 'HideWindow', 'Hostname', 'Hour', 'HyperLinkGadget', 'ImageDepth', 'ImageGadget', 'ImageHeight', 'ImageID',
+ 'ImageOutput', 'ImageWidth', 'InitAudioCD', 'InitEngine3D', 'InitJoystick', 'InitKeyboard', 'InitMouse', 'InitMovie',
+ 'InitNetwork', 'InitPalette', 'InitScintilla', 'InitSound', 'InitSprite', 'InitSprite3D', 'Inkey', 'Input', 'InputRequester',
+ 'InsertElement', 'Int', 'IntQ', 'IPAddressField', 'IPAddressGadget', 'IPString', 'IsBillboardGroup', 'IsCamera', 'IsDatabase',
+ 'IsDirectory', 'IsEntity', 'IsFile', 'IsFont', 'IsGadget', 'IsImage', 'IsLibrary', 'IsLight', 'IsMaterial', 'IsMenu', 'IsMesh',
+ 'IsModule', 'IsMovie', 'IsPalette', 'IsParticleEmitter', 'IsProgram', 'IsScreenActive', 'IsSound', 'IsSprite', 'IsSprite3D',
+ 'IsStatusBar', 'IsSysTrayIcon', 'IsTexture', 'IsThread', 'IsToolBar', 'IsWindow', 'IsXML', 'JoystickAxisX', 'JoystickAxisY',
+ 'JoystickButton', 'KeyboardInkey', 'KeyboardMode', 'KeyboardPushed', 'KeyboardReleased', 'KillProgram', 'KillThread',
+ 'LastElement', 'LCase', 'Left', 'Len', 'LibraryFunctionAddress', 'LibraryFunctionName', 'LibraryID', 'LightColor',
+ 'LightLocate', 'LightSpecularColor', 'Line', 'LineXY', 'ListIconGadget', 'ListIndex', 'ListViewGadget', 'LoadFont',
+ 'LoadImage', 'LoadMesh', 'LoadModule', 'LoadMovie', 'LoadPalette', 'LoadSound', 'LoadSprite', 'LoadTexture',
+ 'LoadWorld', 'LoadXML', 'Loc', 'LockMutex', 'Lof', 'Log', 'Log10', 'LSet', 'LTrim', 'MainXMLNode', 'MakeIPAddress',
+ 'MaterialAmbientColor', 'MaterialBlendingMode', 'MaterialDiffuseColor', 'MaterialFilteringMode', 'MaterialID',
+ 'MaterialShadingMode', 'MaterialSpecularColor', 'MD5FileFingerprint', 'MD5Fingerprint', 'MDIGadget', 'MemorySize',
+ 'MemoryStringLength', 'MenuBar', 'MenuHeight', 'MenuID', 'MenuItem', 'MenuTitle', 'MeshID', 'MessageRequester',
+ 'Mid', 'Minute', 'ModuleVolume', 'Month', 'MouseButton', 'MouseDeltaX', 'MouseDeltaY', 'MouseLocate', 'MouseWheel',
+ 'MouseX', 'MouseY', 'MoveBillboard', 'MoveBillboardGroup', 'MoveCamera', 'MoveEntity', 'MoveLight', 'MoveMemory',
+ 'MoveParticleEmitter', 'MoveXMLNode', 'MovieAudio', 'MovieHeight', 'MovieInfo', 'MovieLength', 'MovieSeek',
+ 'MovieStatus', 'MovieWidth', 'NetworkClientEvent', 'NetworkServerEvent', 'NewPrinterPage', 'NextDatabaseDriver',
+ 'NextDatabaseRow', 'NextDirectoryEntry', 'NextElement', 'NextEnvironmentVariable', 'NextIPAddress',
+ 'NextLibraryFunction', 'NextPackFile', 'NextPreferenceGroup', 'NextPreferenceKey', 'NextScreenMode',
+ 'NextSelectedFileName', 'NextWorldCollision', 'NextXMLAttribute', 'NextXMLNode', 'OffsetOf', 'OnErrorExit',
+ 'OnErrorGosub', 'OnErrorGoto', 'OnErrorResume', 'OpenComPort', 'OpenConsole', 'OpenDatabase',
+ 'OpenDatabaseRequester', 'OpenFile', 'OpenFileRequester', 'OpenGadgetList', 'OpenHelp', 'OpenLibrary',
+ 'OpenNetworkConnection', 'OpenPack', 'OpenPreferences', 'OpenScreen', 'OpenSubMenu', 'OpenWindow',
+ 'OpenWindowedScreen', 'OptionGadget', 'OSVersion', 'PackerCallback', 'PackFileSize', 'PackMemory', 'PanelGadget',
+ 'ParentXMLNode', 'Parse3DScripts', 'ParseDate', 'ParticleColorFader', 'ParticleColorRange', 'ParticleEmissionRate',
+ 'ParticleEmitterDirection', 'ParticleEmitterLocate', 'ParticleEmitterX', 'ParticleEmitterY', 'ParticleEmitterZ',
+ 'ParticleMaterial', 'ParticleSize', 'ParticleTimeToLive', 'ParticleVelocity', 'PathRequester', 'PauseAudioCD',
+ 'PauseMovie', 'PauseThread', 'PeekB', 'PeekC', 'PeekD', 'PeekF', 'PeekL', 'PeekQ', 'PeekS', 'PeekW', 'PlayAudioCD',
+ 'PlayModule', 'PlayMovie', 'PlaySound', 'Plot', 'Point', 'PokeB', 'PokeC', 'PokeD', 'PokeF', 'PokeL', 'PokeQ', 'PokeS',
+ 'PokeW', 'Pow', 'PreferenceComment', 'PreferenceGroup', 'PreferenceGroupName', 'PreferenceKeyName',
+ 'PreferenceKeyValue', 'PreviousDatabaseRow', 'PreviousElement', 'PreviousXMLNode', 'Print', 'PrinterOutput',
+ 'PrinterPageHeight', 'PrinterPageWidth', 'PrintN', 'PrintRequester', 'ProgramExitCode', 'ProgramFilename',
+ 'ProgramID', 'ProgramParameter', 'ProgramRunning', 'ProgressBarGadget', 'Random', 'RandomSeed', 'RawKey',
+ 'ReadByte', 'ReadCharacter', 'ReadConsoleData', 'ReadData', 'ReadDouble', 'ReadFile', 'ReadFloat', 'ReadLong',
+ 'ReadPreferenceDouble', 'ReadPreferenceFloat', 'ReadPreferenceLong', 'ReadPreferenceQuad',
+ 'ReadPreferenceString', 'ReadProgramData', 'ReadProgramError', 'ReadProgramString', 'ReadQuad', 'ReadString',
+ 'ReadStringFormat', 'ReadWord', 'ReAllocateMemory', 'ReceiveNetworkData', 'ReceiveNetworkFile', 'Red',
+ 'Reg_DeleteEmptyKey', 'Reg_DeleteKey', 'Reg_DeleteValue', 'Reg_GetErrorMsg', 'Reg_GetErrorNr',
+ 'Reg_GetValueTyp', 'Reg_ListSubKey', 'Reg_ListSubValue', 'Reg_ReadBinary', 'Reg_ReadExpandString',
+ 'Reg_ReadLong', 'Reg_ReadMultiLineString', 'Reg_ReadQuad', 'Reg_ReadString', 'Reg_WriteBinary',
+ 'Reg_WriteExpandString', 'Reg_WriteLong', 'Reg_WriteMultiLineString', 'Reg_WriteQuad', 'Reg_WriteString',
+ 'ReleaseMouse', 'RemoveBillboard', 'RemoveEnvironmentVariable', 'RemoveGadgetColumn', 'RemoveGadgetItem',
+ 'RemoveKeyboardShortcut', 'RemoveMaterialLayer', 'RemovePreferenceGroup', 'RemovePreferenceKey',
+ 'RemoveString', 'RemoveSysTrayIcon', 'RemoveXMLAttribute', 'RenameFile', 'RenderMovieFrame', 'RenderWorld',
+ 'ReplaceString', 'ResetList', 'ResizeBillboard', 'ResizeEntity', 'ResizeGadget', 'ResizeImage', 'ResizeMovie',
+ 'ResizeParticleEmitter', 'ResizeWindow', 'ResolveXMLAttributeName', 'ResolveXMLNodeName', 'ResumeAudioCD',
+ 'ResumeMovie', 'ResumeThread', 'RGB', 'Right', 'RootXMLNode', 'RotateBillboardGroup', 'RotateCamera',
+ 'RotateEntity', 'RotateMaterial', 'RotateSprite3D', 'Round', 'RSet', 'RTrim', 'RunProgram', 'SaveFileRequester',
+ 'SaveImage', 'SaveSprite', 'SaveXML', 'ScaleEntity', 'ScaleMaterial', 'ScintillaGadget', 'ScintillaSendMessage',
+ 'ScreenID', 'ScreenModeDepth', 'ScreenModeHeight', 'ScreenModeRefreshRate', 'ScreenModeWidth',
+ 'ScreenOutput', 'ScrollAreaGadget', 'ScrollBarGadget', 'ScrollMaterial', 'Second', 'SecondWorldCollisionEntity',
+ 'SelectedFilePattern', 'SelectedFontColor', 'SelectedFontName', 'SelectedFontSize', 'SelectedFontStyle',
+ 'SelectElement', 'SendNetworkData', 'SendNetworkFile', 'SendNetworkString', 'SetActiveGadget',
+ 'SetActiveWindow', 'SetClipboardImage', 'SetClipboardText', 'SetCurrentDirectory', 'SetDragCallback',
+ 'SetDropCallback', 'SetEntityAnimationTime', 'SetEntityFriction', 'SetEntityMass', 'SetEnvironmentVariable',
+ 'SetErrorNumber', 'SetFileAttributes', 'SetFileDate', 'SetFrameRate', 'SetGadgetAttribute', 'SetGadgetColor',
+ 'SetGadgetData', 'SetGadgetFont', 'SetGadgetItemAttribute', 'SetGadgetItemColor', 'SetGadgetItemData',
+ 'SetGadgetItemState', 'SetGadgetItemText', 'SetGadgetState', 'SetGadgetText', 'SetMenuItemState',
+ 'SetMenuItemText', 'SetMenuTitleText', 'SetMeshData', 'SetModulePosition', 'SetPaletteColor', 'SetRefreshRate',
+ 'SetToolBarButtonState', 'SetWindowCallback', 'SetWindowColor', 'SetWindowState', 'SetWindowTitle',
+ 'SetXMLAttribute', 'SetXMLEncoding', 'SetXMLNodeName', 'SetXMLNodeOffset', 'SetXMLNodeText',
+ 'SetXMLStandalone', 'Sin', 'SizeOf', 'SkyBox', 'SkyDome', 'SmartWindowRefresh', 'SortArray', 'SortList',
+ 'SortStructuredArray', 'SortStructuredList', 'SoundFrequency', 'SoundPan', 'SoundVolume', 'Space',
+ 'SpinGadget', 'SplitterGadget', 'Sprite3DBlendingMode', 'Sprite3DQuality', 'SpriteCollision', 'SpriteDepth',
+ 'SpriteHeight', 'SpriteID', 'SpriteOutput', 'SpritePixelCollision', 'SpriteWidth', 'Sqr', 'Start3D', 'StartDrawing',
+ 'StartPrinting', 'StartSpecialFX', 'StatusBarHeight', 'StatusBarIcon', 'StatusBarID', 'StatusBarText',
+ 'StickyWindow', 'Stop3D', 'StopAudioCD', 'StopDrawing', 'StopModule', 'StopMovie', 'StopPrinting',
+ 'StopSound', 'StopSpecialFX', 'Str', 'StrD', 'StrF', 'StringByteLength', 'StringField', 'StringGadget', 'StrQ',
+ 'StrU', 'Subsystem', 'SwapElements', 'SysTrayIconToolTip', 'Tan', 'TerrainHeight', 'TextGadget', 'TextHeight',
+ 'TextureHeight', 'TextureID', 'TextureOutput', 'TextureWidth', 'TextWidth', 'ThreadID', 'ThreadPriority',
+ 'ToolBarHeight', 'ToolBarID', 'ToolBarImageButton', 'ToolBarSeparator', 'ToolBarStandardButton',
+ 'ToolBarToolTip', 'TrackBarGadget', 'TransformSprite3D', 'TransparentSpriteColor', 'TreeGadget', 'Trim',
+ 'TruncateFile', 'TryLockMutex', 'UCase', 'UnlockMutex', 'UnpackMemory', 'UseAudioCD', 'UseBuffer',
+ 'UseGadgetList', 'UseJPEGImageDecoder', 'UseJPEGImageEncoder', 'UseODBCDatabase', 'UseOGGSoundDecoder',
+ 'UsePNGImageDecoder', 'UsePNGImageEncoder', 'UseTGAImageDecoder', 'UseTIFFImageDecoder', 'Val', 'ValD',
+ 'ValF', 'ValQ', 'WaitProgram', 'WaitThread', 'WaitWindowEvent', 'WebGadget', 'WebGadgetPath', 'WindowEvent',
+ 'WindowHeight', 'WindowID', 'WindowMouseX', 'WindowMouseY', 'WindowOutput', 'WindowWidth', 'WindowX',
+ 'WindowY', 'WorldGravity', 'WorldShadows', 'WriteByte', 'WriteCharacter', 'WriteConsoleData', 'WriteData',
+ 'WriteDouble', 'WriteFloat', 'WriteLong', 'WritePreferenceDouble', 'WritePreferenceFloat', 'WritePreferenceLong',
+ 'WritePreferenceQuad', 'WritePreferenceString', 'WriteProgramData', 'WriteProgramString', 'WriteProgramStringN',
+ 'WriteQuad', 'WriteString', 'WriteStringFormat', 'WriteStringN', 'WriteWord', 'XMLAttributeName', 'XMLAttributeValue',
+ 'XMLChildCount', 'XMLError', 'XMLErrorLine', 'XMLErrorPosition', 'XMLNodeFromID', 'XMLNodeFromPath', 'XMLNodePath',
+ 'XMLNodeType', 'XMLStatus', 'Year', 'ZoomSprite3D'
+ ),
+ 3 => array(
+ // some ASM instructions
+ 'AAA', 'AAD', 'AAM', 'AAS', 'ADC', 'ADD', 'AND', 'ARPL', 'BOUND', 'BSF', 'BSR', 'BSWAP', 'BT', 'BTC', 'BTR',
+ 'BTS', 'CALL', 'CBW', 'CDQ', 'CLC', 'CLD', 'CLI', 'CLTS', 'CMC', 'CMP', 'CMPS', 'CMPXCHG', 'CWD', 'CWDE',
+ 'DAA', 'DAS', 'DB', 'DD', 'DEC', 'DIV', 'DW', 'ENTER', 'ESC', 'F2XM1', 'FABS', 'FADD', 'FCHS', 'FCLEX',
+ 'FCOM', 'FDIV', 'FDIVR', 'FFREE', 'FINCSTP', 'FINIT', 'FLD', 'FLD1', 'FLDCW', 'FMUL', 'FNOP', 'FPATAN',
+ 'FPREM', 'FRNDINT', 'FSAVE', 'FSCALE', 'FSETPM', 'FSIN', 'FSQRT', 'FST', 'FSTENV', 'FSTSW', 'FSUB',
+ 'FSUBR', 'FTST', 'FUCOM', 'FWAIT', 'FXAM', 'FXCH', 'FXTRACT', 'FYL2X', 'FYL2XP1', 'HLT', 'IDIV', 'IMUL',
+ 'IN', 'INC', 'INS', 'INT', 'INTO', 'INVLPG', 'IRET', 'IRETD', 'JA', 'JAE', 'JB', 'JBE', 'JC', 'JCXZ', 'JE', 'JECXZ',
+ 'JG', 'JGE', 'JL', 'JLE', 'JMP', 'JNA', 'JNAE', 'JNB', 'JNBE', 'JNC', 'JNE', 'JNG', 'JNGE', 'JNL', 'JNLE', 'JNO', 'JNP',
+ 'JNS', 'JNZ', 'JO', 'JP', 'JPE', 'JPO', 'JS', 'JZ', 'LAHF', 'LAR', 'LDS', 'LEA', 'LEAVE', 'LES', 'LFS', 'LGDT', 'LGS',
+ 'LIDT', 'LLDT', 'LMSW', 'LOCK', 'LODS', 'LOOP', 'LOOPE', 'LOOPNE', 'LOOPNZ', 'LOOPZ', 'LSL', 'LSS', 'LTR',
+ 'MOV', 'MOVS', 'MOVSX', 'MOVZX', 'MUL', 'NEG', 'NOP', 'NOT', 'OR', 'OUT', 'OUTS', 'POP', 'POPA', 'POPAD',
+ 'POPF', 'POPFD', 'PUSH', 'PUSHA', 'PUSHAD', 'PUSHF', 'PUSHFD', 'RCL', 'RCR', 'REP', 'REPE', 'REPNE',
+ 'REPNZ', 'REPZ', 'RET', 'RETF', 'ROL', 'ROR', 'SAHF', 'SAL', 'SAR', 'SBB', 'SCAS', 'SETAE', 'SETB', 'SETBE',
+ 'SETC', 'SETE', 'SETG', 'SETGE', 'SETL', 'SETLE', 'SETNA', 'SETNAE', 'SETNB', 'SETNC', 'SETNE', 'SETNG',
+ 'SETNGE', 'SETNL', 'SETNLE', 'SETNO', 'SETNP', 'SETNS', 'SETNZ', 'SETO', 'SETP', 'SETPE', 'SETPO',
+ 'SETS', 'SETZ', 'SGDT', 'SHL', 'SHLD', 'SHR', 'SHRD', 'SIDT', 'SLDT', 'SMSW', 'STC', 'STD', 'STI',
+ 'STOS', 'STR', 'SUB', 'TEST', 'VERR', 'VERW', 'WAIT', 'WBINVD', 'XCHG', 'XLAT', 'XLATB', 'XOR'
+ )
+ ),
+ '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: #0000ff;',
+ 3 => 'color: #000fff;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #ff0000; font-style: italic;',
+ 'MULTI' => 'color: #ff0000; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #009900;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #CC0000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '\\'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => false,
+ 1 => false
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/python.php b/application/libraries/geshi/python.php
new file mode 100644
index 000000000..a482d6928
--- /dev/null
+++ b/application/libraries/geshi/python.php
@@ -0,0 +1,237 @@
+<?php
+/*************************************************************************************
+ * python.php
+ * ----------
+ * 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
+ * Date Started: 2004/08/30
+ *
+ * Python language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/12/18
+ * - Added missing functions and keywords. Also added two new Python 3.0 types. SF#2441839
+ * 2005/05/26
+ * - Modifications by Tim (tim@skreak.com): added more keyword categories, tweaked colors
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/08/30 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Python',
+ '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: reserved words
+ ** http://python.org/doc/current/ref/keywords.html
+ */
+ 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'
+ ),
+
+ /*
+ ** Set 2: builtins
+ ** http://python.org/doc/current/lib/built-in-funcs.html
+ */
+ 2 => array(
+ '__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp',
+ 'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile',
+ 'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
+ 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals',
+ 'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range',
+ 'raw_input', 'reduce', 'reload', 'reversed', 'round', 'set', 'setattr', 'slice',
+ 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
+ 'vars', 'xrange', 'zip',
+ // Built-in constants: http://python.org/doc/current/lib/node35.html
+ 'False', 'True', 'None', 'NotImplemented', 'Ellipsis',
+ // Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html
+ 'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError',
+ 'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError',
+ 'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError',
+ 'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError',
+ 'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError',
+ 'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError',
+ 'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning',
+ 'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning',
+ 'RuntimeWarning', 'FutureWarning',
+ // self: this is a common python convention (but not a reserved word)
+ 'self',
+ // other
+ 'any', 'all'
+ ),
+
+ /*
+ ** Set 3: standard library
+ ** http://python.org/doc/current/lib/modindex.html
+ */
+ 3 => array(
+ '__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm',
+ 'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer',
+ 'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi',
+ 'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop',
+ 'collections', 'colorsys', 'commands', 'compileall', 'compiler',
+ 'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt',
+ 'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE',
+ 'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm',
+ 'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl',
+ 'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl',
+ 'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob',
+ 'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib',
+ 'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect',
+ 'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap',
+ 'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify',
+ 'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator',
+ 'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes',
+ 'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile',
+ 'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random',
+ 're', 'readline', 'repr', 'resource', 'rexec', 'rfc822', 'rgbimg', 'rlcompleter',
+ 'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve',
+ 'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd',
+ 'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string',
+ 'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev',
+ 'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios',
+ 'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token',
+ 'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2',
+ 'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings',
+ 'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml',
+ 'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib',
+ // Python 3.0
+ 'bytes', 'bytearray'
+ ),
+
+ /*
+ ** Set 4: special methods
+ ** http://python.org/doc/current/ref/specialnames.html
+ */
+ 4 => array(
+ /*
+ // Iterator types: http://python.org/doc/current/lib/typeiter.html
+ '__iter__', 'next',
+ // String types: http://python.org/doc/current/lib/string-methods.html
+ 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
+ 'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle',
+ 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust',
+ 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
+ 'translate', 'upper', 'zfill',
+ */
+ // Basic customization: http://python.org/doc/current/ref/customization.html
+ '__new__', '__init__', '__del__', '__repr__', '__str__',
+ '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__',
+ '__hash__', '__nonzero__', '__unicode__', '__dict__',
+ // Attribute access: http://python.org/doc/current/ref/attribute-access.html
+ '__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__',
+ '__delete__', '__slots__',
+ // Class creation, callable objects
+ '__metaclass__', '__call__',
+ // Container types: http://python.org/doc/current/ref/sequence-types.html
+ '__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__',
+ '__getslice__', '__setslice__', '__delslice__',
+ // Numeric types: http://python.org/doc/current/ref/numeric-types.html
+ '__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__',
+ '__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__',
+ '__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__',
+ '__long__','__lshift__',
+ '__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__',
+ '__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__',
+ '__rshift__','__rsub__','__rmul__','__rand__','__rxor__','__ror__',
+ '__sub__','__xor__'
+ )
+ ),
+ '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;', // Reserved
+ 2 => 'color: #008000;', // Built-ins + self
+ 3 => 'color: #dc143c;', // Standard lib
+ 4 => 'color: #0000cd;' // Special methods
+ ),
+ '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_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/qbasic.php b/application/libraries/geshi/qbasic.php
new file mode 100644
index 000000000..c83cb188e
--- /dev/null
+++ b/application/libraries/geshi/qbasic.php
@@ -0,0 +1,158 @@
+<?php
+/*************************************************************************************
+ * qbasic.php
+ * ----------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/20
+ *
+ * QBasic/QuickBASIC language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2004/11/27 (1.0.3)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ * - Added support for URLs
+ * 2004/08/05 (1.0.1)
+ * - Added support for symbols
+ * - Removed unnessecary slashes from some keywords
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Make sure all possible combinations of keywords with
+ * a space in them (EXIT FOR, END SELECT) are added
+ * to the first keyword group
+ * * Update colours, especially for the first keyword group
+ *
+ *************************************************************************************
+ *
+ * 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' => 'QBasic/QuickBASIC',
+ 'COMMENT_SINGLE' => array(1 => "'"),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ //Single-Line Comments using REM command
+ 2 => "/\bREM.*?$/i",
+ //Line numbers
+ 3 => "/^\s*\d+/im"
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'DO', 'LOOP', 'WHILE', 'WEND', 'THEN', 'ELSE', 'ELSEIF', 'IF',
+ 'FOR', 'TO', 'NEXT', 'STEP', 'GOTO', 'GOSUB', 'CALL', 'CALLS',
+ 'SUB', 'FUNCTION', 'RETURN', 'RESUME', 'SELECT', 'CASE', 'UNTIL'
+ ),
+ 3 => array(
+ 'ABS', 'ABSOLUTE', 'ACCESS', 'ALIAS', 'AND', 'ANY', 'APPEND', 'AS', 'ASC', 'ATN',
+ 'BASE', 'BEEP', 'BINARY', 'BLOAD', 'BSAVE', 'BYVAL',
+ 'CDBL', 'CDECL', 'CHAIN', 'CHDIR', 'CHR$', 'CINT', 'CIRCLE', 'CLEAR',
+ 'CLNG', 'CLOSE', 'CLS', 'COM', 'COMMAND$', 'COMMON', 'CONST', 'COS', 'CSNG',
+ 'CSRLIN', 'CVD', 'CVDMBF', 'CVI', 'CVL', 'CVS', 'CVSMDF', 'DATA', 'DATE$',
+ 'DECLARE', 'DEF', 'FN', 'SEG', 'DEFDBL', 'DEFINT', 'DEFLNG', 'DEFSNG', 'DEFSTR',
+ 'DIM', 'DOUBLE', 'DRAW', 'END', 'ENVIRON', 'ENVIRON$', 'EOF', 'EQV', 'ERASE',
+ 'ERDEV', 'ERDEV$', 'ERL', 'ERR', 'ERROR', 'EXIT', 'EXP', 'FIELD', 'FILEATTR',
+ 'FILES', 'FIX', 'FRE', 'FREEFILE', 'GET', 'HEX$', 'IMP', 'INKEY$',
+ 'INP', 'INPUT', 'INPUT$', 'INSTR', 'INT', 'INTEGER', 'IOCTL', 'IOCTL$', 'IS',
+ 'KEY', 'KILL', 'LBOUND', 'LCASE$', 'LEFT$', 'LEN', 'LET', 'LINE', 'LIST', 'LOC',
+ 'LOCAL', 'LOCATE', 'LOCK', 'LOF', 'LOG', 'LONG', 'LPOS', 'LPRINT',
+ 'LSET', 'LTRIM$', 'MID$', 'MKD$', 'MKDIR', 'MKDMBF$', 'MKI$', 'MKL$',
+ 'MKS$', 'MKSMBF$', 'MOD', 'NAME', 'NOT', 'OCT$', 'OFF', 'ON', 'PEN', 'PLAY',
+ 'OPEN', 'OPTION', 'OR', 'OUT', 'OUTPUT',
+ 'PAINT', 'PALETTE', 'PCOPY', 'PEEK', 'PMAP', 'POINT', 'POKE', 'POS', 'PRESET',
+ 'PRINT', 'PSET', 'PUT', 'RANDOM', 'RANDOMIZE', 'READ', 'REDIM', 'RESET',
+ 'RESTORE', 'RIGHT$', 'RMDIR', 'RND', 'RSET', 'RTRIM$', 'RUN', 'SADD', 'SCREEN',
+ 'SEEK', 'SETMEM', 'SGN', 'SHARED', 'SHELL', 'SIGNAL', 'SIN', 'SINGLE', 'SLEEP',
+ 'SOUND', 'SPACE$', 'SPC', 'SQR', 'STATIC', 'STICK', 'STOP', 'STR$', 'STRIG',
+ 'STRING', 'STRING$', 'SWAP', 'SYSTEM', 'TAB', 'TAN', 'TIME$', 'TIMER',
+ 'TROFF', 'TRON', 'TYPE', 'UBOUND', 'UCASE$', 'UEVENT', 'UNLOCK', 'USING', 'VAL',
+ 'VARPTR', 'VARPTR$', 'VARSEG', 'VIEW', 'WAIT', 'WIDTH', 'WINDOW', 'WRITE', 'XOR'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', ',', '+', '-', '*', '/', '=', '<', '>', '^'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 3 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #a1a100;',
+ 3 => 'color: #000066;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080;',
+ 2 => 'color: #808080;',
+ 3 => 'color: #8080C0;'
+ ),
+ '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(
+ 1 => 'color: #cc66cc;',
+ 2 => 'color: #339933;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 3 => 'http://www.qbasicnews.com/qboho/qck{FNAMEL}.shtml'
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ 1 => '&amp;(?:H[0-9a-fA-F]+|O[0-7]+)(?!\w)',
+ 2 => '#[0-9]+(?!\w)'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 8
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/rails.php b/application/libraries/geshi/rails.php
new file mode 100644
index 000000000..777fdd814
--- /dev/null
+++ b/application/libraries/geshi/rails.php
@@ -0,0 +1,406 @@
+<?php
+/*************************************************************************************
+ * rails.php
+ * ---------
+ * Author: Moises Deniz
+ * Copyright: (c) 2005 Moises Deniz
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/03/21
+ *
+ * Ruby (with Ruby on Rails Framework) language file for GeSHi.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Rails',
+ 'COMMENT_SINGLE' => array(1 => "#"),
+ 'COMMENT_MULTI' => array("=begin" => "=end"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"', '`','\''),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'alias', 'and', 'begin', 'break', 'case', 'class',
+ 'def', 'defined', 'do', 'else', 'elsif', 'end',
+ 'ensure', 'for', 'if', 'in', 'module', 'while',
+ 'next', 'not', 'or', 'redo', 'rescue', 'yield',
+ 'retry', 'super', 'then', 'undef', 'unless',
+ 'until', 'when', 'BEGIN', 'END', 'include'
+ ),
+ 2 => array(
+ '__FILE__', '__LINE__', 'false', 'nil', 'self', 'true',
+ 'return'
+ ),
+ 3 => array(
+ 'Array', 'Float', 'Integer', 'String', 'at_exit',
+ 'autoload', 'binding', 'caller', 'catch', 'chop', 'chop!',
+ 'chomp', 'chomp!', 'eval', 'exec', 'exit', 'exit!', 'fail',
+ 'fork', 'format', 'gets', 'global_variables', 'gsub', 'gsub!',
+ 'iterator?', 'lambda', 'load', 'local_variables', 'loop',
+ 'open', 'p', 'print', 'printf', 'proc', 'putc', 'puts',
+ 'raise', 'rand', 'readline', 'readlines', 'require', 'select',
+ 'sleep', 'split', 'sprintf', 'srand', 'sub', 'sub!', 'syscall',
+ 'system', 'trace_var', 'trap', 'untrace_var'
+ ),
+ 4 => array(
+ 'Abbrev', 'ArgumentError', 'Base64', 'Benchmark',
+ 'Benchmark::Tms', 'Bignum', 'Binding', 'CGI', 'CGI::Cookie',
+ 'CGI::HtmlExtension', 'CGI::QueryExtension',
+ 'CGI::Session', 'CGI::Session::FileStore',
+ 'CGI::Session::MemoryStore', 'Class', 'Comparable', 'Complex',
+ 'ConditionVariable', 'Continuation', 'Data',
+ 'Date', 'DateTime', 'Delegator', 'Dir', 'EOFError', 'ERB',
+ 'ERB::Util', 'Enumerable', 'Enumerable::Enumerator', 'Errno',
+ 'Exception', 'FalseClass', 'File',
+ 'File::Constants', 'File::Stat', 'FileTest', 'FileUtils',
+ 'FileUtils::DryRun', 'FileUtils::NoWrite',
+ 'FileUtils::StreamUtils_', 'FileUtils::Verbose', 'Find',
+ 'Fixnum', 'FloatDomainError', 'Forwardable', 'GC', 'Generator',
+ 'Hash', 'IO', 'IOError', 'Iconv', 'Iconv::BrokenLibrary',
+ 'Iconv::Failure', 'Iconv::IllegalSequence',
+ 'Iconv::InvalidCharacter', 'Iconv::InvalidEncoding',
+ 'Iconv::OutOfRange', 'IndexError', 'Interrupt', 'Kernel',
+ 'LoadError', 'LocalJumpError', 'Logger', 'Logger::Application',
+ 'Logger::Error', 'Logger::Formatter', 'Logger::LogDevice',
+ 'Logger::LogDevice::LogDeviceMutex', 'Logger::Severity',
+ 'Logger::ShiftingError', 'Marshal', 'MatchData',
+ 'Math', 'Matrix', 'Method', 'Module', 'Mutex', 'NameError',
+ 'NameError::message', 'NilClass', 'NoMemoryError',
+ 'NoMethodError', 'NotImplementedError', 'Numeric', 'Object',
+ 'ObjectSpace', 'Observable', 'PStore', 'PStore::Error',
+ 'Pathname', 'Precision', 'Proc', 'Process', 'Process::GID',
+ 'Process::Status', 'Process::Sys', 'Process::UID', 'Queue',
+ 'Range', 'RangeError', 'Rational', 'Regexp', 'RegexpError',
+ 'RuntimeError', 'ScriptError', 'SecurityError', 'Set',
+ 'Shellwords', 'Signal', 'SignalException', 'SimpleDelegator',
+ 'SingleForwardable', 'Singleton', 'SingletonClassMethods',
+ 'SizedQueue', 'SortedSet', 'StandardError', 'StringIO',
+ 'StringScanner', 'StringScanner::Error', 'Struct', 'Symbol',
+ 'SyncEnumerator', 'SyntaxError', 'SystemCallError',
+ 'SystemExit', 'SystemStackError', 'Tempfile',
+ 'Test::Unit::TestCase', 'Test::Unit', 'Test', 'Thread',
+ 'ThreadError', 'ThreadGroup',
+ 'ThreadsWait', 'Time', 'TrueClass', 'TypeError', 'URI',
+ 'URI::BadURIError', 'URI::Error', 'URI::Escape', 'URI::FTP',
+ 'URI::Generic', 'URI::HTTP', 'URI::HTTPS',
+ 'URI::InvalidComponentError', 'URI::InvalidURIError',
+ 'URI::LDAP', 'URI::MailTo', 'URI::REGEXP',
+ 'URI::REGEXP::PATTERN', 'UnboundMethod', 'Vector', 'YAML',
+ 'ZeroDivisionError', 'Zlib',
+ 'Zlib::BufError', 'Zlib::DataError', 'Zlib::Deflate',
+ 'Zlib::Error', 'Zlib::GzipFile', 'Zlib::GzipFile::CRCError',
+ 'Zlib::GzipFile::Error', 'Zlib::GzipFile::LengthError',
+ 'Zlib::GzipFile::NoFooter', 'Zlib::GzipReader',
+ 'Zlib::GzipWriter', 'Zlib::Inflate', 'Zlib::MemError',
+ 'Zlib::NeedDict', 'Zlib::StreamEnd', 'Zlib::StreamError',
+ 'Zlib::VersionError',
+ 'Zlib::ZStream',
+ 'ActionController::AbstractRequest',
+ 'ActionController::Assertions::DomAssertions',
+ 'ActionController::Assertions::ModelAssertions',
+ 'ActionController::Assertions::ResponseAssertions',
+ 'ActionController::Assertions::RoutingAssertions',
+ 'ActionController::Assertions::SelectorAssertions',
+ 'ActionController::Assertions::TagAssertions',
+ 'ActionController::Base',
+ 'ActionController::Benchmarking::ClassMethods',
+ 'ActionController::Caching',
+ 'ActionController::Caching::Actions',
+ 'ActionController::Caching::Actions::ActionCachePath',
+ 'ActionController::Caching::Fragments',
+ 'ActionController::Caching::Pages',
+ 'ActionController::Caching::Pages::ClassMethods',
+ 'ActionController::Caching::Sweeping',
+ 'ActionController::Components',
+ 'ActionController::Components::ClassMethods',
+ 'ActionController::Components::InstanceMethods',
+ 'ActionController::Cookies',
+ 'ActionController::Filters::ClassMethods',
+ 'ActionController::Flash',
+ 'ActionController::Flash::FlashHash',
+ 'ActionController::Helpers::ClassMethods',
+ 'ActionController::Integration::Session',
+ 'ActionController::IntegrationTest',
+ 'ActionController::Layout::ClassMethods',
+ 'ActionController::Macros',
+ 'ActionController::Macros::AutoComplete::ClassMethods',
+ 'ActionController::Macros::InPlaceEditing::ClassMethods',
+ 'ActionController::MimeResponds::InstanceMethods',
+ 'ActionController::Pagination',
+ 'ActionController::Pagination::ClassMethods',
+ 'ActionController::Pagination::Paginator',
+ 'ActionController::Pagination::Paginator::Page',
+ 'ActionController::Pagination::Paginator::Window',
+ 'ActionController::Rescue', 'ActionController::Resources',
+ 'ActionController::Routing',
+ 'ActionController::Scaffolding::ClassMethods',
+ 'ActionController::SessionManagement::ClassMethods',
+ 'ActionController::Streaming', 'ActionController::TestProcess',
+ 'ActionController::TestUploadedFile',
+ 'ActionController::UrlWriter',
+ 'ActionController::Verification::ClassMethods',
+ 'ActionMailer::Base', 'ActionView::Base',
+ 'ActionView::Helpers::ActiveRecordHelper',
+ 'ActionView::Helpers::AssetTagHelper',
+ 'ActionView::Helpers::BenchmarkHelper',
+ 'ActionView::Helpers::CacheHelper',
+ 'ActionView::Helpers::CaptureHelper',
+ 'ActionView::Helpers::DateHelper',
+ 'ActionView::Helpers::DebugHelper',
+ 'ActionView::Helpers::FormHelper',
+ 'ActionView::Helpers::FormOptionsHelper',
+ 'ActionView::Helpers::FormTagHelper',
+ 'ActionView::Helpers::JavaScriptHelper',
+ 'ActionView::Helpers::JavaScriptMacrosHelper',
+ 'ActionView::Helpers::NumberHelper',
+ 'ActionView::Helpers::PaginationHelper',
+ 'ActionView::Helpers::PrototypeHelper',
+ 'ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods',
+ 'ActionView::Helpers::ScriptaculousHelper',
+ 'ActionView::Helpers::TagHelper',
+ 'ActionView::Helpers::TextHelper',
+ 'ActionView::Helpers::UrlHelper', 'ActionView::Partials',
+ 'ActionWebService::API::Method', 'ActionWebService::Base',
+ 'ActionWebService::Client::Soap',
+ 'ActionWebService::Client::XmlRpc',
+ 'ActionWebService::Container::ActionController::ClassMethods',
+ 'ActionWebService::Container::Delegated::ClassMethods',
+ 'ActionWebService::Container::Direct::ClassMethods',
+ 'ActionWebService::Invocation::ClassMethods',
+ 'ActionWebService::Scaffolding::ClassMethods',
+ 'ActionWebService::SignatureTypes', 'ActionWebService::Struct',
+ 'ActiveRecord::Acts::List::ClassMethods',
+ 'ActiveRecord::Acts::List::InstanceMethods',
+ 'ActiveRecord::Acts::NestedSet::ClassMethods',
+ 'ActiveRecord::Acts::NestedSet::InstanceMethods',
+ 'ActiveRecord::Acts::Tree::ClassMethods',
+ 'ActiveRecord::Acts::Tree::InstanceMethods',
+ 'ActiveRecord::Aggregations::ClassMethods',
+ 'ActiveRecord::Associations::ClassMethods',
+ 'ActiveRecord::AttributeMethods::ClassMethods',
+ 'ActiveRecord::Base',
+ 'ActiveRecord::Calculations::ClassMethods',
+ 'ActiveRecord::Callbacks',
+ 'ActiveRecord::ConnectionAdapters::AbstractAdapter',
+ 'ActiveRecord::ConnectionAdapters::Column',
+ 'ActiveRecord::ConnectionAdapters::DB2Adapter',
+ 'ActiveRecord::ConnectionAdapters::DatabaseStatements',
+ 'ActiveRecord::ConnectionAdapters::FirebirdAdapter',
+ 'ActiveRecord::ConnectionAdapters::FrontBaseAdapter',
+ 'ActiveRecord::ConnectionAdapters::MysqlAdapter',
+ 'ActiveRecord::ConnectionAdapters::OpenBaseAdapter',
+ 'ActiveRecord::ConnectionAdapters::OracleAdapter',
+ 'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter',
+ 'ActiveRecord::ConnectionAdapters::Quoting',
+ 'ActiveRecord::ConnectionAdapters::SQLServerAdapter',
+ 'ActiveRecord::ConnectionAdapters::SQLiteAdapter',
+ 'ActiveRecord::ConnectionAdapters::SchemaStatements',
+ 'ActiveRecord::ConnectionAdapters::SybaseAdapter::ColumnWithIdentity',
+ 'ActiveRecord::ConnectionAdapters::SybaseAdapterContext',
+ 'ActiveRecord::ConnectionAdapters::TableDefinition',
+ 'ActiveRecord::Errors', 'ActiveRecord::Locking',
+ 'ActiveRecord::Locking::Optimistic',
+ 'ActiveRecord::Locking::Optimistic::ClassMethods',
+ 'ActiveRecord::Locking::Pessimistic',
+ 'ActiveRecord::Migration', 'ActiveRecord::Observer',
+ 'ActiveRecord::Observing::ClassMethods',
+ 'ActiveRecord::Reflection::ClassMethods',
+ 'ActiveRecord::Reflection::MacroReflection',
+ 'ActiveRecord::Schema', 'ActiveRecord::Timestamp',
+ 'ActiveRecord::Transactions::ClassMethods',
+ 'ActiveRecord::Validations',
+ 'ActiveRecord::Validations::ClassMethods',
+ 'ActiveRecord::XmlSerialization',
+ 'ActiveSupport::CachingTools::HashCaching',
+ 'ActiveSupport::CoreExtensions::Array::Conversions',
+ 'ActiveSupport::CoreExtensions::Array::Grouping',
+ 'ActiveSupport::CoreExtensions::Date::Conversions',
+ 'ActiveSupport::CoreExtensions::Hash::Conversions',
+ 'ActiveSupport::CoreExtensions::Hash::Conversions::ClassMethods',
+ 'ActiveSupport::CoreExtensions::Hash::Diff',
+ 'ActiveSupport::CoreExtensions::Hash::Keys',
+ 'ActiveSupport::CoreExtensions::Hash::ReverseMerge',
+ 'ActiveSupport::CoreExtensions::Integer::EvenOdd',
+ 'ActiveSupport::CoreExtensions::Integer::Inflections',
+ 'ActiveSupport::CoreExtensions::Numeric::Bytes',
+ 'ActiveSupport::CoreExtensions::Numeric::Time',
+ 'ActiveSupport::CoreExtensions::Pathname::CleanWithin',
+ 'ActiveSupport::CoreExtensions::Range::Conversions',
+ 'ActiveSupport::CoreExtensions::String::Access',
+ 'ActiveSupport::CoreExtensions::String::Conversions',
+ 'ActiveSupport::CoreExtensions::String::Inflections',
+ 'ActiveSupport::CoreExtensions::String::Iterators',
+ 'ActiveSupport::CoreExtensions::String::StartsEndsWith',
+ 'ActiveSupport::CoreExtensions::String::Unicode',
+ 'ActiveSupport::CoreExtensions::Time::Calculations',
+ 'ActiveSupport::CoreExtensions::Time::Calculations::ClassMethods',
+ 'ActiveSupport::CoreExtensions::Time::Conversions',
+ 'ActiveSupport::Multibyte::Chars',
+ 'ActiveSupport::Multibyte::Handlers::UTF8Handler',
+ 'Breakpoint', 'Builder::BlankSlate', 'Builder::XmlMarkup',
+ 'Fixtures',
+ 'HTML::Selector', 'HashWithIndifferentAccess', 'Inflector',
+ 'Inflector::Inflections', 'Mime', 'Mime::Type',
+ 'OCI8AutoRecover', 'TimeZone', 'XmlSimple'
+ ),
+ 5 => array(
+ 'image_tag', 'link_to', 'link_to_remote', 'javascript_include_tag',
+ 'assert_equal', 'assert_not_equal', 'before_filter',
+ 'after_filter', 'render', 'redirect_to', 'hide_action',
+ 'render_to_string', 'url_for', 'controller_name',
+ 'controller_class_name', 'controller_path', 'session',
+ 'render_component', 'render_component_as_string', 'cookie',
+ 'layout', 'flash', 'auto_complete_for', 'in_place_editor_for',
+ 'respond_to', 'paginate', 'current_page', 'each', 'first',
+ 'first_page', 'last_page', 'last', 'length', 'new', 'page_count',
+ 'previous', 'scaffold', 'send_data',
+ 'send_file', 'deliver', 'receive', 'error_messages_for',
+ 'error_message_on', 'form', 'input', 'stylesheet_link_tag',
+ 'stylesheet_path', 'content_for', 'select_date', 'ago',
+ 'month', 'day', 'check_box', 'fields_for', 'file_field',
+ 'form_for', 'hidden_field', 'text_area', 'password_field',
+ 'collection_select', 'options_for_select',
+ 'options_from_collection_for_select', 'file_field_tag',
+ 'form_for_tag', 'hidden_field_tag', 'text_area_tag',
+ 'password_field_tag', 'link_to_function', 'javascript_tag',
+ 'human_size', 'number_to_currency', 'pagination_links',
+ 'form_remote_tag', 'form_remote_for',
+ 'submit_to_remote', 'remote_function', 'observe_form',
+ 'observe_field', 'remote_form_for', 'options_for_ajax', 'alert',
+ 'call', 'assign', 'show', 'hide', 'insert_html', 'sortable',
+ 'toggle', 'visual_effect', 'replace', 'replace_html', 'remove',
+ 'save', 'save!', 'draggable', 'drop_receiving', 'literal',
+ 'draggable_element', 'drop_receiving_element', 'sortable_element',
+ 'content_tag', 'tag', 'link_to_image', 'link_to_if',
+ 'link_to_unless', 'mail_to', 'link_image_to', 'button_to',
+ 'current_page?', 'act_as_list', 'act_as_nested', 'act_as_tree',
+ 'has_many', 'has_one', 'belongs_to', 'has_many_and_belogns_to',
+ 'delete', 'destroy', 'destroy_all', 'clone', 'deep_clone', 'copy',
+ 'update', 'table_name', 'primary_key', 'sum', 'maximun', 'minimum',
+ 'count', 'size', 'after_save', 'after_create', 'before_save',
+ 'before_create', 'add_to_base', 'errors', 'add', 'validate',
+ 'validates_presence_of', 'validates_numericality_of',
+ 'validates_uniqueness_of', 'validates_length_of',
+ 'validates_format_of', 'validates_size_of', 'to_a', 'to_s',
+ 'to_xml', 'to_i'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>',
+ '+', '-', '=>', '<<'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color:#9966CC; font-weight:bold;',
+ 2 => 'color:#0000FF; font-weight:bold;',
+ 3 => 'color:#CC0066; font-weight:bold;',
+ 4 => 'color:#CC00FF; font-weight:bold;',
+ 5 => 'color:#5A0A0A; font-weight:bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color:#008000; font-style:italic;',
+ 'MULTI' => 'color:#000080; font-style:italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color:#000099;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color:#006600; font-weight:bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color:#996600;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color:#006666;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color:#9900CC;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color:#006600; font-weight:bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color:#ff6633; font-weight:bold;',
+ 1 => 'color:#0066ff; font-weight:bold;',
+ 2 => 'color:#6666ff; font-weight:bold;',
+ 3 => 'color:#ff3333; font-weight:bold;'
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ 0 => array(
+ GESHI_SEARCH => "([[:space:]])(\\$[a-zA-Z_][a-zA-Z0-9_]*)",
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 1 => array(
+ GESHI_SEARCH => "([[:space:]])(@[a-zA-Z_][a-zA-Z0-9_]*)",
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*", //Static OOP References
+ 3 => array(
+ GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)",
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => array(
+ '<%' => '%>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/rebol.php b/application/libraries/geshi/rebol.php
new file mode 100644
index 000000000..1a2e95824
--- /dev/null
+++ b/application/libraries/geshi/rebol.php
@@ -0,0 +1,196 @@
+<?php
+/*************************************************************************************
+ * rebol.php
+ * --------
+ * Author: Lecanu Guillaume (Guillaume@LyA.fr)
+ * Copyright: (c) 2004-2005 Lecanu Guillaume (Guillaume@LyA.fr)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/12/22
+ *
+ * Rebol language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/01/26 (1.0.8.3)
+ * - Adapted language file to comply to GeSHi language file guidelines
+ * 2004/11/25 (1.0.3)
+ * - Added support for multiple object splitters
+ * - Fixed &new problem
+ * 2004/10/27 (1.0.2)
+ * - Added URL support
+ * - Added extra constants
+ * 2004/08/05 (1.0.1)
+ * - Added support for symbols
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * * Make sure the last few function I may have missed
+ * (like eval()) are included for highlighting
+ * * Split to several files - php4, php5 etc
+ *
+ *************************************************************************************
+ *
+ * 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' => 'REBOL',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array('rebol [' => ']', 'comment [' => ']'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'binary!','block!','char!','date!','decimal!','email!','file!',
+ 'hash!','integer!','issue!','list!','logic!','money!','none!',
+ 'object!','paren!','pair!','path!','string!','tag!','time!',
+ 'tuple!','url!',
+ ),
+ 2 => array(
+ 'all','any','attempt','break','catch','compose','disarm','dispatch',
+ 'do','do-events','does','either','else','exit','for','forall',
+ 'foreach','forever','forskip','func','function','halt','has','if',
+ 'launch','loop','next','quit','reduce','remove-each','repeat',
+ 'return','secure','switch','throw','try','until','wait','while',
+ ),
+ 3 => array(
+ 'about','abs','absolute','add','alert','alias','alter','and',
+ 'any-block?','any-function?','any-string?','any-type?','any-word?',
+ 'append','arccosine','arcsine','arctangent','array','as-pair',
+ 'ask','at','back','binary?','bind','bitset?','block?','brightness?',
+ 'browse','build-tag','caret-to-offset','center-face','change',
+ 'change-dir','char?','charset','checksum','choose','clean-path',
+ 'clear','clear-fields','close','comment','complement','component?',
+ 'compress','confirm','connected?','construct','context','copy',
+ 'cosine','datatype?','date?','debase','decimal?','decode-cgi',
+ 'decompress','dehex','delete','detab','difference','dir?','dirize',
+ 'divide','dump-face','dump-obj','echo','email?','empty?','enbase',
+ 'entab','equal?','error?','even?','event?','exclude','exists?',
+ 'exp','extract','fifth','file?','find','first','flash','focus',
+ 'form','found?','fourth','free','function?','get','get-modes',
+ 'get-word?','greater-or-equal?','greater?','hash?','head','head?',
+ 'help','hide','hide-popup','image?','import-email','in',
+ 'in-window?','index?','info?','inform','input','input?','insert',
+ 'integer?','intersect','issue?','join','last','layout','length?',
+ 'lesser-or-equal?','lesser?','library?','license','link?',
+ 'list-dir','list?','lit-path?','lit-word?','load','load-image',
+ 'log-10','log-2','log-e','logic?','lowercase','make','make-dir',
+ 'make-face','max','maximum','maximum-of','min','minimum',
+ 'minimum-of','modified?','mold','money?','multiply','native?',
+ 'negate','negative?','none?','not','not-equal?','now','number?',
+ 'object?','odd?','offset-to-caret','offset?','op?','open','or',
+ 'pair?','paren?','parse','parse-xml','path?','pick','poke','port?',
+ 'positive?','power','prin','print','probe','protect',
+ 'protect-system','query','random','read','read-io','recycle',
+ 'refinement?','reform','rejoin','remainder','remold','remove',
+ 'rename',
+ //'repeat',
+ 'repend','replace','request','request-color','request-date',
+ 'request-download','request-file','request-list','request-pass',
+ 'request-text','resend','reverse','routine?','same?','save',
+ 'script?','second','select','send','series?','set','set-modes',
+ 'set-net','set-path?','set-word?','show','show-popup','sign?',
+ 'sine','size-text','size?','skip','sort','source','span?',
+ 'split-path','square-root','strict-equal?','strict-not-equal?',
+ 'string?','struct?','stylize','subtract','suffix?','tag?','tail',
+ 'tail?','tangent','third','time?','to','to-binary','to-bitset',
+ 'to-block','to-char','to-date','to-decimal','to-email','to-file',
+ 'to-get-word','to-hash','to-hex','to-idate','to-image','to-integer',
+ 'to-issue','to-list','to-lit-path','to-lit-word','to-local-file',
+ 'to-logic','to-money','to-pair','to-paren','to-path',
+ 'to-rebol-file','to-refinement','to-set-path','to-set-word',
+ 'to-string','to-tag','to-time','to-tuple','to-url','to-word',
+ 'trace','trim','tuple?','type?','unfocus','union','unique',
+ 'unprotect','unset','unset?','unview','update','upgrade',
+ 'uppercase','url?','usage','use','value?','view','viewed?','what',
+ 'what-dir','within?','word?','write','write-io','xor','zero?',
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #000066;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+// 2 => 'color: #808080; font-style: italic;',
+ 'MULTI' => '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: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+// 2 => 'includes/dico_rebol.php?word={FNAME}',
+// 3 => 'includes/dico_rebol.php?word={FNAME}'
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-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/reg.php b/application/libraries/geshi/reg.php
new file mode 100644
index 000000000..d70189cc9
--- /dev/null
+++ b/application/libraries/geshi/reg.php
@@ -0,0 +1,233 @@
+<?php
+/*************************************************************************************
+ * reg.php
+ * -------
+ * Author: Sean Hanna (smokingrope@gmail.com)
+ * Copyright: (c) 2006 Sean Hanna
+ * Release Version: 1.0.8.6
+ * Date Started: 03/15/2006
+ *
+ * Microsoft Registry Editor language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * - Updated and optimized most regular expressions
+ * 03/15/2006 (0.5.0)
+ * - Syntax File Created
+ * 04/27/2006 (0.9.5)
+ * - Syntax Coloring Cleaned Up
+ * - First Release
+ * 04/29/2006 (1.0.0)
+ * - Updated a few coloring settings
+ *
+ * TODO (updated 4/27/2006)
+ * -------------------------
+ * - Add a verification to the multi-line portion of the hex field regex
+ * for a '\' character on the line preceding the line of the multi-line
+ * hex field.
+ *
+ * KNOWN ISSUES (updated 4/27/2006)
+ * ---------------------------------
+ *
+ * - There are two regexes for the multiline hex value regex. The regex for
+ * all lines after the first does not verify that the previous line contains
+ * a line continuation character '\'. This regex also does not check for
+ * end of line as it should.
+ *
+ * - If number_highlighting is enabled during processing of this syntax file
+ * many of the regexps used will appear slightly incorrect.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Microsoft Registry',
+ 'COMMENT_SINGLE' => array(1 =>';'),
+ 'COMMENT_MULTI' => array( ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+// 1 => array(),
+// 2 => array(),
+ /* Registry Key Constants Not Used */
+ 3 => array(
+ 'HKEY_LOCAL_MACHINE',
+ 'HKEY_CLASSES_ROOT',
+ 'HKEY_CURRENT_USER',
+ 'HKEY_USERS',
+ 'HKEY_CURRENT_CONFIG',
+ 'HKEY_DYN_DATA',
+ 'HKLM', 'HKCR', 'HKCU', 'HKU', 'HKCC', 'HKDD'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '='
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+// 1 => false,
+// 2 => false,
+ 3 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+// 1 => 'color: #00CCFF;',
+// 2 => 'color: #0000FF;',
+ 3 => 'color: #800000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #009900;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #009900;'
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #00CCFF;',
+ 1 => 'color: #0000FF;',
+ 2 => '',
+ 3 => 'color: #0000FF;',
+ 4 => 'color: #0000FF;',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => 'color: #FF6600;',
+ )
+ ),
+ 'URLS' => array(
+// 1 => '',
+// 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ // Highlight Key Delimiters
+ 0 => array(
+ GESHI_SEARCH => '((^|\\n)\\s*)(\\\\\\[(.*)\\\\\\])(\\s*(\\n|$))',
+ GESHI_REPLACE => '\\3',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\5'
+// GESHI_CLASS => 'kw1'
+ ),
+ // Highlight File Format Header Version 5
+ 1 => array(
+ GESHI_SEARCH => '(^\s*)(Windows Registry Editor Version \d+\.\d+)(\s*$)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3',
+ GESHI_CLASS => 'geshi_registry_header'
+ ),
+ // Highlight File Format Header Version 4
+ 2 => array(
+ GESHI_SEARCH => '(^\\s*)(REGEDIT\s?\d+)(\s*$)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3',
+ GESHI_CLASS => 'geshi_registry_header'
+ ),
+ // Highlight dword: 32 bit integer values
+ 3 => array(
+ GESHI_SEARCH => '(=\s*)(dword:[0-9a-fA-F]{8})(\s*$)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+// GESHI_CLASS => 'kw2'
+ ),
+ // Highlight variable names
+ 4 => array(
+ GESHI_SEARCH => '(^\s*)(\&quot;.*?\&quot;)(\s*=)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3',
+ GESHI_CLASS => 'geshi_variable'
+ ),
+ // Highlight String Values
+ 5 => array(
+ GESHI_SEARCH => '(=\s*)(\&quot;.*?\&quot;)(\s*$)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3',
+ GESHI_CLASS => 'st0'
+ ),
+ // Highlight Hexadecimal Values (Single-Line and Multi-Line)
+ 6 => array(
+ GESHI_SEARCH => '(=\s*\n?\s*)(hex:[0-9a-fA-F]{2}(,(\\\s*\n\s*)?[0-9a-fA-F]{2})*)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '',
+ GESHI_CLASS => 'kw2'
+ ),
+ // Highlight Default Variable
+ 7 => array(
+ GESHI_SEARCH => '(^\s*)(@)(\s*=)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'm',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3',
+ GESHI_CLASS => 'geshi_variable'
+ ),
+ // Highlight GUID's found anywhere.
+ 8 => array(
+ GESHI_SEARCH => '(\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\})',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => '',
+ GESHI_CLASS => 'geshi_guid'
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'ENABLE_FLAGS' => array(
+ 'NUMBERS' => GESHI_NEVER,
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/robots.php b/application/libraries/geshi/robots.php
new file mode 100644
index 000000000..82ff18f4f
--- /dev/null
+++ b/application/libraries/geshi/robots.php
@@ -0,0 +1,100 @@
+<?php
+/*************************************************************************************
+ * robots.php
+ * --------
+ * Author: Christian Lescuyer (cl@goelette.net)
+ * Copyright: (c) 2006 Christian Lescuyer http://xtian.goelette.info
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/02/17
+ *
+ * robots.txt language file for GeSHi.
+ *
+ * 2006/02/17 (1.0.0)
+ * - 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' => 'robots.txt',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(1 => "/^Comment:.*?/m"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'Allow', 'Crawl-delay', 'Disallow', 'Request-rate', 'Robot-version',
+ 'Sitemap', 'User-agent', 'Visit-time'
+ )
+ ),
+ 'SYMBOLS' => array(
+ ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ '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(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.robotstxt.org/wc/norobots.html'
+ ),
+ '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/rsplus.php b/application/libraries/geshi/rsplus.php
new file mode 100644
index 000000000..10fa5a89e
--- /dev/null
+++ b/application/libraries/geshi/rsplus.php
@@ -0,0 +1,483 @@
+<?php
+/*************************************************************************************
+ * rsplus.php
+ * ———–
+ * Author: Ron Fredericks (ronf@LectureMaker.com)
+ * Contributors:
+ * - Benilton Carvalho (beniltoncarvalho@gmail.com)
+ * Copyright: (c) 2009 Ron Fredericks (http://www.LectureMaker.com)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/03/28
+ *
+ * R language file for GeSHi.
+ *
+ * CHANGES
+ * ——-
+ * 2009/04/06
+ * - Add references to Sekhon’s R Package docs
+ * 2009/03/29 (1.0.8.5)
+ * - First Release
+ * 2009/07/16 (1.0.8.6)
+ * - Added functions from base packages (Benilton Carvalho - carvalho@bclab.org)
+ *
+ * References
+ * ———-
+ * Some online R Package documentation:
+ * http://sekhon.berkeley.edu/library/index.html 2.4 docs
+ * http://astrostatistics.psu.edu/su07/R/html 2.5 docs
+ *
+ * Another R GeSHi with no meat?
+ * http://organicdesign.co.nz/GeSHi/R.php
+ * SourceForge R discussion:
+ * http://sourceforge.net/tracker/?func=detail&aid=2276025&group_id=114997&atid=670234
+ *
+ * TODO (updated 2007/02/06)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'R / S+',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"', "'"),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'else','global','in', 'otherwise','persistent',
+ ),
+ 2 => array( // base package
+ '$.package_version', '$<-', '$<-.data.frame', 'abbreviate', 'abs', 'acos', 'acosh', 'addNA', 'addTaskCallback',
+ 'agrep', 'alist', 'all', 'all.equal', 'all.equal.character', 'all.equal.default', 'all.equal.factor',
+ 'all.equal.formula', 'all.equal.language', 'all.equal.list', 'all.equal.numeric', 'all.equal.POSIXct',
+ 'all.equal.raw', 'all.names', 'all.vars', 'any', 'aperm', 'append', 'apply', 'Arg', 'args', 'array', 'as.array',
+ 'as.array.default', 'as.call', 'as.character', 'as.character.condition', 'as.character.Date', 'as.character.default',
+ 'as.character.error', 'as.character.factor', 'as.character.hexmode', 'as.character.numeric_version', 'as.character.octmode',
+ 'as.character.POSIXt', 'as.character.srcref', 'as.complex', 'as.data.frame', 'as.data.frame.array', 'as.data.frame.AsIs',
+ 'as.data.frame.character', 'as.data.frame.complex', 'as.data.frame.data.frame', 'as.data.frame.Date', 'as.data.frame.default',
+ 'as.data.frame.difftime', 'as.data.frame.factor', 'as.data.frame.integer', 'as.data.frame.list', 'as.data.frame.logical',
+ 'as.data.frame.matrix', 'as.data.frame.model.matrix', 'as.data.frame.numeric', 'as.data.frame.numeric_version',
+ 'as.data.frame.ordered', 'as.data.frame.POSIXct', 'as.data.frame.POSIXlt', 'as.data.frame.raw', 'as.data.frame.table',
+ 'as.data.frame.ts', 'as.data.frame.vector', 'as.Date', 'as.Date.character', 'as.Date.date', 'as.Date.dates',
+ 'as.Date.default', 'as.Date.factor', 'as.Date.numeric', 'as.Date.POSIXct', 'as.Date.POSIXlt', 'as.difftime', 'as.double',
+ 'as.double.difftime', 'as.double.POSIXlt', 'as.environment', 'as.expression', 'as.expression.default', 'as.factor',
+ 'as.function', 'as.function.default', 'as.hexmode', 'as.integer', 'as.list', 'as.list.data.frame', 'as.list.default',
+ 'as.list.environment', 'as.list.factor', 'as.list.function', 'as.list.numeric_version', 'as.logical', 'as.matrix',
+ 'as.matrix.data.frame', 'as.matrix.default', 'as.matrix.noquote', 'as.matrix.POSIXlt', 'as.name', 'as.null', 'as.null.default',
+ 'as.numeric', 'as.numeric_version', 'as.octmode', 'as.ordered', 'as.package_version', 'as.pairlist', 'as.POSIXct',
+ 'as.POSIXct.date', 'as.POSIXct.Date', 'as.POSIXct.dates', 'as.POSIXct.default', 'as.POSIXct.numeric', 'as.POSIXct.POSIXlt',
+ 'as.POSIXlt', 'as.POSIXlt.character', 'as.POSIXlt.date', 'as.POSIXlt.Date', 'as.POSIXlt.dates', 'as.POSIXlt.default',
+ 'as.POSIXlt.factor', 'as.POSIXlt.numeric', 'as.POSIXlt.POSIXct', 'as.qr', 'as.raw', 'as.real', 'as.single',
+ 'as.single.default', 'as.symbol', 'as.table', 'as.table.default', 'as.vector', 'as.vector.factor', 'asin', 'asinh',
+ 'asNamespace', 'asS4', 'assign', 'atan', 'atan2', 'atanh', 'attach', 'attachNamespace', 'attr', 'attr.all.equal',
+ 'attr<-', 'attributes', 'attributes<-', 'autoload', 'autoloader', 'backsolve', 'baseenv', 'basename', 'besselI',
+ 'besselJ', 'besselK', 'besselY', 'beta', 'bindingIsActive', 'bindingIsLocked', 'bindtextdomain', 'body', 'body<-',
+ 'bquote', 'break', 'browser', 'builtins', 'by', 'by.data.frame', 'by.default', 'bzfile', 'c', 'c.Date', 'c.noquote',
+ 'c.numeric_version', 'c.POSIXct', 'c.POSIXlt', 'call', 'callCC', 'capabilities', 'casefold', 'cat', 'category',
+ 'cbind', 'cbind.data.frame', 'ceiling', 'char.expand', 'character', 'charmatch', 'charToRaw', 'chartr', 'check_tzones',
+ 'chol', 'chol.default', 'chol2inv', 'choose', 'class', 'class<-', 'close', 'close.connection', 'close.srcfile',
+ 'closeAllConnections', 'codes', 'codes.factor', 'codes.ordered', 'codes<-', 'col', 'colMeans', 'colnames',
+ 'colnames<-', 'colSums', 'commandArgs', 'comment', 'comment<-', 'complex', 'computeRestarts', 'conditionCall',
+ 'conditionCall.condition', 'conditionMessage', 'conditionMessage.condition', 'conflicts', 'Conj', 'contributors',
+ 'cos', 'cosh', 'crossprod', 'Cstack_info', 'cummax', 'cummin', 'cumprod', 'cumsum', 'cut', 'cut.Date', 'cut.default',
+ 'cut.POSIXt', 'data.class', 'data.frame', 'data.matrix', 'date', 'debug', 'default.stringsAsFactors', 'delay',
+ 'delayedAssign', 'deparse', 'det', 'detach', 'determinant', 'determinant.matrix', 'dget', 'diag', 'diag<-', 'diff',
+ 'diff.Date', 'diff.default', 'diff.POSIXt', 'difftime', 'digamma', 'dim', 'dim.data.frame', 'dim<-', 'dimnames',
+ 'dimnames.data.frame', 'dimnames<-', 'dimnames<-.data.frame', 'dir', 'dir.create', 'dirname', 'do.call', 'double',
+ 'dput', 'dQuote', 'drop', 'dump', 'duplicated', 'duplicated.array', 'duplicated.data.frame', 'duplicated.default',
+ 'duplicated.matrix', 'duplicated.numeric_version', 'duplicated.POSIXlt', 'dyn.load', 'dyn.unload', 'eapply', 'eigen',
+ 'emptyenv', 'encodeString', 'Encoding', 'Encoding<-', 'env.profile', 'environment', 'environment<-', 'environmentIsLocked',
+ 'environmentName', 'eval', 'eval.parent', 'evalq', 'exists', 'exp', 'expand.grid', 'expm1', 'expression', 'F', 'factor',
+ 'factorial', 'fifo', 'file', 'file.access', 'file.append', 'file.choose', 'file.copy', 'file.create', 'file.exists',
+ 'file.info', 'file.path', 'file.remove', 'file.rename', 'file.show', 'file.symlink', 'Filter', 'Find', 'findInterval',
+ 'findPackageEnv', 'findRestart', 'floor', 'flush', 'flush.connection', 'for', 'force', 'formals', 'formals<-',
+ 'format', 'format.AsIs', 'format.char', 'format.data.frame', 'format.Date', 'format.default', 'format.difftime',
+ 'format.factor', 'format.hexmode', 'format.info', 'format.octmode', 'format.POSIXct', 'format.POSIXlt',
+ 'format.pval', 'formatC', 'formatDL', 'forwardsolve', 'function', 'gamma', 'gammaCody', 'gc', 'gc.time',
+ 'gcinfo', 'gctorture', 'get', 'getAllConnections', 'getCallingDLL', 'getCallingDLLe', 'getCConverterDescriptions',
+ 'getCConverterStatus', 'getConnection', 'getDLLRegisteredRoutines', 'getDLLRegisteredRoutines.character',
+ 'getDLLRegisteredRoutines.DLLInfo', 'getenv', 'geterrmessage', 'getExportedValue', 'getHook', 'getLoadedDLLs',
+ 'getNamespace', 'getNamespaceExports', 'getNamespaceImports', 'getNamespaceInfo', 'getNamespaceName',
+ 'getNamespaceUsers', 'getNamespaceVersion', 'getNativeSymbolInfo', 'getNumCConverters', 'getOption', 'getRversion',
+ 'getSrcLines', 'getTaskCallbackNames', 'gettext', 'gettextf', 'getwd', 'gl', 'globalenv', 'gregexpr', 'grep',
+ 'grepl', 'gsub', 'gzcon', 'gzfile', 'httpclient', 'I', 'iconv', 'iconvlist', 'icuSetCollate', 'identical', 'identity',
+ 'if', 'ifelse', 'Im', 'importIntoEnv', 'inherits', 'integer', 'interaction', 'interactive', 'intersect', 'intToBits',
+ 'intToUtf8', 'inverse.rle', 'invisible', 'invokeRestart', 'invokeRestartInteractively', 'is.array', 'is.atomic',
+ 'is.call', 'is.character', 'is.complex', 'is.data.frame', 'is.double', 'is.element', 'is.environment',
+ 'is.expression', 'is.factor', 'is.finite', 'is.function', 'is.infinite', 'is.integer', 'is.language',
+ 'is.list', 'is.loaded', 'is.logical', 'is.matrix', 'is.na', 'is.na.data.frame', 'is.na.POSIXlt', 'is.na<-',
+ 'is.na<-.default', 'is.na<-.factor', 'is.name', 'is.nan', 'is.null', 'is.numeric', 'is.numeric_version',
+ 'is.numeric.Date', 'is.numeric.POSIXt', 'is.object', 'is.ordered', 'is.package_version', 'is.pairlist', 'is.primitive',
+ 'is.qr', 'is.R', 'is.raw', 'is.real', 'is.recursive', 'is.single', 'is.symbol', 'is.table', 'is.unsorted', 'is.vector',
+ 'isBaseNamespace', 'isdebugged', 'isIncomplete', 'isNamespace', 'ISOdate', 'ISOdatetime', 'isOpen', 'isRestart', 'isS4',
+ 'isSeekable', 'isSymmetric', 'isSymmetric.matrix', 'isTRUE', 'jitter', 'julian', 'julian.Date', 'julian.POSIXt', 'kappa',
+ 'kappa.default', 'kappa.lm', 'kappa.qr', 'kappa.tri', 'kronecker', 'l10n_info', 'La.chol', 'La.chol2inv', 'La.eigen',
+ 'La.svd', 'labels', 'labels.default', 'lapply', 'lazyLoad', 'lazyLoadDBfetch', 'lbeta', 'lchoose', 'length', 'length<-',
+ 'length<-.factor', 'letters', 'LETTERS', 'levels', 'levels.default', 'levels<-', 'levels<-.factor', 'lfactorial', 'lgamma',
+ 'library', 'library.dynam', 'library.dynam.unload', 'licence', 'license', 'list', 'list.files', 'load', 'loadedNamespaces',
+ 'loadingNamespaceInfo', 'loadNamespace', 'loadURL', 'local', 'lockBinding', 'lockEnvironment', 'log', 'log10', 'log1p', 'log2',
+ 'logb', 'logical', 'lower.tri', 'ls', 'machine', 'Machine', 'make.names', 'make.unique', 'makeActiveBinding', 'manglePackageName',
+ 'Map', 'mapply', 'margin.table', 'mat.or.vec', 'match', 'match.arg', 'match.call', 'match.fun', 'Math.data.frame', 'Math.Date',
+ 'Math.difftime', 'Math.factor', 'Math.POSIXt', 'matrix', 'max', 'max.col', 'mean', 'mean.data.frame', 'mean.Date', 'mean.default',
+ 'mean.difftime', 'mean.POSIXct', 'mean.POSIXlt', 'mem.limits', 'memory.profile', 'merge', 'merge.data.frame', 'merge.default',
+ 'message', 'mget', 'min', 'missing', 'Mod', 'mode', 'mode<-', 'month.abb', 'month.name', 'months', 'months.Date',
+ 'months.POSIXt', 'mostattributes<-', 'names', 'names<-', 'namespaceExport', 'namespaceImport', 'namespaceImportClasses',
+ 'namespaceImportFrom', 'namespaceImportMethods', 'nargs', 'nchar', 'ncol', 'NCOL', 'Negate', 'new.env', 'next', 'NextMethod',
+ 'ngettext', 'nlevels', 'noquote', 'nrow', 'NROW', 'numeric', 'numeric_version', 'nzchar', 'objects', 'oldClass',
+ 'oldClass<-', 'on.exit', 'open', 'open.connection', 'open.srcfile', 'open.srcfilecopy', 'Ops.data.frame', 'Ops.Date',
+ 'Ops.difftime', 'Ops.factor', 'Ops.numeric_version', 'Ops.ordered', 'Ops.POSIXt', 'options', 'order', 'ordered',
+ 'outer', 'package_version', 'package.description', 'packageEvent', 'packageHasNamespace', 'packageStartupMessage',
+ 'packBits', 'pairlist', 'parent.env', 'parent.env<-', 'parent.frame', 'parse', 'parse.dcf', 'parseNamespaceFile',
+ 'paste', 'path.expand', 'pentagamma', 'pi', 'pipe', 'Platform', 'pmatch', 'pmax', 'pmax.int', 'pmin', 'pmin.int',
+ 'polyroot', 'pos.to.env', 'Position', 'pretty', 'prettyNum', 'print', 'print.AsIs', 'print.atomic', 'print.by',
+ 'print.condition', 'print.connection', 'print.data.frame', 'print.Date', 'print.default', 'print.difftime',
+ 'print.DLLInfo', 'print.DLLInfoList', 'print.DLLRegisteredRoutines', 'print.factor', 'print.hexmode', 'print.libraryIQR',
+ 'print.listof', 'print.NativeRoutineList', 'print.noquote', 'print.numeric_version', 'print.octmode', 'print.packageInfo',
+ 'print.POSIXct', 'print.POSIXlt', 'print.proc_time', 'print.restart', 'print.rle', 'print.simple.list',
+ 'print.srcfile', 'print.srcref', 'print.summary.table', 'print.table', 'print.warnings', 'printNoClass',
+ 'prmatrix', 'proc.time', 'prod', 'prop.table', 'provide', 'psigamma', 'pushBack', 'pushBackLength', 'q', 'qr',
+ 'qr.coef', 'qr.default', 'qr.fitted', 'qr.Q', 'qr.qty', 'qr.qy', 'qr.R', 'qr.resid', 'qr.solve', 'qr.X', 'quarters',
+ 'quarters.Date', 'quarters.POSIXt', 'quit', 'quote', 'R_system_version', 'R.home', 'R.version', 'R.Version',
+ 'R.version.string', 'range', 'range.default', 'rank', 'rapply', 'raw', 'rawConnection', 'rawConnectionValue',
+ 'rawShift', 'rawToBits', 'rawToChar', 'rbind', 'rbind.data.frame', 'rcond', 'Re', 'read.dcf', 'read.table.url',
+ 'readBin', 'readChar', 'readline', 'readLines', 'real', 'Recall', 'Reduce', 'reg.finalizer', 'regexpr',
+ 'registerS3method', 'registerS3methods', 'remove', 'removeCConverter', 'removeTaskCallback', 'rep', 'rep.Date',
+ 'rep.factor', 'rep.int', 'rep.numeric_version', 'rep.POSIXct', 'rep.POSIXlt', 'repeat', 'replace', 'replicate',
+ 'require', 'restart', 'restartDescription', 'restartFormals', 'retracemem', 'return', 'rev', 'rev.default', 'rle',
+ 'rm', 'RNGkind', 'RNGversion', 'round', 'round.Date', 'round.difftime', 'round.POSIXt', 'row', 'row.names',
+ 'row.names.data.frame', 'row.names.default', 'row.names<-', 'row.names<-.data.frame', 'row.names<-.default',
+ 'rowMeans', 'rownames', 'rownames<-', 'rowsum', 'rowsum.data.frame', 'rowsum.default', 'rowSums', 'sample',
+ 'sample.int', 'sapply', 'save', 'save.image', 'saveNamespaceImage', 'scale', 'scale.default', 'scan', 'scan.url',
+ 'search', 'searchpaths', 'seek', 'seek.connection', 'seq', 'seq_along', 'seq_len', 'seq.Date', 'seq.default',
+ 'seq.int', 'seq.POSIXt', 'sequence', 'serialize', 'set.seed', 'setCConverterStatus', 'setdiff', 'setequal',
+ 'setHook', 'setNamespaceInfo', 'setSessionTimeLimit', 'setTimeLimit', 'setwd', 'showConnections', 'shQuote',
+ 'sign', 'signalCondition', 'signif', 'simpleCondition', 'simpleError', 'simpleMessage', 'simpleWarning', 'sin',
+ 'single', 'sinh', 'sink', 'sink.number', 'slice.index', 'socketConnection', 'socketSelect', 'solve', 'solve.default',
+ 'solve.qr', 'sort', 'sort.default', 'sort.int', 'sort.list', 'sort.POSIXlt', 'source', 'source.url', 'split',
+ 'split.data.frame', 'split.Date', 'split.default', 'split.POSIXct', 'split<-', 'split<-.data.frame', 'split<-.default',
+ 'sprintf', 'sqrt', 'sQuote', 'srcfile', 'srcfilecopy', 'srcref', 'standardGeneric', 'stderr', 'stdin', 'stdout',
+ 'stop', 'stopifnot', 'storage.mode', 'storage.mode<-', 'strftime', 'strptime', 'strsplit', 'strtrim', 'structure',
+ 'strwrap', 'sub', 'subset', 'subset.data.frame', 'subset.default', 'subset.matrix', 'substitute', 'substr',
+ 'substr<-', 'substring', 'substring<-', 'sum', 'summary', 'summary.connection', 'summary.data.frame',
+ 'Summary.data.frame', 'summary.Date', 'Summary.Date', 'summary.default', 'Summary.difftime',
+ 'summary.factor', 'Summary.factor', 'summary.matrix', 'Summary.numeric_version', 'summary.POSIXct',
+ 'Summary.POSIXct', 'summary.POSIXlt', 'Summary.POSIXlt', 'summary.table', 'suppressMessages',
+ 'suppressPackageStartupMessages', 'suppressWarnings', 'svd', 'sweep', 'switch', 'symbol.C',
+ 'symbol.For', 'sys.call', 'sys.calls', 'Sys.chmod', 'Sys.Date', 'sys.frame', 'sys.frames',
+ 'sys.function', 'Sys.getenv', 'Sys.getlocale', 'Sys.getpid', 'Sys.glob', 'Sys.info', 'sys.load.image',
+ 'Sys.localeconv', 'sys.nframe', 'sys.on.exit', 'sys.parent', 'sys.parents', 'Sys.putenv',
+ 'sys.save.image', 'Sys.setenv', 'Sys.setlocale', 'Sys.sleep', 'sys.source', 'sys.status',
+ 'Sys.time', 'Sys.timezone', 'Sys.umask', 'Sys.unsetenv', 'Sys.which', 'system', 'system.file',
+ 'system.time', 't', 'T', 't.data.frame', 't.default', 'table', 'tabulate', 'tan', 'tanh', 'tapply',
+ 'taskCallbackManager', 'tcrossprod', 'tempdir', 'tempfile', 'testPlatformEquivalence', 'tetragamma',
+ 'textConnection', 'textConnectionValue', 'tolower', 'topenv', 'toString', 'toString.default', 'toupper',
+ 'trace', 'traceback', 'tracemem', 'tracingState', 'transform', 'transform.data.frame', 'transform.default',
+ 'trigamma', 'trunc', 'trunc.Date', 'trunc.POSIXt', 'truncate', 'truncate.connection', 'try', 'tryCatch',
+ 'typeof', 'unclass', 'undebug', 'union', 'unique', 'unique.array', 'unique.data.frame', 'unique.default',
+ 'unique.matrix', 'unique.numeric_version', 'unique.POSIXlt', 'units', 'units.difftime', 'units<-',
+ 'units<-.difftime', 'unix', 'unix.time', 'unlink', 'unlist', 'unloadNamespace', 'unlockBinding',
+ 'unname', 'unserialize', 'unsplit', 'untrace', 'untracemem', 'unz', 'upper.tri', 'url', 'UseMethod',
+ 'utf8ToInt', 'vector', 'Vectorize', 'version', 'Version', 'warning', 'warnings', 'weekdays',
+ 'weekdays.Date', 'weekdays.POSIXt', 'which', 'which.max', 'which.min', 'while', 'with',
+ 'with.default', 'withCallingHandlers', 'within', 'within.data.frame', 'within.list', 'withRestarts',
+ 'withVisible', 'write', 'write.dcf', 'write.table0', 'writeBin', 'writeChar', 'writeLines', 'xor',
+ 'xpdrows.data.frame', 'xtfrm', 'xtfrm.Date', 'xtfrm.default', 'xtfrm.factor', 'xtfrm.numeric_version',
+ 'xtfrm.POSIXct', 'xtfrm.POSIXlt', 'xtfrm.Surv', 'zapsmall',
+ ),
+ 3 => array( // Datasets
+ 'ability.cov', 'airmiles', 'AirPassengers', 'airquality',
+ 'anscombe', 'attenu', 'attitude', 'austres', 'beaver1',
+ 'beaver2', 'BJsales', 'BJsales.lead', 'BOD', 'cars',
+ 'ChickWeight', 'chickwts', 'co2', 'crimtab',
+ 'discoveries', 'DNase', 'esoph', 'euro', 'euro.cross',
+ 'eurodist', 'EuStockMarkets', 'faithful', 'fdeaths',
+ 'Formaldehyde', 'freeny', 'freeny.x', 'freeny.y',
+ 'HairEyeColor', 'Harman23.cor', 'Harman74.cor', 'Indometh',
+ 'infert', 'InsectSprays', 'iris', 'iris3', 'islands',
+ 'JohnsonJohnson', 'LakeHuron', 'ldeaths', 'lh', 'LifeCycleSavings',
+ 'Loblolly', 'longley', 'lynx', 'mdeaths', 'morley', 'mtcars',
+ 'nhtemp', 'Nile', 'nottem', 'occupationalStatus', 'Orange',
+ 'OrchardSprays', 'PlantGrowth', 'precip', 'presidents',
+ 'pressure', 'Puromycin', 'quakes', 'randu', 'rivers', 'rock',
+ 'Seatbelts', 'sleep', 'stack.loss', 'stack.x', 'stackloss',
+ 'state.abb', 'state.area', 'state.center', 'state.division',
+ 'state.name', 'state.region', 'state.x77', 'sunspot.month',
+ 'sunspot.year', 'sunspots', 'swiss', 'Theoph', 'Titanic', 'ToothGrowth',
+ 'treering', 'trees', 'UCBAdmissions', 'UKDriverDeaths', 'UKgas',
+ 'USAccDeaths', 'USArrests', 'USJudgeRatings', 'USPersonalExpenditure',
+ 'uspop', 'VADeaths', 'volcano', 'warpbreaks', 'women', 'WorldPhones',
+ 'WWWusage',
+ ),
+ 4 => array( // graphics package
+ 'abline', 'arrows', 'assocplot', 'axis', 'Axis', 'axis.Date', 'axis.POSIXct',
+ 'axTicks', 'barplot', 'barplot.default', 'box', 'boxplot', 'boxplot.default',
+ 'boxplot.matrix', 'bxp', 'cdplot', 'clip', 'close.screen', 'co.intervals',
+ 'contour', 'contour.default', 'coplot', 'curve', 'dotchart', 'erase.screen',
+ 'filled.contour', 'fourfoldplot', 'frame', 'grconvertX', 'grconvertY', 'grid',
+ 'hist', 'hist.default', 'identify', 'image', 'image.default', 'layout',
+ 'layout.show', 'lcm', 'legend', 'lines', 'lines.default', 'locator', 'matlines',
+ 'matplot', 'matpoints', 'mosaicplot', 'mtext', 'pairs', 'pairs.default',
+ 'panel.smooth', 'par', 'persp', 'pie', 'piechart', 'plot', 'plot.default',
+ 'plot.design', 'plot.new', 'plot.window', 'plot.xy', 'points', 'points.default',
+ 'polygon', 'rect', 'rug', 'screen', 'segments', 'smoothScatter', 'spineplot',
+ 'split.screen', 'stars', 'stem', 'strheight', 'stripchart', 'strwidth', 'sunflowerplot',
+ 'symbols', 'text', 'text.default', 'title', 'xinch', 'xspline', 'xyinch', 'yinch',
+ ),
+ 5 => array( // grDevices pkg
+ 'as.graphicsAnnot', 'bitmap', 'blues9', 'bmp', 'boxplot.stats', 'cairo_pdf', 'cairo_ps', 'check.options',
+ 'chull', 'CIDFont', 'cm', 'cm.colors', 'col2rgb', 'colorConverter', 'colorRamp', 'colorRampPalette',
+ 'colors', 'colorspaces', 'colours', 'contourLines', 'convertColor', 'densCols', 'dev.control', 'dev.copy',
+ 'dev.copy2eps', 'dev.copy2pdf', 'dev.cur', 'dev.interactive', 'dev.list', 'dev.new', 'dev.next', 'dev.off',
+ 'dev.prev', 'dev.print', 'dev.set', 'dev.size', 'dev2bitmap', 'devAskNewPage', 'deviceIsInteractive',
+ 'embedFonts', 'extendrange', 'getGraphicsEvent', 'graphics.off', 'gray', 'gray.colors', 'grey', 'grey.colors',
+ 'hcl', 'heat.colors', 'Hershey', 'hsv', 'jpeg', 'make.rgb', 'n2mfrow', 'nclass.FD', 'nclass.scott',
+ 'nclass.Sturges', 'palette', 'pdf', 'pdf.options', 'pdfFonts', 'pictex', 'png', 'postscript', 'postscriptFont',
+ 'postscriptFonts', 'ps.options', 'quartz', 'quartz.options', 'quartzFont', 'quartzFonts', 'rainbow',
+ 'recordGraphics', 'recordPlot', 'replayPlot', 'rgb', 'rgb2hsv', 'savePlot', 'setEPS', 'setPS', 'svg',
+ 'terrain.colors', 'tiff', 'topo.colors', 'trans3d', 'Type1Font', 'x11', 'X11', 'X11.options', 'X11Font',
+ 'X11Fonts', 'xfig', 'xy.coords', 'xyTable', 'xyz.coords',
+ ),
+ 6 => array( // methods package
+ 'addNextMethod', 'allGenerics', 'allNames', 'Arith', 'as', 'as<-',
+ 'asMethodDefinition', 'assignClassDef', 'assignMethodsMetaData', 'balanceMethodsList',
+ 'cacheGenericsMetaData', 'cacheMetaData', 'cacheMethod', 'callGeneric',
+ 'callNextMethod', 'canCoerce', 'cbind2', 'checkSlotAssignment', 'classesToAM',
+ 'classMetaName', 'coerce', 'coerce<-', 'Compare', 'completeClassDefinition',
+ 'completeExtends', 'completeSubclasses', 'Complex', 'conformMethod', 'defaultDumpName',
+ 'defaultPrototype', 'doPrimitiveMethod', 'dumpMethod', 'dumpMethods', 'el', 'el<-',
+ 'elNamed', 'elNamed<-', 'empty.dump', 'emptyMethodsList', 'existsFunction', 'existsMethod',
+ 'extends', 'finalDefaultMethod', 'findClass', 'findFunction', 'findMethod', 'findMethods',
+ 'findMethodSignatures', 'findUnique', 'fixPre1.8', 'formalArgs', 'functionBody',
+ 'functionBody<-', 'generic.skeleton', 'getAccess', 'getAllMethods', 'getAllSuperClasses',
+ 'getClass', 'getClassDef', 'getClasses', 'getClassName', 'getClassPackage', 'getDataPart',
+ 'getExtends', 'getFunction', 'getGeneric', 'getGenerics', 'getGroup', 'getGroupMembers',
+ 'getMethod', 'getMethods', 'getMethodsForDispatch', 'getMethodsMetaData', 'getPackageName',
+ 'getProperties', 'getPrototype', 'getSlots', 'getSubclasses', 'getValidity', 'getVirtual',
+ 'hasArg', 'hasMethod', 'hasMethods', 'implicitGeneric', 'initialize', 'insertMethod', 'is',
+ 'isClass', 'isClassDef', 'isClassUnion', 'isGeneric', 'isGrammarSymbol', 'isGroup',
+ 'isSealedClass', 'isSealedMethod', 'isVirtualClass', 'isXS3Class', 'languageEl', 'languageEl<-',
+ 'linearizeMlist', 'listFromMethods', 'listFromMlist', 'loadMethod', 'Logic',
+ 'makeClassRepresentation', 'makeExtends', 'makeGeneric', 'makeMethodsList',
+ 'makePrototypeFromClassDef', 'makeStandardGeneric', 'matchSignature', 'Math', 'Math2', 'mergeMethods',
+ 'metaNameUndo', 'method.skeleton', 'MethodAddCoerce', 'methodSignatureMatrix', 'MethodsList',
+ 'MethodsListSelect', 'methodsPackageMetaName', 'missingArg', 'mlistMetaName', 'new', 'newBasic',
+ 'newClassRepresentation', 'newEmptyObject', 'Ops', 'packageSlot', 'packageSlot<-', 'possibleExtends',
+ 'prohibitGeneric', 'promptClass', 'promptMethods', 'prototype', 'Quote', 'rbind2',
+ 'reconcilePropertiesAndPrototype', 'registerImplicitGenerics', 'rematchDefinition',
+ 'removeClass', 'removeGeneric', 'removeMethod', 'removeMethods', 'removeMethodsObject', 'representation',
+ 'requireMethods', 'resetClass', 'resetGeneric', 'S3Class', 'S3Class<-', 'S3Part', 'S3Part<-', 'sealClass',
+ 'seemsS4Object', 'selectMethod', 'selectSuperClasses', 'sessionData', 'setAs', 'setClass', 'setClassUnion',
+ 'setDataPart', 'setGeneric', 'setGenericImplicit', 'setGroupGeneric', 'setIs', 'setMethod', 'setOldClass',
+ 'setPackageName', 'setPrimitiveMethods', 'setReplaceMethod', 'setValidity', 'show', 'showClass', 'showDefault',
+ 'showExtends', 'showMethods', 'showMlist', 'signature', 'SignatureMethod', 'sigToEnv', 'slot', 'slot<-',
+ 'slotNames', 'slotsFromS3', 'substituteDirect', 'substituteFunctionArgs', 'Summary', 'superClassDepth',
+ 'testInheritedMethods', 'testVirtual', 'traceOff', 'traceOn', 'tryNew', 'trySilent', 'unRematchDefinition',
+ 'validObject', 'validSlotNames',
+ ),
+ 7 => array( // stats pkg
+ 'acf', 'acf2AR', 'add.scope', 'add1', 'addmargins', 'aggregate',
+ 'aggregate.data.frame', 'aggregate.default', 'aggregate.ts', 'AIC',
+ 'alias', 'anova', 'anova.glm', 'anova.glmlist', 'anova.lm', 'anova.lmlist',
+ 'anova.mlm', 'anovalist.lm', 'ansari.test', 'aov', 'approx', 'approxfun',
+ 'ar', 'ar.burg', 'ar.mle', 'ar.ols', 'ar.yw', 'arima', 'arima.sim',
+ 'arima0', 'arima0.diag', 'ARMAacf', 'ARMAtoMA', 'as.dendrogram', 'as.dist',
+ 'as.formula', 'as.hclust', 'as.stepfun', 'as.ts', 'asOneSidedFormula', 'ave',
+ 'bandwidth.kernel', 'bartlett.test', 'binom.test', 'binomial', 'biplot',
+ 'Box.test', 'bw.bcv', 'bw.nrd', 'bw.nrd0', 'bw.SJ', 'bw.ucv', 'C', 'cancor',
+ 'case.names', 'ccf', 'chisq.test', 'clearNames', 'cmdscale', 'coef', 'coefficients',
+ 'complete.cases', 'confint', 'confint.default', 'constrOptim', 'contr.helmert',
+ 'contr.poly', 'contr.SAS', 'contr.sum', 'contr.treatment', 'contrasts', 'contrasts<-',
+ 'convolve', 'cooks.distance', 'cophenetic', 'cor', 'cor.test', 'cov', 'cov.wt',
+ 'cov2cor', 'covratio', 'cpgram', 'cutree', 'cycle', 'D', 'dbeta', 'dbinom', 'dcauchy',
+ 'dchisq', 'decompose', 'delete.response', 'deltat', 'dendrapply', 'density', 'density.default',
+ 'deriv', 'deriv.default', 'deriv.formula', 'deriv3', 'deriv3.default', 'deriv3.formula',
+ 'deviance', 'dexp', 'df', 'df.kernel', 'df.residual', 'dfbeta', 'dfbetas', 'dffits',
+ 'dgamma', 'dgeom', 'dhyper', 'diff.ts', 'diffinv', 'dist', 'dlnorm', 'dlogis',
+ 'dmultinom', 'dnbinom', 'dnorm', 'dpois', 'drop.scope', 'drop.terms', 'drop1',
+ 'dsignrank', 'dt', 'dummy.coef', 'dunif', 'dweibull', 'dwilcox', 'ecdf', 'eff.aovlist',
+ 'effects', 'embed', 'end', 'estVar', 'expand.model.frame', 'extractAIC', 'factanal',
+ 'factor.scope', 'family', 'fft', 'filter', 'fisher.test', 'fitted', 'fitted.values',
+ 'fivenum', 'fligner.test', 'formula', 'frequency', 'friedman.test', 'ftable', 'Gamma',
+ 'gaussian', 'get_all_vars', 'getInitial', 'glm', 'glm.control', 'glm.fit', 'glm.fit.null',
+ 'hasTsp', 'hat', 'hatvalues', 'hatvalues.lm', 'hclust', 'heatmap', 'HoltWinters', 'influence',
+ 'influence.measures', 'integrate', 'interaction.plot', 'inverse.gaussian', 'IQR',
+ 'is.empty.model', 'is.leaf', 'is.mts', 'is.stepfun', 'is.ts', 'is.tskernel', 'isoreg',
+ 'KalmanForecast', 'KalmanLike', 'KalmanRun', 'KalmanSmooth', 'kernapply', 'kernel', 'kmeans',
+ 'knots', 'kruskal.test', 'ks.test', 'ksmooth', 'lag', 'lag.plot', 'line', 'lines.ts', 'lm',
+ 'lm.fit', 'lm.fit.null', 'lm.influence', 'lm.wfit', 'lm.wfit.null', 'loadings', 'loess',
+ 'loess.control', 'loess.smooth', 'logLik', 'loglin', 'lowess', 'ls.diag', 'ls.print', 'lsfit',
+ 'mad', 'mahalanobis', 'make.link', 'makeARIMA', 'makepredictcall', 'manova', 'mantelhaen.test',
+ 'mauchley.test', 'mauchly.test', 'mcnemar.test', 'median', 'median.default', 'medpolish',
+ 'model.extract', 'model.frame', 'model.frame.aovlist', 'model.frame.default', 'model.frame.glm',
+ 'model.frame.lm', 'model.matrix', 'model.matrix.default', 'model.matrix.lm', 'model.offset',
+ 'model.response', 'model.tables', 'model.weights', 'monthplot', 'mood.test', 'mvfft', 'na.action',
+ 'na.contiguous', 'na.exclude', 'na.fail', 'na.omit', 'na.pass', 'napredict', 'naprint', 'naresid',
+ 'nextn', 'nlm', 'nlminb', 'nls', 'nls.control', 'NLSstAsymptotic', 'NLSstClosestX', 'NLSstLfAsymptote',
+ 'NLSstRtAsymptote', 'numericDeriv', 'offset', 'oneway.test', 'optim', 'optimise', 'optimize',
+ 'order.dendrogram', 'p.adjust', 'p.adjust.methods', 'pacf', 'pairwise.prop.test', 'pairwise.t.test',
+ 'pairwise.table', 'pairwise.wilcox.test', 'pbeta', 'pbinom', 'pbirthday', 'pcauchy', 'pchisq', 'pexp',
+ 'pf', 'pgamma', 'pgeom', 'phyper', 'plclust', 'plnorm', 'plogis', 'plot.density', 'plot.ecdf', 'plot.lm',
+ 'plot.mlm', 'plot.spec', 'plot.spec.coherency', 'plot.spec.phase', 'plot.stepfun', 'plot.ts', 'plot.TukeyHSD',
+ 'pnbinom', 'pnorm', 'poisson', 'poisson.test', 'poly', 'polym', 'power', 'power.anova.test', 'power.prop.test',
+ 'power.t.test', 'PP.test', 'ppoints', 'ppois', 'ppr', 'prcomp', 'predict', 'predict.glm', 'predict.lm',
+ 'predict.mlm', 'predict.poly', 'preplot', 'princomp', 'print.anova', 'print.coefmat', 'print.density',
+ 'print.family', 'print.formula', 'print.ftable', 'print.glm', 'print.infl', 'print.integrate', 'print.lm',
+ 'print.logLik', 'print.terms', 'print.ts', 'printCoefmat', 'profile', 'proj', 'promax', 'prop.test',
+ 'prop.trend.test', 'psignrank', 'pt', 'ptukey', 'punif', 'pweibull', 'pwilcox', 'qbeta', 'qbinom',
+ 'qbirthday', 'qcauchy', 'qchisq', 'qexp', 'qf', 'qgamma', 'qgeom', 'qhyper', 'qlnorm', 'qlogis',
+ 'qnbinom', 'qnorm', 'qpois', 'qqline', 'qqnorm', 'qqnorm.default', 'qqplot', 'qsignrank', 'qt',
+ 'qtukey', 'quade.test', 'quantile', 'quantile.default', 'quasi', 'quasibinomial', 'quasipoisson',
+ 'qunif', 'qweibull', 'qwilcox', 'r2dtable', 'rbeta', 'rbinom', 'rcauchy', 'rchisq', 'read.ftable',
+ 'rect.hclust', 'reformulate', 'relevel', 'reorder', 'replications', 'reshape', 'reshapeLong', 'reshapeWide',
+ 'resid', 'residuals', 'residuals.default', 'residuals.glm', 'residuals.lm', 'rexp', 'rf', 'rgamma', 'rgeom',
+ 'rhyper', 'rlnorm', 'rlogis', 'rmultinom', 'rnbinom', 'rnorm', 'rpois', 'rsignrank', 'rstandard', 'rstandard.glm',
+ 'rstandard.lm', 'rstudent', 'rstudent.glm', 'rstudent.lm', 'rt', 'runif', 'runmed', 'rweibull', 'rwilcox',
+ 'scatter.smooth', 'screeplot', 'sd', 'se.contrast', 'selfStart', 'setNames', 'shapiro.test', 'simulate',
+ 'smooth', 'smooth.spline', 'smoothEnds', 'sortedXyData', 'spec.ar', 'spec.pgram', 'spec.taper', 'spectrum',
+ 'spline', 'splinefun', 'splinefunH', 'SSasymp', 'SSasympOff', 'SSasympOrig', 'SSbiexp', 'SSD', 'SSfol',
+ 'SSfpl', 'SSgompertz', 'SSlogis', 'SSmicmen', 'SSweibull', 'start', 'stat.anova', 'step', 'stepfun', 'stl',
+ 'StructTS', 'summary.aov', 'summary.aovlist', 'summary.glm', 'summary.infl', 'summary.lm', 'summary.manova',
+ 'summary.mlm', 'summary.stepfun', 'supsmu', 'symnum', 't.test', 'termplot', 'terms', 'terms.aovlist',
+ 'terms.default', 'terms.formula', 'terms.terms', 'time', 'toeplitz', 'ts', 'ts.intersect', 'ts.plot',
+ 'ts.union', 'tsdiag', 'tsp', 'tsp<-', 'tsSmooth', 'TukeyHSD', 'TukeyHSD.aov', 'uniroot', 'update',
+ 'update.default', 'update.formula', 'var', 'var.test', 'variable.names', 'varimax', 'vcov', 'weighted.mean',
+ 'weighted.residuals', 'weights', 'wilcox.test', 'window', 'window<-', 'write.ftable', 'xtabs',
+ ),
+ 8 => array( // utils pkg
+ 'alarm', 'apropos', 'argsAnywhere', 'as.person', 'as.personList', 'as.relistable', 'as.roman',
+ 'assignInNamespace', 'available.packages', 'browseEnv', 'browseURL', 'browseVignettes', 'bug.report',
+ 'capture.output', 'checkCRAN', 'chooseCRANmirror', 'citation', 'citEntry', 'citFooter', 'citHeader',
+ 'close.socket', 'combn', 'compareVersion', 'contrib.url', 'count.fields', 'CRAN.packages', 'data',
+ 'data.entry', 'dataentry', 'de', 'de.ncols', 'de.restore', 'de.setup', 'debugger', 'demo', 'download.file',
+ 'download.packages', 'dump.frames', 'edit', 'emacs', 'example', 'file_test', 'file.edit', 'find', 'fix',
+ 'fixInNamespace', 'flush.console', 'formatOL', 'formatUL', 'getAnywhere', 'getCRANmirrors', 'getFromNamespace',
+ 'getS3method', 'getTxtProgressBar', 'glob2rx', 'head', 'head.matrix', 'help', 'help.request', 'help.search',
+ 'help.start', 'history', 'index.search', 'install.packages', 'installed.packages', 'is.relistable',
+ 'limitedLabels', 'loadhistory', 'localeToCharset', 'ls.str', 'lsf.str', 'make.packages.html', 'make.socket',
+ 'makeRweaveLatexCodeRunner', 'memory.limit', 'memory.size', 'menu', 'methods', 'mirror2html', 'modifyList',
+ 'new.packages', 'normalizePath', 'nsl', 'object.size', 'old.packages', 'package.contents', 'package.skeleton',
+ 'packageDescription', 'packageStatus', 'page', 'person', 'personList', 'pico', 'prompt', 'promptData',
+ 'promptPackage', 'rc.getOption', 'rc.options', 'rc.settings', 'rc.status', 'read.csv', 'read.csv2', 'read.delim',
+ 'read.delim2', 'read.DIF', 'read.fortran', 'read.fwf', 'read.socket', 'read.table', 'readCitationFile', 'recover',
+ 'relist', 'remove.packages', 'Rprof', 'Rprofmem', 'RShowDoc', 'RSiteSearch', 'rtags', 'Rtangle', 'RtangleSetup',
+ 'RtangleWritedoc', 'RweaveChunkPrefix', 'RweaveEvalWithOpt', 'RweaveLatex', 'RweaveLatexFinish', 'RweaveLatexOptions',
+ 'RweaveLatexSetup', 'RweaveLatexWritedoc', 'RweaveTryStop', 'savehistory', 'select.list', 'sessionInfo',
+ 'setRepositories', 'setTxtProgressBar', 'stack', 'Stangle', 'str', 'strOptions', 'summaryRprof', 'Sweave',
+ 'SweaveHooks', 'SweaveSyntaxLatex', 'SweaveSyntaxNoweb', 'SweaveSyntConv', 'tail', 'tail.matrix', 'timestamp',
+ 'toBibtex', 'toLatex', 'txtProgressBar', 'type.convert', 'unstack', 'unzip', 'update.packages', 'update.packageStatus',
+ 'upgrade', 'url.show', 'URLdecode', 'URLencode', 'vi', 'View', 'vignette', 'write.csv', 'write.csv2', 'write.socket',
+ 'write.table', 'wsbrowser', 'xedit', 'xemacs', 'zip.file.extract',
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|','<-','->',
+ '^', '-', ':', '::', ':::', '!', '!=', '*', '?',
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => true,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true,
+ 5 => true,
+ 6 => true,
+ 7 => true,
+ 8 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000FF; font-weight: bold;',
+ 2 => 'color: #0000FF; font-weight: bold;',
+ 3 => 'color: #CC9900; font-weight: bold;',
+ 4 => 'color: #0000FF; font-weight: bold;',
+ 5 => 'color: #0000FF; font-weight: bold;',
+ 6 => 'color: #0000FF; font-weight: bold;',
+ 7 => 'color: #0000FF; font-weight: bold;',
+ 8 => 'color: #0000FF; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #228B22;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;',
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #080;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'METHODS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #080;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color:#A020F0;'
+ ),
+ 'SCRIPT' => array(
+ 0 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => 'http://astrostatistics.psu.edu/su07/R/html/graphics/html/{FNAME}.html', // http://sekhon.berkeley.edu/library/graphics/html/{FNAME}.html
+ 3 => 'http://astrostatistics.psu.edu/su07/R/html/stats/html/Normal.html', // http://sekhon.berkeley.edu/library/stats/html/Normal.html
+ 4 => 'http://astrostatistics.psu.edu/su07/R/html/stats/html/{FNAME}.html', // http://sekhon.berkeley.edu/library/stats/html/{FNAME}.html
+ 5 => 'http://astrostatistics.psu.edu/su07/R/html/stats/html/summary.lm.html', // http://sekhon.berkeley.edu/library/stats/html/summary.lm.html
+ 6 => 'http://astrostatistics.psu.edu/su07/R/html/base/html/Log.html', // http://sekhon.berkeley.edu/library/base/html/Log.html
+ 7 => '',
+ 8 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ 0 => array(
+ GESHI_SEARCH => "([^\w])'([^\\n\\r']*)'",
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => "\\1'",
+ GESHI_AFTER => "'"
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#;>|^&\\.])(?<!\/html\/)",
+ 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-&;\\.])"
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/ruby.php b/application/libraries/geshi/ruby.php
new file mode 100644
index 000000000..57d379d66
--- /dev/null
+++ b/application/libraries/geshi/ruby.php
@@ -0,0 +1,226 @@
+<?php
+/*************************************************************************************
+ * ruby.php
+ * --------
+ * Author: Moises Deniz
+ * Copyright: (c) 2007 Moises Deniz
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/03/21
+ *
+ * Ruby language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2007/03/21 (1.0.7.19)
+ * - Initial 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' => 'Ruby',
+ 'COMMENT_SINGLE' => array(1 => "#"),
+ 'COMMENT_MULTI' => array("=begin" => "=end"),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"', '`','\''),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'alias', 'and', 'begin', 'break', 'case', 'class',
+ 'def', 'defined', 'do', 'else', 'elsif', 'end',
+ 'ensure', 'for', 'if', 'in', 'module', 'while',
+ 'next', 'not', 'or', 'redo', 'rescue', 'yield',
+ 'retry', 'super', 'then', 'undef', 'unless',
+ 'until', 'when', 'include'
+ ),
+ 2 => array(
+ '__FILE__', '__LINE__', 'false', 'nil', 'self', 'true',
+ 'return'
+ ),
+ 3 => array(
+ 'Array', 'Float', 'Integer', 'String', 'at_exit',
+ 'autoload', 'binding', 'caller', 'catch', 'chop', 'chop!',
+ 'chomp', 'chomp!', 'eval', 'exec', 'exit', 'exit!', 'fail',
+ 'fork', 'format', 'gets', 'global_variables', 'gsub', 'gsub!',
+ 'iterator?', 'lambda', 'load', 'local_variables', 'loop',
+ 'open', 'p', 'print', 'printf', 'proc', 'putc', 'puts',
+ 'raise', 'rand', 'readline', 'readlines', 'require', 'select',
+ 'sleep', 'split', 'sprintf', 'srand', 'sub', 'sub!', 'syscall',
+ 'system', 'trace_var', 'trap', 'untrace_var'
+ ),
+ 4 => array(
+ 'Abbrev', 'ArgumentError', 'Base64', 'Benchmark',
+ 'Benchmark::Tms', 'Bignum', 'Binding', 'CGI', 'CGI::Cookie',
+ 'CGI::HtmlExtension', 'CGI::QueryExtension',
+ 'CGI::Session', 'CGI::Session::FileStore',
+ 'CGI::Session::MemoryStore', 'Class', 'Comparable', 'Complex',
+ 'ConditionVariable', 'Continuation', 'Data',
+ 'Date', 'DateTime', 'Delegator', 'Dir', 'EOFError', 'ERB',
+ 'ERB::Util', 'Enumerable', 'Enumerable::Enumerator', 'Errno',
+ 'Exception', 'FalseClass', 'File',
+ 'File::Constants', 'File::Stat', 'FileTest', 'FileUtils',
+ 'FileUtils::DryRun', 'FileUtils::NoWrite',
+ 'FileUtils::StreamUtils_', 'FileUtils::Verbose', 'Find',
+ 'Fixnum', 'FloatDomainError', 'Forwardable', 'GC', 'Generator',
+ 'Hash', 'IO', 'IOError', 'Iconv', 'Iconv::BrokenLibrary',
+ 'Iconv::Failure', 'Iconv::IllegalSequence',
+ 'Iconv::InvalidCharacter', 'Iconv::InvalidEncoding',
+ 'Iconv::OutOfRange', 'IndexError', 'Interrupt', 'Kernel',
+ 'LoadError', 'LocalJumpError', 'Logger', 'Logger::Application',
+ 'Logger::Error', 'Logger::Formatter', 'Logger::LogDevice',
+ 'Logger::LogDevice::LogDeviceMutex', 'Logger::Severity',
+ 'Logger::ShiftingError', 'Marshal', 'MatchData',
+ 'Math', 'Matrix', 'Method', 'Module', 'Mutex', 'NameError',
+ 'NameError::message', 'NilClass', 'NoMemoryError',
+ 'NoMethodError', 'NotImplementedError', 'Numeric', 'Object',
+ 'ObjectSpace', 'Observable', 'PStore', 'PStore::Error',
+ 'Pathname', 'Precision', 'Proc', 'Process', 'Process::GID',
+ 'Process::Status', 'Process::Sys', 'Process::UID', 'Queue',
+ 'Range', 'RangeError', 'Rational', 'Regexp', 'RegexpError',
+ 'RuntimeError', 'ScriptError', 'SecurityError', 'Set',
+ 'Shellwords', 'Signal', 'SignalException', 'SimpleDelegator',
+ 'SingleForwardable', 'Singleton', 'SingletonClassMethods',
+ 'SizedQueue', 'SortedSet', 'StandardError', 'StringIO',
+ 'StringScanner', 'StringScanner::Error', 'Struct', 'Symbol',
+ 'SyncEnumerator', 'SyntaxError', 'SystemCallError',
+ 'SystemExit', 'SystemStackError', 'Tempfile',
+ 'Test::Unit::TestCase', 'Test::Unit', 'Test', 'Thread',
+ 'ThreadError', 'ThreadGroup',
+ 'ThreadsWait', 'Time', 'TrueClass', 'TypeError', 'URI',
+ 'URI::BadURIError', 'URI::Error', 'URI::Escape', 'URI::FTP',
+ 'URI::Generic', 'URI::HTTP', 'URI::HTTPS',
+ 'URI::InvalidComponentError', 'URI::InvalidURIError',
+ 'URI::LDAP', 'URI::MailTo', 'URI::REGEXP',
+ 'URI::REGEXP::PATTERN', 'UnboundMethod', 'Vector', 'YAML',
+ 'ZeroDivisionError', 'Zlib',
+ 'Zlib::BufError', 'Zlib::DataError', 'Zlib::Deflate',
+ 'Zlib::Error', 'Zlib::GzipFile', 'Zlib::GzipFile::CRCError',
+ 'Zlib::GzipFile::Error', 'Zlib::GzipFile::LengthError',
+ 'Zlib::GzipFile::NoFooter', 'Zlib::GzipReader',
+ 'Zlib::GzipWriter', 'Zlib::Inflate', 'Zlib::MemError',
+ 'Zlib::NeedDict', 'Zlib::StreamEnd', 'Zlib::StreamError',
+ 'Zlib::VersionError',
+ 'Zlib::ZStream',
+ 'HTML::Selector', 'HashWithIndifferentAccess', 'Inflector',
+ 'Inflector::Inflections', 'Mime', 'Mime::Type',
+ 'OCI8AutoRecover', 'TimeZone', 'XmlSimple'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>',
+ '+', '-', '=>', '<<'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color:#9966CC; font-weight:bold;',
+ 2 => 'color:#0000FF; font-weight:bold;',
+ 3 => 'color:#CC0066; font-weight:bold;',
+ 4 => 'color:#CC00FF; font-weight:bold;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color:#008000; font-style:italic;',
+ 'MULTI' => 'color:#000080; font-style:italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color:#000099;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color:#006600; font-weight:bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color:#996600;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color:#006666;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color:#9900CC;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color:#006600; font-weight:bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color:#ff6633; font-weight:bold;',
+ 1 => 'color:#0066ff; font-weight:bold;',
+ 2 => 'color:#6666ff; font-weight:bold;',
+ 3 => 'color:#ff3333; font-weight:bold;'
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ 0 => array(//Variables
+ GESHI_SEARCH => "([[:space:]])(\\$[a-zA-Z_][a-zA-Z0-9_]*)",
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 1 => array(//Arrays
+ GESHI_SEARCH => "([[:space:]])(@[a-zA-Z_][a-zA-Z0-9_]*)",
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*",//Static OOP symbols
+ 3 => array(
+ GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)",
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => array(
+ '<%' => '%>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ ),
+ 'TAB_WIDTH' => 2
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/sas.php b/application/libraries/geshi/sas.php
new file mode 100644
index 000000000..16617b58e
--- /dev/null
+++ b/application/libraries/geshi/sas.php
@@ -0,0 +1,290 @@
+<?php
+/*************************************************************************************
+ * sas.php
+ * -------
+ * Author: Galen Johnson (solitaryr@gmail.com)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/12/27
+ *
+ * SAS language file for GeSHi. Based on the sas vim file.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * - Cleaned up code style
+ * 2005/12/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2005/12/27)
+ * -------------------------
+ * * Check highlighting stuff works
+ *
+ *************************************************************************************
+ *
+ * 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' => 'SAS',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ '_ALL_','_CHARACTER_','_INFILE_','_N_','_NULL_','_NUMERIC_',
+ '_WEBOUT_'
+ ),
+ 2 => array(
+ '%BQUOTE','%CMPRES','%COMPSTOR','%DATATYP','%DISPLAY','%DO','%ELSE',
+ '%END','%EVAL','%GLOBAL','%GOTO','%IF','%INDEX','%INPUT','%KEYDEF',
+ '%LABEL','%LEFT','%LENGTH','%LET','%LOCAL','%LOWCASE','%MACRO',
+ '%MEND','%NRBQUOTE','%NRQUOTE','%NRSTR','%PUT','%QCMPRES','%QLEFT',
+ '%QLOWCASE','%QSCAN','%QSUBSTR','%QSYSFUNC','%QTRIM','%QUOTE',
+ '%QUPCASE','%SCAN','%STR','%SUBSTR','%SUPERQ','%SYSCALL',
+ '%SYSEVALF','%SYSEXEC','%SYSFUNC','%SYSGET','%SYSLPUT','%SYSPROD',
+ '%SYSRC','%SYSRPUT','%THEN','%TO','%TRIM','%UNQUOTE','%UNTIL',
+ '%UPCASE','%VERIFY','%WHILE','%WINDOW'
+ ),
+ 3 => array(
+ 'ABS','ADDR','AIRY','ARCOS','ARSIN','ATAN','ATTRC','ATTRN','BAND',
+ 'BETAINV','BLSHIFT','BNOT','BOR','BRSHIFT','BXOR','BYTE','CDF',
+ 'CEIL','CEXIST','CINV','CLOSE','CNONCT','COLLATE','COMPBL',
+ 'COMPOUND','COMPRESS','COSH','COS','CSS','CUROBS','CV','DACCDBSL',
+ 'DACCDB','DACCSL','DACCSYD','DACCTAB','DAIRY','DATETIME','DATEJUL',
+ 'DATEPART','DATE','DAY','DCLOSE','DEPDBSL','DEPDB','DEPSL','DEPSYD',
+ 'DEPTAB','DEQUOTE','DHMS','DIF','DIGAMMA','DIM','DINFO','DNUM',
+ 'DOPEN','DOPTNAME','DOPTNUM','DREAD','DROPNOTE','DSNAME','ERFC',
+ 'ERF','EXIST','EXP','FAPPEND','FCLOSE','FCOL','FDELETE','FETCHOBS',
+ 'FETCH','FEXIST','FGET','FILEEXIST','FILENAME','FILEREF','FINFO',
+ 'FINV','FIPNAMEL','FIPNAME','FIPSTATE','FLOOR','FNONCT','FNOTE',
+ 'FOPEN','FOPTNAME','FOPTNUM','FPOINT','FPOS','FPUT','FREAD',
+ 'FREWIND','FRLEN','FSEP','FUZZ','FWRITE','GAMINV','GAMMA',
+ 'GETOPTION','GETVARC','GETVARN','HBOUND','HMS','HOSTHELP','HOUR',
+ 'IBESSEL','INDEXW','INDEXC','INDEX','INPUTN','INPUTC','INPUT',
+ 'INTRR','INTCK','INTNX','INT','IRR','JBESSEL','JULDATE','KURTOSIS',
+ 'LAG','LBOUND','LEFT','LENGTH','LGAMMA','LIBNAME','LIBREF','LOG10',
+ 'LOG2','LOGPDF','LOGPMF','LOGSDF','LOG','LOWCASE','MAX','MDY',
+ 'MEAN','MINUTE','MIN','MOD','MONTH','MOPEN','MORT','NETPV','NMISS',
+ 'NORMAL','NPV','N','OPEN','ORDINAL','PATHNAME','PDF','PEEKC','PEEK',
+ 'PMF','POINT','POISSON','POKE','PROBBETA','PROBBNML','PROBCHI',
+ 'PROBF','PROBGAM','PROBHYPR','PROBIT','PROBNEGB','PROBNORM','PROBT',
+ 'PUTN','PUTC','PUT','QTR','QUOTE','RANBIN','RANCAU','RANEXP',
+ 'RANGAM','RANGE','RANK','RANNOR','RANPOI','RANTBL','RANTRI',
+ 'RANUNI','REPEAT','RESOLVE','REVERSE','REWIND','RIGHT','ROUND',
+ 'SAVING','SCAN','SDF','SECOND','SIGN','SINH','SIN','SKEWNESS',
+ 'SOUNDEX','SPEDIS','SQRT','STDERR','STD','STFIPS','STNAME',
+ 'STNAMEL','SUBSTR','SUM','SYMGET','SYSGET','SYSMSG','SYSPROD',
+ 'SYSRC','SYSTEM','TANH','TAN','TIMEPART','TIME','TINV','TNONCT',
+ 'TODAY','TRANSLATE','TRANWRD','TRIGAMMA','TRIMN','TRIM','TRUNC',
+ 'UNIFORM','UPCASE','USS','VARFMT','VARINFMT','VARLABEL','VARLEN',
+ 'VARNAME','VARNUM','VARRAYX','VARRAY','VARTYPE','VAR','VERIFY',
+ 'VFORMATX','VFORMATDX','VFORMATD','VFORMATNX','VFORMATN',
+ 'VFORMATWX','VFORMATW','VFORMAT','VINARRAYX','VINARRAY',
+ 'VINFORMATX','VINFORMATDX','VINFORMATD','VINFORMATNX','VINFORMATN',
+ 'VINFORMATWX','VINFORMATW','VINFORMAT','VLABELX','VLABEL',
+ 'VLENGTHX','VLENGTH','VNAMEX','VNAME','VTYPEX','VTYPE','WEEKDAY',
+ 'YEAR','YYQ','ZIPFIPS','ZIPNAME','ZIPNAMEL','ZIPSTATE'
+ ),
+ 4 => array(
+ 'ABORT','ADD','ALTER','AND','ARRAY','AS','ATTRIB','BY','CALL',
+ 'CARDS4','CASCADE','CATNAME','CHECK','CONTINUE','CREATE',
+ 'DATALINES4','DELETE','DESCRIBE','DISPLAY','DISTINCT','DM','DROP',
+ 'ENDSAS','FILE','FOOTNOTE','FOREIGN','FORMAT','FROM',
+ 'GOTO','GROUP','HAVING','IN','INFILE','INFORMAT',
+ 'INSERT','INTO','KEEP','KEY','LABEL','LEAVE',
+ 'LIKE','LINK','LIST','LOSTCARD','MERGE','MESSAGE','MISSING',
+ 'MODIFY','MSGTYPE','NOT','NULL','ON','OPTIONS','OR','ORDER',
+ 'OUTPUT','PAGE','PRIMARY','REDIRECT','REFERENCES','REMOVE',
+ 'RENAME','REPLACE','RESET','RESTRICT','RETAIN','RETURN','SELECT',
+ 'SET','SKIP','STARTSAS','STOP','SYSTASK','TABLE','TITLE','UNIQUE',
+ 'UPDATE','VALIDATE','VIEW','WAITSAS','WHERE','WINDOW','X'
+ ),
+ 5 => array(
+ 'DO','ELSE','END','IF','THEN','UNTIL','WHILE'
+ ),
+ 6 => array(
+ 'RUN','QUIT','DATA'
+ ),
+ 7 => array(
+ 'ERROR'
+ ),
+ 8 => array(
+ 'WARNING'
+ ),
+ 9 => array(
+ 'NOTE'
+ )
+ ),
+ '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
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000ff;',
+ 2 => 'color: #0000ff;',
+ 3 => 'color: #0000ff;',
+ 4 => 'color: #0000ff;',
+ 5 => 'color: #0000ff;',
+ 6 => 'color: #000080; font-weight: bold;',
+ 7 => 'color: #ff0000;',
+ 8 => 'color: #00ff00;',
+ 9 => 'color: #0000ff;'
+ ),
+ 'COMMENTS' => array(
+// 1 => 'color: #006400; font-style: italic;',
+ 'MULTI' => 'color: #006400; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #a020f0;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #2e8b57; font-weight: bold;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff; font-weight: bold;',
+ 1 => 'color: #000080; font-weight: bold;',
+ 2 => 'color: #006400; font-style: italic;',
+ 3 => 'color: #006400; font-style: italic;',
+ 4 => 'color: #006400; font-style: italic;',
+ 5 => 'color: #ff0000; font-weight: bold;',
+ 6 => 'color: #00ff00; font-style: italic;',
+ 7 => 'color: #0000ff; font-style: normal;',
+ 8 => 'color: #b218b2; font-weight: bold;',
+ 9 => 'color: #b218b2; font-weight: bold;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => '',
+ 9 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => "&amp;[a-zA-Z_][a-zA-Z0-9_]*",
+ 1 => array(//Procedures
+ GESHI_SEARCH => '(^\\s*)(PROC \\w+)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'im',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 2 => array(
+ GESHI_SEARCH => '(^\\s*)(\\*.*;)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'im',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 3 => array(
+ GESHI_SEARCH => '(.*;\\s*)(\\*.*;)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'im',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 4 => array(
+ GESHI_SEARCH => '(^\\s*)(%\\*.*;)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'im',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 5 => array(//Error messages
+ GESHI_SEARCH => '(^ERROR.*)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'im',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ 6 => array(//Warning messages
+ GESHI_SEARCH => '(^WARNING.*)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'im',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ 7 => array(//Notice messages
+ GESHI_SEARCH => '(^NOTE.*)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'im',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ 8 => array(
+ GESHI_SEARCH => '(^\\s*)(CARDS.*)(^\\s*;\\s*$)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'sim',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+ 9 => array(
+ GESHI_SEARCH => '(^\\s*)(DATALINES.*)(^\\s*;\\s*$)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'sim',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/scala.php b/application/libraries/geshi/scala.php
new file mode 100644
index 000000000..5ebe9ed96
--- /dev/null
+++ b/application/libraries/geshi/scala.php
@@ -0,0 +1,122 @@
+<?php
+/*************************************************************************************
+ * scala.php
+ * ----------
+ * Author: Franco Lombardo (franco@francolombardo.net)
+ * Copyright: (c) 2008 Franco Lombardo, Benny Baumann
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/02/08
+ *
+ * Scala language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/02/08 (1.0.7.22)
+ * - First Release
+ *
+ * TODO (updated 2007/04/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Scala',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'abstract', 'case', 'catch', 'class', 'def',
+ 'do', 'else', 'extends', 'false', 'final',
+ 'finally', 'for', 'forSome', 'if', 'implicit',
+ 'import', 'match', 'new', 'null', 'object',
+ 'override', 'package', 'private', 'protected', 'requires',
+ 'return', 'sealed', 'super', 'this', 'throw',
+ 'trait', 'try', 'true', 'type', 'val',
+ 'var', 'while', 'with', 'yield'
+ ),
+ 2 => array(
+ 'void', 'double', 'int', 'boolean', 'byte', 'short', 'long', 'char', 'float'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?',
+ '_', ':', '=', '=>', '<<:',
+ '<%', '>:', '#', '@'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000ff; font-weight: bold;',
+ 2 => 'color: #9999cc; font-weight: bold;',
+ ),
+ 'COMMENTS' => array(
+ 1=> 'color: #008000; font-style: italic;',
+ 'MULTI' => 'color: #00ff00; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #0000ff; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #F78811;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #6666FF;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #F78811;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #000000;',
+ 2 => 'color: #000000;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000080;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://scala-lang.org',
+ 2 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/scheme.php b/application/libraries/geshi/scheme.php
new file mode 100644
index 000000000..dac7c6f06
--- /dev/null
+++ b/application/libraries/geshi/scheme.php
@@ -0,0 +1,170 @@
+<?php
+/*************************************************************************************
+ * scheme.php
+ * ----------
+ * Author: Jon Raphaelson (jonraphaelson@gmail.com)
+ * Copyright: (c) 2005 Jon Raphaelson, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/08/30
+ *
+ * Scheme language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/09/22 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2005/09/22)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Scheme',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array('#|' => '|#'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'abs', 'acos', 'and', 'angle', 'append', 'appply', 'approximate',
+ 'asin', 'assoc', 'assq', 'assv', 'atan',
+
+ 'begin', 'boolean?', 'bound-identifier=?',
+
+ 'caar', 'caddr', 'cadr', 'call-with-current-continuation',
+ 'call-with-input-file', 'call-with-output-file', 'call/cc', 'car',
+ 'case', 'catch', 'cdddar', 'cddddr', 'cdr', 'ceiling', 'char->integer',
+ 'char-alphabetic?', 'char-ci<=?', 'char-ci<?', 'char-ci?', 'char-ci>=?',
+ 'char-ci>?', 'char-ci=?', 'char-downcase', 'char-lower-case?',
+ 'char-numeric', 'char-ready', 'char-ready?', 'char-upcase',
+ 'char-upper-case?', 'char-whitespace?', 'char<=?', 'char<?', 'char=?',
+ 'char>=?', 'char>?', 'char?', 'close-input-port', 'close-output-port',
+ 'complex?', 'cond', 'cons', 'construct-identifier', 'cos',
+ 'current-input-port', 'current-output-port',
+
+ 'd', 'define', 'define-syntax', 'delay', 'denominator', 'display', 'do',
+
+ 'e', 'eof-object?', 'eq?', 'equal?', 'eqv?', 'even?', 'exact->inexact',
+ 'exact?', 'exp', 'expt', 'else',
+
+ 'f', 'floor', 'for-each', 'force', 'free-identifer=?',
+
+ 'gcd', 'gen-counter', 'gen-loser', 'generate-identifier',
+
+ 'identifier->symbol', 'identifier', 'if', 'imag-part', 'inexact->exact',
+ 'inexact?', 'input-port?', 'integer->char', 'integer?', 'integrate-system',
+
+ 'l', 'lambda', 'last-pair', 'lcm', 'length', 'let', 'let*', 'letrec',
+ 'list', 'list->string', 'list->vector', 'list-ref', 'list-tail', 'list?',
+ 'load', 'log',
+
+ 'magnitude', 'make-polar', 'make-promise', 'make-rectangular',
+ 'make-string', 'make-vector', 'map', 'map-streams', 'max', 'member',
+ 'memq', 'memv', 'min', 'modulo',
+
+ 'negative', 'newline', 'nil', 'not', 'null?', 'number->string', 'number?',
+ 'numerator',
+
+ 'odd?', 'open-input-file', 'open-output-file', 'or', 'output-port',
+
+ 'pair?', 'peek-char', 'positive?', 'procedure?',
+
+ 'quasiquote', 'quote', 'quotient',
+
+ 'rational', 'rationalize', 'read', 'read-char', 'real-part', 'real?',
+ 'remainder', 'return', 'reverse',
+
+ 's', 'sequence', 'set!', 'set-char!', 'set-cdr!', 'sin', 'sqrt', 'string',
+ 'string->list', 'string->number', 'string->symbol', 'string-append',
+ 'string-ci<=?', 'string-ci<?', 'string-ci=?', 'string-ci>=?',
+ 'string-ci>?', 'string-copy', 'string-fill!', 'string-length',
+ 'string-ref', 'string-set!', 'string<=?', 'string<?', 'string=?',
+ 'string>=?', 'string>?', 'string?', 'substring', 'symbol->string',
+ 'symbol?', 'syntax', 'syntax-rules',
+
+ 't', 'tan', 'template', 'transcript-off', 'transcript-on', 'truncate',
+
+ 'unquote', 'unquote-splicing', 'unwrap-syntax',
+
+ 'vector', 'vector->list', 'vector-fill!', 'vector-length', 'vector-ref',
+ 'vector-set!', 'vector?',
+
+ 'with-input-from-file', 'with-output-to-file', 'write', 'write-char',
+
+ 'zero?'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ '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: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #202020;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ '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(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/scilab.php b/application/libraries/geshi/scilab.php
new file mode 100644
index 000000000..9bd0658db
--- /dev/null
+++ b/application/libraries/geshi/scilab.php
@@ -0,0 +1,295 @@
+<?php
+/*************************************************************************************
+ * scilab.php
+ * --------
+ * Author: Christophe David (geshi@christophedavid.org)
+ * Copyright: (c) 2008 Christophe David (geshi@christophedavid.org)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/08/04
+ *
+ * SciLab language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/08/25 (1.0.8.1)
+ * - Corrected with the help of Benny Baumann (BenBE@geshi.org)
+ * 2008/08/04 (0.0.0.1)
+ * - First beta Release - known problem with ' used to transpose matrices considered as start of strings
+ *
+ *************************************************************************************
+ *
+ * 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' => 'SciLab',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ 2 => "/(?<=\)|\]|\w)'/"
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'HARDQUOTE' => array("'", "'"),
+ 'HARDESCAPE' => array(),
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'if', 'else', 'elseif', 'end', 'select', 'case', 'for', 'while', 'break'
+ ),
+ 2 => array(
+ 'STDIN', 'STDOUT', 'STDERR',
+ '%i', '%pi', '%e', '%eps', '%nan', '%inf', '%s', '%t', '%f',
+ 'usual', 'polynomial', 'boolean', 'character', 'function', 'rational', 'state-space',
+ 'sparse', 'boolean sparse', 'list', 'tlist', 'library', 'endfunction'
+ ),
+ 3 => array(
+ '%asn', '%helps', '%k', '%sn', 'abcd', 'abinv', 'abort', 'about', 'About_M2SCI_tools',
+ 'abs', 'acos', 'acosh', 'acoshm', 'acosm', 'AdCommunications', 'add_demo', 'add_edge',
+ 'add_help_chapter', 'add_node', 'add_palette', 'addcolor', 'addf', 'addinter', 'addmenu',
+ 'adj_lists', 'adj2sp', 'aff2ab', 'alufunctions', 'amell', 'analpf', 'analyze', 'and',
+ 'ans', 'apropos', 'arc_graph', 'arc_number', 'arc_properties', 'argn', 'arhnk', 'arl2',
+ 'arma', 'arma2p', 'armac', 'armax', 'armax1', 'arsimul', 'artest', 'articul', 'ascii',
+ 'asciimat', 'asin', 'asinh', 'asinhm', 'asinm', 'assignation', 'atan', 'atanh', 'atanhm',
+ 'atanm', 'augment', 'auread', 'auwrite', 'axes_properties', 'axis_properties', 'backslash',
+ 'balanc', 'balreal', 'bandwr', 'banner','bar', 'barh', 'barhomogenize', 'basename', 'bdiag',
+ 'beep', 'besselh', 'besseli', 'besselj', 'besselk', 'bessely', 'best_match', 'beta','bezout',
+ 'bifish', 'bilin', 'binomial', 'black', 'bloc2exp', 'bloc2ss', 'bode', 'bool2s',
+ 'boucle', 'brackets', 'browsevar', 'bsplin3val', 'bstap', 'buttmag', 'buttondialog',
+ 'bvode', 'bvodeS', 'c_link', 'cainv', 'calendar', 'calerf', 'calfrq', 'call', 'canon', 'casc',
+ 'cat', 'catch', 'ccontrg', 'cd', 'cdfbet', 'cdfbin', 'cdfchi', 'cdfchn', 'cdff', 'cdffnc',
+ 'cdfgam', 'cdfnbn', 'cdfnor', 'cdfpoi', 'cdft', 'ceil', 'cell', 'cell2mat', 'cellstr', 'center',
+ 'cepstrum', 'chain_struct', 'chaintest', 'champ', 'champ_properties', 'champ1', 'char', 'chart',
+ 'chartooem', 'chdir', 'cheb1mag', 'cheb2mag', 'check_graph', 'chepol', 'chfact', 'chol', 'chsolve',
+ 'circuit', 'classmarkov', 'clc', 'clean', 'clear', 'clear_pixmap', 'clearfun', 'clearglobal','clf',
+ 'clipboard', 'close', 'cls2dls', 'cmb_lin', 'cmndred', 'cmoment', 'code2str', 'coeff', 'coff', 'coffg',
+ 'colcomp', 'colcompr', 'colinout', 'colon', 'color', 'color_list', 'colorbar', 'colordef', 'colormap',
+ 'colregul', 'comma', 'comments', 'comp', 'companion', 'comparison', 'Compound_properties', 'con_nodes',
+ 'cond', 'config', 'configure_msvc', 'conj', 'connex', 'console', 'cont_frm', 'cont_mat', 'Contents',
+ 'continue', 'contour', 'contour2d', 'contour2di', 'contourf', 'contr', 'contract_edge', 'contrss',
+ 'convex_hull', 'convol', 'convstr', 'copfac', 'copy', 'corr', 'correl', 'cos', 'cosh', 'coshm',
+ 'cosm', 'cotg', 'coth', 'cothm', 'covar', 'create_palette', 'cshep2d', 'csim', 'cspect', 'Cste',
+ 'ctr_gram', 'cumprod', 'cumsum', 'cycle_basis', 'czt', 'dasrt', 'dassl', 'datafit', 'date', 'datenum',
+ 'datevec', 'dbphi', 'dcf', 'ddp', 'debug', 'dec2hex', 'deff', 'definedfields', 'degree', 'delbpt',
+ 'delete', 'delete_arcs', 'delete_nodes', 'delip', 'delmenu', 'demoplay', 'denom', 'derivat', 'derivative',
+ 'des2ss', 'des2tf', 'det', 'determ', 'detr', 'detrend', 'dft', 'dhinf', 'dhnorm', 'diag', 'diary',
+ 'diff', 'diophant', 'dir', 'dirname', 'disp', 'dispbpt', 'dispfiles', 'dlgamma', 'dnaupd', 'do', 'dot',
+ 'double', 'dragrect', 'draw', 'drawaxis', 'drawlater', 'drawnow', 'driver', 'dsaupd', 'dscr',
+ 'dsearch', 'dsimul', 'dt_ility', 'dtsi', 'edge_number', 'edit', 'edit_curv', 'edit_error',
+ 'edit_graph', 'edit_graph_menus', 'editvar', 'eigenmarkov', 'ell1mag',
+ 'empty', 'emptystr', 'eqfir', 'eqiir', 'equal', 'Equal', 'equil', 'equil1',
+ 'ereduc', 'erf', 'erfc', 'erfcx', 'errbar', 'errcatch', 'errclear', 'error', 'error_table', 'etime',
+ 'eval', 'eval_cshep2d', 'eval3d', 'eval3dp', 'evans', 'evstr', 'excel2sci', 'exec', 'execstr', 'exists',
+ 'exit', 'exp', 'expm', 'external', 'extraction', 'eye', 'fac3d', 'factorial', 'factors', 'faurre', 'fchamp',
+ 'fcontour', 'fcontour2d', 'fec', 'fec_properties', 'feedback', 'feval', 'ffilt', 'fft', 'fft2', 'fftshift',
+ 'fgrayplot', 'figure', 'figure_properties', 'figure_style', 'file', 'fileinfo', 'fileparts', 'filter', 'find',
+ 'find_freq', 'find_path', 'findABCD', 'findAC', 'findBD', 'findBDK', 'findm', 'findmsvccompiler', 'findobj',
+ 'findR', 'findx0BD', 'firstnonsingleton', 'fit_dat', 'fix', 'floor', 'flts', 'foo', 'format',
+ 'formatman', 'fort', 'fourplan', 'fplot2d', 'fplot3d', 'fplot3d1', 'fprintf', 'fprintfMat', 'frep2tf',
+ 'freq', 'freson', 'frexp', 'frfit', 'frmag', 'fscanf', 'fscanfMat', 'fsfirlin', 'fsolve', 'fspecg',
+ 'fstabst', 'fstair', 'ftest', 'ftuneq', 'full', 'fullfile', 'fullrf', 'fullrfk', 'fun2string', 'Funcall',
+ 'funcprot', 'functions', 'funptr', 'fusee', 'G_make', 'g_margin', 'gainplot', 'gamitg',
+ 'gamma', 'gammaln', 'gca', 'gcare', 'gcd', 'gce', 'gcf', 'gda', 'gdf', 'gen_net', 'genfac3d', 'genlib',
+ 'genmarkov', 'geom3d', 'geomean', 'get', 'get_contents_infer', 'get_function_path', 'getcolor', 'getcwd',
+ 'getd', 'getdate', 'getenv', 'getf', 'getfield', 'getfont', 'gethistory', 'getio', 'getlinestyle',
+ 'getlongpathname', 'getmark', 'getmemory', 'getos', 'getpid', 'getscilabkeywords', 'getshell',
+ 'getshortpathname', 'getsymbol', 'getvalue', 'getversion', 'gfare', 'gfrancis', 'girth', 'givens',
+ 'glever', 'glist', 'global', 'GlobalProperty', 'glue', 'gmres', 'gpeche', 'gr_menu', 'graduate', 'grand',
+ 'graph_2_mat', 'graph_center', 'graph_complement', 'graph_diameter', 'graph_power', 'graph_simp', 'graph_sum',
+ 'graph_union', 'graphic', 'Graphics', 'graphics_entities', 'graph-list', 'graycolormap', 'grayplot',
+ 'grayplot_properties', 'graypolarplot', 'great', 'grep', 'group', 'gschur', 'gsort', 'gspec', 'gstacksize',
+ 'gtild', 'h_cl', 'h_inf', 'h_inf_st', 'h_norm', 'h2norm', 'halt', 'hamilton', 'hank', 'hankelsv', 'harmean',
+ 'hat', 'havewindow', 'head_comments', 'help', 'help_skeleton', 'hermit', 'hess', 'hex2dec', 'hilb', 'hinf',
+ 'hist3d', 'histplot', 'horner', 'host', 'hotcolormap', 'householder', 'hrmt', 'hsv2rgb', 'hsvcolormap',
+ 'htrianr', 'hypermat', 'hypermatrices', 'iconvert', 'ieee', 'ifft', 'iir', 'iirgroup', 'iirlp',
+ 'ilib_build', 'ilib_compile', 'ilib_for_link', 'ilib_gen_gateway', 'ilib_gen_loader', 'ilib_gen_Make',
+ 'im_inv', 'imag', 'impl', 'imrep2ss', 'imult', 'ind2sub', 'Infer', 'inistate', 'input', 'insertion', 'int',
+ 'int16', 'int2d', 'int32', 'int3d', 'int8', 'intc', 'intdec', 'integrate', 'interp', 'interp1', 'interp2d',
+ 'interp3d', 'interpln', 'intersci', 'intersect', 'intg', 'intl', 'intppty', 'intsplin', 'inttrap', 'inttype',
+ 'inv', 'inv_coeff', 'invr', 'invsyslin', 'iqr', 'is_connex', 'iscellstr', 'isdef', 'isdir', 'isempty',
+ 'isequal', 'isequalbitwise', 'iserror', 'isglobal', 'isinf', 'isnan', 'isoview', 'isreal', 'javasci',
+ 'jetcolormap', 'jmat', 'justify', 'kalm', 'karmarkar', 'kernel', 'keyboard', 'knapsack', 'kpure', 'krac2',
+ 'kron', 'kroneck', 'label_properties', 'labostat', 'LANGUAGE', 'lasterror', 'lattn', 'lattp', 'lcf', 'lcm',
+ 'lcmdiag', 'ldiv', 'ldivf', 'leastsq', 'left', 'legend', 'legend_properties', 'legendre', 'legends', 'length',
+ 'leqr', 'less', 'lev', 'levin', 'lex_sort', 'lft', 'lgfft', 'lib', 'lin', 'lin2mu', 'lindquist',
+ 'line_graph', 'linear_interpn', 'lines', 'LineSpec', 'linf', 'linfn', 'link', 'linmeq', 'linpro', 'linsolve',
+ 'linspace', 'listfiles', 'listvarinfile', 'lmisolver', 'lmitool', 'load', 'load_graph', 'loadhistory',
+ 'loadmatfile', 'loadplots', 'loadwave', 'locate', 'log', 'log10', 'log1p', 'log2', 'logm', 'logspace',
+ 'lotest', 'lqe', 'lqg', 'lqg_ltr', 'lqg2stan', 'lqr', 'ls', 'lsq', 'lsq_splin', 'lsqrsolve', 'lsslist',
+ 'lstcat', 'lstsize', 'ltitr', 'lu', 'ludel', 'lufact', 'luget', 'lusolve', 'lyap', 'm_circle', 'm2scideclare',
+ 'macglov', 'macr2lst', 'macr2tree', 'macro', 'macrovar', 'mad', 'make_graph', 'make_index', 'makecell', 'man',
+ 'manedit', 'mapsound', 'markp2ss', 'mat_2_graph', 'matfile2sci', 'Matlab-Scilab_character_strings', 'Matplot',
+ 'Matplot_properties', 'Matplot1', 'matrices', 'matrix', 'max', 'max_cap_path', 'max_clique', 'max_flow',
+ 'maxi', 'mcisendstring', 'mclearerr', 'mclose', 'mdelete', 'mean', 'meanf', 'median', 'menus', 'meof',
+ 'merror', 'mese', 'mesh', 'mesh2d', 'meshgrid', 'mfft', 'mfile2sci', 'mfprintf', 'mfscanf', 'mget', 'mgeti',
+ 'mgetl', 'mgetstr', 'milk_drop', 'min', 'min_lcost_cflow', 'min_lcost_flow1', 'min_lcost_flow2',
+ 'min_qcost_flow', 'min_weight_tree', 'mine', 'mini', 'minreal', 'minss', 'minus', 'mkdir', 'mlist', 'mode',
+ 'modulo', 'moment', 'mopen', 'move', 'mprintf', 'mps2linpro', 'mput', 'mputl', 'mputstr', 'mrfit', 'mscanf',
+ 'msd', 'mseek', 'msprintf', 'msscanf', 'mstr2sci', 'mtell', 'mtlb_0', 'mtlb_a', 'mtlb_all', 'mtlb_any',
+ 'mtlb_axis', 'mtlb_beta', 'mtlb_box', 'mtlb_close', 'mtlb_colordef', 'mtlb_conv', 'mtlb_cumprod', 'mtlb_cumsum',
+ 'mtlb_dec2hex', 'mtlb_delete', 'mtlb_diag', 'mtlb_diff', 'mtlb_dir', 'mtlb_double', 'mtlb_e', 'mtlb_echo',
+ 'mtlb_eig', 'mtlb_eval', 'mtlb_exist', 'mtlb_eye', 'mtlb_false', 'mtlb_fft', 'mtlb_fftshift', 'mtlb_find',
+ 'mtlb_findstr', 'mtlb_fliplr', 'mtlb_fopen', 'mtlb_format', 'mtlb_fprintf', 'mtlb_fread', 'mtlb_fscanf',
+ 'mtlb_full', 'mtlb_fwrite', 'mtlb_grid', 'mtlb_hold', 'mtlb_i', 'mtlb_ifft', 'mtlb_imp', 'mtlb_int16',
+ 'mtlb_int32', 'mtlb_int8', 'mtlb_is', 'mtlb_isa', 'mtlb_isfield', 'mtlb_isletter', 'mtlb_isspace', 'mtlb_l',
+ 'mtlb_legendre', 'mtlb_linspace', 'mtlb_load', 'mtlb_logic', 'mtlb_logical', 'mtlb_lower', 'mtlb_max',
+ 'mtlb_min', 'mtlb_mode', 'mtlb_more', 'mtlb_num2str', 'mtlb_ones', 'mtlb_plot', 'mtlb_prod', 'mtlb_rand',
+ 'mtlb_randn', 'mtlb_rcond', 'mtlb_realmax', 'mtlb_realmin', 'mtlb_repmat', 'mtlb_s', 'mtlb_save',
+ 'mtlb_setstr', 'mtlb_size', 'mtlb_sort', 'mtlb_sparse', 'mtlb_strcmp', 'mtlb_strcmpi', 'mtlb_strfind',
+ 'mtlb_strrep', 'mtlb_sum', 'mtlb_t', 'mtlb_toeplitz', 'mtlb_tril', 'mtlb_triu', 'mtlb_true', 'mtlb_uint16',
+ 'mtlb_uint32', 'mtlb_uint8', 'mtlb_upper', 'mtlb_zeros', 'mu2lin', 'mucomp', 'mulf', 'mvvacov', 'name2rgb',
+ 'names', 'nancumsum', 'nand2mean', 'nanmax', 'nanmean', 'nanmeanf', 'nanmedian', 'nanmin', 'nanstdev',
+ 'nansum', 'narsimul', 'NDcost', 'ndgrid', 'ndims', 'nearfloat', 'nehari', 'neighbors', 'netclose', 'netwindow',
+ 'netwindows', 'new', 'newaxes', 'newest', 'newfun', 'nextpow2', 'nf3d', 'nfreq', 'nlev', 'nnz', 'node_number',
+ 'nodes_2_path', 'nodes_degrees', 'noisegen', 'norm', 'not', 'null', 'number_properties', 'numdiff', 'numer',
+ 'nyquist', 'object_editor', 'obs_gram', 'obscont', 'obscont1', 'observer', 'obsv_mat', 'obsvss', 'ode',
+ 'ode_discrete', 'ode_optional_output', 'ode_root', 'odedc', 'odeoptions', 'oemtochar', 'old_style',
+ 'oldbesseli', 'oldbesselj', 'oldbesselk', 'oldbessely', 'oldload', 'oldplot', 'oldsave', 'ones',
+ 'Operation', 'optim', 'or', 'orth', 'overloading', 'p_margin', 'param3d', 'param3d_properties',
+ 'param3d1', 'paramfplot2d', 'parents', 'parrot', 'part', 'path_2_nodes', 'pathconvert', 'pause', 'pbig',
+ 'pca', 'pcg', 'pdiv', 'pen2ea', 'pencan', 'penlaur', 'percent', 'perctl', 'perfect_match', 'perl',
+ 'perms', 'permute', 'pertrans', 'pfss', 'phasemag', 'phc', 'pie', 'pinv', 'pipe_network', 'playsnd', 'plot',
+ 'plot_graph', 'plot2d', 'plot2d_old_version', 'plot2d1', 'plot2d2', 'plot2d3', 'plot2d4', 'plot3d',
+ 'plot3d_old_version', 'plot3d1', 'plot3d2', 'plot3d3', 'plotframe', 'plotprofile', 'plus', 'plzr',
+ 'pmodulo', 'pol2des', 'pol2str', 'pol2tex', 'polar', 'polarplot', 'polfact', 'poly', 'polyline_properties',
+ 'portr3d', 'portrait', 'power', 'ppol', 'prbs_a', 'predecessors', 'predef', 'print', 'printf',
+ 'printf_conversion', 'printing', 'printsetupbox', 'prod', 'profile', 'progressionbar', 'proj', 'projsl',
+ 'projspec', 'psmall', 'pspect', 'pvm', 'pvm_addhosts', 'pvm_barrier', 'pvm_bcast', 'pvm_bufinfo', 'pvm_config',
+ 'pvm_delhosts', 'pvm_error', 'pvm_exit', 'pvm_f772sci', 'pvm_get_timer', 'pvm_getinst', 'pvm_gettid',
+ 'pvm_gsize', 'pvm_halt', 'pvm_joingroup', 'pvm_kill', 'pvm_lvgroup', 'pvm_mytid', 'pvm_parent', 'pvm_probe',
+ 'pvm_recv', 'pvm_reduce', 'pvm_sci2f77', 'pvm_send', 'pvm_set_timer', 'pvm_spawn', 'pvm_spawn_independent',
+ 'pvm_start', 'pvm_tasks', 'pvm_tidtohost', 'pvmd3', 'pwd', 'qassign', 'qld', 'qmr', 'qr', 'quapro', 'quart',
+ 'quaskro', 'quit', 'quote', 'rand', 'randpencil', 'range', 'rank', 'rankqr', 'rat', 'rcond',
+ 'rdivf', 'read', 'read4b', 'readb', 'readc_', 'readmps', 'readxls', 'real', 'realtime', 'realtimeinit',
+ 'rectangle_properties', 'recur', 'reglin', 'regress', 'remez', 'remezb', 'repfreq', 'replot', 'resethistory',
+ 'residu', 'resume', 'return', 'rgb2name', 'ric_desc', 'ricc', 'riccati', 'rlist', 'rmdir', 'roots', 'rotate',
+ 'round', 'routh_t', 'rowcomp', 'rowcompr', 'rowinout', 'rowregul', 'rowshuff', 'rpem', 'rref', 'rtitr',
+ 'rubberbox', 'salesman', 'sample', 'samplef', 'samwr', 'save', 'save_format', 'save_graph', 'savehistory',
+ 'savematfile', 'savewave', 'sca', 'scaling', 'scanf', 'scanf_conversion', 'scf', 'schur', 'sci_files',
+ 'sci2exp', 'sci2for', 'sci2map', 'sciargs', 'SciComplex', 'SciComplexArray', 'SciDouble', 'SciDoubleArray',
+ 'scilab', 'Scilab', 'ScilabEval', 'scilink', 'scipad', 'SciString', 'SciStringArray', 'sd2sci', 'sda', 'sdf',
+ 'secto3d', 'segs_properties', 'semi', 'semicolon', 'semidef', 'sensi', 'set', 'set_posfig_dim',
+ 'setbpt', 'setdiff', 'setenv', 'seteventhandler', 'setfield', 'sethomedirectory', 'setlanguage', 'setmenu',
+ 'sfact', 'Sfgrayplot', 'Sgrayplot', 'sgrid', 'shortest_path', 'show_arcs', 'show_graph', 'show_nodes',
+ 'show_pixmap', 'showprofile', 'sident', 'sign', 'Signal', 'signm', 'simp', 'simp_mode', 'sin', 'sinc',
+ 'sincd', 'sinh', 'sinhm', 'sinm', 'size', 'slash', 'sleep', 'sm2des', 'sm2ss', 'smooth', 'solve',
+ 'sorder', 'sort', 'sound', 'soundsec', 'sp2adj', 'spaninter', 'spanplus', 'spantwo', 'spchol',
+ 'spcompack', 'spec', 'specfact', 'speye', 'spget', 'splin', 'splin2d', 'splin3d', 'split_edge', 'spones',
+ 'sprand', 'sprintf', 'spzeros', 'sqroot', 'sqrt', 'sqrtm', 'square', 'squarewave', 'srfaur', 'srkf', 'ss2des',
+ 'ss2ss', 'ss2tf', 'sscanf', 'sskf', 'ssprint', 'ssrand', 'st_deviation', 'st_ility', 'stabil', 'stacksize',
+ 'star', 'startup', 'stdev', 'stdevf', 'str2code', 'strange', 'strcat', 'strindex', 'string', 'stringbox',
+ 'strings', 'stripblanks', 'strong_con_nodes', 'strong_connex', 'strsplit', 'strsubst', 'struct', 'sub2ind',
+ 'subf', 'subgraph', 'subplot', 'successors', 'sum', 'supernode', 'surf', 'surface_properties', 'sva',
+ 'svd', 'svplot', 'sylm', 'sylv', 'symbols', 'sysconv', 'sysdiag', 'sysfact', 'syslin', 'syssize', 'system',
+ 'systems', 'systmat', 'tabul', 'tan', 'tangent', 'tanh', 'tanhm', 'tanm', 'TCL_CreateSlave', 'TCL_DeleteInterp',
+ 'TCL_EvalFile', 'TCL_EvalStr', 'TCL_ExistInterp', 'TCL_ExistVar', 'TCL_GetVar', 'TCL_GetVersion', 'TCL_SetVar',
+ 'TCL_UnsetVar', 'TCL_UpVar', 'tdinit', 'testmatrix', 'texprint', 'text_properties', 'tf2des', 'tf2ss', 'then',
+ 'thrownan', 'tic', 'tilda', 'time_id', 'timer', 'title', 'titlepage', 'TK_EvalFile', 'TK_EvalStr', 'tk_getdir',
+ 'tk_getfile', 'TK_GetVar', 'tk_savefile', 'TK_SetVar', 'toc', 'toeplitz', 'tohome', 'tokenpos',
+ 'tokens', 'toolbar', 'toprint', 'trace', 'trans', 'trans_closure', 'translatepaths', 'tree2code', 'trfmod',
+ 'trianfml', 'tril', 'trimmean', 'trisolve', 'triu', 'try', 'trzeros', 'twinkle', 'type', 'Type', 'typename',
+ 'typeof', 'ui_observer', 'uicontrol', 'uimenu', 'uint16', 'uint32', 'uint8', 'ulink', 'unglue', 'union',
+ 'unique', 'unix', 'unix_g', 'unix_s', 'unix_w', 'unix_x', 'unobs', 'unsetmenu', 'unzoom', 'user', 'varargin',
+ 'varargout', 'Variable', 'variance', 'variancef', 'varn', 'vectorfind', 'waitbar', 'warning', 'wavread',
+ 'wavwrite', 'wcenter', 'wfir', 'what', 'where', 'whereami', 'whereis', 'who', 'who_user', 'whos',
+ 'wiener', 'wigner', 'winclose', 'window', 'winlist', 'winopen', 'winqueryreg', 'winsid', 'with_atlas',
+ 'with_gtk', 'with_javasci', 'with_pvm', 'with_texmacs', 'with_tk', 'writb', 'write', 'write4b', 'x_choices',
+ 'x_choose', 'x_dialog', 'x_matrix', 'x_mdialog', 'x_message', 'x_message_modeless', 'xarc', 'xarcs', 'xarrows',
+ 'xaxis', 'xbasc', 'xbasimp', 'xbasr', 'xchange', 'xclea', 'xclear', 'xclick', 'xclip', 'xdel', 'xend',
+ 'xfarc', 'xfarcs', 'xfpoly', 'xfpolys', 'xfrect', 'xget', 'xgetech', 'xgetfile', 'xgetmouse', 'xgraduate',
+ 'xgrid', 'xinfo', 'xinit', 'xlfont', 'xload', 'xls_open', 'xls_read', 'xmltohtml', 'xname', 'xnumb', 'xpause',
+ 'xpoly', 'xpolys', 'xrect', 'xrects', 'xrpoly', 'xs2bmp', 'xs2emf', 'xs2eps', 'xs2fig', 'xs2gif', 'xs2ppm',
+ 'xs2ps', 'xsave', 'xsegs', 'xselect', 'xset', 'xsetech', 'xsetm', 'xstring', 'xstringb', 'xstringl', 'xtape',
+ 'xtitle', 'yulewalk', 'zeropen', 'zeros', 'zgrid', 'zoom_rect', 'zpbutt', 'zpch1', 'zpch2', 'zpell'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '<', '>', '=',
+ '!', '@', '~', '&', '|',
+ '+','-', '*', '/', '%',
+ ',', ';', '?', ':', "'"
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => true,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #000000; font-weight: bold;',
+ 3 => 'color: #000066;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => '',
+ '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: #006600;',
+ 2 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff;',
+ 4 => 'color: #009999;',
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm',
+ 2 => 'http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm',
+ 3 => 'http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm'
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '-&gt;',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ //Variable
+ 0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
+ //File Descriptor
+ 4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/sdlbasic.php b/application/libraries/geshi/sdlbasic.php
new file mode 100644
index 000000000..1f1440bf5
--- /dev/null
+++ b/application/libraries/geshi/sdlbasic.php
@@ -0,0 +1,165 @@
+<?php
+/*************************************************************************************
+ * sdlbasic.php
+ * ------------
+ * Author: Roberto Rossi
+ * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/08/19
+ *
+ * sdlBasic (http://sdlbasic.sf.net) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/19 (1.0.0)
+ * - 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' => 'sdlBasic',
+ 'COMMENT_SINGLE' => array(1 => "'", 2 => "rem", 3 => "!", 4 => "#"),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'const', 'option', 'explicit', 'qbasic', 'include', 'argc',
+ 'argv', 'command', 'command$', 'run', 'shell', 'os', 'declare',
+ 'sub', 'function', 'return', 'while', 'wend', 'exit', 'end',
+ 'continue', 'if', 'then', 'else', 'elseif',
+ 'select', 'case', 'for', 'each', 'step',
+ 'next', 'to', 'dim', 'shared', 'common', 'lbound', 'bound',
+ 'erase', 'asc', 'chr', 'chr$', 'insert', 'insert$', 'instr', 'lcase',
+ 'lcase$', 'left', 'left$', 'len', 'length', 'ltrim', 'ltrim$', 'mid',
+ 'mid$', 'replace', 'replace$', 'replacesubstr', 'replacesubstr$',
+ 'reverse', 'reverse$', 'right', 'right$', 'rinstr', 'rtrim', 'rtrim$',
+ 'space', 'space$', 'str', 'str$', 'strf', 'strf$', 'string', 'string$',
+ 'tally', 'trim', 'trim$', 'typeof', 'typeof$', 'ucase', 'ucase$', 'val',
+ 'abs', 'acos', 'andbit', 'asin', 'atan', 'bitwiseand', 'bitwiseor',
+ 'bitwisexor', 'cos', 'exp', 'fix', 'floor', 'frac', 'hex', 'hex$', 'int',
+ 'log', 'min', 'max', 'orbit', 'randomize', 'rnd', 'round', 'sgn', 'sin',
+ 'sqr', 'tan', 'xorbit', 'open', 'as', 'file', 'input', 'close', 'output',
+ 'append', 'eof', 'fileexists', 'filecopy', 'filemove', 'filerename',
+ 'freefile', 'kill', 'loc', 'lof', 'readbyte', 'rename', 'seek',
+ 'writebyte', 'chdir', 'dir', 'dir$', 'direxists', 'dirfirst', 'dirnext',
+ 'mkdir', 'rmdir', 'print', 'date', 'date$', 'time', 'time$', 'ticks',
+ 'data', 'read', 'reservebank', 'freebank', 'copybank', 'loadbank',
+ 'savebank', 'setbank', 'sizebank', 'poke', 'doke', 'loke', 'peek', 'deek',
+ 'leek', 'memcopy', 'setdisplay', 'setcaption', 'caption', 'displaywidth',
+ 'displayheight', 'displaybpp', 'screen', 'directscreen', 'screenopen',
+ 'screenclose', 'screenclone', 'screencopy', 'screenfade', 'screenfadein',
+ 'screencrossfade', 'screenalpha', 'screenlock', 'screenunlock',
+ 'screenrect', 'xscreenrect', 'yscreenrect', 'wscreenrect', 'hscreenrect',
+ 'flagscreenrect', 'screenwidth', 'screenheight', 'offset', 'xoffset',
+ 'yoffset', 'cls', 'screenswap', 'autoback', 'setautoback',
+ 'dualplayfield', 'waitvbl', 'fps', 'rgb', 'enablepalette', 'color',
+ 'palette', 'colorcycling', 'ink', 'point', 'dot', 'plot', 'line', 'box',
+ 'bar', 'circle', 'fillcircle', 'ellipse', 'fillellipse', 'paint',
+ 'loadimage', 'saveimage', 'loadsound', 'savesound', 'loadmusic',
+ 'hotspot', 'setcolorkey', 'imageexists', 'imagewidth', 'imageheight',
+ 'deleteimage', 'copyimage', 'setalpha', 'zoomimage', 'rotateimage',
+ 'rotozoomimage', 'blt', 'pastebob', 'pasteicon', 'grab', 'spriteclip',
+ 'sprite', 'deletesprite', 'xsprite', 'ysprite', 'spritewidth',
+ 'spriteheight', 'frsprite', 'livesprite', 'spritehit', 'autoupdatesprite',
+ 'updatesprite', 'setbob', 'bob', 'deletebob', 'xbob', 'ybob', 'bobwidth',
+ 'bobheight', 'frbob', 'livebob', 'bobhit', 'autoupdatebob', 'updatebob',
+ 'text', 'setfont', 'textrender', 'pen', 'paper', 'prints', 'locate',
+ 'atx', 'aty', 'curson', 'cursoff', 'inputs', 'zoneinputs',
+ 'isenabledsound', 'soundexists', 'deletesound', 'copysound',
+ 'musicexists', 'playsound', 'volumesound', 'stopsound', 'pausesound',
+ 'resumesound', 'vumetersound', 'positionsound', 'soundchannels',
+ 'playmusic', 'positionmusic', 'stopmusic', 'fademusic', 'pausemusic',
+ 'resumemusic', 'rewindmusic', 'volumemusic', 'speedmusic', 'numdrivescd',
+ 'namecd', 'getfreecd', 'opencd', 'indrivecd', 'trackscd', 'curtrackcd',
+ 'curframecd', 'playcd', 'playtrackscd',
+ 'pausecd', 'resumecd', 'stopcd', 'ejectcd', 'closecd', 'tracktypecd',
+ 'tracklengthcd', 'trackoffsetcd', 'key', 'inkey', 'waitkey', 'xmouse',
+ 'ymouse', 'xmousescreen', 'ymousescreen', 'bmouse', 'changemouse',
+ 'locatemouse', 'mouseshow', 'mousehide', 'mousezone', 'numjoysticks',
+ 'namejoystick', 'numaxesjoystick', 'numballsjoystick', 'numhatsjoystick',
+ 'numbuttonsjoystick', 'getaxisjoystick', 'gethatjoystick',
+ 'getbuttonjoystick', 'xgetballjoystick', 'ygetballjoystick', 'joy',
+ 'bjoy', 'wait', 'timer', 'isenabledsock', 'getfreesock', 'opensock',
+ 'acceptsock', 'isserverready', 'connectsock', 'connectionreadysock',
+ 'isclientready', 'losesock', 'peeksock', 'readsock', 'readbytesock',
+ 'readlinesock', 'writesock', 'writebytesock', 'writelinesock',
+ 'getremoteip', 'getremoteport', 'getlocalip'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080;',
+ 2 => 'color: #808080;',
+ 3 => 'color: #808080;',
+ 4 => 'color: #808080;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/smalltalk.php b/application/libraries/geshi/smalltalk.php
new file mode 100644
index 000000000..9bc351d8e
--- /dev/null
+++ b/application/libraries/geshi/smalltalk.php
@@ -0,0 +1,154 @@
+<?php
+/*************************************************************************************
+ * smalltalk.php
+ * --------
+ * Author: Bananeweizen (Bananeweizen@gmx.de)
+ * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/03/27
+ *
+ * Smalltalk language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006-05-24 (1.0.0)
+ * - First Release
+ *
+ * TODO
+ * -------------------------
+ * * recognize nested array symbols correctly
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Smalltalk',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array('"' => '"'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'"),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'self','super','true','false','nil'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '=' , ':=', '(', ')', '#'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #7f007f;'
+ ),
+ 'COMMENTS' => array(
+ 'MULTI' => 'color: #007f00; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'BRACKETS' => array(
+ 0 => ''
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #7f0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #7f0000;'
+ ),
+ 'METHODS' => array(
+ 0 => ''
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066; font-weight:bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff;',
+ 1 => 'color: #7f0000;',
+ 2 => 'color: #7f0000;',
+ 3 => 'color: #00007f;',
+ 5 => 'color: #00007f;',
+ 6 => 'color: #00007f;'
+ ),
+ 'SCRIPT' => array(
+ 0 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => array(
+ GESHI_SEARCH => '([^a-zA-Z0-9_#<])([A-Z]+[a-zA-Z0-9_]*)(?!>)', //class names
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 1 => array(
+ GESHI_SEARCH => '(#+)([a-zA-Z0-9_]+)', //symbols
+ GESHI_REPLACE => '\\1\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ 2 => array(
+ GESHI_SEARCH => '(#\s*\([^)]*\))', //array symbols
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ 3 => array(
+ GESHI_SEARCH => '<PIPE>([a-zA-Z0-9_\s]+)<PIPE>', //temporary variables
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '|',
+ GESHI_AFTER => '|'
+ ),
+ 5 => array(
+ GESHI_SEARCH => '([:(,=[.*\/+-]\s*(?!\d+\/))([a-zA-Z0-9_]+)', //message parameters, message receivers
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 's',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+ 6 => array(
+ GESHI_SEARCH => '([a-zA-Z0-9_]+)(\s*:=)', //assignment targets
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => '\\2'
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/smarty.php b/application/libraries/geshi/smarty.php
new file mode 100644
index 000000000..f59d9fbf3
--- /dev/null
+++ b/application/libraries/geshi/smarty.php
@@ -0,0 +1,192 @@
+<?php
+/*************************************************************************************
+ * smarty.php
+ * ----------
+ * Author: Alan Juden (alan@judenware.org)
+ * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/07/10
+ *
+ * Smarty template language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.0)
+ * - Initial Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Smarty',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array('{*' => '*}'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ '$smarty', 'now', 'const', 'capture', 'config', 'section', 'foreach', 'template', 'version', 'ldelim', 'rdelim',
+ 'foreachelse', 'include', 'include_php', 'insert', 'if', 'elseif', 'else', 'php',
+ 'sectionelse', 'is_cached',
+ ),
+ 2 => array(
+ 'capitalize', 'count_characters', 'cat', 'count_paragraphs', 'count_sentences', 'count_words', 'date_format',
+ 'default', 'escape', 'indent', 'lower', 'nl2br', 'regex_replace', 'replace', 'spacify', 'string_format',
+ 'strip', 'strip_tags', 'truncate', 'upper', 'wordwrap',
+ ),
+ 3 => array(
+ 'counter', 'cycle', 'debug', 'eval', 'html_checkboxes', 'html_image', 'html_options',
+ 'html_radios', 'html_select_date', 'html_select_time', 'html_table', 'math', 'mailto', 'popup_init',
+ 'popup', 'textformat'
+ ),
+ 4 => array(
+ '$template_dir', '$compile_dir', '$config_dir', '$plugins_dir', '$debugging', '$debug_tpl',
+ '$debugging_ctrl', '$autoload_filters', '$compile_check', '$force_compile', '$caching', '$cache_dir',
+ '$cache_lifetime', '$cache_handler_func', '$cache_modified_check', '$config_overwrite',
+ '$config_booleanize', '$config_read_hidden', '$config_fix_newlines', '$default_template_handler_func',
+ '$php_handling', '$security', '$secure_dir', '$security_settings', '$trusted_dir', '$left_delimiter',
+ '$right_delimiter', '$compiler_class', '$request_vars_order', '$request_use_auto_globals',
+ '$error_reporting', '$compile_id', '$use_sub_dirs', '$default_modifiers', '$default_resource_type'
+ ),
+ 5 => array(
+ 'append', 'append_by_ref', 'assign', 'assign_by_ref', 'clear_all_assign', 'clear_all_cache',
+ 'clear_assign', 'clear_cache', 'clear_compiled_tpl', 'clear_config', 'config_load', 'display',
+ 'fetch', 'get_config_vars', 'get_registered_object', 'get_template_vars',
+ 'load_filter', 'register_block', 'register_compiler_function', 'register_function',
+ 'register_modifier', 'register_object', 'register_outputfilter', 'register_postfilter',
+ 'register_prefilter', 'register_resource', 'trigger_error', 'template_exists', 'unregister_block',
+ 'unregister_compiler_function', 'unregister_function', 'unregister_modifier', 'unregister_object',
+ 'unregister_outputfilter', 'unregister_postfilter', 'unregister_prefilter', 'unregister_resource'
+ ),
+ 6 => array(
+ 'name', 'file', 'scope', 'global', 'key', 'once', 'script',
+ 'loop', 'start', 'step', 'max', 'show', 'values', 'value', 'from', 'item'
+ ),
+ 7 => array(
+ 'eq', 'neq', 'ne', 'lte', 'gte', 'ge', 'le', 'not', 'mod'
+ ),
+ 8 => array(
+ // some common php functions
+ 'isset', 'is_array', 'empty', 'count', 'sizeof'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '/', '=', '==', '!=', '>', '<', '>=', '<=', '!', '%'
+ ),
+ '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: #0600FF;', //Functions
+ 2 => 'color: #008000;', //Modifiers
+ 3 => 'color: #0600FF;', //Custom Functions
+ 4 => 'color: #804040;', //Variables
+ 5 => 'color: #008000;', //Methods
+ 6 => 'color: #6A0A0A;', //Attributes
+ 7 => 'color: #D36900;', //Text-based symbols
+ 8 => 'color: #0600FF;' //php functions
+ ),
+ 'COMMENTS' => array(
+ 'MULTI' => 'color: #008080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #D36900;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #D36900;'
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #009000;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #00aaff;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://smarty.php.net/{FNAMEL}',
+ 2 => 'http://smarty.php.net/{FNAMEL}',
+ 3 => 'http://smarty.php.net/{FNAMEL}',
+ 4 => 'http://smarty.php.net/{FNAMEL}',
+ 5 => 'http://smarty.php.net/{FNAMEL}',
+ 6 => '',
+ 7 => 'http://smarty.php.net/{FNAMEL}',
+ 8 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.'
+ ),
+ 'REGEXPS' => array(
+ // variables
+ 0 => '\$[a-zA-Z][a-zA-Z0-9_]*'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => array(
+ '{' => '}'
+ ),
+ 1 => array(
+ '<!--' => '-->',
+ ),
+ 2 => array(
+ '<' => '>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => false,
+ 2 => false
+ ),
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#;>|^])",
+ 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-&])"
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/sql.php b/application/libraries/geshi/sql.php
new file mode 100644
index 000000000..ea2965a8e
--- /dev/null
+++ b/application/libraries/geshi/sql.php
@@ -0,0 +1,140 @@
+<?php
+/*************************************************************************************
+ * sql.php
+ * -------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/04
+ *
+ * SQL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added additional symbols for highlighting
+ * 2004/11/27 (1.0.3)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ * - Added "`" string delimiter
+ * - Added "#" single comment starter
+ * 2004/08/05 (1.0.1)
+ * - Added support for symbols
+ * - Added many more keywords (mostly MYSQL keywords)
+ * 2004/07/14 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Add all keywords
+ * * Split this to several sql files - mysql-sql, ansi-sql etc
+ *
+ *************************************************************************************
+ *
+ * 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' => 'SQL',
+ 'COMMENT_SINGLE' => array(1 =>'--'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => 1,
+ 'QUOTEMARKS' => 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'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '=', '<', '>', '|', ',', '.', '+', '-', '*', '/'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #993333; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ //2 => 'color: #808080; font-style: italic;',
+ 'MULTI' => '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(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => 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/systemverilog.php b/application/libraries/geshi/systemverilog.php
new file mode 100644
index 000000000..832769f9e
--- /dev/null
+++ b/application/libraries/geshi/systemverilog.php
@@ -0,0 +1,317 @@
+<?php
+/************************************************************************************
+ * systemverilog.php
+ * -------
+ * Author: Sean O'Boyle
+ * Copyright: (C) 2008 IntelligentDV
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/06/25
+ *
+ * SystemVerilog IEEE 1800-2009(draft8) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/06/25 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2008/06/25)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ ************************************************************************
+ * Title: SystemVerilog Language Keywords File for GeSHi
+ * Description: This file contains the SV keywords defined in the
+ * IEEE1800-2009 Draft Standard in the format expected by
+ * GeSHi.
+ *
+ * Original Author: Sean O'Boyle
+ * Contact: seanoboyle@intelligentdv.com
+ * Company: Intelligent Design Verification
+ * Company URL: http://intelligentdv.com
+ *
+ * Download the most recent version here:
+ * http://intelligentdv.com/downloads
+ *
+ * File Bugs Here: http://bugs.intelligentdv.com
+ * Project: SyntaxFiles
+ *
+ * File: systemverilog.php
+ * $LastChangedBy: seanoboyle $
+ * $LastChangedDate: 2009-07-22 22:20:25 -0700 (Wed, 22 Jul 2009) $
+ * $LastChangedRevision: 17 $
+ *
+ ************************************************************************/
+
+$language_data = array (
+ 'LANG_NAME' => 'SystemVerilog',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ // system tasks
+ 1 => array(
+ 'acos','acosh','asin','asinh','assertfailoff','assertfailon',
+ 'assertkill','assertnonvacuouson','assertoff','asserton',
+ 'assertpassoff','assertpasson','assertvacuousoff','async$and$array',
+ 'async$and$plane','async$nand$array','async$nand$plane',
+ 'async$nor$array','async$nor$plane','async$or$array',
+ 'async$or$plane','atan','atan2','atanh','bits','bitstoreal',
+ 'bitstoshortreal','cast','ceil','changed','changed_gclk',
+ 'changing_gclk','clog2','cos','cosh','countones','coverage_control',
+ 'coverage_get','coverage_get_max','coverage_merge','coverage_save',
+ 'dimensions','display','displayb','displayh','displayo',
+ 'dist_chi_square','dist_erlang','dist_exponential','dist_normal',
+ 'dist_poisson','dist_t','dist_uniform','dumpall','dumpfile',
+ 'dumpflush','dumplimit','dumpoff','dumpon','dumpports',
+ 'dumpportsall','dumpportsflush','dumpportslimit','dumpportsoff',
+ 'dumpportson','dumpvars','error','exit','exp','falling_gclk',
+ 'fclose','fdisplay','fdisplayb','fdisplayh','fdisplayo','fell',
+ 'fell_gclk','feof','ferror','fflush','fgetc','fgets','finish',
+ 'floor','fmonitor','fmonitorb','fmonitorh','fmonitoro','fopen',
+ 'fread','fscanf','fseek','fstrobe','fstrobeb','fstrobeh','fstrobeo',
+ 'ftell','future_gclk','fwrite','fwriteb','fwriteh','fwriteo',
+ 'get_coverage','high','hypot','increment','info','isunbounded',
+ 'isunknown','itor','left','ln','load_coverage_db','log10','low',
+ 'monitor','monitorb','monitorh','monitoro','monitoroff','monitoron',
+ 'onehot','onehot0','past','past_gclk','pow','printtimescale',
+ 'q_add','q_exam','q_full','q_initialize','q_remove','random',
+ 'readmemb','readmemh','realtime','realtobits','rewind','right',
+ 'rising_gclk','rose','rose_gclk','rtoi','sampled',
+ 'set_coverage_db_name','sformat','sformatf','shortrealtobits',
+ 'signed','sin','sinh','size','sqrt','sscanf','stable','stable_gclk',
+ 'steady_gclk','stime','stop','strobe','strobeb','strobeh','strobeo',
+ 'swrite','swriteb','swriteh','swriteo','sync$and$array',
+ 'sync$and$plane','sync$nand$array','sync$nand$plane',
+ 'sync$nor$array','sync$nor$plane','sync$or$array','sync$or$plane',
+ 'system','tan','tanh','test$plusargs','time','timeformat',
+ 'typename','ungetc','unpacked_dimensions','unsigned',
+ 'value$plusargs','warning','write','writeb','writeh','writememb',
+ 'writememh','writeo',
+ ),
+ // compiler directives
+ 2 => array(
+ '`__FILE__', '`__LINE__', '`begin_keywords', '`case', '`celldefine',
+ '`endcelldefine', '`default_nettype', '`define', '`default', '`else',
+ '`elsif', '`end_keywords', '`endfor', '`endif',
+ '`endprotect', '`endswitch', '`endwhile', '`for', '`format',
+ '`if', '`ifdef', '`ifndef', '`include', '`let',
+ '`line', '`nounconnected_drive', '`pragma', '`protect', '`resetall',
+ '`switch', '`timescale', '`unconnected_drive', '`undef', '`undefineall',
+ '`while'
+ ),
+ // keywords
+ 3 => array(
+ 'assert', 'assume', 'cover', 'expect', 'disable',
+ 'iff', 'binsof', 'intersect', 'first_match', 'throughout',
+ 'within', 'coverpoint', 'cross', 'wildcard', 'bins',
+ 'ignore_bins', 'illegal_bins', 'genvar', 'if', 'else',
+ 'unique', 'priority', 'matches', 'default', 'forever',
+ 'repeat', 'while', 'for', 'do', 'foreach',
+ 'break', 'continue', 'return', 'pulsestyle_onevent', 'pulsestyle_ondetect',
+ 'noshowcancelled', 'showcancelled', 'ifnone', 'posedge', 'negedge',
+ 'edge', 'wait', 'wait_order', 'timeunit', 'timeprecision',
+ 's', 'ms', 'us', 'ns',
+ 'ps', 'fs', 'step', 'new', 'extends',
+ 'this', 'super', 'protected', 'local', 'rand',
+ 'randc', 'bind', 'constraint', 'solve', 'before',
+ 'dist', 'inside', 'with', 'virtual', 'extern',
+ 'pure', 'forkjoin', 'design', 'instance', 'cell',
+ 'liblist', 'use', 'library', 'incdir', 'include',
+ 'modport', 'sync_accept_on', 'reject_on', 'accept_on',
+ 'sync_reject_on', 'restrict', 'let', 'until', 'until_with',
+ 'unique0', 'eventually', 's_until', 's_always', 's_eventually',
+ 's_nexttime', 's_until_with', 'global', 'untyped', 'implies',
+ 'weak', 'strong', 'nexttime'
+ ),
+ // block keywords
+ 4 => array(
+ 'begin', 'end', 'package', 'endpackage', 'macromodule',
+ 'module', 'endmodule', 'generate', 'endgenerate', 'program',
+ 'endprogram', 'class', 'endclass', 'function', 'endfunction',
+ 'case', 'casex', 'casez', 'randcase', 'endcase',
+ 'interface', 'endinterface', 'clocking', 'endclocking', 'task',
+ 'endtask', 'primitive', 'endprimitive', 'fork', 'join',
+ 'join_any', 'join_none', 'covergroup', 'endgroup', 'checker',
+ 'endchecker', 'property', 'endproperty', 'randsequence', 'sequence',
+ 'endsequence', 'specify', 'endspecify', 'config', 'endconfig',
+ 'table', 'endtable', 'initial', 'final', 'always',
+ 'always_comb', 'always_ff', 'always_latch', 'alias', 'assign',
+ 'force', 'release'
+ ),
+
+ // types
+ 5 => array(
+ 'parameter', 'localparam', 'specparam', 'input', 'output',
+ 'inout', 'ref', 'byte', 'shortint', 'int',
+ 'integer', 'longint', 'time', 'bit', 'logic',
+ 'reg', 'supply0', 'supply1', 'tri', 'triand',
+ 'trior', 'trireg', 'tri0', 'tri1', 'wire',
+ 'uwire', 'wand', 'wor', 'signed', 'unsigned',
+ 'shortreal', 'real', 'realtime', 'type', 'void',
+ 'struct', 'union', 'tagged', 'const', 'var',
+ 'automatic', 'static', 'packed', 'vectored', 'scalared',
+ 'typedef', 'enum', 'string', 'chandle', 'event',
+ 'null', 'pullup', 'pulldown', 'cmos', 'rcmos',
+ 'nmos', 'pmos', 'rnmos', 'rpmos', 'and',
+ 'nand', 'or', 'nor', 'xor', 'xnor',
+ 'not', 'buf', 'tran', 'rtran', 'tranif0',
+ 'tranif1', 'rtranif0', 'rtranif1', 'bufif0', 'bufif1',
+ 'notif0', 'notif1', 'strong0', 'strong1', 'pull0',
+ 'pull1', 'weak0', 'weak1', 'highz0', 'highz1',
+ 'small', 'medium', 'large'
+ ),
+
+ // DPI
+ 6 => array(
+ 'DPI', 'DPI-C', 'import', 'export', 'context'
+ ),
+
+ // stdlib
+ 7 => array(
+ 'randomize', 'mailbox', 'semaphore', 'put', 'get',
+ 'try_put', 'try_get', 'peek', 'try_peek', 'process',
+ 'state', 'self', 'status', 'kill', 'await',
+ 'suspend', 'resume', 'size', 'delete', 'insert',
+ 'num', 'first', 'last', 'next', 'prev',
+ 'pop_front', 'pop_back', 'push_front', 'push_back', 'find',
+ 'find_index', 'find_first', 'find_last', 'find_last_index', 'min',
+ 'max', 'unique_index', 'reverse', 'sort', 'rsort',
+ 'shuffle', 'sum', 'product', 'List', 'List_Iterator',
+ 'neq', 'eq', 'data', 'empty', 'front',
+ 'back', 'start', 'finish', 'insert_range', 'erase',
+ 'erase_range', 'set', 'swap', 'clear', 'purge'
+ ),
+
+ // key_deprecated
+ 8 => array(
+ 'defparam', 'deassign', 'TODO'
+ ),
+
+ ),
+ '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: #996666; font-weight: bold;',
+ 2 => 'color: #336600; font-weight: bold;',
+ 3 => 'color: #996600; font-weight: bold;',
+ 4 => 'color: #000033; font-weight: bold;',
+ 5 => 'color: #330033; font-weight: bold;',
+ 6 => 'color: #996600; font-weight: bold;',
+ 7 => 'color: #CC9900; font-weight: bold;',
+ 8 => 'color: #990000; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #00008B; font-style: italic;',
+ 'MULTI' => 'color: #00008B; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #9F79EE'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #9F79EE;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #FF00FF;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #ff0055;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #202020;',
+ 2 => 'color: #202020;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #5D478B;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #ff0055;',
+ 1 => 'color: #ff0055;',
+ 2 => 'color: #ff0055;',
+ 3 => 'color: #ff0055;'
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => '',
+ 6 => '',
+ 7 => '',
+ 8 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => ''
+ ),
+ 'REGEXPS' => array(
+ // integer
+ 0 => "\d'[bdh][0-9_a-fA-FxXzZ]+",
+ // realtime
+ 1 => "\d*\.\d+[munpf]?s",
+ // time s, ms, us, ns, ps, of fs
+ 2 => "\d+[munpf]?s",
+ // real
+ 3 => "\d*\.\d+"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ 0 => ''
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true
+ ),
+ 'TAB_WIDTH' => 3,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'DISALLOWED_BEFORE' => '(?<=$)'
+ )
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/tcl.php b/application/libraries/geshi/tcl.php
new file mode 100644
index 000000000..0b52a2687
--- /dev/null
+++ b/application/libraries/geshi/tcl.php
@@ -0,0 +1,194 @@
+<?php
+/*************************************************************************************
+ * tcl.php
+ * ---------------------------------
+ * Author: Reid van Melle (rvanmelle@gmail.com)
+ * Copyright: (c) 2004 Reid van Melle (sorry@nowhere)
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/05/05
+ *
+ * TCL/iTCL language file for GeSHi.
+ *
+ * This was thrown together in about an hour so I don't expect
+ * really great things. However, it is a good start. I never
+ * got a change to try out the iTCL or object-based support but
+ * this is not widely used anyway.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2006/05/05 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2006/05/05)
+ * -------------------------
+ * - Get TCL built-in special variables highlighted with a new color..
+ * currently, these are listed in //special variables in the keywords
+ * section, but they get covered by the general REGEXP for symbols
+ * - General cleanup, testing, and verification
+ *
+ *************************************************************************************
+ *
+ * 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' => 'TCL',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ 1 => '/(?<!\\\\)#(?:\\\\\\\\|\\\\\\n|.)*$/m',
+ 2 => '/{[^}\n]+}/'
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"', "'"),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ /*
+ * Set 1: reserved words
+ * http://python.org/doc/current/ref/keywords.html
+ */
+ 1 => array(
+ 'proc', 'global', 'upvar', 'if', 'then', 'else', 'elseif', 'for', 'foreach',
+ 'break', 'continue', 'while', 'set', 'eval', 'case', 'in', 'switch',
+ 'default', 'exit', 'error', 'return', 'uplevel', 'loop',
+ 'for_array_keys', 'for_recursive_glob', 'for_file', 'unwind_protect',
+ 'expr', 'catch', 'namespace', 'rename', 'variable',
+ // itcl
+ 'method', 'itcl_class', 'public', 'protected'),
+
+ /*
+ * Set 2: builtins
+ * http://asps.activatestate.com/ASPN/docs/ActiveTcl/8.4/tcl/tcl_2_contents.htm
+ */
+ 2 => array(
+ // string handling
+ 'append', 'binary', 'format', 're_syntax', 'regexp', 'regsub',
+ 'scan', 'string', 'subst',
+ // list handling
+ 'concat', 'join', 'lappend', 'lindex', 'list', 'llength', 'lrange',
+ 'lreplace', 'lsearch', 'lset', 'lsort', 'split',
+ // procedures and output
+ 'incr', 'close', 'eof', 'fblocked', 'fconfigure', 'fcopy', 'file',
+ 'fileevent', 'flush', 'gets', 'open', 'puts', 'read', 'seek',
+ 'socket', 'tell',
+ // packages and source files
+ 'load', 'loadTk', 'package', 'pgk::create', 'pgk_mkIndex', 'source',
+ // interpreter routines
+ 'bgerror', 'history', 'info', 'interp', 'memory', 'unknown',
+ // library routines
+ 'enconding', 'http', 'msgcat',
+ // system related
+ 'cd', 'clock', 'exec', 'glob', 'pid', 'pwd', 'time',
+ // platform specified
+ 'dde', 'registry', 'resource',
+ // special variables
+ '$argc', '$argv', '$errorCode', '$errorInfo', '$argv0',
+ '$auto_index', '$auto_oldpath', '$auto_path', '$env',
+ '$tcl_interactive', '$tcl_libpath', '$tcl_library',
+ '$tcl_pkgPath', '$tcl_platform', '$tcl_precision', '$tcl_traceExec',
+ ),
+
+ /*
+ * Set 3: standard library
+ */
+ 3 => array(
+ 'comment', 'filename', 'library', 'packagens', 'tcltest', 'tclvars',
+ ),
+
+ /*
+ * Set 4: special methods
+ */
+// 4 => array(
+// )
+
+ ),
+ '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;', // Reserved
+ 2 => 'color: #008000;', // Built-ins + self
+ 3 => 'color: #dc143c;', // Standard lib
+// 4 => 'color: #0000cd;' // Special methods
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #808080; font-style: italic;',
+ 2 => 'color: #483d8b;',
+ '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(
+ 0 => 'color: #ff3333;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+// 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '::'
+ ),
+ 'REGEXPS' => array(
+ //Special variables
+ 0 => '[\\$]+[a-zA-Z_][a-zA-Z0-9_]*',
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'PARSER_CONTROL' => array(
+ 'COMMENTS' => array(
+ 'DISALLOWED_BEFORE' => '\\'
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/teraterm.php b/application/libraries/geshi/teraterm.php
new file mode 100644
index 000000000..b4ac619df
--- /dev/null
+++ b/application/libraries/geshi/teraterm.php
@@ -0,0 +1,317 @@
+<?php
+/*************************************************************************************
+ * teraterm.php
+ * --------
+ * Author: Boris Maisuradze (boris at logmett.com)
+ * Copyright: (c) 2008 Boris Maisuradze (http://logmett.com)
+ * Release Version: 1.0.8.6
+ * 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.
+ * Newer versions of these application can contain additional Macro commands
+ * and/or keywords that are not listed here. The latest release of ttl.php
+ * can be downloaded from Download section of LogMeTT.com
+ *
+ * CHANGES
+ * -------
+ * 2008/09/26 (1.0.8)
+ * - First Release for Tera Term 4.60 and below.
+ *
+ * TODO (updated 2008/09/26)
+ * -------------------------
+ * *
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Tera Term Macro',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ /* Commands */
+ 1 => array(
+ 'Beep',
+ 'BplusRecv',
+ 'BplusSend',
+ 'Break', // (version 4.53 or later)
+ 'Call',
+ 'CallMenu', // (version 4.56 or later)
+ 'ChangeDir',
+ 'ClearScreen',
+ 'Clipb2Var', //(version 4.46 or later)
+ 'ClosesBox',
+ 'CloseTT',
+ 'Code2Str',
+ 'Connect',
+ 'CRC32', // (version 4.60 or later)
+ 'CRC32File', // (version 4.60 or later)
+ 'CygConnect', // (version 4.57 or later)
+ 'DelPassword',
+ 'Disconnect',
+ 'Do', // (version 4.56 or later)
+ 'Else',
+ 'EnableKeyb',
+ 'End',
+ 'EndIf',
+ 'EndUntil', // (version 4.56 or later)
+ 'EndWhile',
+ 'Exec',
+ 'ExecCmnd',
+ 'Exit',
+ 'FileClose',
+ 'FileConcat',
+ 'FileCopy',
+ 'FileCreate',
+ 'FileDelete',
+ 'FileMarkPtr',
+ 'FilenameBox', //(version 4.54 or later)
+ 'FileOpen',
+ 'FileRead',
+ 'FileReadln', // (version 4.48 or later)
+ 'FileRename',
+ 'FileSearch',
+ 'FileSeek',
+ 'FileSeekBack',
+ 'FileStrSeek',
+ 'FileStrSeek2',
+ 'FileWrite',
+ 'FileWriteln',
+ 'FindOperations',
+ 'FlushRecv',
+ 'ForNext',
+ 'GetDate',
+ 'GetDir', //(version 4.46 or later)
+ 'GetEnv',
+ 'GetPassword',
+ 'GetTime',
+ 'GetTitle',
+ 'GetVer', //(version 4.58 or later)
+ 'GoTo',
+ 'If',
+ 'IfDefined', // (version 4.46 or later)
+ 'IfThenElseIf',
+ 'Include',
+ 'InputBox',
+ 'Int2Str',
+ 'KmtFinish',
+ 'KmtGet',
+ 'KmtRecv',
+ 'KmtSend',
+ 'LoadKeyMap',
+ 'LogClose',
+ 'LogOpen',
+ 'LogPause',
+ 'LogStart',
+ 'LogWrite',
+ 'Loop', // (version 4.56 or later)
+ 'MakePath',
+ 'MessageBox',
+ 'MPause', // (version 4.27 or later)
+ 'PasswordBox',
+ 'Pause',
+ 'QuickvanRecv',
+ 'QuickvanSend',
+ 'Random', //(version 4.27 or later)
+ '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)
+ 'Send',
+ 'SendBreak',
+ 'SendFile',
+ 'SendKcode',
+ 'Sendln',
+ 'SetBaud', // (version 4.58 or later)
+ 'SetDate',
+ 'SetDir',
+ 'SetDlgPos',
+ 'SetDTR', // (version 4.59 or later)
+ 'SetRTS', // (version 4.59 or later)
+ 'SetEnv', // (version 4.54 or later)
+ 'SetEcho',
+ 'SetExitCode',
+ 'SetSync',
+ 'SetTime',
+ 'SetTitle',
+ 'Show',
+ 'ShowTT',
+ 'Sprintf', // (version 4.52 or later)
+ 'StatusBox',
+ 'Str2Code',
+ 'Str2Int',
+ 'StrCompare',
+ 'StrConcat',
+ 'StrCopy',
+ 'StrLen',
+ 'StrMatch', // (version 4.59 or later)
+ 'StrScan',
+ '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)
+ 'Wait',
+ 'WaitEvent',
+ 'Waitln',
+ 'WaitRecv',
+ 'WaitRegex', // (version 4.21 or later)
+ 'While',
+ 'XmodemRecv',
+ 'XmodemSend',
+ 'YesNoBox',
+ 'ZmodemRecv',
+ 'ZmodemSend'
+ ),
+ /* System Variables */
+ 2 => array(
+ 'groupmatchstr1',
+ 'groupmatchstr2',
+ 'groupmatchstr3',
+ 'groupmatchstr4',
+ 'groupmatchstr5',
+ 'groupmatchstr6',
+ 'groupmatchstr7',
+ 'groupmatchstr8',
+ 'groupmatchstr9',
+ 'inputstr',
+ 'matchstr',
+ 'param2',
+ 'param3',
+ 'param4',
+ 'param5',
+ 'param6',
+ 'param7',
+ 'param8',
+ 'param9',
+ 'result',
+ 'timeout'
+ ),
+ /* LogMeTT Key Words */
+ 3 => array(
+ '$[1]',
+ '$[2]',
+ '$[3]',
+ '$[4]',
+ '$[5]',
+ '$[6]',
+ '$[7]',
+ '$[8]',
+ '$connection$',
+ '$email$',
+ '$logdir$',
+ '$logfilename$',
+ '$logit$',
+ '$mobile$',
+ '$name$',
+ '$pager$',
+ '$parent$',
+ '$phone$',
+ '$snippet$',
+ '$ttdir$',
+ '$user$',
+ '$windir$',
+ ),
+ /* Keyword Symbols */
+ 4 => array(
+ 'and',
+ 'not',
+ 'or',
+ '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!important;',
+ 2 => 'color: #808000; font-weight: bold;', // System Variables
+ 3 => 'color: #ff0000; font-weight: bold;', // LogMeTT Key Words
+ 4 => 'color: #ff00ff; font-weight: bold;' // Keyword Symbols
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(),
+ 'BRACKETS' => array(
+ 0 => 'color: #ff00ff; font-weight: bold;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #800080;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #008080;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #ff00ff; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff; font-weight: bold;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'REGEXPS' => array(
+ 0 => array (
+ GESHI_SEARCH => '(\:[_a-zA-Z][_a-zA-Z0-9]+)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/text.php b/application/libraries/geshi/text.php
new file mode 100644
index 000000000..24d3f10ee
--- /dev/null
+++ b/application/libraries/geshi/text.php
@@ -0,0 +1,84 @@
+<?php
+/*************************************************************************************
+ * text.php
+ * --------
+ * Author: Sean Hanna (smokingrope@gmail.com)
+ * Copyright: (c) 2006 Sean Hanna
+ * Release Version: 1.0.8.6
+ * Date Started: 04/23/2006
+ *
+ * Standard Text File (No Syntax Highlighting).
+ * Plaintext language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 04/23/2006 (0.5.0)
+ * - Syntax File Created
+ *
+ * 04/27/2006 (1.0.0)
+ * - Documentation Cleaned Up
+ * - First Release
+ *
+ * TODO (updated 04/27/2006)
+ * -------------------------
+ *
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Text',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(),
+ 'SYMBOLS' => array(),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(),
+ 'COMMENTS' => array(),
+ 'ESCAPE_CHAR' => array(),
+ 'BRACKETS' => array(),
+ 'STRINGS' => array(),
+ 'NUMBERS' => array(),
+ 'METHODS' => array(),
+ 'SYMBOLS' => array(),
+ 'SCRIPT' => array(),
+ 'REGEXPS' => 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(
+ 'ALL' => GESHI_NEVER
+ ),
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/thinbasic.php b/application/libraries/geshi/thinbasic.php
new file mode 100644
index 000000000..6a0b72f9f
--- /dev/null
+++ b/application/libraries/geshi/thinbasic.php
@@ -0,0 +1,868 @@
+<?php
+/*************************************************************************************
+ * thinbasic.php
+ * ------
+ * 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
+ * Date Started: 2006/05/12
+ *
+ * thinBasic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/05/12 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2006/05/12)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'thinBasic',
+ 'COMMENT_SINGLE' => array(1 => "'"),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'XOR','XML_TREETOSTRING','XML_PARSEFILE','XML_PARSE','XML_PARENT','XML_NODETYPE','XML_NODETOSTRING','XML_NEXTSIBLING',
+ 'XML_LASTERROR','XML_GETTAG','XML_FREE','XML_FINDNODE','XML_DECODEPARAM','XML_CHILDDATA','XML_CHILD','XML_ATTRIBVALUE',
+ 'XML_ATTRIBNAME','XML_ATTRIBCOUNT','WORD','WITH','WIN_SHOW','WIN_SETTITLE','WIN_SETFOREGROUND','WIN_ISZOOMED',
+ 'WIN_ISVISIBLE','WIN_ISICONIC','WIN_GETTITLE','WIN_GETFOREGROUND','WIN_GETCLASS','WIN_GETACTIVE','WIN_FLASH','WIN_FINDBYTITLE',
+ 'WIN_FINDBYCLASS','WHILE','WEND','VERIFY','VARPTR','VARIANTVT$','VARIANTVT','VARIANT',
+ 'VARIABLE_GETINFO','VARIABLE_EXISTS','VARIABLE_EXIST','VALUE','VAL','USING$','USING','USES',
+ 'USER','UNTIL','UNITS','UNION','UNICODE2ASCII','UDP_SEND','UDP_RECV','UDP_OPENSERVER',
+ 'UDP_OPEN','UDP_FREEFILE','UDP_CLOSE','UCODE$','UCASE$','UBOUND','TYPE','TRIMFULL$',
+ 'TRIM$','TOOLTIP','TOKENIZER_MOVETOEOL','TOKENIZER_KEYSETUSERSTRING','TOKENIZER_KEYSETUSERNUMBER','TOKENIZER_KEYGETUSERSTRING','TOKENIZER_KEYGETUSERNUMBER','TOKENIZER_KEYGETSUBTYPE',
+ 'TOKENIZER_KEYGETNAME','TOKENIZER_KEYGETMAINTYPE','TOKENIZER_KEYFIND','TOKENIZER_KEYADD','TOKENIZER_GETNEXTTOKEN','TOKENIZER_DEFAULT_SET','TOKENIZER_DEFAULT_GET','TOKENIZER_DEFAULT_CODE',
+ 'TOKENIZER_DEFAULT_CHAR','TO','TIMER','TIME$','THEN','TEXTBOX','TEXT','TCP_SEND',
+ 'TCP_RECV','TCP_PRINT','TCP_OPEN','TCP_LINEINPUT','TCP_FREEFILE','TCP_CLOSE','TB_IMGCTX_SETIMAGEADJUSTMENT','TB_IMGCTX_LOADIMAGE',
+ 'TB_IMGCTX_GETIMAGEADJUSTMENT','TBGL_VIEWPORT','TBGL_VERTEX','TBGL_USETEXTUREFLAG','TBGL_USETEXTURE','TBGL_USELINESTIPPLEFLAG','TBGL_USELINESTIPPLE','TBGL_USELIGHTSOURCEFLAG',
+ 'TBGL_USELIGHTSOURCE','TBGL_USELIGHTINGFLAG','TBGL_USELIGHTING','TBGL_USEFOGFLAG','TBGL_USEFOG','TBGL_USEDEPTHMASK','TBGL_USEDEPTHFLAG','TBGL_USEDEPTH',
+ 'TBGL_USECLIPPLANEFLAG','TBGL_USECLIPPLANE','TBGL_USEBLENDFLAG','TBGL_USEBLEND','TBGL_USEALPHATEST','TBGL_TRANSLATE','TBGL_TORUS','TBGL_TEXCOORD2D',
+ 'TBGL_SPHERE','TBGL_SHOWWINDOW','TBGL_SHOWCURSOR','TBGL_SETWINDOWTITLE','TBGL_SETUPLIGHTSOURCE','TBGL_SETUPFOG','TBGL_SETUPCLIPPLANE','TBGL_SETPRIMITIVEQUALITY',
+ 'TBGL_SETLIGHTPARAMETER','TBGL_SETDRAWDISTANCE','TBGL_SCALE','TBGL_SAVESCREENSHOT','TBGL_ROTATEXYZ','TBGL_ROTATE','TBGL_RESETMATRIX','TBGL_RENDERTOTEXTURE',
+ 'TBGL_RENDERMATRIX3D','TBGL_RENDERMATRIX2D','TBGL_PUSHMATRIX','TBGL_PRINTFONT','TBGL_PRINTBMP','TBGL_PRINT','TBGL_POS3DTOPOS2D','TBGL_POPMATRIX',
+ 'TBGL_POLYGONLOOK','TBGL_POINTSIZE','TBGL_POINTINSIDE3D','TBGL_NORMAL','TBGL_NEWLIST','TBGL_MOUSEGETWHEELDELTA','TBGL_MOUSEGETRBUTTON','TBGL_MOUSEGETPOSY',
+ 'TBGL_MOUSEGETPOSX','TBGL_MOUSEGETMBUTTON','TBGL_MOUSEGETLBUTTON','TBGL_M15SETVERTEXZ','TBGL_M15SETVERTEXY','TBGL_M15SETVERTEXXYZ','TBGL_M15SETVERTEXX','TBGL_M15SETVERTEXTEXY',
+ 'TBGL_M15SETVERTEXTEXXY','TBGL_M15SETVERTEXTEXX','TBGL_M15SETVERTEXTEXN','TBGL_M15SETVERTEXRGB','TBGL_M15SETVERTEXR','TBGL_M15SETVERTEXPSTOP','TBGL_M15SETVERTEXPARAM','TBGL_M15SETVERTEXLAYER',
+ 'TBGL_M15SETVERTEXG','TBGL_M15SETVERTEXB','TBGL_M15SETMODELVERTEXCOUNT','TBGL_M15SETBONECHILD','TBGL_M15ROTBONEZ','TBGL_M15ROTBONEY','TBGL_M15ROTBONEX','TBGL_M15ROTBONE',
+ 'TBGL_M15RESETBONES','TBGL_M15RECALCNORMALS','TBGL_M15LOADMODEL','TBGL_M15INITMODELBUFFERS','TBGL_M15GETVERTEXZ','TBGL_M15GETVERTEXY','TBGL_M15GETVERTEXXYZ','TBGL_M15GETVERTEXX',
+ 'TBGL_M15GETVERTEXTEXY','TBGL_M15GETVERTEXTEXXY','TBGL_M15GETVERTEXTEXX','TBGL_M15GETVERTEXTEXN','TBGL_M15GETVERTEXRGB','TBGL_M15GETVERTEXR','TBGL_M15GETVERTEXPSTOP','TBGL_M15GETVERTEXPARAM',
+ 'TBGL_M15GETVERTEXLAYER','TBGL_M15GETVERTEXG','TBGL_M15GETVERTEXB','TBGL_M15GETMODELVERTEXCOUNT','TBGL_M15GETMODELPOLYCOUNT','TBGL_M15ERASECHILDBONES','TBGL_M15DRAWMODEL','TBGL_M15DEFBONERESET',
+ 'TBGL_M15DEFBONELAYER','TBGL_M15DEFBONEBOX','TBGL_M15DEFBONEANCHOR','TBGL_M15DEFBONEADDVERTEX','TBGL_M15CLEARMODEL','TBGL_M15APPLYBONES','TBGL_M15ADDBONETREEITEM','TBGL_LOADTEXTURE',
+ 'TBGL_LOADFONT','TBGL_LOADBMPFONT','TBGL_LINEWIDTH','TBGL_LINESTIPPLE','TBGL_KILLFONT','TBGL_ISWINDOW','TBGL_ISPOINTVISIBLE','TBGL_ISPOINTBEHINDVIEW',
+ 'TBGL_GETWINDOWMULTIKEYSTATE','TBGL_GETWINDOWKEYSTATE','TBGL_GETWINDOWKEYONCE','TBGL_GETWINDOWCLIENT','TBGL_GETTEXTURENAME','TBGL_GETTEXTURELIST','TBGL_GETPIXELINFO','TBGL_GETMULTIASYNCKEYSTATE',
+ 'TBGL_GETLASTGLERROR','TBGL_GETFRAMERATE','TBGL_GETDESKTOPINFO','TBGL_GETASYNCKEYSTATE','TBGL_ERRORMESSAGES','TBGL_ENDPOLY','TBGL_ENDLIST','TBGL_DRAWFRAME',
+ 'TBGL_DESTROYWINDOW','TBGL_DELETELIST','TBGL_CYLINDER','TBGL_CREATEWINDOWEX','TBGL_CREATEWINDOW','TBGL_COLORALPHA','TBGL_COLOR','TBGL_CLEARFRAME',
+ 'TBGL_CAMERA','TBGL_CALLLIST','TBGL_BUILDFONT','TBGL_BOX','TBGL_BLENDFUNC','TBGL_BINDTEXTURE','TBGL_BEGINPOLY','TBGL_BACKCOLOR',
+ 'TBGL_ALPHAFUNC','TBDI_JOYZ','TBDI_JOYY','TBDI_JOYX','TBDI_JOYSTOPEFFECT','TBDI_JOYSLIDER','TBDI_JOYSETRANGEZ','TBDI_JOYSETRANGEY',
+ 'TBDI_JOYSETRANGEXYZ','TBDI_JOYSETRANGEX','TBDI_JOYSETDEADZONEZ','TBDI_JOYSETDEADZONEY','TBDI_JOYSETDEADZONEXYZ','TBDI_JOYSETDEADZONEX','TBDI_JOYSETAUTOCENTER','TBDI_JOYRZ',
+ 'TBDI_JOYRY','TBDI_JOYRX','TBDI_JOYPOV','TBDI_JOYPLAYEFFECT','TBDI_JOYLOADEFFECT','TBDI_JOYHASFF','TBDI_JOYHASEFFECT','TBDI_JOYGETEFFECTNAME',
+ 'TBDI_JOYGETEFFECTGUID','TBDI_JOYCREATEEFFECT','TBDI_JOYCOUNTPOV','TBDI_JOYCOUNTEFFECTS','TBDI_JOYCOUNTBTN','TBDI_JOYCOUNTAXES','TBDI_JOYBUTTON','TBDI_JOYAVAIL',
+ 'TBDI_INIT','TBASS_STREAMFREE','TBASS_STREAMCREATEFILE','TBASS_SETVOLUME','TBASS_SETEAXPRESET','TBASS_SETEAXPARAMETERS','TBASS_SETCONFIG','TBASS_SET3DPOSITION',
+ 'TBASS_SET3DFACTORS','TBASS_SAMPLELOAD','TBASS_SAMPLEGETCHANNEL','TBASS_MUSICLOAD','TBASS_MUSICFREE','TBASS_INIT','TBASS_GETVOLUME','TBASS_GETVERSION',
+ 'TBASS_GETCONFIG','TBASS_FREE','TBASS_ERRORGETCODE','TBASS_CHANNELSTOP','TBASS_CHANNELSETPOSITION','TBASS_CHANNELSETATTRIBUTES','TBASS_CHANNELSET3DPOSITION','TBASS_CHANNELPLAY',
+ 'TBASS_CHANNELPAUSE','TBASS_CHANNELISACTIVE','TBASS_CHANNELGETPOSITION','TBASS_CHANNELGETLENGTH','TBASS_CHANNELGETATTRIBUTES','TBASS_APPLY3D','TANH','TANGENT',
+ 'TAN','TALLY','TABCTRL_ONNOTIFY','TABCTRL_INSERTITEM','TABCTRL_GETCURSEL','SWAP','SUB','STRZIP$',
+ 'STRUNZIP$','STRREVERSE$','STRPTRLEN','STRPTR','STRINSERT$','STRING$','STRING','STRDELETE$',
+ 'STR$','STOP','STEP','STDOUT','STDIN','STAT_SUM','STAT_STDERROR','STAT_STDDEVIATION',
+ 'STAT_RANDOM','STAT_PRODUCT','STAT_MIN','STAT_MEDIAN','STAT_MEANHARMONIC','STAT_MEANGEOMETRIC','STAT_MEANARITHMETIC','STAT_MAX',
+ 'STAT_INVERSESUM','STAT_HISTOGRAM','STAT_FILLARRAY','STAT_COUNT','STAT_COPYARRAY','STAT_CLONEARRAY','STAT_CHISQUARE','STATIC',
+ 'STATE','SQR','SPLIT','SORT','SMTP_STATISTICS','SMTP_SETOPTION','SMTP_SETLOGFILE','SMTP_SENDHTML',
+ 'SMTP_SENDEMAIL','SMTP_GETERROR','SMTP_FINISHED','SMTP_DEBUG','SMTP_CONNECT','SMTP_CLOSE','SLEEP','SIZEOF',
+ 'SIZE','SINH','SINGLE','SIN','SIGNED','SHOW','SHIFT','SHAPETOBMP',
+ 'SGN','SETAT','SET','SENDMESSAGE','SENDKEYSBULK','SENDKEYS','SEND','SELECTEXPRESSION',
+ 'SELECT','SECH','SEC','SCAN','SAPI_SPEAK','SAPI_SETVOLUME','SAPI_SETRATE','SAPI_MODULELOADED',
+ 'SAPI_GETVOLUME','SAPI_GETRATE','RTRIM$','RTF_SETTEXT','RTF_SETFONTSIZE','RTF_SETFONTNAME','RTF_SETFGCOLOR','RTF_SETEFFECT',
+ 'RTF_SETBGCOLOR','RTF_SETALIGN','RTF_SAVETOFILE','RTF_LOADFROMFILE','RTF_GETTEXT','RTF_GETFONTSIZE','RTF_GETFONTNAME','RTF_GETEFFECT',
+ 'RTF_GETCLASS','RTF_APPENDTEXT','RSET$','ROUND','RNDF','RND','RIGHT$','RIGHT',
+ 'RGB','RESOURCE','RESIZE','RESET','REPLACE$','REPEAT$','REMOVE$','REM',
+ 'REGISTRY_SETVALUE','REGISTRY_SETTXTNUM','REGISTRY_SETTXTBOOL','REGISTRY_SETDWORD','REGISTRY_GETVALUE','REGISTRY_GETTXTNUM','REGISTRY_GETTXTBOOL','REGISTRY_GETDWORD',
+ 'REGISTRY_GETALLKEYS','REGISTRY_DELVALUE','REGISTRY_DELKEY','REFERENCE','REF','REDRAW','REDIM','RAS_SETPARAMS',
+ 'RAS_OPENDIALUPDIALOG','RAS_LOADENTRIES','RAS_HANGUPALL','RAS_HANGUP','RAS_GETENTRY','RAS_BEGINDIAL','RANDOMIZE','RADTODEG',
+ 'QUERYPERFORMANCEFREQUENCY','QUERYPERFORMANCECOUNTER','QUAD','PTR','PRESERVE','POST','POPUP','POKE$',
+ 'POKE','PIXELS','PI','PERMUTATIONS','PEEKMESSAGE','PEEK$','PEEK','PC_SYSTEMUPFROM',
+ 'PC_SUSPENDSTATE','PC_SHUTDOWN','PC_SHOWCARET','PC_SETCARETBLINKTIME','PC_RESTARTDIALOG','PC_PREVENTSHUTDOWN','PC_LOCK','PC_INSERTCD',
+ 'PC_HIDECARET','PC_GETSTATEONOFF','PC_GETSCROLLLOCKKEYSTATE','PC_GETNUMLOCKKEYSTATE','PC_GETCARETBLINKTIME','PC_GETCAPSLOCKKEYSTATE','PC_EMPTYBIN','PC_EJECTCD',
+ 'PC_DECODECDERROR','PCT','PARSESET$','PARSECOUNT','PARSE$','PARSE','PARAMETERS','OUTSIDE',
+ 'OS_WINVERSIONTEXT','OS_WINGETVERSIONTIMELINE','OS_SHELLEXECUTE','OS_SHELLABOUT','OS_SHELL','OS_SETLASTCALLDLLERROR','OS_SERVICESTOP','OS_SERVICESTATUSDESCRIPTION',
+ 'OS_SERVICESTARTTYPEDESCRIPTION','OS_SERVICESTART','OS_SERVICESETSTARTTYPE','OS_SERVICEQUERY','OS_SERVICEGETSTARTTYPE','OS_SERVICEGETLIST','OS_PROCESSKILLBYNAME','OS_PROCESSKILLBYID',
+ 'OS_PROCESSISRUNNING','OS_PROCESSGETLIST','OS_PROCESSGETID','OS_PROCESSARERUNNING','OS_MESSAGEBEEP','OS_ISWOW64','OS_ISFEATUREPRESENT','OS_IEVERSION',
+ 'OS_GETWINDOWSDIR','OS_GETUSERNAME','OS_GETTEMPDIR','OS_GETSYSTEMDIR','OS_GETSPECIALFOLDER','OS_GETLASTCALLDLLSTATUS','OS_GETLASTCALLDLLERROR','OS_GETCURRENTTHREADID',
+ 'OS_GETCURRENTPROCESSID','OS_GETCOMPUTERNAME','OS_GETCOMMANDS','OS_GETCOMMAND','OS_FLASHWINDOW','OS_FATALAPPEXIT','OS_ENVIRON','OS_CALLDLL',
+ 'OR','OPTIONAL','OPTION','OPT','ONCE','ON','OFF','NUMBER',
+ 'NOT','NEXT','NEW','MSGBOX','MOUSEPTR','MODULE','MODELESS','MODAL',
+ 'MOD','MKWRD$','MKS$','MKQ$','MKL$','MKI$','MKE$','MKDWD$',
+ 'MKD$','MKCUX$','MKCUR$','MKBYT$','MIN$','MIN','MID$','MENU',
+ 'MDI_CREATE','MCASE$','MAX$','MAX','MAKWRD','MAKLNG','MAKINT','MAKDWR',
+ 'LTRIM$','LSET$','LOWRD','LOOP','LONG','LOINT','LOG_WRITE','LOGB',
+ 'LOG2','LOG10','LOG','LOCAL','LOC','LL_UPDATEBYNAME','LL_UPDATE','LL_TOSTRING',
+ 'LL_TOFILE','LL_NAME','LL_GETITEM','LL_GETBYNUMBER','LL_FROMFILE','LL_FREE','LL_FINDLAST','LL_FINDBYNAME',
+ 'LL_FINDBYDATA','LL_DELETELIKE','LL_DELETEBYNAME','LL_DELETE','LL_DATABYNAME','LL_DATA','LL_COUNT','LL_ADD',
+ 'LISTBOX','LINE','LIBRARY_EXISTS','LIB','LEN','LEFT$','LEFT','LCASE$',
+ 'LBOUND','LABEL','KILL','JOIN$','ITERATE','ISWINDOW','ISUNICODE','ISTRUE',
+ 'ISODD','ISLIKE','ISFALSE','ISEVEN','IP_TOSTRING','IP_ADDR','INTERNALINFO','INTEGER',
+ 'INT','INSTR','INSIDE','INPUTBOX$','INI_SETKEY','INI_GETSECTIONSLIST','INI_GETSECTIONKEYLIST','INI_GETKEY',
+ 'INET_URLDOWNLOAD','INET_PING','INET_OPENDIALUPDIALOG','INET_GETSTATE','INET_GETREMOTEMACADDRESS','INET_GETIP','INET_GETCONNECTIONMODE','INCR',
+ 'IN','IMAGE','IIF$','IIF','IF','ICRYPTO_TESTSHA1','ICRYPTO_TESTMD5','ICRYPTO_TESTCRC32',
+ 'ICRYPTO_TESTCRC16','ICRYPTO_STRING2ASCII','ICRYPTO_SHA1','ICRYPTO_MD5','ICRYPTO_ENCRYPTRIJNDAEL','ICRYPTO_ENCRYPTRC4','ICRYPTO_DECRYPTRIJNDAEL','ICRYPTO_DECRYPTRC4',
+ 'ICRYPTO_CRC32','ICRYPTO_CRC16','ICRYPTO_BYTEXOR','ICRYPTO_BIN2ASCII','ICRYPTO_ASCII2STRING','ICRYPTO_ASCII2BIN','HOST_ADDR','HOSTNAME_TOIP',
+ 'HOSTIP_TONAME','HIWRD','HIINT','HEX$','HASH','HANDLE','GUIDTXT$','GUID$',
+ 'GRAPHIC','GLVOID','GLUSHORT','GLUINT','GLUBYTE','GLSIZEI','GLSHORT','GLOBAL',
+ 'GLINT','GLFLOAT','GLENUM','GLDOUBLE','GLCLAMPF','GLCLAMPD','GLBYTE','GLBOOLEAN',
+ 'GLBITFIELD','GETWINDOWMULTIKEYSTATE','GETWINDOWKEYSTATE','GETTICKCOUNT','GETS','GETMULTIASYNCKEYSTATE','GETMESSAGE','GETCURRENTINSTANCE',
+ 'GETAT','GETASYNCKEYSTATE','GET','FUNCTION_NPARAMS','FUNCTION_EXISTS','FUNCTION_CPARAMS','FUNCTION','FTP_SETSTRING',
+ 'FTP_SETSERVERDIR','FTP_SETNUMBER','FTP_SETMODE','FTP_SETLOGFILE','FTP_SETLOCALDIR','FTP_QUIT','FTP_PUTFILE','FTP_GETSTRING',
+ 'FTP_GETSERVERDIR','FTP_GETNUMBER','FTP_GETLOCALDIR','FTP_GETLIST','FTP_GETFILE','FTP_GETERRORSTRING','FTP_GETERRORNUMBER','FTP_FINISHED',
+ 'FTP_EXTRACT','FTP_DELFILE','FTP_CONNECT','FTP_COMMAND','FRAME','FRAC','FORMAT$','FOR',
+ 'FONT_LIST','FONT_CREATE','FONT','FOCUS','FLUSH','FIX','FILE_SIZE','FILE_SHELLDELETE',
+ 'FILE_SHELLCOPY','FILE_SETDATETIME','FILE_SEEK','FILE_SAVE','FILE_RENAME','FILE_PUT','FILE_PATHSPLIT','FILE_OPEN',
+ 'FILE_LOF','FILE_LOAD','FILE_LINEPRINT','FILE_LINEINPUT','FILE_KILL','FILE_GETVERSIONSTRING','FILE_GETVERSION','FILE_GETTIME',
+ 'FILE_GETDATETIMESTAMP','FILE_GETDATETIME','FILE_GETDATE','FILE_GET','FILE_EXISTS','FILE_EOF','FILE_COPY','FILE_CLOSE',
+ 'FILE_CHANGED','FILE_APPEND','FACTORIAL','EXTRACT$','EXT','EXPORT','EXP2','EXP10',
+ 'EXP','EXIT','EVAL_STRING','EVAL_SETSTRING','EVAL_SETNUMBER','EVAL_MATH','EVAL_LINKEXT','EVAL_GETSTRING',
+ 'EVAL_GETNUMBER','EVAL_ERRORGETTOKEN','EVAL_ERRORDESCRIPTION','EVAL_ERRORCLEAR','EVAL','ERRCLEAR','ERR','ENGINE_GETCURRENTTOKEN',
+ 'ENDIF','END','ENABLE','ELSEIF','ELSE','ECHO','DWORD','DT_YEAR',
+ 'DT_TIMETOSEC','DT_TIMESUBSECONDS','DT_TIMEFORMAT','DT_TIMEADDSECONDS','DT_SETTIMESEPARATOR','DT_SETDATESEPARATOR','DT_SETDATECENTURY','DT_SECTOTIME',
+ 'DT_SECTODATE','DT_SECOND','DT_MONTH','DT_MINUTE','DT_LASTDAYOFMONTH','DT_ISVALIDDATE','DT_ISLEAPYEAR','DT_HOUR',
+ 'DT_GETWEEKDAYNAME','DT_GETWEEKDAY','DT_GETTIMESTAMP','DT_GETTIMESEPARATOR','DT_GETMONTHNAME','DT_GETDATESEPARATOR','DT_GETDATECENTURY','DT_DAY',
+ 'DT_DATETOSEC','DT_DATETIMESUBSECONDS','DT_DATETIMEADDSECONDS','DT_DATESUBDAYS','DT_DATEFORMAT','DT_DATEDIFF','DT_DATEADDDAYS','DT_COOKIEDATE',
+ 'DRAW','DOUBLE','DOEVENTS','DO','DISABLE','DIR_REMOVE','DIR_MAKEALL','DIR_MAKE',
+ 'DIR_LISTARRAY','DIR_LIST','DIR_ISEMPTY','DIR_ISDIR','DIR_GETCURRENT','DIR_EXISTS','DIR_CHANGEDRIVE','DIR_CHANGE',
+ 'DIM','DICTIONARY_MEMINFO','DICTIONARY_LISTKEYS','DICTIONARY_FREE','DICTIONARY_FIND','DICTIONARY_EXISTS','DICTIONARY_CREATE','DICTIONARY_COUNT',
+ 'DICTIONARY_ADD','DIALOG_STOPEVENTS','DIALOG_SAVEFILE','DIALOG_OPENFILE','DIALOG_GETCONTROL','DIALOG_CHOOSECOLOR','DIALOG_BROWSEFORFOLDER','DIALOG',
+ 'DESKTOP','DESCENDING','DESCEND','DELETEOBJECT','DELETE','DEGTORAD','DECR','DECLARE',
+ 'DATE$','CVWRD','CVS','CVQ','CVL','CVI','CVE','CVDWD',
+ 'CVD','CVCUX','CVCUR','CVBYT','CURRENCY','CUR','CSET$','CSCH',
+ 'CSC','CRYPTO_GETPROVIDERTYPESCOUNT','CRYPTO_GETPROVIDERSCOUNT','CRYPTO_GETDEFAULTPROVIDER','CRYPTO_GENRANDOMSTRING','CRYPTO_ENUMPROVIDERTYPES','CRYPTO_ENUMPROVIDERS','CRYPTO_ENCRYPT',
+ 'CRYPTO_DECRYPT','CREATEFONT','COTH','COTAN','COSH','COS','CONTROL_SETTEXT','CONTROL_GETTEXT',
+ 'CONTROL_GETNUMBER','CONTROL','CONST','CONSOLE_WRITELINE','CONSOLE_WRITE','CONSOLE_WAITKEY','CONSOLE_SHOWWINDOW','CONSOLE_SHOWCURSOR',
+ 'CONSOLE_SETTITLE','CONSOLE_SETTEXTATTRIBUTE','CONSOLE_SETSTDHANDLE','CONSOLE_SETSCREENBUFFERSIZE','CONSOLE_SETPROGRESSBARCHAR','CONSOLE_SETOUTPUTMODE','CONSOLE_SETOUTPUTCP','CONSOLE_SETINPUTMODE',
+ 'CONSOLE_SETFILEAPISTOOEM','CONSOLE_SETFILEAPISTOANSI','CONSOLE_SETCURSORSIZE','CONSOLE_SETCURSORPOSITION','CONSOLE_SETCP','CONSOLE_SETACTIVESCREENBUFFER','CONSOLE_SCROLLWINDOW','CONSOLE_SCROLLBUFFERONEROW',
+ 'CONSOLE_SCROLLBUFFER','CONSOLE_SAVESCREEN','CONSOLE_RESTORESCREEN','CONSOLE_READLINE','CONSOLE_READ','CONSOLE_PROGRESSBAR','CONSOLE_PRINTLINE','CONSOLE_PRINTAT',
+ 'CONSOLE_PRINT','CONSOLE_NORMALSCREEN','CONSOLE_LINE','CONSOLE_INKEYB','CONSOLE_INKEY','CONSOLE_HIDECURSOR','CONSOLE_GETTITLE','CONSOLE_GETTEXTATTRIBUTE',
+ 'CONSOLE_GETSTDHANDLE','CONSOLE_GETSIZEY','CONSOLE_GETSIZEX','CONSOLE_GETPROGRESSBARCHAR','CONSOLE_GETOUTPUTMODE','CONSOLE_GETOUTPUTCP','CONSOLE_GETNUMBEROFMOUSEBUTTONS','CONSOLE_GETINPUTMODE',
+ 'CONSOLE_GETCURSORY','CONSOLE_GETCURSORX','CONSOLE_GETCURSORSIZE','CONSOLE_GETCURRENTFONTINDEX','CONSOLE_GETCP','CONSOLE_GENERATECTRLEVENT','CONSOLE_FULLSCREEN','CONSOLE_FREE',
+ 'CONSOLE_FOREGROUNDRGB','CONSOLE_ENABLECTRLC','CONSOLE_DISABLECTRLC','CONSOLE_CREATESCREENBUFFER','CONSOLE_COLORAT','CONSOLE_CLS','CONSOLE_BOX','CONSOLE_BACKGROUNDRGB',
+ 'CONSOLE_ATTACH','CONSOLE_AREFILEAPISANSI','CONSOLE_ALLOC','COM_VARIANTINIT','COM_VARIANTCOPY','COM_VARIANTCLEAR','COM_SUCCEEDED','COM_STRINGFROMCLSID',
+ 'COM_RELEASE','COM_QUERYINTERFACE','COM_PROGIDFROMCLSID','COM_ISEQUALIID','COM_ISEQUALGUID','COM_ISEQUALCLSID','COM_GETOBJECT','COM_GETENGINEGUID',
+ 'COM_EXECUTE','COM_DISPLAYERROR','COM_CREATEOBJECT','COM_CLSIDFROMSTRING','COM_CLSIDFROMPROGID','COM_BUILDVARIANT','COMBOBOX','COMBINATIONS',
+ 'COLOR','CLIPBOARD_SETTEXT','CLIPBOARD_GETTEXT','CLIENT','CLEARMESSAGES','CHR$','CHOOSE$','CHOOSE',
+ 'CHECKBOX','CHECK3STATE','CHECK','CGI_WRITELOGFILE','CGI_WRITE','CGI_URLDECODESTRING','CGI_UPLOADFILESTIME','CGI_UPLOADFILESNUMBER',
+ 'CGI_UPLOADFILESIZE','CGI_STARTSESSION','CGI_SETSESSIONVARIABLE','CGI_RESETDEFAULTSETTINGS','CGI_REMOVESPECIALCHARSPREFIX','CGI_REMOVEQUOTE','CGI_READ','CGI_LOADCONFIGFILE',
+ 'CGI_HEADER','CGI_GETSESSIONVARIABLE','CGI_GETREQUESTMETHOD','CGI_GETQUERYVALUE','CGI_GETCURRENTSESSION','CGI_GETCURRENTGUID','CGI_ENVIRON','CGI_CFGSETOPTION',
+ 'CGI_CFGGETOPTION','CGI_ADDSPECIALCHARSPREFIX','CGI_ADDQUOTE','CEIL','CASE','CALL','BYVAL','BYTE',
+ 'BYREF','BYCMD','BUTTON','BUNDLE_SETSCRIPTPARAMETERS','BUNDLE_SETSCRIPTNAME','BUNDLE_SETFLAGOBFUSCATEMAINSCRIPT','BUNDLE_SETFLAGDELETEAFTERRUN','BUNDLE_SETFLAGCOMPRESSALLFILES',
+ 'BUNDLE_SETFLAGASKBEFOREEXTRACT','BUNDLE_SETEXTRACTIONFOLDER','BUNDLE_SETCREATIONFOLDER','BUNDLE_SETBUNDLENAME','BUNDLE_RESET','BUNDLE_MAKE','BUNDLE_BUILDER','BUNDLE_ADDFOLDER',
+ 'BUNDLE_ADDFILE','BOUNDCHECK','BIN$','BIFF_WRITETEXT','BIFF_WRITENUMBER','BIFF_WRITEDATE','BIFF_SETROWHEIGHT','BIFF_SETCOLWIDTH',
+ 'BIFF_SETBUFFER','BIFF_CREATEFILE','BIFF_CLOSEFILE','BETWEEN','BEEP','BAR','ATTACH','ATN',
+ 'AT','ASSIGN','ASCIZ','ASCIIZ','ASCII2UNICODE','ASCENDING','ASCEND','ASC',
+ 'AS','ARRAY','ARCTANH','ARCSINH','ARCSIN','ARCSECH','ARCSEC','ARCCSCH',
+ 'ARCCSC','ARCCOTH','ARCCOT','ARCCOSH','ARCCOS','APP_TIMER','APP_SOURCEPATH','APP_SOURCENAME',
+ 'APP_SOURCEFULLNAME','APP_PATH','APP_NAME','APP_LISTVARIABLES','APP_LISTKEYWORDS','APP_LISTFUNCTIONS','APP_LISTEQUATES','APP_INCLUDEPATH',
+ 'APP_GETMODULEFULLPATH','APP_COUNTER','APPEND','ANY','ANIMATE_STOP','ANIMATE_PLAY','ANIMATE_OPEN','AND',
+ 'ALIAS','ALERT','ADD','ACODE$','ABS','%DEF','#MINVERSION','#IF',
+ '#ENDIF','#ELSEIF','#ELSE','#DEFAULT','#DEF','SQLWRITEPRIVATEPROFILESTRING','SQLWRITEFILEDSN','SQLWRITEDSNTOINI',
+ 'SQLVALIDDSN','SQLTRANSACT','SQLTABLES','SQLTABLEPRIVILEGES','SQLSTATISTICS','SQLSPECIALCOLUMNS','SQLSETSTMTOPTION','SQLSETSTMTATTR',
+ 'SQLSETSCROLLOPTIONS','SQLSETPOS','SQLSETPARAM','SQLSETENVATTR','SQLSETDESCREC','SQLSETDESCFIELD','SQLSETCURSORNAME','SQLSETCONNECTOPTION',
+ 'SQLSETCONNECTATTR','SQLSETCONFIGMODE','SQLROWCOUNT','SQLREMOVETRANSLATOR','SQLREMOVEDSNFROMINI','SQLREMOVEDRIVERMANAGER','SQLREMOVEDRIVER','SQLREADFILEDSN',
+ 'SQLPUTDATA','SQLPROCEDURES','SQLPROCEDURECOLUMNS','SQLPRIMARYKEYS','SQLPREPARE','SQLPOSTINSTALLERERROR','SQLPARAMOPTIONS','SQLPARAMDATA',
+ 'SQLNUMRESULTCOLS','SQLNUMPARAMS','SQLNATIVESQL','SQLMORERESULTS','SQLMANAGEDATASOURCES','SQLINSTALLTRANSLATOREX','SQLINSTALLERERROR','SQLINSTALLDRIVERMANAGER',
+ 'SQLINSTALLDRIVEREX','SQLGETTYPEINFO','SQLGETTRANSLATOR','SQLGETSTMTOPTION','SQLGETSTMTATTR','SQLGETPRIVATEPROFILESTRING','SQLGETINSTALLEDDRIVERS','SQLGETINFO',
+ 'SQLGETFUNCTIONS','SQLGETENVATTR','SQLGETDIAGREC','SQLGETDIAGFIELD','SQLGETDESCREC','SQLGETDESCFIELD','SQLGETDATA','SQLGETCURSORNAME',
+ 'SQLGETCONNECTOPTION','SQLGETCONNECTATTR','SQLGETCONFIGMODE','SQLFREESTMT','SQLFREEHANDLE','SQLFREEENV','SQLFREECONNECT','SQLFOREIGNKEYS',
+ 'SQLFETCHSCROLL','SQLFETCH','SQLEXTENDEDFETCH','SQLEXECUTE','SQLEXECDIRECT','SQLERROR','SQLENDTRAN','SQLDRIVERS',
+ 'SQLDRIVERCONNECT','SQLDISCONNECT','SQLDESCRIBEPARAM','SQLDESCRIBECOL','SQLDATASOURCES','SQLCREATEDATASOURCE','SQLCOPYDESC','SQLCONNECT',
+ 'SQLCONFIGDRIVER','SQLCONFIGDATASOURCE','SQLCOLUMNS','SQLCOLUMNPRIVILEGES','SQLCOLATTRIBUTES','SQLCOLATTRIBUTE','SQLCLOSECURSOR','SQLCANCEL',
+ 'SQLBULKOPERATIONS','SQLBROWSECONNECT','SQLBINDPARAMETER','SQLBINDPARAM','SQLBINDCOL','SQLALLOCSTMT','SQLALLOCHANDLE','SQLALLOCENV',
+ 'SQLALLOCCONNECT','ODBCWRONGDRIVER','ODBCWRITEPRIVATEPROFILESTRING','ODBCWRITEFILEDSN','ODBCWRITEDSNTOINI','ODBCVALIDDSN','ODBCUPDATERECORD','ODBCUPDATEBYBOOKMARK',
+ 'ODBCUNLOCKRECORD','ODBCUNBINDCOLUMNS','ODBCUNBINDCOL','ODBCTABLESCOUNT','ODBCTABLES','ODBCTABLEPRIVILEGESCOUNT','ODBCTABLEPRIVILEGES','ODBCSUPPORTS',
+ 'ODBCSTATTABLESCHEMANAME','ODBCSTATTABLEPAGES','ODBCSTATTABLECATALOGNAME','ODBCSTATTABLECARDINALITY','ODBCSTATISTICSCOUNT','ODBCSTATISTICS','ODBCSTATINDEXSORTSEQUENCE','ODBCSTATINDEXSCHEMANAME',
+ 'ODBCSTATINDEXQUALIFIER','ODBCSTATINDEXPAGES','ODBCSTATINDEXFILTERCONDITION','ODBCSTATINDEXCOLUMNORDINALPOSITION','ODBCSTATINDEXCOLUMNNAME','ODBCSTATINDEXCATALOGNAME','ODBCSTATINDEXCARDINALITY','ODBCSTATINDEXALLOWDUPLICATES',
+ 'ODBCSPECIALCOLUMNSCOUNT','ODBCSPECIALCOLUMNS','ODBCSETTXNISOLATION','ODBCSETTRANSLATELIB','ODBCSETTRACEFILE','ODBCSETTRACE','ODBCSETSTMTUSEBOOKMARKS','ODBCSETSTMTSIMULATECURSOR',
+ 'ODBCSETSTMTROWSTATUSPTR','ODBCSETSTMTROWSFETCHEDPTR','ODBCSETSTMTROWOPERATIONPTR','ODBCSETSTMTROWBINDTYPE','ODBCSETSTMTROWBINDOFFSETPTR','ODBCSETSTMTROWARRAYSIZE','ODBCSETSTMTRETRIEVEDATA','ODBCSETSTMTQUERYTIMEOUT',
+ 'ODBCSETSTMTPARAMSTATUSPTR','ODBCSETSTMTPARAMSPROCESSEDPTR','ODBCSETSTMTPARAMSETSIZE','ODBCSETSTMTPARAMOPERATIONPTR','ODBCSETSTMTPARAMBINDTYPE','ODBCSETSTMTPARAMBINDOFFSETPTR','ODBCSETSTMTNOSCAN','ODBCSETSTMTMETADATAID',
+ 'ODBCSETSTMTMAXROWS','ODBCSETSTMTMAXLENGTH','ODBCSETSTMTKEYSETSIZE','ODBCSETSTMTFETCHBOOKMARKPTR','ODBCSETSTMTENABLEAUTOIPD','ODBCSETSTMTCURSORTYPE','ODBCSETSTMTCURSORSENSITIVITY','ODBCSETSTMTCURSORSCROLLABLE',
+ 'ODBCSETSTMTCONCURRENCY','ODBCSETSTMTATTR','ODBCSETSTMTASYNCENABLE','ODBCSETSTMTAPPROWDESC','ODBCSETSTMTAPPPARAMDESC','ODBCSETSTATICCURSOR','ODBCSETROWVERCONCURRENCY','ODBCSETRESULT',
+ 'ODBCSETRELATIVEPOSITION','ODBCSETREADONLYCONCURRENCY','ODBCSETQUIETMODE','ODBCSETPOSITION','ODBCSETPOS','ODBCSETPACKETMODE','ODBCSETOPTIMISTICCONCURRENCY','ODBCSETODBCCURSORS',
+ 'ODBCSETMULTIUSERKEYSETCURSOR','ODBCSETMETADATAID','ODBCSETLOGINTIMEOUT','ODBCSETLOCKCONCURRENCY','ODBCSETKEYSETDRIVENCURSOR','ODBCSETFORWARDONLYCURSOR','ODBCSETENVOUTPUTNTS','ODBCSETENVODBCVERSION',
+ 'ODBCSETENVCPMATCH','ODBCSETENVCONNECTIONPOOLING','ODBCSETENVATTR','ODBCSETDYNAMICCURSOR','ODBCSETDESCREC','ODBCSETDESCFIELD','ODBCSETCURSORTYPE','ODBCSETCURSORSENSITIVITY',
+ 'ODBCSETCURSORSCROLLABILITY','ODBCSETCURSORNAME','ODBCSETCURSORLOCKTYPE','ODBCSETCURSORKEYSETSIZE','ODBCSETCURSORCONCURRENCY','ODBCSETCURRENTCATALOG','ODBCSETCONNECTIONTIMEOUT','ODBCSETCONNECTATTR',
+ 'ODBCSETCONFIGMODE','ODBCSETCONCURVALUESCONCURRENCY','ODBCSETAUTOCOMMITON','ODBCSETAUTOCOMMITOFF','ODBCSETAUTOCOMMIT','ODBCSETASYNCENABLE','ODBCSETACCESSMODE','ODBCSETABSOLUTEPOSITION',
+ 'ODBCROWCOUNT','ODBCROLLBACKTRAN','ODBCROLLBACKENVTRAN','ODBCROLLBACKDBCTRAN','ODBCRESULT','ODBCRESETPARAMS','ODBCREMOVETRANSLATOR','ODBCREMOVEDSNFROMINI',
+ 'ODBCREMOVEDRIVERMANAGER','ODBCREMOVEDRIVER','ODBCREFRESHRECORD','ODBCRECORDCOUNT','ODBCREADFILEDSN','ODBCQUOTEDIDENTIFIERCASE','ODBCPUTDATA','ODBCPROCEDURESCOUNT',
+ 'ODBCPROCEDURES','ODBCPROCEDURECOLUMNSCOUNT','ODBCPROCEDURECOLUMNS','ODBCPRIMARYKEYSCOUNT','ODBCPRIMARYKEYS','ODBCPREPARE','ODBCPOSTINSTALLERERROR','ODBCPARAMDATA',
+ 'ODBCOPENSTMT','ODBCOPENCONNECTION','ODBCNUMRESULTCOLS','ODBCNUMPARAMS','ODBCNATIVESQL','ODBCMOVEPREVIOUS','ODBCMOVENEXT','ODBCMOVELAST',
+ 'ODBCMOVEFIRST','ODBCMOVE','ODBCMORERESULTS','ODBCMANAGEDATASOURCES','ODBCLOCKRECORD','ODBCINSTALLTRANSLATOREX','ODBCINSTALLERERROR','ODBCINSTALLDRIVERMANAGER',
+ 'ODBCINSTALLDRIVEREX','ODBCGETXOPENCLIYEAR','ODBCGETUSERNAME','ODBCGETUNION','ODBCGETTYPEINFOCOUNT','ODBCGETTYPEINFO','ODBCGETTXNISOLATIONOPTION','ODBCGETTXNISOLATION',
+ 'ODBCGETTXNCAPABLE','ODBCGETTRANSLATOR','ODBCGETTRANSLATELIB','ODBCGETTRACEFILE','ODBCGETTRACE','ODBCGETTIMEDATEFUNCTIONS','ODBCGETTIMEDATEDIFFINTERVALS','ODBCGETTIMEDATEADDINTERVALS',
+ 'ODBCGETTABLETERM','ODBCGETSYSTEMFUNCTIONS','ODBCGETSUBQUERIES','ODBCGETSTRINGFUNCTIONS','ODBCGETSTMTUSEBOOKMARKS','ODBCGETSTMTSQLSTATE','ODBCGETSTMTSIMULATECURSOR','ODBCGETSTMTROWSTATUSPTR',
+ 'ODBCGETSTMTROWSFETCHEDPTR','ODBCGETSTMTROWOPERATIONPTR','ODBCGETSTMTROWNUMBER','ODBCGETSTMTROWBINDTYPE','ODBCGETSTMTROWBINDOFFSETPTR','ODBCGETSTMTROWARRAYSIZE','ODBCGETSTMTRETRIEVEDATA','ODBCGETSTMTQUERYTIMEOUT',
+ 'ODBCGETSTMTPARAMSTATUSPTR','ODBCGETSTMTPARAMSPROCESSEDPTR','ODBCGETSTMTPARAMSETSIZE','ODBCGETSTMTPARAMOPERATIONPTR','ODBCGETSTMTPARAMBINDTYPE','ODBCGETSTMTPARAMBINDOFFSETPTR','ODBCGETSTMTNOSCAN','ODBCGETSTMTMETADATAID',
+ 'ODBCGETSTMTMAXROWS','ODBCGETSTMTMAXLENGTH','ODBCGETSTMTKEYSETSIZE','ODBCGETSTMTIMPROWDESC','ODBCGETSTMTIMPPARAMDESC','ODBCGETSTMTFETCHBOOKMARKPTR','ODBCGETSTMTERRORINFO','ODBCGETSTMTENABLEAUTOIPD',
+ 'ODBCGETSTMTCURSORTYPE','ODBCGETSTMTCURSORSENSITIVITY','ODBCGETSTMTCURSORSCROLLABLE','ODBCGETSTMTCONCURRENCY','ODBCGETSTMTATTR','ODBCGETSTMTASYNCENABLE','ODBCGETSTMTAPPROWDESC','ODBCGETSTMTAPPPARAMDESC',
+ 'ODBCGETSTATICCURSORATTRIBUTES2','ODBCGETSTATICCURSORATTRIBUTES1','ODBCGETSTATEMENTSQLSTATE','ODBCGETSTATEMENTERRORINFO','ODBCGETSTANDARDCLICONFORMANCE','ODBCGETSQLSTATE','ODBCGETSQLCONFORMANCE','ODBCGETSQL92VALUEEXPRESSIONS',
+ 'ODBCGETSQL92STRINGFUNCTIONS','ODBCGETSQL92ROWVALUECONSTRUCTOR','ODBCGETSQL92REVOKE','ODBCGETSQL92RELATIONALJOINOPERATORS','ODBCGETSQL92PREDICATES','ODBCGETSQL92NUMERICVALUEFUNCTIONS','ODBCGETSQL92GRANT','ODBCGETSQL92FOREIGNKEYUPDATERULE',
+ 'ODBCGETSQL92FOREIGNKEYDELETERULE','ODBCGETSQL92DATETIMEFUNCTIONS','ODBCGETSPECIALCHARACTERS','ODBCGETSERVERNAME','ODBCGETSEARCHPATTERNESCAPE','ODBCGETSCROLLOPTIONS','ODBCGETSCHEMAUSAGE','ODBCGETSCHEMATERM',
+ 'ODBCGETROWUPDATES','ODBCGETQUIETMODE','ODBCGETPROCEDURETERM','ODBCGETPROCEDURESSUPPORT','ODBCGETPRIVATEPROFILESTRING','ODBCGETPOSOPERATIONS','ODBCGETPARAMARRAYSELECTS','ODBCGETPARAMARRAYROWCOUNTS',
+ 'ODBCGETPACKETMODE','ODBCGETOUTERJOINS','ODBCGETORDERBYCOLUMNSINSELECT','ODBCGETOJCAPABILITIES','ODBCGETODBCVER','ODBCGETODBCINTERFACECONFORMANCE','ODBCGETODBCCURSORS','ODBCGETNUMERICFUNCTIONS',
+ 'ODBCGETNULLCOLLATION','ODBCGETNONNULLABLECOLUMNS','ODBCGETNEEDLONGDATALEN','ODBCGETMULTRESULTSETS','ODBCGETMULTIPLEACTIVETXN','ODBCGETMETADATAID','ODBCGETMAXUSERNAMELEN','ODBCGETMAXTABLESINSELECT',
+ 'ODBCGETMAXTABLENAMELEN','ODBCGETMAXSTATEMENTLEN','ODBCGETMAXSCHEMANAMELEN','ODBCGETMAXROWSIZEINCLUDESLONG','ODBCGETMAXROWSIZE','ODBCGETMAXPROCEDURENAMELEN','ODBCGETMAXINDEXSIZE','ODBCGETMAXIDENTIFIERLEN',
+ 'ODBCGETMAXDRIVERCONNECTIONS','ODBCGETMAXCURSORNAMELEN','ODBCGETMAXCONCURRENTACTIVITIES','ODBCGETMAXCOLUMNSINTABLE','ODBCGETMAXCOLUMNSINSELECT','ODBCGETMAXCOLUMNSINORDERBY','ODBCGETMAXCOLUMNSININDEX','ODBCGETMAXCOLUMNSINGROUPBY',
+ 'ODBCGETMAXCOLUMNNAMELEN','ODBCGETMAXCHARLITERALLEN','ODBCGETMAXCATALOGNAMELEN','ODBCGETMAXBINARYLITERALLEN','ODBCGETMAXASYNCCONCURRENTSTATEMENTS','ODBCGETLONGVARCHARDATABYCOLNAME','ODBCGETLONGVARCHARDATA','ODBCGETLOGINTIMEOUT',
+ 'ODBCGETLIKEESCAPECLAUSE','ODBCGETKEYWORDS','ODBCGETKEYSETCURSORATTRIBUTES2','ODBCGETKEYSETCURSORATTRIBUTES1','ODBCGETINTEGRITY','ODBCGETINSTALLERERRORMESSAGE','ODBCGETINSTALLERERRORCODE','ODBCGETINSTALLEDDRIVERS',
+ 'ODBCGETINSERTSTATEMENT','ODBCGETINFOSTR','ODBCGETINFOSCHEMAVIEWS','ODBCGETINFOLONG','ODBCGETINFOINT','ODBCGETINFO','ODBCGETINDEXKEYWORDS','ODBCGETIMPROWDESCREC',
+ 'ODBCGETIMPROWDESCFIELDTYPE','ODBCGETIMPROWDESCFIELDSCALE','ODBCGETIMPROWDESCFIELDPRECISION','ODBCGETIMPROWDESCFIELDOCTETLENGTH','ODBCGETIMPROWDESCFIELDNULLABLE','ODBCGETIMPROWDESCFIELDNAME','ODBCGETIMPROWDESCFIELD','ODBCGETIMPPARAMDESCREC',
+ 'ODBCGETIMPPARAMDESCFIELDTYPE','ODBCGETIMPPARAMDESCFIELDSCALE','ODBCGETIMPPARAMDESCFIELDPRECISION','ODBCGETIMPPARAMDESCFIELDOCTETLENGTH','ODBCGETIMPPARAMDESCFIELDNULLABLE','ODBCGETIMPPARAMDESCFIELDNAME','ODBCGETIMPPARAMDESCFIELD','ODBCGETIDENTIFIERQUOTECHAR',
+ 'ODBCGETIDENTIFIERCASE','ODBCGETGROUPBY','ODBCGETFUNCTIONS','ODBCGETFORWARDONLYCURSORATTRIBUTES2','ODBCGETFORWARDONLYCURSORATTRIBUTES1','ODBCGETFILEUSAGE','ODBCGETEXPRESSIONSINORDERBY','ODBCGETERRORINFO',
+ 'ODBCGETENVSQLSTATE','ODBCGETENVOUTPUTNTS','ODBCGETENVODBCVERSION','ODBCGETENVIRONMENTSQLSTATE','ODBCGETENVIRONMENTERRORINFO','ODBCGETENVERRORINFO','ODBCGETENVCPMATCH','ODBCGETENVCONNECTIONPOOLING',
+ 'ODBCGETENVATTR','ODBCGETDYNAMICCURSORATTRIBUTES2','ODBCGETDYNAMICCURSORATTRIBUTES1','ODBCGETDROPVIEW','ODBCGETDROPTRANSLATION','ODBCGETDROPTABLE','ODBCGETDROPSCHEMA','ODBCGETDROPDOMAIN',
+ 'ODBCGETDROPCOLLATION','ODBCGETDROPCHARACTERSET','ODBCGETDROPASSERTION','ODBCGETDRIVERVER','ODBCGETDRIVERODBCVER','ODBCGETDRIVERNAME','ODBCGETDRIVERMANAGERINSTALLPATH','ODBCGETDRIVERHLIB',
+ 'ODBCGETDRIVERHENV','ODBCGETDRIVERHDBC','ODBCGETDMVERMINOR','ODBCGETDMVERMAJOR','ODBCGETDMVER','ODBCGETDIAGREC','ODBCGETDIAGFIELD','ODBCGETDESCSQLSTATE',
+ 'ODBCGETDESCRIPTORSQLSTATE','ODBCGETDESCRIPTORERRORINFO','ODBCGETDESCRIBEPARAMETER','ODBCGETDESCREC','ODBCGETDESCFIELD','ODBCGETDESCERRORINFO','ODBCGETDEFAULTTXNISOLATION','ODBCGETDDLINDEX',
+ 'ODBCGETDBMSVER','ODBCGETDBMSNAME','ODBCGETDBCSQLSTATE','ODBCGETDBCERRORINFO','ODBCGETDATETIMELITERALS','ODBCGETDATASTRINGBYCOLNAME','ODBCGETDATASTRING','ODBCGETDATASOURCEREADONLY',
+ 'ODBCGETDATASOURCENAME','ODBCGETDATAEXTENSIONS','ODBCGETDATABASENAME','ODBCGETDATA','ODBCGETCURSORTYPE','ODBCGETCURSORSENSITIVITYSUPPORT','ODBCGETCURSORSENSITIVITY','ODBCGETCURSORSCROLLABILITY',
+ 'ODBCGETCURSORROLLBACKBEHAVIOR','ODBCGETCURSORNAME','ODBCGETCURSORLOCKTYPE','ODBCGETCURSORKEYSETSIZE','ODBCGETCURSORCONCURRENCY','ODBCGETCURSORCOMMITBEHAVIOR','ODBCGETCURRENTCATALOG','ODBCGETCREATEVIEW',
+ 'ODBCGETCREATETRANSLATION','ODBCGETCREATETABLE','ODBCGETCREATESCHEMA','ODBCGETCREATEDOMAIN','ODBCGETCREATECOLLATION','ODBCGETCREATECHARACTERSET','ODBCGETCREATEASSERTION','ODBCGETCORRELATIONNAME',
+ 'ODBCGETCONVERTVARCHAR','ODBCGETCONVERTVARBINARY','ODBCGETCONVERTTINYINT','ODBCGETCONVERTTIMESTAMP','ODBCGETCONVERTTIME','ODBCGETCONVERTSMALLINT','ODBCGETCONVERTREAL','ODBCGETCONVERTNUMERIC',
+ 'ODBCGETCONVERTLONGVARCHAR','ODBCGETCONVERTLONGVARBINARY','ODBCGETCONVERTINTERVALYEARMONTH','ODBCGETCONVERTINTERVALDAYTIME','ODBCGETCONVERTINTEGER','ODBCGETCONVERTFUNCTIONS','ODBCGETCONVERTFLOAT','ODBCGETCONVERTDOUBLE',
+ 'ODBCGETCONVERTDECIMAL','ODBCGETCONVERTDATE','ODBCGETCONVERTCHAR','ODBCGETCONVERTBIT','ODBCGETCONVERTBINARY','ODBCGETCONVERTBIGINT','ODBCGETCONNECTIONTIMEOUT','ODBCGETCONNECTIONSQLSTATE',
+ 'ODBCGETCONNECTIONERRORINFO','ODBCGETCONNECTIONDEAD','ODBCGETCONNECTATTR','ODBCGETCONFIGMODE','ODBCGETCONCATNULLBEHAVIOR','ODBCGETCOLUMNALIAS','ODBCGETCOLLATIONSEQ','ODBCGETCATALOGUSAGE',
+ 'ODBCGETCATALOGTERM','ODBCGETCATALOGNAMESEPARATOR','ODBCGETCATALOGNAME','ODBCGETCATALOGLOCATION','ODBCGETBOOKMARKPERSISTENCE','ODBCGETBATCHSUPPORT','ODBCGETBATCHROWCOUNT','ODBCGETAUTOIPD',
+ 'ODBCGETAUTOCOMMIT','ODBCGETASYNCMODE','ODBCGETASYNCENABLE','ODBCGETALTERTABLE','ODBCGETALTERDOMAIN','ODBCGETAGGREGATEFUNCTIONS','ODBCGETACTIVEENVIRONMENTS','ODBCGETACCESSMODE',
+ 'ODBCGETACCESSIBLETABLES','ODBCGETACCESSIBLEPROCEDURES','ODBCFREESTMT','ODBCFREEHANDLE','ODBCFREEENV','ODBCFREEDESC','ODBCFREEDBC','ODBCFREECONNECT',
+ 'ODBCFOREIGNKEYSCOUNT','ODBCFOREIGNKEYS','ODBCFETCHSCROLL','ODBCFETCHBYBOOKMARK','ODBCFETCH','ODBCEXTENDEDFETCH','ODBCEXECUTE','ODBCEXECDIRECT',
+ 'ODBCERROR','ODBCEOF','ODBCENDTRAN','ODBCDRIVERSCOUNT','ODBCDRIVERS','ODBCDRIVERCONNECT','ODBCDISCONNECT','ODBCDESCRIBEPARAM',
+ 'ODBCDESCRIBECOL','ODBCDELETERECORD','ODBCDELETEBYBOOKMARK','ODBCDATASOURCES','ODBCCREATEDATASOURCE','ODBCCOPYDESC','ODBCCONNECTIONISDEAD','ODBCCONNECTIONISALIVE',
+ 'ODBCCONNECT','ODBCCONFIGDRIVER','ODBCCONFIGDATASOURCE','ODBCCOMMITTRAN','ODBCCOMMITENVTRAN','ODBCCOMMITDBCTRAN','ODBCCOLUPDATABLE','ODBCCOLUNSIGNED',
+ 'ODBCCOLUNNAMED','ODBCCOLUMNSCOUNT','ODBCCOLUMNS','ODBCCOLUMNPRIVILEGESCOUNT','ODBCCOLUMNPRIVILEGES','ODBCCOLUMN','ODBCCOLTYPENAME','ODBCCOLTYPE',
+ 'ODBCCOLTABLENAME','ODBCCOLSEARCHABLE','ODBCCOLSCHEMANAME','ODBCCOLSCALE','ODBCCOLPRECISION','ODBCCOLOCTETLENGTH','ODBCCOLNUMPRECRADIX','ODBCCOLNULLABLE',
+ 'ODBCCOLNAME','ODBCCOLLOCALTYPENAME','ODBCCOLLITERALSUFFIX','ODBCCOLLITERALPREFIX','ODBCCOLLENGTH','ODBCCOLLABEL','ODBCCOLISNULL','ODBCCOLFIXEDPRECSCALE',
+ 'ODBCCOLDISPLAYSIZE','ODBCCOLCOUNT','ODBCCOLCONCISETYPE','ODBCCOLCATALOGNAME','ODBCCOLCASESENSITIVE','ODBCCOLBASETABLENAME','ODBCCOLBASECOLUMNNAME','ODBCCOLAUTOUNIQUEVALUE',
+ 'ODBCCOLATTRIBUTE','ODBCCLOSESTMTCURSOR','ODBCCLOSESTMT','ODBCCLOSECURSOR','ODBCCLOSECONNECTION','ODBCCLEARRESULT','ODBCCANCEL','ODBCBULKOPERATIONS',
+ 'ODBCBROWSECONNECT','ODBCBINDPARAMETER','ODBCBINDCOLTOWORD','ODBCBINDCOLTOTIMESTAMP','ODBCBINDCOLTOTIME','ODBCBINDCOLTOSTRING','ODBCBINDCOLTOSINGLE','ODBCBINDCOLTOQUAD',
+ 'ODBCBINDCOLTONUMERIC','ODBCBINDCOLTOLONG','ODBCBINDCOLTOINTEGER','ODBCBINDCOLTODWORD','ODBCBINDCOLTODOUBLE','ODBCBINDCOLTODECIMAL','ODBCBINDCOLTODATE','ODBCBINDCOLTOCURRENCY',
+ 'ODBCBINDCOLTOBYTE','ODBCBINDCOLTOBIT','ODBCBINDCOLTOBINARY','ODBCBINDCOL','ODBCALLOCSTMT','ODBCALLOCHANDLE','ODBCALLOCENV','ODBCALLOCDESC',
+ 'ODBCALLOCDBC','ODBCALLOCCONNECT','ODBCADDRECORD','GLVIEWPORT','GLVERTEXPOINTER','GLVERTEX4SV','GLVERTEX4S','GLVERTEX4IV',
+ 'GLVERTEX4I','GLVERTEX4FV','GLVERTEX4F','GLVERTEX4DV','GLVERTEX4D','GLVERTEX3SV','GLVERTEX3S','GLVERTEX3IV',
+ 'GLVERTEX3I','GLVERTEX3FV','GLVERTEX3F','GLVERTEX3DV','GLVERTEX3D','GLVERTEX2SV','GLVERTEX2S','GLVERTEX2IV',
+ 'GLVERTEX2I','GLVERTEX2FV','GLVERTEX2F','GLVERTEX2DV','GLVERTEX2D','GLUUNPROJECT','GLUTESSVERTEX','GLUTESSPROPERTY',
+ 'GLUTESSNORMAL','GLUTESSENDPOLYGON','GLUTESSENDCONTOUR','GLUTESSCALLBACK','GLUTESSBEGINPOLYGON','GLUTESSBEGINCONTOUR','GLUSPHERE','GLUSCALEIMAGE',
+ 'GLUQUADRICTEXTURE','GLUQUADRICORIENTATION','GLUQUADRICNORMALS','GLUQUADRICDRAWSTYLE','GLUQUADRICCALLBACK','GLUPWLCURVE','GLUPROJECT','GLUPICKMATRIX',
+ 'GLUPERSPECTIVE','GLUPARTIALDISK','GLUORTHO2D','GLUNURBSSURFACE','GLUNURBSPROPERTY','GLUNURBSCURVE','GLUNURBSCALLBACK','GLUNEXTCONTOUR',
+ 'GLUNEWTESS','GLUNEWQUADRIC','GLUNEWNURBSRENDERER','GLULOOKAT','GLULOADSAMPLINGMATRICES','GLUGETTESSPROPERTY','GLUGETSTRING','GLUGETNURBSPROPERTY',
+ 'GLUERRORSTRING','GLUENDTRIM','GLUENDSURFACE','GLUENDPOLYGON','GLUENDCURVE','GLUDISK','GLUDELETETESS','GLUDELETEQUADRIC',
+ 'GLUDELETENURBSRENDERER','GLUCYLINDER','GLUBUILD2DMIPMAPS','GLUBUILD1DMIPMAPS','GLUBEGINTRIM','GLUBEGINSURFACE','GLUBEGINPOLYGON','GLUBEGINCURVE',
+ 'GLTRANSLATEF','GLTRANSLATED','GLTEXSUBIMAGE2D','GLTEXSUBIMAGE1D','GLTEXPARAMETERIV','GLTEXPARAMETERI','GLTEXPARAMETERFV','GLTEXPARAMETERF',
+ 'GLTEXIMAGE2D','GLTEXIMAGE1D','GLTEXGENIV','GLTEXGENI','GLTEXGENFV','GLTEXGENF','GLTEXGENDV','GLTEXGEND',
+ 'GLTEXENVIV','GLTEXENVI','GLTEXENVFV','GLTEXENVF','GLTEXCOORDPOINTER','GLTEXCOORD4SV','GLTEXCOORD4S','GLTEXCOORD4IV',
+ 'GLTEXCOORD4I','GLTEXCOORD4FV','GLTEXCOORD4F','GLTEXCOORD4DV','GLTEXCOORD4D','GLTEXCOORD3SV','GLTEXCOORD3S','GLTEXCOORD3IV',
+ 'GLTEXCOORD3I','GLTEXCOORD3FV','GLTEXCOORD3F','GLTEXCOORD3DV','GLTEXCOORD3D','GLTEXCOORD2SV','GLTEXCOORD2S','GLTEXCOORD2IV',
+ 'GLTEXCOORD2I','GLTEXCOORD2FV','GLTEXCOORD2F','GLTEXCOORD2DV','GLTEXCOORD2D','GLTEXCOORD1SV','GLTEXCOORD1S','GLTEXCOORD1IV',
+ 'GLTEXCOORD1I','GLTEXCOORD1FV','GLTEXCOORD1F','GLTEXCOORD1DV','GLTEXCOORD1D','GLSTENCILOP','GLSTENCILMASK','GLSTENCILFUNC',
+ 'GLSHADEMODEL','GLSELECTBUFFER','GLSCISSOR','GLSCALEF','GLSCALED','GLROTATEF','GLROTATED','GLRENDERMODE',
+ 'GLRECTSV','GLRECTS','GLRECTIV','GLRECTI','GLRECTFV','GLRECTF','GLRECTDV','GLRECTD',
+ 'GLREADPIXELS','GLREADBUFFER','GLRASTERPOS4SV','GLRASTERPOS4S','GLRASTERPOS4IV','GLRASTERPOS4I','GLRASTERPOS4FV','GLRASTERPOS4F',
+ 'GLRASTERPOS4DV','GLRASTERPOS4D','GLRASTERPOS3SV','GLRASTERPOS3S','GLRASTERPOS3IV','GLRASTERPOS3I','GLRASTERPOS3FV','GLRASTERPOS3F',
+ 'GLRASTERPOS3DV','GLRASTERPOS3D','GLRASTERPOS2SV','GLRASTERPOS2S','GLRASTERPOS2IV','GLRASTERPOS2I','GLRASTERPOS2FV','GLRASTERPOS2F',
+ 'GLRASTERPOS2DV','GLRASTERPOS2D','GLPUSHNAME','GLPUSHMATRIX','GLPUSHCLIENTATTRIB','GLPUSHATTRIB','GLPRIORITIZETEXTURES','GLPOPNAME',
+ 'GLPOPMATRIX','GLPOPCLIENTATTRIB','GLPOPATTRIB','GLPOLYGONSTIPPLE','GLPOLYGONOFFSET','GLPOLYGONMODE','GLPOINTSIZE','GLPIXELZOOM',
+ 'GLPIXELTRANSFERI','GLPIXELTRANSFERF','GLPIXELSTOREI','GLPIXELSTOREF','GLPIXELMAPUSV','GLPIXELMAPUIV','GLPIXELMAPFV','GLPASSTHROUGH',
+ 'GLORTHO','GLNORMALPOINTER','GLNORMAL3SV','GLNORMAL3S','GLNORMAL3IV','GLNORMAL3I','GLNORMAL3FV','GLNORMAL3F',
+ 'GLNORMAL3DV','GLNORMAL3D','GLNORMAL3BV','GLNORMAL3B','GLNEWLIST','GLMULTMATRIXF','GLMULTMATRIXD','GLMATRIXMODE',
+ 'GLMATERIALIV','GLMATERIALI','GLMATERIALFV','GLMATERIALF','GLMAPGRID2F','GLMAPGRID2D','GLMAPGRID1F','GLMAPGRID1D',
+ 'GLMAP2F','GLMAP2D','GLMAP1F','GLMAP1D','GLLOGICOP','GLLOADNAME','GLLOADMATRIXF','GLLOADMATRIXD',
+ 'GLLOADIDENTITY','GLLISTBASE','GLLINEWIDTH','GLLINESTIPPLE','GLLIGHTMODELIV','GLLIGHTMODELI','GLLIGHTMODELFV','GLLIGHTMODELF',
+ 'GLLIGHTIV','GLLIGHTI','GLLIGHTFV','GLLIGHTF','GLISTEXTURE','GLISLIST','GLISENABLED','GLINTERLEAVEDARRAYS',
+ 'GLINITNAMES','GLINDEXUBV','GLINDEXUB','GLINDEXSV','GLINDEXS','GLINDEXPOINTER','GLINDEXMASK','GLINDEXIV',
+ 'GLINDEXI','GLINDEXFV','GLINDEXF','GLINDEXDV','GLINDEXD','GLHINT','GLGETTEXPARAMETERIV','GLGETTEXPARAMETERFV',
+ 'GLGETTEXLEVELPARAMETERIV','GLGETTEXLEVELPARAMETERFV','GLGETTEXIMAGE','GLGETTEXGENIV','GLGETTEXGENFV','GLGETTEXGENDV','GLGETTEXENVIV','GLGETTEXENVFV',
+ 'GLGETSTRING','GLGETPOLYGONSTIPPLE','GLGETPOINTERV','GLGETPIXELMAPUSV','GLGETPIXELMAPUIV','GLGETPIXELMAPFV','GLGETMATERIALIV','GLGETMATERIALFV',
+ 'GLGETMAPIV','GLGETMAPFV','GLGETMAPDV','GLGETLIGHTIV','GLGETLIGHTFV','GLGETINTEGERV','GLGETFLOATV','GLGETERROR',
+ 'GLGETDOUBLEV','GLGETCLIPPLANE','GLGETBOOLEANV','GLGENTEXTURES','GLGENLISTS','GLFRUSTUM','GLFRONTFACE','GLFOGIV',
+ 'GLFOGI','GLFOGFV','GLFOGF','GLFLUSH','GLFINISH','GLFEEDBACKBUFFER','GLEVALPOINT2','GLEVALPOINT1',
+ 'GLEVALMESH2','GLEVALMESH1','GLEVALCOORD2FV','GLEVALCOORD2F','GLEVALCOORD2DV','GLEVALCOORD2D','GLEVALCOORD1FV','GLEVALCOORD1F',
+ 'GLEVALCOORD1DV','GLEVALCOORD1D','GLENDLIST','GLEND','GLENABLECLIENTSTATE','GLENABLE','GLEDGEFLAGV','GLEDGEFLAGPOINTER',
+ 'GLEDGEFLAG','GLDRAWPIXELS','GLDRAWELEMENTS','GLDRAWBUFFER','GLDRAWARRAYS','GLDISABLECLIENTSTATE','GLDISABLE','GLDEPTHRANGE',
+ 'GLDEPTHMASK','GLDEPTHFUNC','GLDELETETEXTURES','GLDELETELISTS','GLCULLFACE','GLCOPYTEXSUBIMAGE2D','GLCOPYTEXSUBIMAGE1D','GLCOPYTEXIMAGE2D',
+ 'GLCOPYTEXIMAGE1D','GLCOPYPIXELS','GLCOLORPOINTER','GLCOLORMATERIAL','GLCOLORMASK','GLCOLOR4USV','GLCOLOR4US','GLCOLOR4UIV',
+ 'GLCOLOR4UI','GLCOLOR4UBV','GLCOLOR4UB','GLCOLOR4SV','GLCOLOR4S','GLCOLOR4IV','GLCOLOR4I','GLCOLOR4FV',
+ 'GLCOLOR4F','GLCOLOR4DV','GLCOLOR4D','GLCOLOR4BV','GLCOLOR4B','GLCOLOR3USV','GLCOLOR3US','GLCOLOR3UIV',
+ 'GLCOLOR3UI','GLCOLOR3UBV','GLCOLOR3UB','GLCOLOR3SV','GLCOLOR3S','GLCOLOR3IV','GLCOLOR3I','GLCOLOR3FV',
+ 'GLCOLOR3F','GLCOLOR3DV','GLCOLOR3D','GLCOLOR3BV','GLCOLOR3B','GLCLIPPLANE','GLCLEARSTENCIL','GLCLEARINDEX',
+ 'GLCLEARDEPTH','GLCLEARCOLOR','GLCLEARACCUM','GLCLEAR','GLCALLLISTS','GLCALLLIST','GLBLENDFUNC','GLBITMAP',
+ 'GLBINDTEXTURE','GLBEGIN','GLARRAYELEMENT','GLARETEXTURESRESIDENT','GLALPHAFUNC','GLACCUM'),
+ 2 => array(
+ '$BEL','$BS','$CR','$CRLF','$DQ','$DT_DATE_SEPARATOR','$DT_LANGUAGE','$DT_TIME_SEPARATOR',
+ '$ESC','$FF','$LF','$NUL','$PC_SD_MY_PC','$SPC','$SQL_OPT_TRACE_FILE_DEFAULT','$SQL_SPEC_STRING',
+ '$TAB','$TRACKBAR_CLASS','$VT','%ACM_OPEN','%ACM_OPENW','%ACM_PLAY','%ACM_STOP','%ACN_START',
+ '%ACN_STOP','%ACS_AUTOPLAY','%ACS_CENTER','%ACS_TIMER','%ACS_TRANSPARENT','%APP_COUNTER_FUNLOOKUP','%APP_COUNTER_KEYLOOKUP','%APP_COUNTER_LOOKUP',
+ '%APP_COUNTER_TESTALPHA','%APP_COUNTER_UDTLOOKUP','%APP_COUNTER_VARLOOKUP','%APP_TIMER_EXECTOTAL','%APP_TIMER_INIT','%APP_TIMER_LOAD','%APP_TIMER_PREPROCESSOR','%AW_ACTIVATE',
+ '%AW_BLEND','%AW_CENTER','%AW_HIDE','%AW_HOR_NEGATIVE','%AW_HOR_POSITIVE','%AW_SLIDE','%AW_VER_NEGATIVE','%AW_VER_POSITIVE',
+ '%BCM_FIRST','%BLACK','%BLUE','%BM_GETCHECK','%BM_SETCHECK','%BST_CHECKED','%BST_UNCHECKED','%BS_AUTOCHECKBOX',
+ '%BS_BOTTOM','%BS_CENTER','%BS_DEFAULT','%BS_DEFPUSHBUTTON','%BS_FLAT','%BS_LEFT','%BS_LEFTTEXT','%BS_MULTILINE',
+ '%BS_NOTIFY','%BS_OWNERDRAW','%BS_PUSHLIKE','%BS_RIGHT','%BS_TOP','%BS_VCENTER','%BUNDLE_BUILDER_CANCELLED','%CBM_FIRST',
+ '%CBN_CLOSEUP','%CBN_DBLCLK','%CBN_DROPDOWN','%CBN_EDITCHANGE','%CBN_EDITUPDATE','%CBN_ERRSPACE','%CBN_KILLFOCUS','%CBN_SELCANCEL',
+ '%CBN_SELCHANGE','%CBN_SELENDCANCEL','%CBN_SELENDOK','%CBN_SETFOCUS','%CBS_AUTOHSCROLL','%CBS_DISABLENOSCROLL','%CBS_DROPDOWN','%CBS_DROPDOWNLIST',
+ '%CBS_HASSTRINGS','%CBS_LOWERCASE','%CBS_NOINTEGRALHEIGHT','%CBS_SIMPLE','%CBS_SORT','%CBS_UPPERCASE','%CB_SELECTSTRING','%CCM_FIRST',
+ '%CC_ANYCOLOR','%CC_ENABLEHOOK','%CC_ENABLETEMPLATE','%CC_ENABLETEMPLATEHANDLE','%CC_FULLOPEN','%CC_PREVENTFULLOPEN','%CC_RGBINIT','%CC_SHOWHELP',
+ '%CC_SOLIDCOLOR','%CFE_BOLD','%CFE_ITALIC','%CFE_LINK','%CFE_PROTECTED','%CFE_STRIKEOUT','%CFE_UNDERLINE','%CFM_ANIMATION',
+ '%CFM_BACKCOLOR','%CFM_BOLD','%CFM_CHARSET','%CFM_COLOR','%CFM_FACE','%CFM_ITALIC','%CFM_KERNING','%CFM_LCID',
+ '%CFM_LINK','%CFM_OFFSET','%CFM_PROTECTED','%CFM_REVAUTHOR','%CFM_SIZE','%CFM_SPACING','%CFM_STRIKEOUT','%CFM_STYLE',
+ '%CFM_UNDERLINE','%CFM_UNDERLINETYPE','%CFM_WEIGHT','%CGI_ACCEPT_FILE_UPLOAD','%CGI_AUTO_ADD_SPECIAL_CHARS_PREFIX','%CGI_AUTO_CREATE_VARS','%CGI_BUFFERIZE_OUTPUT','%CGI_DOUBLE_QUOTE',
+ '%CGI_FILE_UPLOAD_BASEPATH','%CGI_FORCE_SESSION_VALIDATION','%CGI_MAX_BYTE_FROM_STD_IN','%CGI_REQUEST_METHOD_GET','%CGI_REQUEST_METHOD_POST','%CGI_SESSION_FILE_BASEPATH','%CGI_SINGLE_QUOTE','%CGI_SPECIAL_CHARS_PREFIX',
+ '%CGI_TEMPORARY_UPLOAD_PATH','%CGI_UPLOAD_CAN_OVERWRITE','%CGI_WRITE_LOG_FILE','%CGI_WRITE_VARS_INTO_LOG_FILE','%CONOLE_ATTACH_PARENT_PROCESS','%CONSOLE_BACKGROUND_BLUE','%CONSOLE_BACKGROUND_GREEN','%CONSOLE_BACKGROUND_INTENSITY',
+ '%CONSOLE_BACKGROUND_RED','%CONSOLE_BOX_FLAG_3DOFF','%CONSOLE_BOX_FLAG_3DON','%CONSOLE_BOX_FLAG_SHADOW','%CONSOLE_COMMON_LVB_GRID_HORIZONTAL','%CONSOLE_COMMON_LVB_GRID_LVERTICAL','%CONSOLE_COMMON_LVB_GRID_RVERTICAL','%CONSOLE_COMMON_LVB_LEADING_BYTE',
+ '%CONSOLE_COMMON_LVB_REVERSE_VIDEO','%CONSOLE_COMMON_LVB_TRAILING_BYTE','%CONSOLE_COMMON_LVB_UNDERSCORE','%CONSOLE_CTRL_BREAK_EVENT','%CONSOLE_CTRL_C_EVENT','%CONSOLE_DOUBLE_CLICK','%CONSOLE_ENABLE_AUTO_POSITION','%CONSOLE_ENABLE_ECHO_INPUT',
+ '%CONSOLE_ENABLE_EXTENDED_FLAGS','%CONSOLE_ENABLE_INSERT_MODE','%CONSOLE_ENABLE_LINE_INPUT','%CONSOLE_ENABLE_MOUSE_INPUT','%CONSOLE_ENABLE_PROCESSED_INPUT','%CONSOLE_ENABLE_PROCESSED_OUTPUT','%CONSOLE_ENABLE_QUICK_EDIT_MODE','%CONSOLE_ENABLE_WINDOW_INPUT',
+ '%CONSOLE_ENABLE_WRAP_AT_EOL_OUTPUT','%CONSOLE_FOREGROUND_BLUE','%CONSOLE_FOREGROUND_GREEN','%CONSOLE_FOREGROUND_INTENSITY','%CONSOLE_FOREGROUND_RED','%CONSOLE_LBUTTON','%CONSOLE_LINE_HORIZONTAL','%CONSOLE_LINE_VERTICAL',
+ '%CONSOLE_MBUTTON','%CONSOLE_MOUSE_MOVED','%CONSOLE_MOUSE_WHEELED','%CONSOLE_RBUTTON','%CONSOLE_SCROLLBUF_DOWN','%CONSOLE_SCROLLBUF_UP','%CONSOLE_SCROLLWND_ABSOLUTE','%CONSOLE_SCROLLWND_RELATIVE',
+ '%CONSOLE_STD_ERROR_HANDLE','%CONSOLE_STD_INPUT_HANDLE','%CONSOLE_STD_OUTPUT_HANDLE','%CONSOLE_SW_FORCEMINIMIZE','%CONSOLE_SW_HIDE','%CONSOLE_SW_MAXIMIZE','%CONSOLE_SW_MINIMIZE','%CONSOLE_SW_RESTORE',
+ '%CONSOLE_SW_SHOW','%CONSOLE_SW_SHOWDEFAULT','%CONSOLE_SW_SHOWMAXIMIZED','%CONSOLE_SW_SHOWMINIMIZED','%CONSOLE_SW_SHOWMINNOACTIVE','%CONSOLE_SW_SHOWNA','%CONSOLE_SW_SHOWNOACTIVATE','%CONSOLE_SW_SHOWNORMAL',
+ '%CONSOLE_UNAVAILABLE','%CRYPTO_CALG_DES','%CRYPTO_CALG_RC2','%CRYPTO_CALG_RC4','%CRYPTO_PROV_DH_SCHANNEL','%CRYPTO_PROV_DSS','%CRYPTO_PROV_DSS_DH','%CRYPTO_PROV_FORTEZZA',
+ '%CRYPTO_PROV_MS_EXCHANGE','%CRYPTO_PROV_RSA_FULL','%CRYPTO_PROV_RSA_SCHANNEL','%CRYPTO_PROV_RSA_SIG','%CRYPTO_PROV_SSL','%CSIDL_ADMINTOOLS','%CSIDL_ALTSTARTUP','%CSIDL_APPDATA',
+ '%CSIDL_BITBUCKET','%CSIDL_CDBURN_AREA','%CSIDL_COMMON_ADMINTOOLS','%CSIDL_COMMON_ALTSTARTUP','%CSIDL_COMMON_APPDATA','%CSIDL_COMMON_DESKTOPDIRECTORY','%CSIDL_COMMON_DOCUMENTS','%CSIDL_COMMON_FAVORITES',
+ '%CSIDL_COMMON_MUSIC','%CSIDL_COMMON_PICTURES','%CSIDL_COMMON_PROGRAMS','%CSIDL_COMMON_STARTMENU','%CSIDL_COMMON_STARTUP','%CSIDL_COMMON_TEMPLATES','%CSIDL_COMMON_VIDEO','%CSIDL_CONTROLS',
+ '%CSIDL_COOKIES','%CSIDL_DESKTOP','%CSIDL_DESKTOPDIRECTORY','%CSIDL_DRIVES','%CSIDL_FAVORITES','%CSIDL_FLAG_CREATE','%CSIDL_FONTS','%CSIDL_HISTORY',
+ '%CSIDL_INTERNET','%CSIDL_INTERNET_CACHE','%CSIDL_LOCAL_APPDATA','%CSIDL_MYDOCUMENTS','%CSIDL_MYMUSIC','%CSIDL_MYPICTURES','%CSIDL_MYVIDEO','%CSIDL_NETHOOD',
+ '%CSIDL_NETWORK','%CSIDL_PERSONAL','%CSIDL_PRINTERS','%CSIDL_PRINTHOOD','%CSIDL_PROFILE','%CSIDL_PROGRAMS','%CSIDL_PROGRAM_FILES','%CSIDL_PROGRAM_FILES_COMMON',
+ '%CSIDL_RECENT','%CSIDL_SENDTO','%CSIDL_STARTMENU','%CSIDL_STARTUP','%CSIDL_SYSTEM','%CSIDL_TEMPLATES','%CSIDL_WINDOWS','%CW_USEDEFAULT',
+ '%CYAN','%DATE_TIME_FILE_CREATION','%DATE_TIME_LAST_FILE_ACCESS','%DATE_TIME_LAST_FILE_WRITE','%DICTIONARY_MEMINFO_DATA','%DICTIONARY_MEMINFO_KEYS','%DICTIONARY_MEMINFO_TOTAL','%DICTIONARY_SORTDESCENDING',
+ '%DICTIONARY_SORTKEYS','%DSCAPS_CERTIFIED','%DSCAPS_CONTINUOUSRATE','%DSCAPS_EMULDRIVER','%DSCAPS_SECONDARY16BIT','%DSCAPS_SECONDARY8BIT','%DSCAPS_SECONDARYMONO','%DSCAPS_SECONDARYSTEREO',
+ '%DSCCAPS_CERTIFIED','%DSCCAPS_EMULDRIVER','%DS_3DLOOK','%DS_ABSALIGN','%DS_CENTER','%DS_CENTERMOUSE','%DS_CONTEXTHELP','%DS_CONTROL',
+ '%DS_MODALFRAME','%DS_NOFAILCREATE','%DS_SETFONT','%DS_SETFOREGROUND','%DS_SYSMODAL','%DTM_FIRST','%DTM_GETMCCOLOR','%DTM_GETMCFONT',
+ '%DTM_GETMONTHCAL','%DTM_GETRANGE','%DTM_GETSYSTEMTIME','%DTM_SETFORMAT','%DTM_SETFORMATW','%DTM_SETMCCOLOR','%DTM_SETMCFONT','%DTM_SETRANGE',
+ '%DTM_SETSYSTEMTIME','%DTN_CLOSEUP','%DTN_DATETIMECHANGE','%DTN_DROPDOWN','%DTN_FORMAT','%DTN_FORMATQUERY','%DTN_FORMATQUERYW','%DTN_FORMATW',
+ '%DTN_USERSTRING','%DTN_USERSTRINGW','%DTN_WMKEYDOWN','%DTN_WMKEYDOWNW','%DTS_APPCANPARSE','%DTS_LONGDATEFORMAT','%DTS_RIGHTALIGN','%DTS_SHORTDATECENTURYFORMAT',
+ '%DTS_SHORTDATEFORMAT','%DTS_SHOWNONE','%DTS_TIMEFORMAT','%DTS_UPDOWN','%DT_DATE_CENTURY','%DT_DATE_OK','%DT_DAY_IN_YEAR','%DT_DIFF_IN_DAYS',
+ '%DT_DIFF_IN_HOURS','%DT_DIFF_IN_MINUTES','%DT_DIFF_IN_SECONDS','%DT_HOURS_IN_DAY','%DT_MINUTES_IN_HOUR','%DT_SECONDS_IN_DAY','%DT_SECONDS_IN_HOUR','%DT_SECONDS_IN_MINUTE',
+ '%DT_SECONDS_IN_YEAR','%DT_USE_LONG_FORM','%DT_USE_SHORT_FORM','%DT_WRONG_DATE','%DT_WRONG_DAY','%DT_WRONG_MONTH','%ECM_FIRST','%ECOOP_AND',
+ '%ECOOP_OR','%ECOOP_SET','%ECOOP_XOR','%ECO_AUTOHSCROLL','%ECO_AUTOVSCROLL','%ECO_AUTOWORDSELECTION','%ECO_NOHIDESEL','%ECO_READONLY',
+ '%ECO_SELECTIONBAR','%ECO_WANTRETURN','%EM_AUTOURLDETECT','%EM_CANPASTE','%EM_CANREDO','%EM_CANUNDO','%EM_CHARFROMPOS','%EM_DISPLAYBAND',
+ '%EM_EMPTYUNDOBUFFER','%EM_EXGETSEL','%EM_EXLIMITTEXT','%EM_EXLINEFROMCHAR','%EM_EXSETSEL','%EM_FINDTEXT','%EM_FINDTEXTEX','%EM_FINDWORDBREAK',
+ '%EM_FMTLINES','%EM_FORMATRANGE','%EM_GETAUTOURLDETECT','%EM_GETCHARFORMAT','%EM_GETEDITSTYLE','%EM_GETEVENTMASK','%EM_GETFIRSTVISIBLELINE','%EM_GETHANDLE',
+ '%EM_GETIMESTATUS','%EM_GETLIMITTEXT','%EM_GETLINE','%EM_GETLINECOUNT','%EM_GETMARGINS','%EM_GETMODIFY','%EM_GETOLEINTERFACE','%EM_GETOPTIONS',
+ '%EM_GETPARAFORMAT','%EM_GETPASSWORDCHAR','%EM_GETRECT','%EM_GETREDONAME','%EM_GETSCROLLPOS','%EM_GETSEL','%EM_GETSELTEXT','%EM_GETTEXTMODE',
+ '%EM_GETTEXTRANGE','%EM_GETTHUMB','%EM_GETUNDONAME','%EM_GETWORDBREAKPROC','%EM_GETWORDBREAKPROCEX','%EM_HIDESELECTION','%EM_LIMITTEXT','%EM_LINEFROMCHAR',
+ '%EM_LINEINDEX','%EM_LINELENGTH','%EM_LINESCROLL','%EM_PASTESPECIAL','%EM_POSFROMCHAR','%EM_REDO','%EM_REPLACESEL','%EM_REQUESTRESIZE',
+ '%EM_SCROLL','%EM_SCROLLCARET','%EM_SELECTIONTYPE','%EM_SETBKGNDCOLOR','%EM_SETCHARFORMAT','%EM_SETEDITSTYLE','%EM_SETEVENTMASK','%EM_SETHANDLE',
+ '%EM_SETIMESTATUS','%EM_SETLIMITTEXT','%EM_SETMARGINS','%EM_SETMODIFY','%EM_SETOLECALLBACK','%EM_SETOPTIONS','%EM_SETPARAFORMAT','%EM_SETPASSWORDCHAR',
+ '%EM_SETREADONLY','%EM_SETRECT','%EM_SETRECTNP','%EM_SETSCROLLPOS','%EM_SETSEL','%EM_SETTABSTOPS','%EM_SETTARGETDEVICE','%EM_SETTEXTMODE',
+ '%EM_SETUNDOLIMIT','%EM_SETWORDBREAKPROC','%EM_SETWORDBREAKPROCEX','%EM_SETWORDWRAPMODE','%EM_SETZOOM','%EM_STOPGROUPTYPING','%EM_STREAMIN','%EM_STREAMOUT',
+ '%EM_UNDO','%ENM_CHANGE','%ENM_CORRECTTEXT','%ENM_DRAGDROPDONE','%ENM_DROPFILES','%ENM_KEYEVENTS','%ENM_MOUSEEVENTS','%ENM_NONE',
+ '%ENM_PARAGRAPHEXPANDED','%ENM_PROTECTED','%ENM_REQUESTRESIZE','%ENM_SCROLL','%ENM_SCROLLEVENTS','%ENM_SELCHANGE','%ENM_UPDATE','%EN_CHANGE',
+ '%EN_MSGFILTER','%EN_SELCHANGE','%EN_UPDATE','%ES_AUTOHSCROLL','%ES_AUTOVSCROLL','%ES_CENTER','%ES_DISABLENOSCROLL','%ES_EX_NOCALLOLEINIT',
+ '%ES_LEFT','%ES_LOWERCASE','%ES_MULTILINE','%ES_NOHIDESEL','%ES_NOOLEDRAGDROP','%ES_NUMBER','%ES_OEMCONVERT','%ES_PASSWORD',
+ '%ES_READONLY','%ES_RIGHT','%ES_SAVESEL','%ES_SELECTIONBAR','%ES_SUNKEN','%ES_UPPERCASE','%ES_WANTRETURN','%EVAL_EXEC_STRING',
+ '%FALSE','%FILE_ADDPATH','%FILE_ARCHIVE','%FILE_BUILDVERSION','%FILE_HIDDEN','%FILE_MAJORVERSION','%FILE_MINORVERSION','%FILE_NORMAL',
+ '%FILE_READONLY','%FILE_REVISIONVERSION','%FILE_SUBDIR','%FILE_SYSTEM','%FILE_VLABEL','%FTP_GET_CONNECT_STATUS','%FTP_GET_FILE_BYTES_RCVD','%FTP_GET_FILE_BYTES_SENT',
+ '%FTP_GET_LAST_RESPONSE','%FTP_GET_LOCAL_IP','%FTP_GET_SERVER_IP','%FTP_GET_TOTAL_BYTES_RCVD','%FTP_GET_TOTAL_BYTES_SENT','%FTP_LIST_FULLLIST','%FTP_LIST_FULLLISTDIR','%FTP_LIST_FULLLISTFILE',
+ '%FTP_SET_ASYNC','%FTP_SET_CONNECT_WAIT','%FTP_SET_MAX_LISTEN_WAIT','%FTP_SET_MAX_RESPONSE_WAIT','%FTP_SET_PASSIVE','%FTP_SET_SYNC','%FW_BLACK','%FW_BOLD',
+ '%FW_DEMIBOLD','%FW_DONTCARE','%FW_EXTRABOLD','%FW_EXTRALIGHT','%FW_HEAVY','%FW_LIGHT','%FW_MEDIUM','%FW_NORMAL',
+ '%FW_REGULAR','%FW_SEMIBOLD','%FW_THIN','%FW_ULTRABOLD','%FW_ULTRALIGHT','%GDTR_MAX','%GDTR_MIN','%GLU_AUTO_LOAD_MATRIX',
+ '%GLU_BEGIN','%GLU_CCW','%GLU_CULLING','%GLU_CW','%GLU_DISPLAY_MODE','%GLU_DOMAIN_DISTANCE','%GLU_EDGE_FLAG','%GLU_END',
+ '%GLU_ERROR','%GLU_EXTENSIONS','%GLU_EXTERIOR','%GLU_FALSE','%GLU_FILL','%GLU_FLAT','%GLU_INCOMPATIBLE_GL_VERSION','%GLU_INSIDE',
+ '%GLU_INTERIOR','%GLU_INVALID_ENUM','%GLU_INVALID_VALUE','%GLU_LINE','%GLU_MAP1_TRIM_2','%GLU_MAP1_TRIM_3','%GLU_NONE','%GLU_NURBS_ERROR1',
+ '%GLU_NURBS_ERROR10','%GLU_NURBS_ERROR11','%GLU_NURBS_ERROR12','%GLU_NURBS_ERROR13','%GLU_NURBS_ERROR14','%GLU_NURBS_ERROR15','%GLU_NURBS_ERROR16','%GLU_NURBS_ERROR17',
+ '%GLU_NURBS_ERROR18','%GLU_NURBS_ERROR19','%GLU_NURBS_ERROR2','%GLU_NURBS_ERROR20','%GLU_NURBS_ERROR21','%GLU_NURBS_ERROR22','%GLU_NURBS_ERROR23','%GLU_NURBS_ERROR24',
+ '%GLU_NURBS_ERROR25','%GLU_NURBS_ERROR26','%GLU_NURBS_ERROR27','%GLU_NURBS_ERROR28','%GLU_NURBS_ERROR29','%GLU_NURBS_ERROR3','%GLU_NURBS_ERROR30','%GLU_NURBS_ERROR31',
+ '%GLU_NURBS_ERROR32','%GLU_NURBS_ERROR33','%GLU_NURBS_ERROR34','%GLU_NURBS_ERROR35','%GLU_NURBS_ERROR36','%GLU_NURBS_ERROR37','%GLU_NURBS_ERROR4','%GLU_NURBS_ERROR5',
+ '%GLU_NURBS_ERROR6','%GLU_NURBS_ERROR7','%GLU_NURBS_ERROR8','%GLU_NURBS_ERROR9','%GLU_OUTLINE_PATCH','%GLU_OUTLINE_POLYGON','%GLU_OUTSIDE','%GLU_OUT_OF_MEMORY',
+ '%GLU_PARAMETRIC_ERROR','%GLU_PARAMETRIC_TOLERANCE','%GLU_PATH_LENGTH','%GLU_POINT','%GLU_SAMPLING_METHOD','%GLU_SAMPLING_TOLERANCE','%GLU_SILHOUETTE','%GLU_SMOOTH',
+ '%GLU_TESS_BEGIN','%GLU_TESS_BEGIN_DATA','%GLU_TESS_BOUNDARY_ONLY','%GLU_TESS_COMBINE','%GLU_TESS_COMBINE_DATA','%GLU_TESS_COORD_TOO_LARGE','%GLU_TESS_EDGE_FLAG','%GLU_TESS_EDGE_FLAG_DATA',
+ '%GLU_TESS_END','%GLU_TESS_END_DATA','%GLU_TESS_ERROR','%GLU_TESS_ERROR1','%GLU_TESS_ERROR2','%GLU_TESS_ERROR3','%GLU_TESS_ERROR4','%GLU_TESS_ERROR5',
+ '%GLU_TESS_ERROR6','%GLU_TESS_ERROR7','%GLU_TESS_ERROR8','%GLU_TESS_ERROR_DATA','%GLU_TESS_MISSING_BEGIN_CONTOUR','%GLU_TESS_MISSING_BEGIN_POLYGON','%GLU_TESS_MISSING_END_CONTOUR','%GLU_TESS_MISSING_END_POLYGON',
+ '%GLU_TESS_NEED_COMBINE_CALLBACK','%GLU_TESS_TOLERANCE','%GLU_TESS_VERTEX','%GLU_TESS_VERTEX_DATA','%GLU_TESS_WINDING_ABS_GEQ_TWO','%GLU_TESS_WINDING_NEGATIVE','%GLU_TESS_WINDING_NONZERO','%GLU_TESS_WINDING_ODD',
+ '%GLU_TESS_WINDING_POSITIVE','%GLU_TESS_WINDING_RULE','%GLU_TRUE','%GLU_UNKNOWN','%GLU_U_STEP','%GLU_VERSION','%GLU_VERSION_1_1','%GLU_VERSION_1_2',
+ '%GLU_VERTEX','%GLU_V_STEP','%GL_2D','%GL_2_BYTES','%GL_3D','%GL_3D_COLOR','%GL_3D_COLOR_TEXTURE','%GL_3_BYTES',
+ '%GL_4D_COLOR_TEXTURE','%GL_4_BYTES','%GL_ABGR_EXT','%GL_ACCUM','%GL_ACCUM_ALPHA_BITS','%GL_ACCUM_BLUE_BITS','%GL_ACCUM_BUFFER_BIT','%GL_ACCUM_CLEAR_VALUE',
+ '%GL_ACCUM_GREEN_BITS','%GL_ACCUM_RED_BITS','%GL_ADD','%GL_ALL_ATTRIB_BITS','%GL_ALPHA','%GL_ALPHA12','%GL_ALPHA16','%GL_ALPHA4',
+ '%GL_ALPHA8','%GL_ALPHA_BIAS','%GL_ALPHA_BITS','%GL_ALPHA_SCALE','%GL_ALPHA_TEST','%GL_ALPHA_TEST_FUNC','%GL_ALPHA_TEST_REF','%GL_ALWAYS',
+ '%GL_AMBIENT','%GL_AMBIENT_AND_DIFFUSE','%GL_AND','%GL_AND_INVERTED','%GL_AND_REVERSE','%GL_ARRAY_ELEMENT_LOCK_COUNT_EXT','%GL_ARRAY_ELEMENT_LOCK_FIRST_EXT','%GL_ATTRIB_STACK_DEPTH',
+ '%GL_AUTO_NORMAL','%GL_AUX0','%GL_AUX1','%GL_AUX2','%GL_AUX3','%GL_AUX_BUFFERS','%GL_BACK','%GL_BACK_LEFT',
+ '%GL_BACK_RIGHT','%GL_BGRA_EXT','%GL_BGR_EXT','%GL_BITMAP','%GL_BITMAP_TOKEN','%GL_BLEND','%GL_BLEND_COLOR_EXT','%GL_BLEND_DST',
+ '%GL_BLEND_EQUATION_EXT','%GL_BLEND_SRC','%GL_BLUE','%GL_BLUE_BIAS','%GL_BLUE_BITS','%GL_BLUE_SCALE','%GL_BYTE','%GL_C3F_V3F',
+ '%GL_C4F_N3F_V3F','%GL_C4UB_V2F','%GL_C4UB_V3F','%GL_CCW','%GL_CLAMP','%GL_CLEAR','%GL_CLIENT_ALL_ATTRIB_BITS','%GL_CLIENT_ATTRIB_STACK_DEPTH',
+ '%GL_CLIENT_PIXEL_STORE_BIT','%GL_CLIENT_VERTEX_ARRAY_BIT','%GL_CLIP_PLANE0','%GL_CLIP_PLANE1','%GL_CLIP_PLANE2','%GL_CLIP_PLANE3','%GL_CLIP_PLANE4','%GL_CLIP_PLANE5',
+ '%GL_CLIP_VOLUME_CLIPPING_HINT_EXT','%GL_COEFF','%GL_COLOR','%GL_COLOR_ARRAY','%GL_COLOR_ARRAY_COUNT_EXT','%GL_COLOR_ARRAY_EXT','%GL_COLOR_ARRAY_POINTER','%GL_COLOR_ARRAY_POINTER_EXT',
+ '%GL_COLOR_ARRAY_SIZE','%GL_COLOR_ARRAY_SIZE_EXT','%GL_COLOR_ARRAY_STRIDE','%GL_COLOR_ARRAY_STRIDE_EXT','%GL_COLOR_ARRAY_TYPE','%GL_COLOR_ARRAY_TYPE_EXT','%GL_COLOR_BUFFER_BIT','%GL_COLOR_CLEAR_VALUE',
+ '%GL_COLOR_INDEX','%GL_COLOR_INDEX12_EXT','%GL_COLOR_INDEX16_EXT','%GL_COLOR_INDEX1_EXT','%GL_COLOR_INDEX2_EXT','%GL_COLOR_INDEX4_EXT','%GL_COLOR_INDEX8_EXT','%GL_COLOR_INDEXES',
+ '%GL_COLOR_LOGIC_OP','%GL_COLOR_MATERIAL','%GL_COLOR_MATERIAL_FACE','%GL_COLOR_MATERIAL_PARAMETER','%GL_COLOR_SUM_EXT','%GL_COLOR_TABLE_ALPHA_SIZE_EXT','%GL_COLOR_TABLE_BIAS_EXT','%GL_COLOR_TABLE_BLUE_SIZE_EXT',
+ '%GL_COLOR_TABLE_EXT','%GL_COLOR_TABLE_FORMAT_EXT','%GL_COLOR_TABLE_GREEN_SIZE_EXT','%GL_COLOR_TABLE_INTENSITY_SIZE_EXT','%GL_COLOR_TABLE_LUMINANCE_SIZE_EXT','%GL_COLOR_TABLE_RED_SIZE_EXT','%GL_COLOR_TABLE_SCALE_EXT','%GL_COLOR_TABLE_WIDTH_EXT',
+ '%GL_COLOR_WRITEMASK','%GL_COMPILE','%GL_COMPILE_AND_EXECUTE','%GL_CONSTANT_ALPHA_EXT','%GL_CONSTANT_ATTENUATION','%GL_CONSTANT_COLOR_EXT','%GL_CONVOLUTION_1D_EXT','%GL_CONVOLUTION_2D_EXT',
+ '%GL_CONVOLUTION_BORDER_MODE_EXT','%GL_CONVOLUTION_FILTER_BIAS_EXT','%GL_CONVOLUTION_FILTER_SCALE_EXT','%GL_CONVOLUTION_FORMAT_EXT','%GL_CONVOLUTION_HEIGHT_EXT','%GL_CONVOLUTION_WIDTH_EXT','%GL_COPY','%GL_COPY_INVERTED',
+ '%GL_COPY_PIXEL_TOKEN','%GL_CULL_FACE','%GL_CULL_FACE_MODE','%GL_CULL_VERTEX_EXT','%GL_CULL_VERTEX_EYE_POSITION_EXT','%GL_CULL_VERTEX_OBJECT_POSITION_EXT','%GL_CURRENT_BIT','%GL_CURRENT_COLOR',
+ '%GL_CURRENT_INDEX','%GL_CURRENT_NORMAL','%GL_CURRENT_RASTER_COLOR','%GL_CURRENT_RASTER_DISTANCE','%GL_CURRENT_RASTER_INDEX','%GL_CURRENT_RASTER_POSITION','%GL_CURRENT_RASTER_POSITION_VALID','%GL_CURRENT_RASTER_TEXTURE_COORDS',
+ '%GL_CURRENT_SECONDARY_COLOR_EXT','%GL_CURRENT_TEXTURE_COORDS','%GL_CW','%GL_DECAL','%GL_DECR','%GL_DEPTH','%GL_DEPTH_BIAS','%GL_DEPTH_BITS',
+ '%GL_DEPTH_BUFFER_BIT','%GL_DEPTH_CLEAR_VALUE','%GL_DEPTH_COMPONENT','%GL_DEPTH_FUNC','%GL_DEPTH_RANGE','%GL_DEPTH_SCALE','%GL_DEPTH_TEST','%GL_DEPTH_WRITEMASK',
+ '%GL_DIFFUSE','%GL_DITHER','%GL_DOMAIN','%GL_DONT_CARE','%GL_DOUBLE','%GL_DOUBLEBUFFER','%GL_DOUBLE_EXT','%GL_DRAW_BUFFER',
+ '%GL_DRAW_PIXEL_TOKEN','%GL_DST_ALPHA','%GL_DST_COLOR','%GL_EDGE_FLAG','%GL_EDGE_FLAG_ARRAY','%GL_EDGE_FLAG_ARRAY_COUNT_EXT','%GL_EDGE_FLAG_ARRAY_EXT','%GL_EDGE_FLAG_ARRAY_POINTER',
+ '%GL_EDGE_FLAG_ARRAY_POINTER_EXT','%GL_EDGE_FLAG_ARRAY_STRIDE','%GL_EDGE_FLAG_ARRAY_STRIDE_EXT','%GL_EMISSION','%GL_ENABLE_BIT','%GL_EQUAL','%GL_EQUIV','%GL_EVAL_BIT',
+ '%GL_EXP','%GL_EXP2','%GL_EXTENSIONS','%GL_EXT_ABGR','%GL_EXT_BGRA','%GL_EXT_BLEND_COLOR','%GL_EXT_BLEND_MINMAX','%GL_EXT_BLEND_SUBTRACT',
+ '%GL_EXT_CLIP_VOLUME_HINT','%GL_EXT_COLOR_TABLE','%GL_EXT_COMPILED_VERTEX_ARRAY','%GL_EXT_CONVOLUTION','%GL_EXT_CULL_VERTEX','%GL_EXT_HISTOGRAM','%GL_EXT_PACKED_PIXELS','%GL_EXT_PALETTED_TEXTURE',
+ '%GL_EXT_POLYGON_OFFSET','%GL_EXT_SECONDARY_COLOR','%GL_EXT_SEPARATE_SPECULAR_COLOR','%GL_EXT_VERTEX_ARRAY','%GL_EYE_LINEAR','%GL_EYE_PLANE','%GL_FALSE','%GL_FASTEST',
+ '%GL_FEEDBACK','%GL_FEEDBACK_BUFFER_POINTER','%GL_FEEDBACK_BUFFER_SIZE','%GL_FEEDBACK_BUFFER_TYPE','%GL_FILL','%GL_FLAT','%GL_FLOAT','%GL_FOG',
+ '%GL_FOG_BIT','%GL_FOG_COLOR','%GL_FOG_DENSITY','%GL_FOG_END','%GL_FOG_HINT','%GL_FOG_INDEX','%GL_FOG_MODE','%GL_FOG_START',
+ '%GL_FRONT','%GL_FRONT_AND_BACK','%GL_FRONT_FACE','%GL_FRONT_LEFT','%GL_FRONT_RIGHT','%GL_FUNC_ADD_EXT','%GL_FUNC_REVERSE_SUBTRACT_EXT','%GL_FUNC_SUBTRACT_EXT',
+ '%GL_GEQUAL','%GL_GREATER','%GL_GREEN','%GL_GREEN_BIAS','%GL_GREEN_BITS','%GL_GREEN_SCALE','%GL_HINT_BIT','%GL_HISTOGRAM_ALPHA_SIZE_EXT',
+ '%GL_HISTOGRAM_BLUE_SIZE_EXT','%GL_HISTOGRAM_EXT','%GL_HISTOGRAM_FORMAT_EXT','%GL_HISTOGRAM_GREEN_SIZE_EXT','%GL_HISTOGRAM_LUMINANCE_SIZE_EXT','%GL_HISTOGRAM_RED_SIZE_EXT','%GL_HISTOGRAM_SINK_EXT','%GL_HISTOGRAM_WIDTH_EXT',
+ '%GL_INCR','%GL_INDEX_ARRAY','%GL_INDEX_ARRAY_COUNT_EXT','%GL_INDEX_ARRAY_EXT','%GL_INDEX_ARRAY_POINTER','%GL_INDEX_ARRAY_POINTER_EXT','%GL_INDEX_ARRAY_STRIDE','%GL_INDEX_ARRAY_STRIDE_EXT',
+ '%GL_INDEX_ARRAY_TYPE','%GL_INDEX_ARRAY_TYPE_EXT','%GL_INDEX_BITS','%GL_INDEX_CLEAR_VALUE','%GL_INDEX_LOGIC_OP','%GL_INDEX_MODE','%GL_INDEX_OFFSET','%GL_INDEX_SHIFT',
+ '%GL_INDEX_WRITEMASK','%GL_INT','%GL_INTENSITY','%GL_INTENSITY12','%GL_INTENSITY16','%GL_INTENSITY4','%GL_INTENSITY8','%GL_INVALID_ENUM',
+ '%GL_INVALID_OPERATION','%GL_INVALID_VALUE','%GL_INVERT','%GL_KEEP','%GL_LEFT','%GL_LEQUAL','%GL_LESS','%GL_LIGHT0',
+ '%GL_LIGHT1','%GL_LIGHT2','%GL_LIGHT3','%GL_LIGHT4','%GL_LIGHT5','%GL_LIGHT6','%GL_LIGHT7','%GL_LIGHTING',
+ '%GL_LIGHTING_BIT','%GL_LIGHT_MODEL_AMBIENT','%GL_LIGHT_MODEL_COLOR_CONTROL_EXT','%GL_LIGHT_MODEL_LOCAL_VIEWER','%GL_LIGHT_MODEL_TWO_SIDE','%GL_LINE','%GL_LINEAR','%GL_LINEAR_ATTENUATION',
+ '%GL_LINEAR_MIPMAP_LINEAR','%GL_LINEAR_MIPMAP_NEAREST','%GL_LINES','%GL_LINE_BIT','%GL_LINE_LOOP','%GL_LINE_RESET_TOKEN','%GL_LINE_SMOOTH','%GL_LINE_SMOOTH_HINT',
+ '%GL_LINE_STIPPLE','%GL_LINE_STIPPLE_PATTERN','%GL_LINE_STIPPLE_REPEAT','%GL_LINE_STRIP','%GL_LINE_TOKEN','%GL_LINE_WIDTH','%GL_LINE_WIDTH_GRANULARITY','%GL_LINE_WIDTH_RANGE',
+ '%GL_LIST_BASE','%GL_LIST_BIT','%GL_LIST_INDEX','%GL_LIST_MODE','%GL_LOAD','%GL_LOGIC_OP','%GL_LOGIC_OP_MODE','%GL_LUMINANCE',
+ '%GL_LUMINANCE12','%GL_LUMINANCE12_ALPHA12','%GL_LUMINANCE12_ALPHA4','%GL_LUMINANCE16','%GL_LUMINANCE16_ALPHA16','%GL_LUMINANCE4','%GL_LUMINANCE4_ALPHA4','%GL_LUMINANCE6_ALPHA2',
+ '%GL_LUMINANCE8','%GL_LUMINANCE8_ALPHA8','%GL_LUMINANCE_ALPHA','%GL_MAP1_COLOR_4','%GL_MAP1_GRID_DOMAIN','%GL_MAP1_GRID_SEGMENTS','%GL_MAP1_INDEX','%GL_MAP1_NORMAL',
+ '%GL_MAP1_TEXTURE_COORD_1','%GL_MAP1_TEXTURE_COORD_2','%GL_MAP1_TEXTURE_COORD_3','%GL_MAP1_TEXTURE_COORD_4','%GL_MAP1_VERTEX_3','%GL_MAP1_VERTEX_4','%GL_MAP2_COLOR_4','%GL_MAP2_GRID_DOMAIN',
+ '%GL_MAP2_GRID_SEGMENTS','%GL_MAP2_INDEX','%GL_MAP2_NORMAL','%GL_MAP2_TEXTURE_COORD_1','%GL_MAP2_TEXTURE_COORD_2','%GL_MAP2_TEXTURE_COORD_3','%GL_MAP2_TEXTURE_COORD_4','%GL_MAP2_VERTEX_3',
+ '%GL_MAP2_VERTEX_4','%GL_MAP_COLOR','%GL_MAP_STENCIL','%GL_MATRIX_MODE','%GL_MAX_ATTRIB_STACK_DEPTH','%GL_MAX_CLIENT_ATTRIB_STACK_DEPTH','%GL_MAX_CLIP_PLANES','%GL_MAX_CONVOLUTION_HEIGHT_EXT',
+ '%GL_MAX_CONVOLUTION_WIDTH_EXT','%GL_MAX_EVAL_ORDER','%GL_MAX_EXT','%GL_MAX_LIGHTS','%GL_MAX_LIST_NESTING','%GL_MAX_MODELVIEW_STACK_DEPTH','%GL_MAX_NAME_STACK_DEPTH','%GL_MAX_PIXEL_MAP_TABLE',
+ '%GL_MAX_PROJECTION_STACK_DEPTH','%GL_MAX_TEXTURE_SIZE','%GL_MAX_TEXTURE_STACK_DEPTH','%GL_MAX_VIEWPORT_DIMS','%GL_MINMAX_EXT','%GL_MINMAX_FORMAT_EXT','%GL_MINMAX_SINK_EXT','%GL_MIN_EXT',
+ '%GL_MODELVIEW','%GL_MODELVIEW_MATRIX','%GL_MODELVIEW_STACK_DEPTH','%GL_MODULATE','%GL_MULT','%GL_N3F_V3F','%GL_NAME_STACK_DEPTH','%GL_NAND',
+ '%GL_NEAREST','%GL_NEAREST_MIPMAP_LINEAR','%GL_NEAREST_MIPMAP_NEAREST','%GL_NEVER','%GL_NICEST','%GL_NONE','%GL_NOOP','%GL_NOR',
+ '%GL_NORMALIZE','%GL_NORMAL_ARRAY','%GL_NORMAL_ARRAY_COUNT_EXT','%GL_NORMAL_ARRAY_EXT','%GL_NORMAL_ARRAY_POINTER','%GL_NORMAL_ARRAY_POINTER_EXT','%GL_NORMAL_ARRAY_STRIDE','%GL_NORMAL_ARRAY_STRIDE_EXT',
+ '%GL_NORMAL_ARRAY_TYPE','%GL_NORMAL_ARRAY_TYPE_EXT','%GL_NOTEQUAL','%GL_NO_ERROR','%GL_OBJECT_LINEAR','%GL_OBJECT_PLANE','%GL_ONE','%GL_ONE_MINUS_CONSTANT_ALPHA_EXT',
+ '%GL_ONE_MINUS_CONSTANT_COLOR_EXT','%GL_ONE_MINUS_DST_ALPHA','%GL_ONE_MINUS_DST_COLOR','%GL_ONE_MINUS_SRC_ALPHA','%GL_ONE_MINUS_SRC_COLOR','%GL_OR','%GL_ORDER','%GL_OR_INVERTED',
+ '%GL_OR_REVERSE','%GL_OUT_OF_MEMORY','%GL_PACK_ALIGNMENT','%GL_PACK_LSB_FIRST','%GL_PACK_ROW_LENGTH','%GL_PACK_SKIP_PIXELS','%GL_PACK_SKIP_ROWS','%GL_PACK_SWAP_BYTES',
+ '%GL_PASS_THROUGH_TOKEN','%GL_PERSPECTIVE_CORRECTION_HINT','%GL_PIXEL_MAP_A_TO_A','%GL_PIXEL_MAP_A_TO_A_SIZE','%GL_PIXEL_MAP_B_TO_B','%GL_PIXEL_MAP_B_TO_B_SIZE','%GL_PIXEL_MAP_G_TO_G','%GL_PIXEL_MAP_G_TO_G_SIZE',
+ '%GL_PIXEL_MAP_I_TO_A','%GL_PIXEL_MAP_I_TO_A_SIZE','%GL_PIXEL_MAP_I_TO_B','%GL_PIXEL_MAP_I_TO_B_SIZE','%GL_PIXEL_MAP_I_TO_G','%GL_PIXEL_MAP_I_TO_G_SIZE','%GL_PIXEL_MAP_I_TO_I','%GL_PIXEL_MAP_I_TO_I_SIZE',
+ '%GL_PIXEL_MAP_I_TO_R','%GL_PIXEL_MAP_I_TO_R_SIZE','%GL_PIXEL_MAP_R_TO_R','%GL_PIXEL_MAP_R_TO_R_SIZE','%GL_PIXEL_MAP_S_TO_S','%GL_PIXEL_MAP_S_TO_S_SIZE','%GL_PIXEL_MODE_BIT','%GL_POINT',
+ '%GL_POINTS','%GL_POINT_BIT','%GL_POINT_SIZE','%GL_POINT_SIZE_GRANULARITY','%GL_POINT_SIZE_RANGE','%GL_POINT_SMOOTH','%GL_POINT_SMOOTH_HINT','%GL_POINT_TOKEN',
+ '%GL_POLYGON','%GL_POLYGON_BIT','%GL_POLYGON_MODE','%GL_POLYGON_OFFSET_BIAS_EXT','%GL_POLYGON_OFFSET_EXT','%GL_POLYGON_OFFSET_FACTOR','%GL_POLYGON_OFFSET_FACTOR_EXT','%GL_POLYGON_OFFSET_FILL',
+ '%GL_POLYGON_OFFSET_LINE','%GL_POLYGON_OFFSET_POINT','%GL_POLYGON_OFFSET_UNITS','%GL_POLYGON_SMOOTH','%GL_POLYGON_SMOOTH_HINT','%GL_POLYGON_STIPPLE','%GL_POLYGON_STIPPLE_BIT','%GL_POLYGON_TOKEN',
+ '%GL_POSITION','%GL_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_ALPHA_BIAS_EXT','%GL_POST_CONVOLUTION_ALPHA_SCALE_EXT','%GL_POST_CONVOLUTION_BLUE_BIAS_EXT','%GL_POST_CONVOLUTION_BLUE_SCALE_EXT','%GL_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_GREEN_BIAS_EXT',
+ '%GL_POST_CONVOLUTION_GREEN_SCALE_EXT','%GL_POST_CONVOLUTION_RED_BIAS_EXT','%GL_POST_CONVOLUTION_RED_SCALE_EXT','%GL_PROJECTION','%GL_PROJECTION_MATRIX','%GL_PROJECTION_STACK_DEPTH','%GL_PROXY_COLOR_TABLE_EXT','%GL_PROXY_HISTOGRAM_EXT',
+ '%GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_PROXY_TEXTURE_1D','%GL_PROXY_TEXTURE_2D','%GL_Q','%GL_QUADRATIC_ATTENUATION','%GL_QUADS','%GL_QUAD_STRIP',
+ '%GL_R','%GL_R3_G3_B2','%GL_READ_BUFFER','%GL_RED','%GL_REDUCE_EXT','%GL_RED_BIAS','%GL_RED_BITS','%GL_RED_SCALE',
+ '%GL_RENDER','%GL_RENDERER','%GL_RENDER_MODE','%GL_REPEAT','%GL_REPLACE','%GL_RETURN','%GL_RGB','%GL_RGB10',
+ '%GL_RGB10_A2','%GL_RGB12','%GL_RGB16','%GL_RGB4','%GL_RGB5','%GL_RGB5_A1','%GL_RGB8','%GL_RGBA',
+ '%GL_RGBA12','%GL_RGBA16','%GL_RGBA2','%GL_RGBA4','%GL_RGBA8','%GL_RGBA_MODE','%GL_RIGHT','%GL_S',
+ '%GL_SCISSOR_BIT','%GL_SCISSOR_BOX','%GL_SCISSOR_TEST','%GL_SECONDARY_COLOR_ARRAY_EXT','%GL_SECONDARY_COLOR_ARRAY_POINTER_EXT','%GL_SECONDARY_COLOR_ARRAY_SIZE_EXT','%GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT','%GL_SECONDARY_COLOR_ARRAY_TYPE_EXT',
+ '%GL_SELECT','%GL_SELECTION_BUFFER_POINTER','%GL_SELECTION_BUFFER_SIZE','%GL_SEPARABLE_2D_EXT','%GL_SEPARATE_SPECULAR_COLOR_EXT','%GL_SET','%GL_SHADE_MODEL','%GL_SHININESS',
+ '%GL_SHORT','%GL_SINGLE_COLOR_EXT','%GL_SMOOTH','%GL_SPECULAR','%GL_SPHERE_MAP','%GL_SPOT_CUTOFF','%GL_SPOT_DIRECTION','%GL_SPOT_EXPONENT',
+ '%GL_SRC_ALPHA','%GL_SRC_ALPHA_SATURATE','%GL_SRC_COLOR','%GL_STACK_OVERFLOW','%GL_STACK_UNDERFLOW','%GL_STENCIL','%GL_STENCIL_BITS','%GL_STENCIL_BUFFER_BIT',
+ '%GL_STENCIL_CLEAR_VALUE','%GL_STENCIL_FAIL','%GL_STENCIL_FUNC','%GL_STENCIL_INDEX','%GL_STENCIL_PASS_DEPTH_FAIL','%GL_STENCIL_PASS_DEPTH_PASS','%GL_STENCIL_REF','%GL_STENCIL_TEST',
+ '%GL_STENCIL_VALUE_MASK','%GL_STENCIL_WRITEMASK','%GL_STEREO','%GL_SUBPIXEL_BITS','%GL_T','%GL_T2F_C3F_V3F','%GL_T2F_C4F_N3F_V3F','%GL_T2F_C4UB_V3F',
+ '%GL_T2F_N3F_V3F','%GL_T2F_V3F','%GL_T4F_C4F_N3F_V4F','%GL_T4F_V4F','%GL_TABLE_TOO_LARGE_EXT','%GL_TEXTURE','%GL_TEXTURE_1D','%GL_TEXTURE_2D',
+ '%GL_TEXTURE_ALPHA_SIZE','%GL_TEXTURE_BINDING_1D','%GL_TEXTURE_BINDING_2D','%GL_TEXTURE_BIT','%GL_TEXTURE_BLUE_SIZE','%GL_TEXTURE_BORDER','%GL_TEXTURE_BORDER_COLOR','%GL_TEXTURE_COMPONENTS',
+ '%GL_TEXTURE_COORD_ARRAY','%GL_TEXTURE_COORD_ARRAY_COUNT_EXT','%GL_TEXTURE_COORD_ARRAY_EXT','%GL_TEXTURE_COORD_ARRAY_POINTER','%GL_TEXTURE_COORD_ARRAY_POINTER_EXT','%GL_TEXTURE_COORD_ARRAY_SIZE','%GL_TEXTURE_COORD_ARRAY_SIZE_EXT','%GL_TEXTURE_COORD_ARRAY_STRIDE',
+ '%GL_TEXTURE_COORD_ARRAY_STRIDE_EXT','%GL_TEXTURE_COORD_ARRAY_TYPE','%GL_TEXTURE_COORD_ARRAY_TYPE_EXT','%GL_TEXTURE_ENV','%GL_TEXTURE_ENV_COLOR','%GL_TEXTURE_ENV_MODE','%GL_TEXTURE_GEN_MODE','%GL_TEXTURE_GEN_Q',
+ '%GL_TEXTURE_GEN_R','%GL_TEXTURE_GEN_S','%GL_TEXTURE_GEN_T','%GL_TEXTURE_GREEN_SIZE','%GL_TEXTURE_HEIGHT','%GL_TEXTURE_INTENSITY_SIZE','%GL_TEXTURE_INTERNAL_FORMAT','%GL_TEXTURE_LUMINANCE_SIZE',
+ '%GL_TEXTURE_MAG_FILTER','%GL_TEXTURE_MATRIX','%GL_TEXTURE_MIN_FILTER','%GL_TEXTURE_PRIORITY','%GL_TEXTURE_RED_SIZE','%GL_TEXTURE_RESIDENT','%GL_TEXTURE_STACK_DEPTH','%GL_TEXTURE_WIDTH',
+ '%GL_TEXTURE_WRAP_S','%GL_TEXTURE_WRAP_T','%GL_TRANSFORM_BIT','%GL_TRIANGLES','%GL_TRIANGLE_FAN','%GL_TRIANGLE_STRIP','%GL_TRUE','%GL_UNPACK_ALIGNMENT',
+ '%GL_UNPACK_LSB_FIRST','%GL_UNPACK_ROW_LENGTH','%GL_UNPACK_SKIP_PIXELS','%GL_UNPACK_SKIP_ROWS','%GL_UNPACK_SWAP_BYTES','%GL_UNSIGNED_BYTE','%GL_UNSIGNED_BYTE_3_3_2_EXT','%GL_UNSIGNED_INT',
+ '%GL_UNSIGNED_INT_10_10_10_2_EXT','%GL_UNSIGNED_INT_8_8_8_8_EXT','%GL_UNSIGNED_SHORT','%GL_UNSIGNED_SHORT_4_4_4_4_EXT','%GL_UNSIGNED_SHORT_5_5_5_1_EXT','%GL_V2F','%GL_V3F','%GL_VENDOR',
+ '%GL_VERSION','%GL_VERSION_1_1','%GL_VERTEX_ARRAY','%GL_VERTEX_ARRAY_COUNT_EXT','%GL_VERTEX_ARRAY_EXT','%GL_VERTEX_ARRAY_POINTER','%GL_VERTEX_ARRAY_POINTER_EXT','%GL_VERTEX_ARRAY_SIZE',
+ '%GL_VERTEX_ARRAY_SIZE_EXT','%GL_VERTEX_ARRAY_STRIDE','%GL_VERTEX_ARRAY_STRIDE_EXT','%GL_VERTEX_ARRAY_TYPE','%GL_VERTEX_ARRAY_TYPE_EXT','%GL_VIEWPORT','%GL_VIEWPORT_BIT','%GL_WIN_SWAP_HINT',
+ '%GL_XOR','%GL_ZERO','%GL_ZOOM_X','%GL_ZOOM_Y','%GRAY','%GREEN','%GWLP_HINSTANCE','%GWLP_HWNDPARENT',
+ '%GWLP_ID','%GWLP_USERDATA','%GWLP_WNDPROC','%GWL_EXSTYLE','%GWL_HINSTANCE','%GWL_HWNDPARENT','%GWL_ID','%GWL_STYLE',
+ '%GWL_USERDATA','%GWL_WNDPROC','%HDM_FIRST','%HTCAPTION','%HWND_BOTTOM','%HWND_DESKTOP','%HWND_MESSAGE','%HWND_NOTOPMOST',
+ '%HWND_TOP','%HWND_TOPMOST','%ICRYPTO_XOR_DECREASE','%ICRYPTO_XOR_INCREASE','%ICRYPTO_XOR_NORMAL','%IDABORT','%IDCANCEL','%IDCONTINUE',
+ '%IDIGNORE','%IDNO','%IDOK','%IDRETRY','%IDTIMEOUT','%IDTRYAGAIN','%IDYES','%INTERNET_CONNECTION_CONFIGURED',
+ '%INTERNET_CONNECTION_LAN','%INTERNET_CONNECTION_MODEM','%INTERNET_CONNECTION_MODEM_BUSY','%INTERNET_CONNECTION_OFFLINE','%INTERNET_CONNECTION_PROXY','%INTERNET_RAS_INSTALLED','%LBN_DBLCLK','%LBN_KILLFOCUS',
+ '%LBN_SELCANCEL','%LBN_SELCHANGE','%LBN_SETFOCUS','%LBS_DISABLENOSCROLL','%LBS_EXTENDEDSEL','%LBS_MULTICOLUMN','%LBS_MULTIPLESEL','%LBS_NOINTEGRALHEIGHT',
+ '%LBS_NOSEL','%LBS_NOTIFY','%LBS_SORT','%LBS_STANDARD','%LBS_USETABSTOPS','%LB_ADDFILE','%LB_ADDSTRING','%LB_DELETESTRING',
+ '%LB_DIR','%LB_FINDSTRING','%LB_FINDSTRINGEXACT','%LB_GETANCHORINDEX','%LB_GETCARETINDEX','%LB_GETCOUNT','%LB_GETCURSEL','%LB_GETHORIZONTALEXTENT',
+ '%LB_GETITEMDATA','%LB_GETITEMHEIGHT','%LB_GETITEMRECT','%LB_GETLISTBOXINFO','%LB_GETLOCALE','%LB_GETSEL','%LB_GETSELCOUNT','%LB_GETSELITEMS',
+ '%LB_GETTEXT','%LB_GETTEXTLEN','%LB_GETTOPINDEX','%LB_INITSTORAGE','%LB_INSERTSTRING','%LB_ITEMFROMPOINT','%LB_MULTIPLEADDSTRING','%LB_RESETCONTENT',
+ '%LB_SELECTSTRING','%LB_SELITEMRANGE','%LB_SELITEMRANGEEX','%LB_SETANCHORINDEX','%LB_SETCARETINDEX','%LB_SETCOLUMNWIDTH','%LB_SETCOUNT','%LB_SETCURSEL',
+ '%LB_SETHORIZONTALEXTENT','%LB_SETITEMDATA','%LB_SETITEMHEIGHT','%LB_SETLOCALE','%LB_SETSEL','%LB_SETTABSTOPS','%LB_SETTOPINDEX','%LF_FACESIZE',
+ '%LTGRAY','%LVM_FIRST','%LWA_ALPHA','%LWA_COLORKEY','%MAGENTA','%MAXBYTE','%MAXCHAR','%MAXDWORD',
+ '%MAXSHORT','%MAXWORD','%MAX_PATH','%MB_ABORTRETRYIGNORE','%MB_APPLMODAL','%MB_CANCELTRYCONTINUE','%MB_DEFBUTTON1','%MB_DEFBUTTON2',
+ '%MB_DEFBUTTON3','%MB_HELP','%MB_ICONASTERISK','%MB_ICONERROR','%MB_ICONEXCLAMATION','%MB_ICONHAND','%MB_ICONINFORMATION','%MB_ICONQUESTION',
+ '%MB_ICONSTOP','%MB_ICONWARNING','%MB_OK','%MB_OKCANCEL','%MB_RETRYCANCEL','%MB_SIMPLE','%MB_SYSTEMMODAL','%MB_TOPMOST',
+ '%MB_YESNO','%MB_YESNOCANCEL','%MF_CHECKED','%MF_DISABLED','%MF_ENABLED','%MF_GRAYED','%MF_SEPARATOR','%MF_UNCHECKED',
+ '%MINCHAR','%MINLONG','%MINSHORT','%NULL','%ODBC352_INC','%ODBCVER','%ODBC_ADD_DSN','%ODBC_ADD_SYS_DSN',
+ '%ODBC_BOTH_DSN','%ODBC_CONFIG_DRIVER','%ODBC_CONFIG_DRIVER_MAX','%ODBC_CONFIG_DSN','%ODBC_CONFIG_SYS_DSN','%ODBC_DRIVER_VERSION','%ODBC_ERROR_COMPONENT_NOT_FOUND','%ODBC_ERROR_CREATE_DSN_FAILED',
+ '%ODBC_ERROR_GENERAL_ERR','%ODBC_ERROR_INVALID_BUFF_LEN','%ODBC_ERROR_INVALID_DSN','%ODBC_ERROR_INVALID_HWND','%ODBC_ERROR_INVALID_INF','%ODBC_ERROR_INVALID_KEYWORD_VALUE','%ODBC_ERROR_INVALID_LOG_FILE','%ODBC_ERROR_INVALID_NAME',
+ '%ODBC_ERROR_INVALID_PARAM_SEQUENCE','%ODBC_ERROR_INVALID_PATH','%ODBC_ERROR_INVALID_REQUEST_TYPE','%ODBC_ERROR_INVALID_STR','%ODBC_ERROR_LOAD_LIB_FAILED','%ODBC_ERROR_OUTPUT_STRING_TRUNCATED','%ODBC_ERROR_OUT_OF_MEM','%ODBC_ERROR_REMOVE_DSN_FAILED',
+ '%ODBC_ERROR_REQUEST_FAILED','%ODBC_ERROR_USAGE_UPDATE_FAILED','%ODBC_ERROR_USER_CANCELED','%ODBC_ERROR_WRITING_SYSINFO_FAILED','%ODBC_INSTALL_COMPLETE','%ODBC_INSTALL_DRIVER','%ODBC_INSTALL_INQUIRY','%ODBC_REMOVE_DEFAULT_DSN',
+ '%ODBC_REMOVE_DRIVER','%ODBC_REMOVE_DSN','%ODBC_REMOVE_SYS_DSN','%ODBC_SYSTEM_DSN','%ODBC_USER_DSN','%OFN_ALLOWMULTISELECT','%OFN_CREATEPROMPT','%OFN_ENABLEHOOK',
+ '%OFN_ENABLEINCLUDENOTIFY','%OFN_ENABLESIZING','%OFN_ENABLETEMPLATE','%OFN_ENABLETEMPLATEHANDLE','%OFN_EXPLORER','%OFN_EXTENSIONDIFFERENT','%OFN_FILEMUSTEXIST','%OFN_HIDEREADONLY',
+ '%OFN_LONGNAMES','%OFN_NOCHANGEDIR','%OFN_NODEREFERENCELINKS','%OFN_NOLONGNAMES','%OFN_NONETWORKBUTTON','%OFN_NOREADONLYRETURN','%OFN_NOTESTFILECREATE','%OFN_NOVALIDATE',
+ '%OFN_OVERWRITEPROMPT','%OFN_PATHMUSTEXIST','%OFN_READONLY','%OFN_SHAREAWARE','%OFN_SHOWHELP','%OS_ERROR_CALLFUNCTION','%OS_ERROR_EMPTYSTRING','%OS_ERROR_LOADLIBRARY',
+ '%OS_ERROR_SUCCESS','%OS_ERROR_WRONGPARAMETER','%OS_SHELL_ASYNC','%OS_SHELL_SYNC','%OS_WINDOWS_2K','%OS_WINDOWS_95','%OS_WINDOWS_95_OSR2','%OS_WINDOWS_98',
+ '%OS_WINDOWS_98_SE','%OS_WINDOWS_ME','%OS_WINDOWS_NT','%OS_WINDOWS_SERVER_2003','%OS_WINDOWS_SERVER_LONGHORN','%OS_WINDOWS_SERVER_LONGHORN_DC','%OS_WINDOWS_VISTA','%OS_WINDOWS_XP',
+ '%OS_WNDSTYLE_HIDE','%OS_WNDSTYLE_MAXIMIZED','%OS_WNDSTYLE_MINIMIZED','%OS_WNDSTYLE_MINIMIZEDNOFOCUS','%OS_WNDSTYLE_NORMAL','%OS_WNDSTYLE_NORMALNOFOCUS','%PATH_EXT','%PATH_FILE',
+ '%PATH_FILEEXT','%PATH_ROOT','%PATH_ROOTPATH','%PATH_ROOTPATHPROG','%PATH_ROOTPATHPROGEXT','%PBM_DELTAPOS','%PBM_GETPOS','%PBM_GETRANGE',
+ '%PBM_SETBARCOLOR','%PBM_SETBKCOLOR','%PBM_SETPOS','%PBM_SETRANGE','%PBM_SETRANGE32','%PBM_SETSTEP','%PBM_STEPIT','%PBS_SMOOTH',
+ '%PBS_VERTICAL','%PC_DISABLEWAKEEVENT_OFF','%PC_DISABLEWAKEEVENT_ON','%PC_EB_NOCONFIRMATION','%PC_EB_NOPROGRESSUI','%PC_EB_NORMAL','%PC_EB_NOSOUND','%PC_FORCECRITICAL_OFF',
+ '%PC_FORCECRITICAL_ON','%PC_HIBERNATE_OFF','%PC_HIBERNATE_ON','%PC_RD_FORCE','%PC_RD_FORCEIFHUNG','%PC_RD_LOGOFF','%PC_RD_POWEROFF','%PC_RD_REBOOT',
+ '%PC_RD_SHUTDOWN','%PC_SD_DONOT_FORCE','%PC_SD_DONOT_REBOOT','%PC_SD_FORCE','%PC_SD_REBOOT','%PFA_CENTER','%PFA_LEFT','%PFA_RIGHT',
+ '%PF_3DNOW_INSTRUCTIONS_AVAILABLE','%PF_CHANNELS_ENABLED','%PF_COMPARE64_EXCHANGE128','%PF_COMPARE_EXCHANGE128','%PF_COMPARE_EXCHANGE_DOUBLE','%PF_FLOATING_POINT_EMULATED','%PF_FLOATING_POINT_PRECISION_ERRATA','%PF_MMX_INSTRUCTIONS_AVAILABLE',
+ '%PF_NX_ENABLED','%PF_PAE_ENABLED','%PF_RDTSC_INSTRUCTION_AVAILABLE','%PF_SSE3_INSTRUCTIONS_AVAILABLE','%PF_XMMI64_INSTRUCTIONS_AVAILABLE','%PF_XMMI_INSTRUCTIONS_AVAILABLE','%PGM_FIRST','%RED',
+ '%RTF_UBB','%SAPI_SVSFDEFAULT','%SAPI_SVSFISFILENAME','%SAPI_SVSFISNOTXML','%SAPI_SVSFISXML','%SAPI_SVSFLAGSASYNC','%SAPI_SVSFNLPMASK','%SAPI_SVSFNLPSPEAKPUNC',
+ '%SAPI_SVSFPERSISTXML','%SAPI_SVSFPURGEBEFORESPEAK','%SAPI_SVSFUNUSEDFLAGS','%SAPI_SVSFVOICEMASK','%SBS_SIZEGRIP','%SB_BOTTOM','%SB_ENDSCROLL','%SB_LEFT',
+ '%SB_LINEDOWN','%SB_LINELEFT','%SB_LINERIGHT','%SB_LINEUP','%SB_PAGEDOWN','%SB_PAGELEFT','%SB_PAGERIGHT','%SB_PAGEUP',
+ '%SB_RIGHT','%SB_SETPARTS','%SB_SETTEXT','%SB_THUMBPOSITION','%SB_THUMBTRACK','%SB_TOP','%SCF_ALL','%SCF_ASSOCIATEFONT',
+ '%SCF_DEFAULT','%SCF_NOKBUPDATE','%SCF_SELECTION','%SCF_USEUIRULES','%SCF_WORD','%SC_CLOSE','%SC_CONTEXTHELP','%SC_HOTKEY',
+ '%SC_HSCROLL','%SC_KEYMENU','%SC_MAXIMIZE','%SC_MINIMIZE','%SC_MONITORPOWER','%SC_MOUSEMENU','%SC_MOVE','%SC_NEXTWINDOW',
+ '%SC_PREVWINDOW','%SC_RESTORE','%SC_SCREENSAVE','%SC_SIZE','%SC_TASKLIST','%SC_VSCROLL','%SERVICE_ACTIVE','%SERVICE_AUTO_START',
+ '%SERVICE_BOOT_START','%SERVICE_CONTINUE_PENDING','%SERVICE_DEMAND_START','%SERVICE_DISABLED','%SERVICE_DRIVER','%SERVICE_INACTIVE','%SERVICE_INFO_DISPLAY_NAME','%SERVICE_INFO_NAME',
+ '%SERVICE_PAUSED','%SERVICE_PAUSE_PENDING','%SERVICE_RUNNING','%SERVICE_START_PENDING','%SERVICE_STATE_ALL','%SERVICE_STOPPED','%SERVICE_STOP_PENDING','%SERVICE_SYSTEM_START',
+ '%SERVICE_TYPE_ALL','%SERVICE_WIN32','%SES_ALLOWBEEPS','%SES_BEEPONMAXTEXT','%SES_BIDI','%SES_EMULATE10','%SES_EMULATESYSEDIT','%SES_EXTENDBACKCOLOR',
+ '%SES_LOWERCASE','%SES_MAPCPS','%SES_NOIME','%SES_NOINPUTSEQUENCECHK','%SES_SCROLLONKILLFOCUS','%SES_UPPERCASE','%SES_USEAIMM','%SES_USECRLF',
+ '%SES_XLTCRCRLFTOCR','%SF_RTF','%SF_TEXT','%SMTP_SET_ATTACH_CONTENT_TYPE','%SMTP_SET_CONTENT_TYPE_PREFIX','%SQL_AA_FALSE','%SQL_AA_TRUE','%SQL_ACCESSIBLE_PROCEDURES',
+ '%SQL_ACCESSIBLE_TABLES','%SQL_ACCESS_MODE','%SQL_ACTIVE_CONNECTIONS','%SQL_ACTIVE_ENVIRONMENTS','%SQL_ACTIVE_STATEMENTS','%SQL_ADD','%SQL_AD_ADD_CONSTRAINT_DEFERRABLE','%SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED',
+ '%SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE','%SQL_AD_ADD_DOMAIN_CONSTRAINT','%SQL_AD_ADD_DOMAIN_DEFAULT','%SQL_AD_CONSTRAINT_NAME_DEFINITION','%SQL_AD_DROP_DOMAIN_CONSTRAINT','%SQL_AD_DROP_DOMAIN_DEFAULT','%SQL_AF_ALL',
+ '%SQL_AF_AVG','%SQL_AF_COUNT','%SQL_AF_DISTINCT','%SQL_AF_MAX','%SQL_AF_MIN','%SQL_AF_SUM','%SQL_AGGREGATE_FUNCTIONS','%SQL_ALL_EXCEPT_LIKE',
+ '%SQL_ALL_TYPES','%SQL_ALTER_DOMAIN','%SQL_ALTER_TABLE','%SQL_AM_CONNECTION','%SQL_AM_NONE','%SQL_AM_STATEMENT','%SQL_API_ALL_FUNCTIONS','%SQL_API_LOADBYORDINAL',
+ '%SQL_API_ODBC3_ALL_FUNCTIONS','%SQL_API_ODBC3_ALL_FUNCTIONS_SIZE','%SQL_API_SQLALLOCCONNECT','%SQL_API_SQLALLOCENV','%SQL_API_SQLALLOCHANDLE','%SQL_API_SQLALLOCHANDLESTD','%SQL_API_SQLALLOCSTMT','%SQL_API_SQLBINDCOL',
+ '%SQL_API_SQLBINDPARAM','%SQL_API_SQLBINDPARAMETER','%SQL_API_SQLBROWSECONNECT','%SQL_API_SQLBULKOPERATIONS','%SQL_API_SQLCANCEL','%SQL_API_SQLCLOSECURSOR','%SQL_API_SQLCOLATTRIBUTE','%SQL_API_SQLCOLATTRIBUTES',
+ '%SQL_API_SQLCOLUMNPRIVILEGES','%SQL_API_SQLCOLUMNS','%SQL_API_SQLCONNECT','%SQL_API_SQLCOPYDESC','%SQL_API_SQLDATASOURCES','%SQL_API_SQLDESCRIBECOL','%SQL_API_SQLDESCRIBEPARAM','%SQL_API_SQLDISCONNECT',
+ '%SQL_API_SQLDRIVERCONNECT','%SQL_API_SQLDRIVERS','%SQL_API_SQLENDTRAN','%SQL_API_SQLERROR','%SQL_API_SQLEXECDIRECT','%SQL_API_SQLEXECUTE','%SQL_API_SQLEXTENDEDFETCH','%SQL_API_SQLFETCH',
+ '%SQL_API_SQLFETCHSCROLL','%SQL_API_SQLFOREIGNKEYS','%SQL_API_SQLFREECONNECT','%SQL_API_SQLFREEENV','%SQL_API_SQLFREEHANDLE','%SQL_API_SQLFREESTMT','%SQL_API_SQLGETCONNECTATTR','%SQL_API_SQLGETCONNECTOPTION',
+ '%SQL_API_SQLGETCURSORNAME','%SQL_API_SQLGETDATA','%SQL_API_SQLGETDESCFIELD','%SQL_API_SQLGETDESCREC','%SQL_API_SQLGETDIAGFIELD','%SQL_API_SQLGETDIAGREC','%SQL_API_SQLGETENVATTR','%SQL_API_SQLGETFUNCTIONS',
+ '%SQL_API_SQLGETINFO','%SQL_API_SQLGETSTMTATTR','%SQL_API_SQLGETSTMTOPTION','%SQL_API_SQLGETTYPEINFO','%SQL_API_SQLMORERESULTS','%SQL_API_SQLNATIVESQL','%SQL_API_SQLNUMPARAMS','%SQL_API_SQLNUMRESULTCOLS',
+ '%SQL_API_SQLPARAMDATA','%SQL_API_SQLPARAMOPTIONS','%SQL_API_SQLPREPARE','%SQL_API_SQLPRIMARYKEYS','%SQL_API_SQLPROCEDURECOLUMNS','%SQL_API_SQLPROCEDURES','%SQL_API_SQLPUTDATA','%SQL_API_SQLROWCOUNT',
+ '%SQL_API_SQLSETCONNECTATTR','%SQL_API_SQLSETCONNECTOPTION','%SQL_API_SQLSETCURSORNAME','%SQL_API_SQLSETDESCFIELD','%SQL_API_SQLSETDESCREC','%SQL_API_SQLSETENVATTR','%SQL_API_SQLSETPARAM','%SQL_API_SQLSETPOS',
+ '%SQL_API_SQLSETSCROLLOPTIONS','%SQL_API_SQLSETSTMTATTR','%SQL_API_SQLSETSTMTOPTION','%SQL_API_SQLSPECIALCOLUMNS','%SQL_API_SQLSTATISTICS','%SQL_API_SQLTABLEPRIVILEGES','%SQL_API_SQLTABLES','%SQL_API_SQLTRANSACT',
+ '%SQL_ARD_TYPE','%SQL_ASYNC_ENABLE','%SQL_ASYNC_ENABLE_DEFAULT','%SQL_ASYNC_ENABLE_OFF','%SQL_ASYNC_ENABLE_ON','%SQL_ASYNC_MODE','%SQL_ATTR_ACCESS_MODE','%SQL_ATTR_ANSI_APP',
+ '%SQL_ATTR_APP_PARAM_DESC','%SQL_ATTR_APP_ROW_DESC','%SQL_ATTR_ASYNC_ENABLE','%SQL_ATTR_AUTOCOMMIT','%SQL_ATTR_AUTO_IPD','%SQL_ATTR_CONCURRENCY','%SQL_ATTR_CONNECTION_DEAD','%SQL_ATTR_CONNECTION_POOLING',
+ '%SQL_ATTR_CONNECTION_TIMEOUT','%SQL_ATTR_CP_MATCH','%SQL_ATTR_CURRENT_CATALOG','%SQL_ATTR_CURSOR_SCROLLABLE','%SQL_ATTR_CURSOR_SENSITIVITY','%SQL_ATTR_CURSOR_TYPE','%SQL_ATTR_DISCONNECT_BEHAVIOR','%SQL_ATTR_ENABLE_AUTO_IPD',
+ '%SQL_ATTR_ENLIST_IN_DTC','%SQL_ATTR_ENLIST_IN_XA','%SQL_ATTR_FETCH_BOOKMARK_PTR','%SQL_ATTR_IMP_PARAM_DESC','%SQL_ATTR_IMP_ROW_DESC','%SQL_ATTR_KEYSET_SIZE','%SQL_ATTR_LOGIN_TIMEOUT','%SQL_ATTR_MAX_LENGTH',
+ '%SQL_ATTR_MAX_ROWS','%SQL_ATTR_METADATA_ID','%SQL_ATTR_NOSCAN','%SQL_ATTR_ODBC_CURSORS','%SQL_ATTR_ODBC_VERSION','%SQL_ATTR_OUTPUT_NTS','%SQL_ATTR_PACKET_SIZE','%SQL_ATTR_PARAMSET_SIZE',
+ '%SQL_ATTR_PARAMS_PROCESSED_PTR','%SQL_ATTR_PARAM_BIND_OFFSET_PTR','%SQL_ATTR_PARAM_BIND_TYPE','%SQL_ATTR_PARAM_OPERATION_PTR','%SQL_ATTR_PARAM_STATUS_PTR','%SQL_ATTR_QUERY_TIMEOUT','%SQL_ATTR_QUIET_MODE','%SQL_ATTR_READONLY',
+ '%SQL_ATTR_READWRITE_UNKNOWN','%SQL_ATTR_RETRIEVE_DATA','%SQL_ATTR_ROWS_FETCHED_PTR','%SQL_ATTR_ROW_ARRAY_SIZE','%SQL_ATTR_ROW_BIND_OFFSET_PTR','%SQL_ATTR_ROW_BIND_TYPE','%SQL_ATTR_ROW_NUMBER','%SQL_ATTR_ROW_OPERATION_PTR',
+ '%SQL_ATTR_ROW_STATUS_PTR','%SQL_ATTR_SIMULATE_CURSOR','%SQL_ATTR_TRACE','%SQL_ATTR_TRACEFILE','%SQL_ATTR_TRANSLATE_LIB','%SQL_ATTR_TRANSLATE_OPTION','%SQL_ATTR_TXN_ISOLATION','%SQL_ATTR_USE_BOOKMARKS',
+ '%SQL_ATTR_WRITE','%SQL_AT_ADD_COLUMN','%SQL_AT_ADD_COLUMN_COLLATION','%SQL_AT_ADD_COLUMN_DEFAULT','%SQL_AT_ADD_COLUMN_SINGLE','%SQL_AT_ADD_CONSTRAINT','%SQL_AT_ADD_TABLE_CONSTRAINT','%SQL_AT_CONSTRAINT_DEFERRABLE',
+ '%SQL_AT_CONSTRAINT_INITIALLY_DEFERRED','%SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AT_CONSTRAINT_NAME_DEFINITION','%SQL_AT_CONSTRAINT_NON_DEFERRABLE','%SQL_AT_DROP_COLUMN','%SQL_AT_DROP_COLUMN_CASCADE','%SQL_AT_DROP_COLUMN_DEFAULT','%SQL_AT_DROP_COLUMN_RESTRICT',
+ '%SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE','%SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT','%SQL_AT_SET_COLUMN_DEFAULT','%SQL_AUTOCOMMIT','%SQL_AUTOCOMMIT_DEFAULT','%SQL_AUTOCOMMIT_OFF','%SQL_AUTOCOMMIT_ON','%SQL_BATCH_ROW_COUNT',
+ '%SQL_BATCH_SUPPORT','%SQL_BEST_ROWID','%SQL_BIGINT','%SQL_BINARY','%SQL_BIND_BY_COLUMN','%SQL_BIND_TYPE','%SQL_BIND_TYPE_DEFAULT','%SQL_BIT',
+ '%SQL_BOOKMARK_PERSISTENCE','%SQL_BP_CLOSE','%SQL_BP_DELETE','%SQL_BP_DROP','%SQL_BP_OTHER_HSTMT','%SQL_BP_SCROLL','%SQL_BP_TRANSACTION','%SQL_BP_UPDATE',
+ '%SQL_BRC_EXPLICIT','%SQL_BRC_PROCEDURES','%SQL_BRC_ROLLED_UP','%SQL_BS_ROW_COUNT_EXPLICIT','%SQL_BS_ROW_COUNT_PROC','%SQL_BS_SELECT_EXPLICIT','%SQL_BS_SELECT_PROC','%SQL_CA1_ABSOLUTE',
+ '%SQL_CA1_BOOKMARK','%SQL_CA1_BULK_ADD','%SQL_CA1_BULK_DELETE_BY_BOOKMARK','%SQL_CA1_BULK_FETCH_BY_BOOKMARK','%SQL_CA1_BULK_UPDATE_BY_BOOKMARK','%SQL_CA1_LOCK_EXCLUSIVE','%SQL_CA1_LOCK_NO_CHANGE','%SQL_CA1_LOCK_UNLOCK',
+ '%SQL_CA1_NEXT','%SQL_CA1_POSITIONED_DELETE','%SQL_CA1_POSITIONED_UPDATE','%SQL_CA1_POS_DELETE','%SQL_CA1_POS_POSITION','%SQL_CA1_POS_REFRESH','%SQL_CA1_POS_UPDATE','%SQL_CA1_RELATIVE',
+ '%SQL_CA1_SELECT_FOR_UPDATE','%SQL_CA2_CRC_APPROXIMATE','%SQL_CA2_CRC_EXACT','%SQL_CA2_LOCK_CONCURRENCY','%SQL_CA2_MAX_ROWS_AFFECTS_ALL','%SQL_CA2_MAX_ROWS_CATALOG','%SQL_CA2_MAX_ROWS_DELETE','%SQL_CA2_MAX_ROWS_INSERT',
+ '%SQL_CA2_MAX_ROWS_SELECT','%SQL_CA2_MAX_ROWS_UPDATE','%SQL_CA2_OPT_ROWVER_CONCURRENCY','%SQL_CA2_OPT_VALUES_CONCURRENCY','%SQL_CA2_READ_ONLY_CONCURRENCY','%SQL_CA2_SENSITIVITY_ADDITIONS','%SQL_CA2_SENSITIVITY_DELETIONS','%SQL_CA2_SENSITIVITY_UPDATES',
+ '%SQL_CA2_SIMULATE_NON_UNIQUE','%SQL_CA2_SIMULATE_TRY_UNIQUE','%SQL_CA2_SIMULATE_UNIQUE','%SQL_CASCADE','%SQL_CATALOG_LOCATION','%SQL_CATALOG_NAME','%SQL_CATALOG_NAME_SEPARATOR','%SQL_CATALOG_TERM',
+ '%SQL_CATALOG_USAGE','%SQL_CA_CONSTRAINT_DEFERRABLE','%SQL_CA_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CA_CONSTRAINT_NON_DEFERRABLE','%SQL_CA_CREATE_ASSERTION','%SQL_CB_CLOSE','%SQL_CB_DELETE',
+ '%SQL_CB_NON_NULL','%SQL_CB_NULL','%SQL_CB_PRESERVE','%SQL_CCOL_CREATE_COLLATION','%SQL_CCS_COLLATE_CLAUSE','%SQL_CCS_CREATE_CHARACTER_SET','%SQL_CCS_LIMITED_COLLATION','%SQL_CC_CLOSE',
+ '%SQL_CC_DELETE','%SQL_CC_PRESERVE','%SQL_CDO_COLLATION','%SQL_CDO_CONSTRAINT','%SQL_CDO_CONSTRAINT_DEFERRABLE','%SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CDO_CONSTRAINT_NAME_DEFINITION',
+ '%SQL_CDO_CONSTRAINT_NON_DEFERRABLE','%SQL_CDO_CREATE_DOMAIN','%SQL_CDO_DEFAULT','%SQL_CD_FALSE','%SQL_CD_TRUE','%SQL_CHAR','%SQL_CLOSE','%SQL_CL_END',
+ '%SQL_CL_START','%SQL_CN_ANY','%SQL_CN_DIFFERENT','%SQL_CN_NONE','%SQL_CODE_DATE','%SQL_CODE_DAY','%SQL_CODE_DAY_TO_HOUR','%SQL_CODE_DAY_TO_MINUTE',
+ '%SQL_CODE_DAY_TO_SECOND','%SQL_CODE_HOUR','%SQL_CODE_HOUR_TO_MINUTE','%SQL_CODE_HOUR_TO_SECOND','%SQL_CODE_MINUTE','%SQL_CODE_MINUTE_TO_SECOND','%SQL_CODE_MONTH','%SQL_CODE_SECOND',
+ '%SQL_CODE_TIME','%SQL_CODE_TIMESTAMP','%SQL_CODE_YEAR','%SQL_CODE_YEAR_TO_MONTH','%SQL_COLATT_OPT_MAX','%SQL_COLATT_OPT_MIN','%SQL_COLLATION_SEQ','%SQL_COLUMN_ALIAS',
+ '%SQL_COLUMN_AUTO_INCREMENT','%SQL_COLUMN_CASE_SENSITIVE','%SQL_COLUMN_COUNT','%SQL_COLUMN_DISPLAY_SIZE','%SQL_COLUMN_IGNORE','%SQL_COLUMN_LABEL','%SQL_COLUMN_LENGTH','%SQL_COLUMN_MONEY',
+ '%SQL_COLUMN_NAME','%SQL_COLUMN_NULLABLE','%SQL_COLUMN_NUMBER_UNKNOWN','%SQL_COLUMN_OWNER_NAME','%SQL_COLUMN_PRECISION','%SQL_COLUMN_QUALIFIER_NAME','%SQL_COLUMN_SCALE','%SQL_COLUMN_SEARCHABLE',
+ '%SQL_COLUMN_TABLE_NAME','%SQL_COLUMN_TYPE','%SQL_COLUMN_TYPE_NAME','%SQL_COLUMN_UNSIGNED','%SQL_COLUMN_UPDATABLE','%SQL_COL_PRED_BASIC','%SQL_COL_PRED_CHAR','%SQL_COMMIT',
+ '%SQL_CONCAT_NULL_BEHAVIOR','%SQL_CONCURRENCY','%SQL_CONCUR_DEFAULT','%SQL_CONCUR_LOCK','%SQL_CONCUR_READ_ONLY','%SQL_CONCUR_ROWVER','%SQL_CONCUR_TIMESTAMP','%SQL_CONCUR_VALUES',
+ '%SQL_CONVERT_BIGINT','%SQL_CONVERT_BINARY','%SQL_CONVERT_BIT','%SQL_CONVERT_CHAR','%SQL_CONVERT_DATE','%SQL_CONVERT_DECIMAL','%SQL_CONVERT_DOUBLE','%SQL_CONVERT_FLOAT',
+ '%SQL_CONVERT_FUNCTIONS','%SQL_CONVERT_GUID','%SQL_CONVERT_INTEGER','%SQL_CONVERT_INTERVAL_DAY_TIME','%SQL_CONVERT_INTERVAL_YEAR_MONTH','%SQL_CONVERT_LONGVARBINARY','%SQL_CONVERT_LONGVARCHAR','%SQL_CONVERT_NUMERIC',
+ '%SQL_CONVERT_REAL','%SQL_CONVERT_SMALLINT','%SQL_CONVERT_TIME','%SQL_CONVERT_TIMESTAMP','%SQL_CONVERT_TINYINT','%SQL_CONVERT_VARBINARY','%SQL_CONVERT_VARCHAR','%SQL_CONVERT_WCHAR',
+ '%SQL_CONVERT_WLONGVARCHAR','%SQL_CONVERT_WVARCHAR','%SQL_CORRELATION_NAME','%SQL_CP_DEFAULT','%SQL_CP_MATCH_DEFAULT','%SQL_CP_OFF','%SQL_CP_ONE_PER_DRIVER','%SQL_CP_ONE_PER_HENV',
+ '%SQL_CP_RELAXED_MATCH','%SQL_CP_STRICT_MATCH','%SQL_CREATE_ASSERTION','%SQL_CREATE_CHARACTER_SET','%SQL_CREATE_COLLATION','%SQL_CREATE_DOMAIN','%SQL_CREATE_SCHEMA','%SQL_CREATE_TABLE',
+ '%SQL_CREATE_TRANSLATION','%SQL_CREATE_VIEW','%SQL_CR_CLOSE','%SQL_CR_DELETE','%SQL_CR_PRESERVE','%SQL_CS_AUTHORIZATION','%SQL_CS_CREATE_SCHEMA','%SQL_CS_DEFAULT_CHARACTER_SET',
+ '%SQL_CTR_CREATE_TRANSLATION','%SQL_CT_COLUMN_COLLATION','%SQL_CT_COLUMN_CONSTRAINT','%SQL_CT_COLUMN_DEFAULT','%SQL_CT_COMMIT_DELETE','%SQL_CT_COMMIT_PRESERVE','%SQL_CT_CONSTRAINT_DEFERRABLE','%SQL_CT_CONSTRAINT_INITIALLY_DEFERRED',
+ '%SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CT_CONSTRAINT_NAME_DEFINITION','%SQL_CT_CONSTRAINT_NON_DEFERRABLE','%SQL_CT_CREATE_TABLE','%SQL_CT_GLOBAL_TEMPORARY','%SQL_CT_LOCAL_TEMPORARY','%SQL_CT_TABLE_CONSTRAINT','%SQL_CURRENT_QUALIFIER',
+ '%SQL_CURSOR_COMMIT_BEHAVIOR','%SQL_CURSOR_DYNAMIC','%SQL_CURSOR_FORWARD_ONLY','%SQL_CURSOR_KEYSET_DRIVEN','%SQL_CURSOR_ROLLBACK_BEHAVIOR','%SQL_CURSOR_SENSITIVITY','%SQL_CURSOR_STATIC','%SQL_CURSOR_TYPE',
+ '%SQL_CURSOR_TYPE_DEFAULT','%SQL_CUR_DEFAULT','%SQL_CUR_USE_DRIVER','%SQL_CUR_USE_IF_NEEDED','%SQL_CUR_USE_ODBC','%SQL_CU_DML_STATEMENTS','%SQL_CU_INDEX_DEFINITION','%SQL_CU_PRIVILEGE_DEFINITION',
+ '%SQL_CU_PROCEDURE_INVOCATION','%SQL_CU_TABLE_DEFINITION','%SQL_CVT_BIGINT','%SQL_CVT_BINARY','%SQL_CVT_BIT','%SQL_CVT_CHAR','%SQL_CVT_DATE','%SQL_CVT_DECIMAL',
+ '%SQL_CVT_DOUBLE','%SQL_CVT_FLOAT','%SQL_CVT_GUID','%SQL_CVT_INTEGER','%SQL_CVT_INTERVAL_DAY_TIME','%SQL_CVT_INTERVAL_YEAR_MONTH','%SQL_CVT_LONGVARBINARY','%SQL_CVT_LONGVARCHAR',
+ '%SQL_CVT_NUMERIC','%SQL_CVT_REAL','%SQL_CVT_SMALLINT','%SQL_CVT_TIME','%SQL_CVT_TIMESTAMP','%SQL_CVT_TINYINT','%SQL_CVT_VARBINARY','%SQL_CVT_VARCHAR',
+ '%SQL_CVT_WCHAR','%SQL_CVT_WLONGVARCHAR','%SQL_CVT_WVARCHAR','%SQL_CV_CASCADED','%SQL_CV_CHECK_OPTION','%SQL_CV_CREATE_VIEW','%SQL_CV_LOCAL','%SQL_C_BINARY',
+ '%SQL_C_BIT','%SQL_C_BOOKMARK','%SQL_C_CHAR','%SQL_C_DATE','%SQL_C_DEFAULT','%SQL_C_DOUBLE','%SQL_C_FLOAT','%SQL_C_GUID',
+ '%SQL_C_INTERVAL_DAY','%SQL_C_INTERVAL_DAY_TO_HOUR','%SQL_C_INTERVAL_DAY_TO_MINUTE','%SQL_C_INTERVAL_DAY_TO_SECOND','%SQL_C_INTERVAL_HOUR','%SQL_C_INTERVAL_HOUR_TO_MINUTE','%SQL_C_INTERVAL_HOUR_TO_SECOND','%SQL_C_INTERVAL_MINUTE',
+ '%SQL_C_INTERVAL_MINUTE_TO_SECOND','%SQL_C_INTERVAL_MONTH','%SQL_C_INTERVAL_SECOND','%SQL_C_INTERVAL_YEAR','%SQL_C_INTERVAL_YEAR_TO_MONTH','%SQL_C_LONG','%SQL_C_NUMERIC','%SQL_C_SBIGINT',
+ '%SQL_C_SHORT','%SQL_C_SLONG','%SQL_C_SSHORT','%SQL_C_STINYINT','%SQL_C_TIME','%SQL_C_TIMESTAMP','%SQL_C_TINYINT','%SQL_C_TYPE_DATE',
+ '%SQL_C_TYPE_TIME','%SQL_C_TYPE_TIMESTAMP','%SQL_C_UBIGINT','%SQL_C_ULONG','%SQL_C_USHORT','%SQL_C_UTINYINT','%SQL_C_VARBOOKMARK','%SQL_DATABASE_NAME',
+ '%SQL_DATA_AT_EXEC','%SQL_DATA_SOURCE_NAME','%SQL_DATA_SOURCE_READ_ONLY','%SQL_DATE','%SQL_DATETIME','%SQL_DATETIME_LITERALS','%SQL_DATE_LEN','%SQL_DAY',
+ '%SQL_DAY_TO_HOUR','%SQL_DAY_TO_MINUTE','%SQL_DAY_TO_SECOND','%SQL_DA_DROP_ASSERTION','%SQL_DBMS_NAME','%SQL_DBMS_VER','%SQL_DB_DEFAULT','%SQL_DB_DISCONNECT',
+ '%SQL_DB_RETURN_TO_POOL','%SQL_DCS_DROP_CHARACTER_SET','%SQL_DC_DROP_COLLATION','%SQL_DDL_INDEX','%SQL_DD_CASCADE','%SQL_DD_DROP_DOMAIN','%SQL_DD_RESTRICT','%SQL_DECIMAL',
+ '%SQL_DEFAULT','%SQL_DEFAULT_PARAM','%SQL_DEFAULT_TXN_ISOLATION','%SQL_DELETE','%SQL_DELETE_BY_BOOKMARK','%SQL_DESCRIBE_PARAMETER','%SQL_DESC_ALLOC_AUTO','%SQL_DESC_ALLOC_TYPE',
+ '%SQL_DESC_ALLOC_USER','%SQL_DESC_ARRAY_SIZE','%SQL_DESC_ARRAY_STATUS_PTR','%SQL_DESC_AUTO_UNIQUE_VALUE','%SQL_DESC_BASE_COLUMN_NAME','%SQL_DESC_BASE_TABLE_NAME','%SQL_DESC_BIND_OFFSET_PTR','%SQL_DESC_BIND_TYPE',
+ '%SQL_DESC_CASE_SENSITIVE','%SQL_DESC_CATALOG_NAME','%SQL_DESC_CONCISE_TYPE','%SQL_DESC_COUNT','%SQL_DESC_DATA_PTR','%SQL_DESC_DATETIME_INTERVAL_CODE','%SQL_DESC_DATETIME_INTERVAL_PRECISION','%SQL_DESC_DISPLAY_SIZE',
+ '%SQL_DESC_FIXED_PREC_SCALE','%SQL_DESC_INDICATOR_PTR','%SQL_DESC_LABEL','%SQL_DESC_LENGTH','%SQL_DESC_LITERAL_PREFIX','%SQL_DESC_LITERAL_SUFFIX','%SQL_DESC_LOCAL_TYPE_NAME','%SQL_DESC_MAXIMUM_SCALE',
+ '%SQL_DESC_MINIMUM_SCALE','%SQL_DESC_NAME','%SQL_DESC_NULLABLE','%SQL_DESC_NUM_PREC_RADIX','%SQL_DESC_OCTET_LENGTH','%SQL_DESC_OCTET_LENGTH_PTR','%SQL_DESC_PARAMETER_TYPE','%SQL_DESC_PRECISION',
+ '%SQL_DESC_ROWS_PROCESSED_PTR','%SQL_DESC_SCALE','%SQL_DESC_SCHEMA_NAME','%SQL_DESC_SEARCHABLE','%SQL_DESC_TABLE_NAME','%SQL_DESC_TYPE','%SQL_DESC_TYPE_NAME','%SQL_DESC_UNNAMED',
+ '%SQL_DESC_UNSIGNED','%SQL_DESC_UPDATABLE','%SQL_DIAG_ALTER_TABLE','%SQL_DIAG_CALL','%SQL_DIAG_CLASS_ORIGIN','%SQL_DIAG_COLUMN_NUMBER','%SQL_DIAG_CONNECTION_NAME','%SQL_DIAG_CREATE_INDEX',
+ '%SQL_DIAG_CREATE_TABLE','%SQL_DIAG_CREATE_VIEW','%SQL_DIAG_CURSOR_ROW_COUNT','%SQL_DIAG_DELETE_WHERE','%SQL_DIAG_DROP_INDEX','%SQL_DIAG_DROP_TABLE','%SQL_DIAG_DROP_VIEW','%SQL_DIAG_DYNAMIC_DELETE_CURSOR',
+ '%SQL_DIAG_DYNAMIC_FUNCTION','%SQL_DIAG_DYNAMIC_FUNCTION_CODE','%SQL_DIAG_DYNAMIC_UPDATE_CURSOR','%SQL_DIAG_GRANT','%SQL_DIAG_INSERT','%SQL_DIAG_MESSAGE_TEXT','%SQL_DIAG_NATIVE','%SQL_DIAG_NUMBER',
+ '%SQL_DIAG_RETURNCODE','%SQL_DIAG_REVOKE','%SQL_DIAG_ROW_COUNT','%SQL_DIAG_ROW_NUMBER','%SQL_DIAG_SELECT_CURSOR','%SQL_DIAG_SERVER_NAME','%SQL_DIAG_SQLSTATE','%SQL_DIAG_SUBCLASS_ORIGIN',
+ '%SQL_DIAG_UNKNOWN_STATEMENT','%SQL_DIAG_UPDATE_WHERE','%SQL_DI_CREATE_INDEX','%SQL_DI_DROP_INDEX','%SQL_DL_SQL92_DATE','%SQL_DL_SQL92_INTERVAL_DAY','%SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR','%SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE',
+ '%SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND','%SQL_DL_SQL92_INTERVAL_HOUR','%SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE','%SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MINUTE','%SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MONTH','%SQL_DL_SQL92_INTERVAL_SECOND',
+ '%SQL_DL_SQL92_INTERVAL_YEAR','%SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH','%SQL_DL_SQL92_TIME','%SQL_DL_SQL92_TIMESTAMP','%SQL_DM_VER','%SQL_DOUBLE','%SQL_DRIVER_COMPLETE','%SQL_DRIVER_COMPLETE_REQUIRED',
+ '%SQL_DRIVER_HDBC','%SQL_DRIVER_HDESC','%SQL_DRIVER_HENV','%SQL_DRIVER_HLIB','%SQL_DRIVER_HSTMT','%SQL_DRIVER_NAME','%SQL_DRIVER_NOPROMPT','%SQL_DRIVER_ODBC_VER',
+ '%SQL_DRIVER_PROMPT','%SQL_DRIVER_VER','%SQL_DROP','%SQL_DROP_ASSERTION','%SQL_DROP_CHARACTER_SET','%SQL_DROP_COLLATION','%SQL_DROP_DOMAIN','%SQL_DROP_SCHEMA',
+ '%SQL_DROP_TABLE','%SQL_DROP_TRANSLATION','%SQL_DROP_VIEW','%SQL_DS_CASCADE','%SQL_DS_DROP_SCHEMA','%SQL_DS_RESTRICT','%SQL_DTC_DONE','%SQL_DTC_ENLIST_EXPENSIVE',
+ '%SQL_DTC_TRANSITION_COST','%SQL_DTC_UNENLIST_EXPENSIVE','%SQL_DTR_DROP_TRANSLATION','%SQL_DT_CASCADE','%SQL_DT_DROP_TABLE','%SQL_DT_RESTRICT','%SQL_DV_CASCADE','%SQL_DV_DROP_VIEW',
+ '%SQL_DV_RESTRICT','%SQL_DYNAMIC_CURSOR_ATTRIBUTES1','%SQL_DYNAMIC_CURSOR_ATTRIBUTES2','%SQL_ENSURE','%SQL_ENTIRE_ROWSET','%SQL_ERROR','%SQL_EXPRESSIONS_IN_ORDERBY','%SQL_FALSE',
+ '%SQL_FD_FETCH_ABSOLUTE','%SQL_FD_FETCH_BOOKMARK','%SQL_FD_FETCH_FIRST','%SQL_FD_FETCH_LAST','%SQL_FD_FETCH_NEXT','%SQL_FD_FETCH_PREV','%SQL_FD_FETCH_PRIOR','%SQL_FD_FETCH_RELATIVE',
+ '%SQL_FETCH_ABSOLUTE','%SQL_FETCH_BOOKMARK','%SQL_FETCH_BY_BOOKMARK','%SQL_FETCH_DIRECTION','%SQL_FETCH_FIRST','%SQL_FETCH_FIRST_SYSTEM','%SQL_FETCH_FIRST_USER','%SQL_FETCH_LAST',
+ '%SQL_FETCH_NEXT','%SQL_FETCH_PREV','%SQL_FETCH_PRIOR','%SQL_FETCH_RELATIVE','%SQL_FILE_CATALOG','%SQL_FILE_NOT_SUPPORTED','%SQL_FILE_QUALIFIER','%SQL_FILE_TABLE',
+ '%SQL_FILE_USAGE','%SQL_FLOAT','%SQL_FN_CVT_CAST','%SQL_FN_CVT_CONVERT','%SQL_FN_NUM_ABS','%SQL_FN_NUM_ACOS','%SQL_FN_NUM_ASIN','%SQL_FN_NUM_ATAN',
+ '%SQL_FN_NUM_ATAN2','%SQL_FN_NUM_CEILING','%SQL_FN_NUM_COS','%SQL_FN_NUM_COT','%SQL_FN_NUM_DEGREES','%SQL_FN_NUM_EXP','%SQL_FN_NUM_FLOOR','%SQL_FN_NUM_LOG',
+ '%SQL_FN_NUM_LOG10','%SQL_FN_NUM_MOD','%SQL_FN_NUM_PI','%SQL_FN_NUM_POWER','%SQL_FN_NUM_RADIANS','%SQL_FN_NUM_RAND','%SQL_FN_NUM_ROUND','%SQL_FN_NUM_SIGN',
+ '%SQL_FN_NUM_SIN','%SQL_FN_NUM_SQRT','%SQL_FN_NUM_TAN','%SQL_FN_NUM_TRUNCATE','%SQL_FN_STR_ASCII','%SQL_FN_STR_BIT_LENGTH','%SQL_FN_STR_CHAR','%SQL_FN_STR_CHARACTER_LENGTH',
+ '%SQL_FN_STR_CHAR_LENGTH','%SQL_FN_STR_CONCAT','%SQL_FN_STR_DIFFERENCE','%SQL_FN_STR_INSERT','%SQL_FN_STR_LCASE','%SQL_FN_STR_LEFT','%SQL_FN_STR_LENGTH','%SQL_FN_STR_LOCATE',
+ '%SQL_FN_STR_LOCATE_2','%SQL_FN_STR_LTRIM','%SQL_FN_STR_OCTET_LENGTH','%SQL_FN_STR_POSITION','%SQL_FN_STR_REPEAT','%SQL_FN_STR_REPLACE','%SQL_FN_STR_RIGHT','%SQL_FN_STR_RTRIM',
+ '%SQL_FN_STR_SOUNDEX','%SQL_FN_STR_SPACE','%SQL_FN_STR_SUBSTRING','%SQL_FN_STR_UCASE','%SQL_FN_SYS_DBNAME','%SQL_FN_SYS_IFNULL','%SQL_FN_SYS_USERNAME','%SQL_FN_TD_CURDATE',
+ '%SQL_FN_TD_CURRENT_DATE','%SQL_FN_TD_CURRENT_TIME','%SQL_FN_TD_CURRENT_TIMESTAMP','%SQL_FN_TD_CURTIME','%SQL_FN_TD_DAYNAME','%SQL_FN_TD_DAYOFMONTH','%SQL_FN_TD_DAYOFWEEK','%SQL_FN_TD_DAYOFYEAR',
+ '%SQL_FN_TD_EXTRACT','%SQL_FN_TD_HOUR','%SQL_FN_TD_MINUTE','%SQL_FN_TD_MONTH','%SQL_FN_TD_MONTHNAME','%SQL_FN_TD_NOW','%SQL_FN_TD_QUARTER','%SQL_FN_TD_SECOND',
+ '%SQL_FN_TD_TIMESTAMPADD','%SQL_FN_TD_TIMESTAMPDIFF','%SQL_FN_TD_WEEK','%SQL_FN_TD_YEAR','%SQL_FN_TSI_DAY','%SQL_FN_TSI_FRAC_SECOND','%SQL_FN_TSI_HOUR','%SQL_FN_TSI_MINUTE',
+ '%SQL_FN_TSI_MONTH','%SQL_FN_TSI_QUARTER','%SQL_FN_TSI_SECOND','%SQL_FN_TSI_WEEK','%SQL_FN_TSI_YEAR','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2','%SQL_GB_COLLATE',
+ '%SQL_GB_GROUP_BY_CONTAINS_SELECT','%SQL_GB_GROUP_BY_EQUALS_SELECT','%SQL_GB_NOT_SUPPORTED','%SQL_GB_NO_RELATION','%SQL_GD_ANY_COLUMN','%SQL_GD_ANY_ORDER','%SQL_GD_BLOCK','%SQL_GD_BOUND',
+ '%SQL_GETDATA_EXTENSIONS','%SQL_GET_BOOKMARK','%SQL_GROUP_BY','%SQL_GUID','%SQL_HANDLE_DBC','%SQL_HANDLE_DESC','%SQL_HANDLE_ENV','%SQL_HANDLE_SENV',
+ '%SQL_HANDLE_STMT','%SQL_HOUR','%SQL_HOUR_TO_MINUTE','%SQL_HOUR_TO_SECOND','%SQL_IC_LOWER','%SQL_IC_MIXED','%SQL_IC_SENSITIVE','%SQL_IC_UPPER',
+ '%SQL_IDENTIFIER_CASE','%SQL_IDENTIFIER_QUOTE_CHAR','%SQL_IGNORE','%SQL_IK_ALL','%SQL_IK_ASC','%SQL_IK_DESC','%SQL_IK_NONE','%SQL_INDEX_ALL',
+ '%SQL_INDEX_CLUSTERED','%SQL_INDEX_HASHED','%SQL_INDEX_KEYWORDS','%SQL_INDEX_OTHER','%SQL_INDEX_UNIQUE','%SQL_INFO_FIRST','%SQL_INFO_SCHEMA_VIEWS','%SQL_INITIALLY_DEFERRED',
+ '%SQL_INITIALLY_IMMEDIATE','%SQL_INSENSITIVE','%SQL_INSERT_STATEMENT','%SQL_INTEGER','%SQL_INTEGRITY','%SQL_INTERVAL','%SQL_INTERVAL_DAY','%SQL_INTERVAL_DAY_TO_HOUR',
+ '%SQL_INTERVAL_DAY_TO_MINUTE','%SQL_INTERVAL_DAY_TO_SECOND','%SQL_INTERVAL_HOUR','%SQL_INTERVAL_HOUR_TO_MINUTE','%SQL_INTERVAL_HOUR_TO_SECOND','%SQL_INTERVAL_MINUTE','%SQL_INTERVAL_MINUTE_TO_SECOND','%SQL_INTERVAL_MONTH',
+ '%SQL_INTERVAL_SECOND','%SQL_INTERVAL_YEAR','%SQL_INTERVAL_YEAR_TO_MONTH','%SQL_INVALID_HANDLE','%SQL_ISV_ASSERTIONS','%SQL_ISV_CHARACTER_SETS','%SQL_ISV_CHECK_CONSTRAINTS','%SQL_ISV_COLLATIONS',
+ '%SQL_ISV_COLUMNS','%SQL_ISV_COLUMN_DOMAIN_USAGE','%SQL_ISV_COLUMN_PRIVILEGES','%SQL_ISV_CONSTRAINT_COLUMN_USAGE','%SQL_ISV_CONSTRAINT_TABLE_USAGE','%SQL_ISV_DOMAINS','%SQL_ISV_DOMAIN_CONSTRAINTS','%SQL_ISV_KEY_COLUMN_USAGE',
+ '%SQL_ISV_REFERENTIAL_CONSTRAINTS','%SQL_ISV_SCHEMATA','%SQL_ISV_SQL_LANGUAGES','%SQL_ISV_TABLES','%SQL_ISV_TABLE_CONSTRAINTS','%SQL_ISV_TABLE_PRIVILEGES','%SQL_ISV_TRANSLATIONS','%SQL_ISV_USAGE_PRIVILEGES',
+ '%SQL_ISV_VIEWS','%SQL_ISV_VIEW_COLUMN_USAGE','%SQL_ISV_VIEW_TABLE_USAGE','%SQL_IS_DAY','%SQL_IS_DAY_TO_HOUR','%SQL_IS_DAY_TO_MINUTE','%SQL_IS_DAY_TO_SECOND','%SQL_IS_HOUR',
+ '%SQL_IS_HOUR_TO_MINUTE','%SQL_IS_HOUR_TO_SECOND','%SQL_IS_INSERT_LITERALS','%SQL_IS_INSERT_SEARCHED','%SQL_IS_INTEGER','%SQL_IS_MINUTE','%SQL_IS_MINUTE_TO_SECOND','%SQL_IS_MONTH',
+ '%SQL_IS_POINTER','%SQL_IS_SECOND','%SQL_IS_SELECT_INTO','%SQL_IS_SMALLINT','%SQL_IS_UINTEGER','%SQL_IS_USMALLINT','%SQL_IS_YEAR','%SQL_IS_YEAR_TO_MONTH',
+ '%SQL_KEYSET_CURSOR_ATTRIBUTES1','%SQL_KEYSET_CURSOR_ATTRIBUTES2','%SQL_KEYSET_SIZE','%SQL_KEYSET_SIZE_DEFAULT','%SQL_KEYWORDS','%SQL_LCK_EXCLUSIVE','%SQL_LCK_NO_CHANGE','%SQL_LCK_UNLOCK',
+ '%SQL_LEN_BINARY_ATTR_OFFSET','%SQL_LEN_DATA_AT_EXEC_OFFSET','%SQL_LIKE_ESCAPE_CLAUSE','%SQL_LIKE_ONLY','%SQL_LOCK_EXCLUSIVE','%SQL_LOCK_NO_CHANGE','%SQL_LOCK_TYPES','%SQL_LOCK_UNLOCK',
+ '%SQL_LOGIN_TIMEOUT','%SQL_LOGIN_TIMEOUT_DEFAULT','%SQL_LONGVARBINARY','%SQL_LONGVARCHAR','%SQL_MAXIMUM_CATALOG_NAME_LENGTH','%SQL_MAXIMUM_COLUMNS_IN_GROUP_BY','%SQL_MAXIMUM_COLUMNS_IN_INDEX','%SQL_MAXIMUM_COLUMNS_IN_ORDER_BY',
+ '%SQL_MAXIMUM_COLUMNS_IN_SELECT','%SQL_MAXIMUM_COLUMN_NAME_LENGTH','%SQL_MAXIMUM_CONCURRENT_ACTIVITIES','%SQL_MAXIMUM_CURSOR_NAME_LENGTH','%SQL_MAXIMUM_DRIVER_CONNECTIONS','%SQL_MAXIMUM_IDENTIFIER_LENGTH','%SQL_MAXIMUM_INDEX_SIZE','%SQL_MAXIMUM_ROW_SIZE',
+ '%SQL_MAXIMUM_SCHEMA_NAME_LENGTH','%SQL_MAXIMUM_STATEMENT_LENGTH','%SQL_MAXIMUM_TABLES_IN_SELECT','%SQL_MAXIMUM_USER_NAME_LENGTH','%SQL_MAX_ASYNC_CONCURRENT_STATEMENTS','%SQL_MAX_BINARY_LITERAL_LEN','%SQL_MAX_CATALOG_NAME_LEN','%SQL_MAX_CHAR_LITERAL_LEN',
+ '%SQL_MAX_COLUMNS_IN_GROUP_BY','%SQL_MAX_COLUMNS_IN_INDEX','%SQL_MAX_COLUMNS_IN_ORDER_BY','%SQL_MAX_COLUMNS_IN_SELECT','%SQL_MAX_COLUMNS_IN_TABLE','%SQL_MAX_COLUMN_NAME_LEN','%SQL_MAX_CONCURRENT_ACTIVITIES','%SQL_MAX_CURSOR_NAME_LEN',
+ '%SQL_MAX_DRIVER_CONNECTIONS','%SQL_MAX_DSN_LENGTH','%SQL_MAX_IDENTIFIER_LEN','%SQL_MAX_INDEX_SIZE','%SQL_MAX_LENGTH','%SQL_MAX_LENGTH_DEFAULT','%SQL_MAX_MESSAGE_LENGTH','%SQL_MAX_NUMERIC_LEN',
+ '%SQL_MAX_OPTION_STRING_LENGTH','%SQL_MAX_OWNER_NAME_LEN','%SQL_MAX_PROCEDURE_NAME_LEN','%SQL_MAX_QUALIFIER_NAME_LEN','%SQL_MAX_ROWS','%SQL_MAX_ROWS_DEFAULT','%SQL_MAX_ROW_SIZE','%SQL_MAX_ROW_SIZE_INCLUDES_LONG',
+ '%SQL_MAX_SCHEMA_NAME_LEN','%SQL_MAX_STATEMENT_LEN','%SQL_MAX_TABLES_IN_SELECT','%SQL_MAX_TABLE_NAME_LEN','%SQL_MAX_USER_NAME_LEN','%SQL_MINUTE','%SQL_MINUTE_TO_SECOND','%SQL_MODE_DEFAULT',
+ '%SQL_MODE_READ_ONLY','%SQL_MODE_READ_WRITE','%SQL_MONTH','%SQL_MULTIPLE_ACTIVE_TXN','%SQL_MULT_RESULT_SETS','%SQL_NAMED','%SQL_NC_END','%SQL_NC_HIGH',
+ '%SQL_NC_LOW','%SQL_NC_START','%SQL_NEED_DATA','%SQL_NEED_LONG_DATA_LEN','%SQL_NNC_NON_NULL','%SQL_NNC_NULL','%SQL_NONSCROLLABLE','%SQL_NON_NULLABLE_COLUMNS',
+ '%SQL_NOSCAN','%SQL_NOSCAN_DEFAULT','%SQL_NOSCAN_OFF','%SQL_NOSCAN_ON','%SQL_NOT_DEFERRABLE','%SQL_NO_ACTION','%SQL_NO_COLUMN_NUMBER','%SQL_NO_DATA',
+ '%SQL_NO_DATA_FOUND','%SQL_NO_NULLS','%SQL_NO_ROW_NUMBER','%SQL_NO_TOTAL','%SQL_NTS','%SQL_NTSL','%SQL_NULLABLE','%SQL_NULLABLE_UNKNOWN',
+ '%SQL_NULL_COLLATION','%SQL_NULL_DATA','%SQL_NULL_HANDLE','%SQL_NULL_HDBC','%SQL_NULL_HDESC','%SQL_NULL_HENV','%SQL_NULL_HSTMT','%SQL_NUMERIC',
+ '%SQL_NUMERIC_FUNCTIONS','%SQL_OAC_LEVEL1','%SQL_OAC_LEVEL2','%SQL_OAC_NONE','%SQL_ODBC_API_CONFORMANCE','%SQL_ODBC_CURSORS','%SQL_ODBC_INTERFACE_CONFORMANCE','%SQL_ODBC_SAG_CLI_CONFORMANCE',
+ '%SQL_ODBC_SQL_CONFORMANCE','%SQL_ODBC_SQL_OPT_IEF','%SQL_ODBC_VER','%SQL_OIC_CORE','%SQL_OIC_LEVEL1','%SQL_OIC_LEVEL2','%SQL_OJ_ALL_COMPARISON_OPS','%SQL_OJ_CAPABILITIES',
+ '%SQL_OJ_FULL','%SQL_OJ_INNER','%SQL_OJ_LEFT','%SQL_OJ_NESTED','%SQL_OJ_NOT_ORDERED','%SQL_OJ_RIGHT','%SQL_OPT_TRACE','%SQL_OPT_TRACEFILE',
+ '%SQL_OPT_TRACE_DEFAULT','%SQL_OPT_TRACE_OFF','%SQL_OPT_TRACE_ON','%SQL_ORDER_BY_COLUMNS_IN_SELECT','%SQL_OSCC_COMPLIANT','%SQL_OSCC_NOT_COMPLIANT','%SQL_OSC_CORE','%SQL_OSC_EXTENDED',
+ '%SQL_OSC_MINIMUM','%SQL_OUTER_JOINS','%SQL_OUTER_JOIN_CAPABILITIES','%SQL_OU_DML_STATEMENTS','%SQL_OU_INDEX_DEFINITION','%SQL_OU_PRIVILEGE_DEFINITION','%SQL_OU_PROCEDURE_INVOCATION','%SQL_OU_TABLE_DEFINITION',
+ '%SQL_OV_ODBC2','%SQL_OV_ODBC3','%SQL_OWNER_TERM','%SQL_OWNER_USAGE','%SQL_PACKET_SIZE','%SQL_PARAM_ARRAY_ROW_COUNTS','%SQL_PARAM_ARRAY_SELECTS','%SQL_PARAM_BIND_BY_COLUMN',
+ '%SQL_PARAM_BIND_TYPE_DEFAULT','%SQL_PARAM_DIAG_UNAVAILABLE','%SQL_PARAM_ERROR','%SQL_PARAM_IGNORE','%SQL_PARAM_INPUT','%SQL_PARAM_INPUT_OUTPUT','%SQL_PARAM_OUTPUT','%SQL_PARAM_PROCEED',
+ '%SQL_PARAM_SUCCESS','%SQL_PARAM_SUCCESS_WITH_INFO','%SQL_PARAM_TYPE_DEFAULT','%SQL_PARAM_TYPE_UNKNOWN','%SQL_PARAM_UNUSED','%SQL_PARC_BATCH','%SQL_PARC_NO_BATCH','%SQL_PAS_BATCH',
+ '%SQL_PAS_NO_BATCH','%SQL_PAS_NO_SELECT','%SQL_PC_NON_PSEUDO','%SQL_PC_NOT_PSEUDO','%SQL_PC_PSEUDO','%SQL_PC_UNKNOWN','%SQL_POSITION','%SQL_POSITIONED_STATEMENTS',
+ '%SQL_POS_ADD','%SQL_POS_DELETE','%SQL_POS_OPERATIONS','%SQL_POS_POSITION','%SQL_POS_REFRESH','%SQL_POS_UPDATE','%SQL_PRED_BASIC','%SQL_PRED_CHAR',
+ '%SQL_PRED_NONE','%SQL_PRED_SEARCHABLE','%SQL_PROCEDURES','%SQL_PROCEDURE_TERM','%SQL_PS_POSITIONED_DELETE','%SQL_PS_POSITIONED_UPDATE','%SQL_PS_SELECT_FOR_UPDATE','%SQL_PT_FUNCTION',
+ '%SQL_PT_PROCEDURE','%SQL_PT_UNKNOWN','%SQL_QL_END','%SQL_QL_START','%SQL_QUALIFIER_LOCATION','%SQL_QUALIFIER_NAME_SEPARATOR','%SQL_QUALIFIER_TERM','%SQL_QUALIFIER_USAGE',
+ '%SQL_QUERY_TIMEOUT','%SQL_QUERY_TIMEOUT_DEFAULT','%SQL_QUICK','%SQL_QUIET_MODE','%SQL_QUOTED_IDENTIFIER_CASE','%SQL_QU_DML_STATEMENTS','%SQL_QU_INDEX_DEFINITION','%SQL_QU_PRIVILEGE_DEFINITION',
+ '%SQL_QU_PROCEDURE_INVOCATION','%SQL_QU_TABLE_DEFINITION','%SQL_RD_DEFAULT','%SQL_RD_OFF','%SQL_RD_ON','%SQL_REAL','%SQL_REFRESH','%SQL_RESET_PARAMS',
+ '%SQL_RESTRICT','%SQL_RESULT_COL','%SQL_RETRIEVE_DATA','%SQL_RETURN_VALUE','%SQL_ROLLBACK','%SQL_ROWSET_SIZE','%SQL_ROWSET_SIZE_DEFAULT','%SQL_ROWVER',
+ '%SQL_ROW_ADDED','%SQL_ROW_DELETED','%SQL_ROW_ERROR','%SQL_ROW_IDENTIFIER','%SQL_ROW_IGNORE','%SQL_ROW_NOROW','%SQL_ROW_NUMBER','%SQL_ROW_NUMBER_UNKNOWN',
+ '%SQL_ROW_PROCEED','%SQL_ROW_SUCCESS','%SQL_ROW_SUCCESS_WITH_INFO','%SQL_ROW_UPDATED','%SQL_ROW_UPDATES','%SQL_SCCO_LOCK','%SQL_SCCO_OPT_ROWVER','%SQL_SCCO_OPT_TIMESTAMP',
+ '%SQL_SCCO_OPT_VALUES','%SQL_SCCO_READ_ONLY','%SQL_SCC_ISO92_CLI','%SQL_SCC_XOPEN_CLI_VERSION1','%SQL_SCHEMA_TERM','%SQL_SCHEMA_USAGE','%SQL_SCOPE_CURROW','%SQL_SCOPE_SESSION',
+ '%SQL_SCOPE_TRANSACTION','%SQL_SCROLLABLE','%SQL_SCROLL_CONCURRENCY','%SQL_SCROLL_DYNAMIC','%SQL_SCROLL_FORWARD_ONLY','%SQL_SCROLL_KEYSET_DRIVEN','%SQL_SCROLL_OPTIONS','%SQL_SCROLL_STATIC',
+ '%SQL_SC_FIPS127_2_TRANSITIONAL','%SQL_SC_NON_UNIQUE','%SQL_SC_SQL92_ENTRY','%SQL_SC_SQL92_FULL','%SQL_SC_SQL92_INTERMEDIATE','%SQL_SC_TRY_UNIQUE','%SQL_SC_UNIQUE','%SQL_SDF_CURRENT_DATE',
+ '%SQL_SDF_CURRENT_TIME','%SQL_SDF_CURRENT_TIMESTAMP','%SQL_SEARCHABLE','%SQL_SEARCH_PATTERN_ESCAPE','%SQL_SECOND','%SQL_SENSITIVE','%SQL_SERVER_NAME','%SQL_SETPARAM_VALUE_MAX',
+ '%SQL_SETPOS_MAX_LOCK_VALUE','%SQL_SETPOS_MAX_OPTION_VALUE','%SQL_SET_DEFAULT','%SQL_SET_NULL','%SQL_SFKD_CASCADE','%SQL_SFKD_NO_ACTION','%SQL_SFKD_SET_DEFAULT','%SQL_SFKD_SET_NULL',
+ '%SQL_SFKU_CASCADE','%SQL_SFKU_NO_ACTION','%SQL_SFKU_SET_DEFAULT','%SQL_SFKU_SET_NULL','%SQL_SG_DELETE_TABLE','%SQL_SG_INSERT_COLUMN','%SQL_SG_INSERT_TABLE','%SQL_SG_REFERENCES_COLUMN',
+ '%SQL_SG_REFERENCES_TABLE','%SQL_SG_SELECT_TABLE','%SQL_SG_UPDATE_COLUMN','%SQL_SG_UPDATE_TABLE','%SQL_SG_USAGE_ON_CHARACTER_SET','%SQL_SG_USAGE_ON_COLLATION','%SQL_SG_USAGE_ON_DOMAIN','%SQL_SG_USAGE_ON_TRANSLATION',
+ '%SQL_SG_WITH_GRANT_OPTION','%SQL_SIGNED_OFFSET','%SQL_SIMULATE_CURSOR','%SQL_SMALLINT','%SQL_SNVF_BIT_LENGTH','%SQL_SNVF_CHARACTER_LENGTH','%SQL_SNVF_CHAR_LENGTH','%SQL_SNVF_EXTRACT',
+ '%SQL_SNVF_OCTET_LENGTH','%SQL_SNVF_POSITION','%SQL_SO_DYNAMIC','%SQL_SO_FORWARD_ONLY','%SQL_SO_KEYSET_DRIVEN','%SQL_SO_MIXED','%SQL_SO_STATIC','%SQL_SPECIAL_CHARACTERS',
+ '%SQL_SPEC_MAJOR','%SQL_SPEC_MINOR','%SQL_SP_BETWEEN','%SQL_SP_COMPARISON','%SQL_SP_EXISTS','%SQL_SP_IN','%SQL_SP_ISNOTNULL','%SQL_SP_ISNULL',
+ '%SQL_SP_LIKE','%SQL_SP_MATCH_FULL','%SQL_SP_MATCH_PARTIAL','%SQL_SP_MATCH_UNIQUE_FULL','%SQL_SP_MATCH_UNIQUE_PARTIAL','%SQL_SP_OVERLAPS','%SQL_SP_QUANTIFIED_COMPARISON','%SQL_SP_UNIQUE',
+ '%SQL_SQL92_DATETIME_FUNCTIONS','%SQL_SQL92_FOREIGN_KEY_DELETE_RULE','%SQL_SQL92_FOREIGN_KEY_UPDATE_RULE','%SQL_SQL92_GRANT','%SQL_SQL92_NUMERIC_VALUE_FUNCTIONS','%SQL_SQL92_PREDICATES','%SQL_SQL92_RELATIONAL_JOIN_OPERATORS','%SQL_SQL92_REVOKE',
+ '%SQL_SQL92_ROW_VALUE_CONSTRUCTOR','%SQL_SQL92_STRING_FUNCTIONS','%SQL_SQL92_VALUE_EXPRESSIONS','%SQL_SQLSTATE_SIZE','%SQL_SQL_CONFORMANCE','%SQL_SQ_COMPARISON','%SQL_SQ_CORRELATED_SUBQUERIES','%SQL_SQ_EXISTS',
+ '%SQL_SQ_IN','%SQL_SQ_QUANTIFIED','%SQL_SRJO_CORRESPONDING_CLAUSE','%SQL_SRJO_CROSS_JOIN','%SQL_SRJO_EXCEPT_JOIN','%SQL_SRJO_FULL_OUTER_JOIN','%SQL_SRJO_INNER_JOIN','%SQL_SRJO_INTERSECT_JOIN',
+ '%SQL_SRJO_LEFT_OUTER_JOIN','%SQL_SRJO_NATURAL_JOIN','%SQL_SRJO_RIGHT_OUTER_JOIN','%SQL_SRJO_UNION_JOIN','%SQL_SRVC_DEFAULT','%SQL_SRVC_NULL','%SQL_SRVC_ROW_SUBQUERY','%SQL_SRVC_VALUE_EXPRESSION',
+ '%SQL_SR_CASCADE','%SQL_SR_DELETE_TABLE','%SQL_SR_GRANT_OPTION_FOR','%SQL_SR_INSERT_COLUMN','%SQL_SR_INSERT_TABLE','%SQL_SR_REFERENCES_COLUMN','%SQL_SR_REFERENCES_TABLE','%SQL_SR_RESTRICT',
+ '%SQL_SR_SELECT_TABLE','%SQL_SR_UPDATE_COLUMN','%SQL_SR_UPDATE_TABLE','%SQL_SR_USAGE_ON_CHARACTER_SET','%SQL_SR_USAGE_ON_COLLATION','%SQL_SR_USAGE_ON_DOMAIN','%SQL_SR_USAGE_ON_TRANSLATION','%SQL_SSF_CONVERT',
+ '%SQL_SSF_LOWER','%SQL_SSF_SUBSTRING','%SQL_SSF_TRANSLATE','%SQL_SSF_TRIM_BOTH','%SQL_SSF_TRIM_LEADING','%SQL_SSF_TRIM_TRAILING','%SQL_SSF_UPPER','%SQL_SS_ADDITIONS',
+ '%SQL_SS_DELETIONS','%SQL_SS_UPDATES','%SQL_STANDARD_CLI_CONFORMANCE','%SQL_STATIC_CURSOR_ATTRIBUTES1','%SQL_STATIC_CURSOR_ATTRIBUTES2','%SQL_STATIC_SENSITIVITY','%SQL_STILL_EXECUTING','%SQL_STRING_FUNCTIONS',
+ '%SQL_SUBQUERIES','%SQL_SUCCESS','%SQL_SUCCESS_WITH_INFO','%SQL_SU_DML_STATEMENTS','%SQL_SU_INDEX_DEFINITION','%SQL_SU_PRIVILEGE_DEFINITION','%SQL_SU_PROCEDURE_INVOCATION','%SQL_SU_TABLE_DEFINITION',
+ '%SQL_SVE_CASE','%SQL_SVE_CAST','%SQL_SVE_COALESCE','%SQL_SVE_NULLIF','%SQL_SYSTEM_FUNCTIONS','%SQL_TABLE_STAT','%SQL_TABLE_TERM','%SQL_TC_ALL',
+ '%SQL_TC_DDL_COMMIT','%SQL_TC_DDL_IGNORE','%SQL_TC_DML','%SQL_TC_NONE','%SQL_TIME','%SQL_TIMEDATE_ADD_INTERVALS','%SQL_TIMEDATE_DIFF_INTERVALS','%SQL_TIMEDATE_FUNCTIONS',
+ '%SQL_TIMESTAMP','%SQL_TIMESTAMP_LEN','%SQL_TIME_LEN','%SQL_TINYINT','%SQL_TRANSACTION_CAPABLE','%SQL_TRANSACTION_ISOLATION_OPTION','%SQL_TRANSACTION_READ_COMMITTED','%SQL_TRANSACTION_READ_UNCOMMITTED',
+ '%SQL_TRANSACTION_REPEATABLE_READ','%SQL_TRANSACTION_SERIALIZABLE','%SQL_TRANSLATE_DLL','%SQL_TRANSLATE_OPTION','%SQL_TRUE','%SQL_TXN_CAPABLE','%SQL_TXN_ISOLATION','%SQL_TXN_ISOLATION_OPTION',
+ '%SQL_TXN_READ_COMMITTED','%SQL_TXN_READ_UNCOMMITTED','%SQL_TXN_REPEATABLE_READ','%SQL_TXN_SERIALIZABLE','%SQL_TYPE_DATE','%SQL_TYPE_NULL','%SQL_TYPE_TIME','%SQL_TYPE_TIMESTAMP',
+ '%SQL_UB_DEFAULT','%SQL_UB_FIXED','%SQL_UB_OFF','%SQL_UB_ON','%SQL_UB_VARIABLE','%SQL_UNBIND','%SQL_UNICODE','%SQL_UNICODE_CHAR',
+ '%SQL_UNICODE_LONGVARCHAR','%SQL_UNICODE_VARCHAR','%SQL_UNION','%SQL_UNION_STATEMENT','%SQL_UNKNOWN_TYPE','%SQL_UNNAMED','%SQL_UNSEARCHABLE','%SQL_UNSIGNED_OFFSET',
+ '%SQL_UNSPECIFIED','%SQL_UPDATE','%SQL_UPDATE_BY_BOOKMARK','%SQL_USER_NAME','%SQL_USE_BOOKMARKS','%SQL_US_UNION','%SQL_US_UNION_ALL','%SQL_U_UNION',
+ '%SQL_U_UNION_ALL','%SQL_VARBINARY','%SQL_VARCHAR','%SQL_XOPEN_CLI_YEAR','%SQL_YEAR','%SQL_YEAR_TO_MONTH','%SRCCOPY','%SS_BITMAP',
+ '%SS_BLACKFRAME','%SS_BLACKRECT','%SS_CENTER','%SS_CENTERIMAGE','%SS_ENDELLIPSIS','%SS_ETCHEDFRAME','%SS_ETCHEDHORZ','%SS_ETCHEDVERT',
+ '%SS_GRAYFRAME','%SS_GRAYRECT','%SS_LEFT','%SS_NOPREFIX','%SS_NOTIFY','%SS_NOWORDWRAP','%SS_PATHELLIPSIS','%SS_RIGHT',
+ '%SS_RIGHTJUST','%SS_SIMPLE','%SS_SUNKEN','%SS_WHITEFRAME','%SS_WHITERECT','%SS_WORDELLIPSIS','%STAT_FILL_FROM_MEMORY','%STAT_FILL_NATURAL',
+ '%STAT_FILL_NATURAL_ERASTONE','%STAT_FILL_NATURAL_EVEN','%STAT_FILL_NATURAL_FIBONACCI','%STAT_FILL_NATURAL_ODD','%STAT_FILL_WITH_NUMBER','%STAT_MINMAX_INDEX','%STAT_MINMAX_VALUE','%STAT_TYPE_BYTE',
+ '%STAT_TYPE_CURRENCY','%STAT_TYPE_DOUBLE','%STAT_TYPE_DWORD','%STAT_TYPE_EXT','%STAT_TYPE_INTEGER','%STAT_TYPE_LONG','%STAT_TYPE_QUAD','%STAT_TYPE_SINGLE',
+ '%STAT_TYPE_WORD','%SWP_ASYNCWINDOWPOS','%SWP_DEFERERASE','%SWP_DRAWFRAME','%SWP_FRAMECHANGED','%SWP_HIDEWINDOW','%SWP_NOACTIVATE','%SWP_NOCOPYBITS',
+ '%SWP_NOMOVE','%SWP_NOOWNERZORDER','%SWP_NOREDRAW','%SWP_NOREPOSITION','%SWP_NOSENDCHANGING','%SWP_NOSIZE','%SWP_NOZORDER','%SWP_SHOWWINDOW',
+ '%SW_FORCEMINIMIZE','%SW_HIDE','%SW_MAXIMIZE','%SW_MINIMIZE','%SW_NORMAL','%SW_RESTORE','%SW_SHOW','%SW_SHOWDEFAULT',
+ '%SW_SHOWMAXIMIZED','%SW_SHOWMINIMIZED','%SW_SHOWMINNOACTIVE','%SW_SHOWNA','%SW_SHOWNOACTIVATE','%SW_SHOWNORMAL','%TBASS_3DALG_DEFAULT','%TBASS_3DALG_FULL',
+ '%TBASS_3DALG_LIGHT','%TBASS_3DALG_OFF','%TBASS_3DMODE_NORMAL','%TBASS_3DMODE_OFF','%TBASS_3DMODE_RELATIVE','%TBASS_ACTIVE_PAUSED','%TBASS_ACTIVE_PLAYING','%TBASS_ACTIVE_STALLED',
+ '%TBASS_ACTIVE_STOPPED','%TBASS_CONFIG_3DALGORITHM','%TBASS_CONFIG_BUFFER','%TBASS_CONFIG_CURVE_PAN','%TBASS_CONFIG_CURVE_VOL','%TBASS_CONFIG_FLOATDSP','%TBASS_CONFIG_GVOL_MUSIC','%TBASS_CONFIG_GVOL_SAMPLE',
+ '%TBASS_CONFIG_GVOL_STREAM','%TBASS_CONFIG_MAXVOL','%TBASS_CONFIG_MP3_CODEC','%TBASS_CONFIG_NET_AGENT','%TBASS_CONFIG_NET_BUFFER','%TBASS_CONFIG_NET_PASSIVE','%TBASS_CONFIG_NET_PREBUF','%TBASS_CONFIG_NET_PROXY',
+ '%TBASS_CONFIG_NET_TIMEOUT','%TBASS_CONFIG_PAUSE_NOPLAY','%TBASS_CONFIG_UPDATEPERIOD','%TBASS_CTYPE_MUSIC_IT','%TBASS_CTYPE_MUSIC_MO3','%TBASS_CTYPE_MUSIC_MOD','%TBASS_CTYPE_MUSIC_MTM','%TBASS_CTYPE_MUSIC_S3M',
+ '%TBASS_CTYPE_MUSIC_XM','%TBASS_CTYPE_RECORD','%TBASS_CTYPE_SAMPLE','%TBASS_CTYPE_STREAM','%TBASS_CTYPE_STREAM_AIFF','%TBASS_CTYPE_STREAM_MP1','%TBASS_CTYPE_STREAM_MP2','%TBASS_CTYPE_STREAM_MP3',
+ '%TBASS_CTYPE_STREAM_OGG','%TBASS_CTYPE_STREAM_WAV','%TBASS_CTYPE_STREAM_WAV_FLOAT','%TBASS_CTYPE_STREAM_WAV_PCM','%TBASS_DATA_AVAILABLE','%TBASS_DATA_FFT1024','%TBASS_DATA_FFT2048','%TBASS_DATA_FFT4096',
+ '%TBASS_DATA_FFT512','%TBASS_DATA_FFT_INDIVIDUAL','%TBASS_DATA_FFT_NOWINDOW','%TBASS_DATA_FLOAT','%TBASS_DEVICE_3D','%TBASS_DEVICE_8BITS','%TBASS_DEVICE_LATENCY','%TBASS_DEVICE_MONO',
+ '%TBASS_DEVICE_NOSPEAKER','%TBASS_DEVICE_SPEAKERS','%TBASS_EAX_ENVIRONMENT_ALLEY','%TBASS_EAX_ENVIRONMENT_ARENA','%TBASS_EAX_ENVIRONMENT_AUDITORIUM','%TBASS_EAX_ENVIRONMENT_BATHROOM','%TBASS_EAX_ENVIRONMENT_CARPETEDHALLWAY','%TBASS_EAX_ENVIRONMENT_CAVE',
+ '%TBASS_EAX_ENVIRONMENT_CITY','%TBASS_EAX_ENVIRONMENT_CONCERTHALL','%TBASS_EAX_ENVIRONMENT_COUNT','%TBASS_EAX_ENVIRONMENT_DIZZY','%TBASS_EAX_ENVIRONMENT_DRUGGED','%TBASS_EAX_ENVIRONMENT_FOREST','%TBASS_EAX_ENVIRONMENT_GENERIC','%TBASS_EAX_ENVIRONMENT_HALLWAY',
+ '%TBASS_EAX_ENVIRONMENT_HANGAR','%TBASS_EAX_ENVIRONMENT_LIVINGROOM','%TBASS_EAX_ENVIRONMENT_MOUNTAINS','%TBASS_EAX_ENVIRONMENT_PADDEDCELL','%TBASS_EAX_ENVIRONMENT_PARKINGLOT','%TBASS_EAX_ENVIRONMENT_PLAIN','%TBASS_EAX_ENVIRONMENT_PSYCHOTIC','%TBASS_EAX_ENVIRONMENT_QUARRY',
+ '%TBASS_EAX_ENVIRONMENT_ROOM','%TBASS_EAX_ENVIRONMENT_SEWERPIPE','%TBASS_EAX_ENVIRONMENT_STONECORRIDOR','%TBASS_EAX_ENVIRONMENT_STONEROOM','%TBASS_EAX_ENVIRONMENT_UNDERWATER','%TBASS_ERROR_ALREADY','%TBASS_ERROR_BUFLOST','%TBASS_ERROR_CODEC',
+ '%TBASS_ERROR_CREATE','%TBASS_ERROR_DECODE','%TBASS_ERROR_DEVICE','%TBASS_ERROR_DRIVER','%TBASS_ERROR_DX','%TBASS_ERROR_EMPTY','%TBASS_ERROR_FILEFORM','%TBASS_ERROR_FILEOPEN',
+ '%TBASS_ERROR_FORMAT','%TBASS_ERROR_FREQ','%TBASS_ERROR_HANDLE','%TBASS_ERROR_ILLPARAM','%TBASS_ERROR_ILLTYPE','%TBASS_ERROR_INIT','%TBASS_ERROR_MEM','%TBASS_ERROR_NO3D',
+ '%TBASS_ERROR_NOCHAN','%TBASS_ERROR_NOEAX','%TBASS_ERROR_NOFX','%TBASS_ERROR_NOHW','%TBASS_ERROR_NONET','%TBASS_ERROR_NOPAUSE','%TBASS_ERROR_NOPLAY','%TBASS_ERROR_NOTAVAIL',
+ '%TBASS_ERROR_NOTFILE','%TBASS_ERROR_PLAYING','%TBASS_ERROR_POSITION','%TBASS_ERROR_SPEAKER','%TBASS_ERROR_START','%TBASS_ERROR_TIMEOUT','%TBASS_ERROR_UNKNOWN','%TBASS_ERROR_VERSION',
+ '%TBASS_FALSE','%TBASS_FILEPOS_CURRENT','%TBASS_FILEPOS_DECODE','%TBASS_FILEPOS_DOWNLOAD','%TBASS_FILEPOS_END','%TBASS_FILEPOS_START','%TBASS_FILE_CLOSE','%TBASS_FILE_LEN',
+ '%TBASS_FILE_READ','%TBASS_FILE_SEEK','%TBASS_FX_CHORUS','%TBASS_FX_COMPRESSOR','%TBASS_FX_DISTORTION','%TBASS_FX_ECHO','%TBASS_FX_FLANGER','%TBASS_FX_GARGLE',
+ '%TBASS_FX_I3DL2REVERB','%TBASS_FX_PARAMEQ','%TBASS_FX_PHASE_180','%TBASS_FX_PHASE_90','%TBASS_FX_PHASE_NEG_180','%TBASS_FX_PHASE_NEG_90','%TBASS_FX_PHASE_ZERO','%TBASS_FX_REVERB',
+ '%TBASS_INPUT_LEVEL','%TBASS_INPUT_OFF','%TBASS_INPUT_ON','%TBASS_INPUT_TYPE_ANALOG','%TBASS_INPUT_TYPE_AUX','%TBASS_INPUT_TYPE_CD','%TBASS_INPUT_TYPE_DIGITAL','%TBASS_INPUT_TYPE_LINE',
+ '%TBASS_INPUT_TYPE_MASK','%TBASS_INPUT_TYPE_MIC','%TBASS_INPUT_TYPE_PHONE','%TBASS_INPUT_TYPE_SPEAKER','%TBASS_INPUT_TYPE_SYNTH','%TBASS_INPUT_TYPE_UNDEF','%TBASS_INPUT_TYPE_WAVE','%TBASS_MP3_SETPOS',
+ '%TBASS_MUSIC_3D','%TBASS_MUSIC_ATTRIB_AMPLIFY','%TBASS_MUSIC_ATTRIB_BPM','%TBASS_MUSIC_ATTRIB_PANSEP','%TBASS_MUSIC_ATTRIB_PSCALER','%TBASS_MUSIC_ATTRIB_SPEED','%TBASS_MUSIC_ATTRIB_VOL_CHAN','%TBASS_MUSIC_ATTRIB_VOL_GLOBAL',
+ '%TBASS_MUSIC_ATTRIB_VOL_INST','%TBASS_MUSIC_AUTOFREE','%TBASS_MUSIC_CALCLEN','%TBASS_MUSIC_DECODE','%TBASS_MUSIC_FLOAT','%TBASS_MUSIC_FT2MOD','%TBASS_MUSIC_FX','%TBASS_MUSIC_LOOP',
+ '%TBASS_MUSIC_MONO','%TBASS_MUSIC_NONINTER','%TBASS_MUSIC_NOSAMPLE','%TBASS_MUSIC_POSRESET','%TBASS_MUSIC_POSRESETEX','%TBASS_MUSIC_PRESCAN','%TBASS_MUSIC_PT1MOD','%TBASS_MUSIC_RAMP',
+ '%TBASS_MUSIC_RAMPS','%TBASS_MUSIC_STOPBACK','%TBASS_MUSIC_SURROUND','%TBASS_MUSIC_SURROUND2','%TBASS_OBJECT_DS','%TBASS_OBJECT_DS3DL','%TBASS_OK','%TBASS_RECORD_PAUSE',
+ '%TBASS_SAMPLE_3D','%TBASS_SAMPLE_8BITS','%TBASS_SAMPLE_FLOAT','%TBASS_SAMPLE_FX','%TBASS_SAMPLE_LOOP','%TBASS_SAMPLE_MONO','%TBASS_SAMPLE_MUTEMAX','%TBASS_SAMPLE_OVER_DIST',
+ '%TBASS_SAMPLE_OVER_POS','%TBASS_SAMPLE_OVER_VOL','%TBASS_SAMPLE_SOFTWARE','%TBASS_SAMPLE_VAM','%TBASS_SLIDE_FREQ','%TBASS_SLIDE_PAN','%TBASS_SLIDE_VOL','%TBASS_SPEAKER_CENLFE',
+ '%TBASS_SPEAKER_CENTER','%TBASS_SPEAKER_FRONT','%TBASS_SPEAKER_FRONTLEFT','%TBASS_SPEAKER_FRONTRIGHT','%TBASS_SPEAKER_LEFT','%TBASS_SPEAKER_LFE','%TBASS_SPEAKER_REAR','%TBASS_SPEAKER_REAR2',
+ '%TBASS_SPEAKER_REAR2LEFT','%TBASS_SPEAKER_REAR2RIGHT','%TBASS_SPEAKER_REARLEFT','%TBASS_SPEAKER_REARRIGHT','%TBASS_SPEAKER_RIGHT','%TBASS_STREAMPROC_END','%TBASS_STREAM_AUTOFREE','%TBASS_STREAM_BLOCK',
+ '%TBASS_STREAM_DECODE','%TBASS_STREAM_PRESCAN','%TBASS_STREAM_RESTRATE','%TBASS_STREAM_STATUS','%TBASS_SYNC_DOWNLOAD','%TBASS_SYNC_END','%TBASS_SYNC_FREE','%TBASS_SYNC_MESSAGE',
+ '%TBASS_SYNC_META','%TBASS_SYNC_MIXTIME','%TBASS_SYNC_MUSICFX','%TBASS_SYNC_MUSICINST','%TBASS_SYNC_MUSICPOS','%TBASS_SYNC_ONETIME','%TBASS_SYNC_POS','%TBASS_SYNC_SLIDE',
+ '%TBASS_SYNC_STALL','%TBASS_TAG_HTTP','%TBASS_TAG_ICY','%TBASS_TAG_ID3','%TBASS_TAG_ID3V2','%TBASS_TAG_META','%TBASS_TAG_MUSIC_INST','%TBASS_TAG_MUSIC_MESSAGE',
+ '%TBASS_TAG_MUSIC_NAME','%TBASS_TAG_MUSIC_SAMPLE','%TBASS_TAG_OGG','%TBASS_TAG_RIFF_INFO','%TBASS_TAG_VENDOR','%TBASS_TRUE','%TBASS_UNICODE','%TBASS_VAM_HARDWARE',
+ '%TBASS_VAM_SOFTWARE','%TBASS_VAM_TERM_DIST','%TBASS_VAM_TERM_PRIO','%TBASS_VAM_TERM_TIME','%TBASS_VERSION','%TBCD_CHANNEL','%TBCD_THUMB','%TBCD_TICS',
+ '%TBGL_ALIGN_CENTER','%TBGL_ALIGN_CENTER_CENTER','%TBGL_ALIGN_CENTER_DOWN','%TBGL_ALIGN_CENTER_UP','%TBGL_ALIGN_LEFT','%TBGL_ALIGN_LEFT_CENTER','%TBGL_ALIGN_LEFT_DOWN','%TBGL_ALIGN_LEFT_UP',
+ '%TBGL_ALIGN_RIGHT','%TBGL_ALIGN_RIGHT_CENTER','%TBGL_ALIGN_RIGHT_DOWN','%TBGL_ALIGN_RIGHT_UP','%TBGL_ALWAYS','%TBGL_EQUAL','%TBGL_ERROR_FILE','%TBGL_ERROR_MSGBOX',
+ '%TBGL_ERROR_NONE','%TBGL_GEQUAL','%TBGL_GREATER','%TBGL_LEQUAL','%TBGL_LESS','%TBGL_LIGHT_AMBIENT','%TBGL_LIGHT_CONSTANT_ATTENUATION','%TBGL_LIGHT_DIFFUSE',
+ '%TBGL_LIGHT_LINEAR_ATTENUATION','%TBGL_LIGHT_POSITION','%TBGL_LIGHT_QUADRATIC_ATTENUATION','%TBGL_LIGHT_SPECULAR','%TBGL_LIGHT_SPOT_CUTOFF','%TBGL_LIGHT_SPOT_DIRECTION','%TBGL_LIGHT_SPOT_EXPONENT','%TBGL_M15B',
+ '%TBGL_M15G','%TBGL_M15LAYER','%TBGL_M15PSTOP','%TBGL_M15R','%TBGL_M15TEXN','%TBGL_M15TEXX','%TBGL_M15TEXY','%TBGL_M15X',
+ '%TBGL_M15Y','%TBGL_M15Z','%TBGL_NEVER','%TBGL_NORMAL_NONE','%TBGL_NORMAL_PRECISE','%TBGL_NORMAL_SMOOTH','%TBGL_NOTEQUAL','%TBGL_OBJ_CUBE',
+ '%TBGL_OBJ_CUBE3','%TBGL_OBJ_CYLINDER','%TBGL_OBJ_SPHERE','%TBGL_PINFO_RGB','%TBGL_PINFO_XYZ','%TBGL_TEX_LINEAR','%TBGL_TEX_MIPMAP','%TBGL_TEX_NEAREST',
+ '%TBM_CLEARSEL','%TBM_CLEARTICS','%TBM_GETBUDDY','%TBM_GETCHANNELRECT','%TBM_GETLINESIZE','%TBM_GETNUMTICS','%TBM_GETPAGESIZE','%TBM_GETPOS',
+ '%TBM_GETPTICS','%TBM_GETRANGEMAX','%TBM_GETRANGEMIN','%TBM_GETSELEND','%TBM_GETSELSTART','%TBM_GETTHUMBLENGTH','%TBM_GETTHUMBRECT','%TBM_GETTIC',
+ '%TBM_GETTICPOS','%TBM_GETTOOLTIPS','%TBM_GETUNICODEFORMAT','%TBM_SETBUDDY','%TBM_SETLINESIZE','%TBM_SETPAGESIZE','%TBM_SETPOS','%TBM_SETRANGE',
+ '%TBM_SETRANGEMAX','%TBM_SETRANGEMIN','%TBM_SETSEL','%TBM_SETSELEND','%TBM_SETSELSTART','%TBM_SETTHUMBLENGTH','%TBM_SETTIC','%TBM_SETTICFREQ',
+ '%TBM_SETTIPSIDE','%TBM_SETTOOLTIPS','%TBM_SETUNICODEFORMAT','%TBS_AUTOTICKS','%TBS_BOTH','%TBS_BOTTOM','%TBS_DOWNISLEFT','%TBS_ENABLESELRANGE',
+ '%TBS_FIXEDLENGTH','%TBS_HORZ','%TBS_LEFT','%TBS_NOTHUMB','%TBS_NOTICKS','%TBS_REVERSED','%TBS_RIGHT','%TBS_TOOLTIPS',
+ '%TBS_TOP','%TBS_VERT','%TBTS_BOTTOM','%TBTS_LEFT','%TBTS_RIGHT','%TBTS_TOP','%TB_%VT_BSTR','%TB_%VT_CY',
+ '%TB_%VT_DATE','%TB_%VT_EMPTY','%TB_%VT_I2','%TB_%VT_I4','%TB_%VT_NULL','%TB_%VT_R4','%TB_%VT_R8','%TB_BOTTOM',
+ '%TB_CLASS_E_NOAGGREGATION','%TB_CO_E_CLASSSTRING','%TB_DISPATCH_METHOD','%TB_DISPATCH_PROPERTYGET','%TB_DISPATCH_PROPERTYPUT','%TB_DISPATCH_PROPERTYPUTREF','%TB_ENDTRACK','%TB_E_INVALIDARG',
+ '%TB_E_NOINTERFACE','%TB_E_OUTOFMEMORY','%TB_IMGCTX_ACTUALSIZE','%TB_IMGCTX_AUTOSIZE','%TB_IMGCTX_FITTOHEIGHT','%TB_IMGCTX_FITTOWIDTH','%TB_IMGCTX_STRETCH','%TB_LINEDOWN',
+ '%TB_LINEUP','%TB_MK_E_CONNECTMANUALLY','%TB_MK_E_EXCEEDEDDEADLINE','%TB_MK_E_INTERMEDIATEINTERFACENOTSUPPORTED','%TB_MK_E_NOOBJECT','%TB_MK_E_SYNTAX','%TB_PAGEDOWN','%TB_PAGEUP',
+ '%TB_REGDB_E_CLASSNOTREG','%TB_REGDB_E_WRITEREGDB','%TB_SIZEOF_TBVARIANT','%TB_S_FALSE','%TB_S_OK','%TB_THUMBPOSITION','%TB_THUMBTRACK','%TB_TOP',
+ '%TCM_FIRST','%TCM_GETCURSEL','%TCN_FOCUSCHANGE','%TCN_GETOBJECT','%TCN_SELCHANGE','%TCN_SELCHANGING','%TCS_BOTTOM','%TCS_BUTTONS',
+ '%TCS_EX_FLATSEPARATORS','%TCS_EX_REGISTERDROP','%TCS_FIXEDWIDTH','%TCS_FLATBUTTONS','%TCS_FOCUSNEVER','%TCS_FOCUSONBUTTONDOWN','%TCS_FORCEICONLEFT','%TCS_FORCELABELLEFT',
+ '%TCS_HOTTRACK','%TCS_MULTILINE','%TCS_MULTISELECT','%TCS_OWNERDRAWFIXED','%TCS_RAGGEDRIGHT','%TCS_RIGHT','%TCS_RIGHTJUSTIFY','%TCS_SCROLLOPPOSITE',
+ '%TCS_SINGLELINE','%TCS_TABS','%TCS_TOOLTIPS','%TCS_VERTICAL','%TM_PLAINTEXT','%TM_RICHTEXT','%TOKENIZER_DEFAULT_ALPHA','%TOKENIZER_DEFAULT_DELIM',
+ '%TOKENIZER_DEFAULT_DQUOTE','%TOKENIZER_DEFAULT_NEWLINE','%TOKENIZER_DEFAULT_NUMERIC','%TOKENIZER_DEFAULT_SPACE','%TOKENIZER_DELIMITER','%TOKENIZER_EOL','%TOKENIZER_ERROR','%TOKENIZER_FINISHED',
+ '%TOKENIZER_NUMBER','%TOKENIZER_QUOTE','%TOKENIZER_STRING','%TOKENIZER_UNDEFTOK','%TRUE','%TV_FIRST','%UDM_GETACCEL','%UDM_GETBASE',
+ '%UDM_GETBUDDY','%UDM_GETPOS','%UDM_GETPOS32','%UDM_GETRANGE','%UDM_GETRANGE32','%UDM_GETUNICODEFORMAT','%UDM_SETACCEL','%UDM_SETBASE',
+ '%UDM_SETBUDDY','%UDM_SETPOS','%UDM_SETPOS32','%UDM_SETRANGE','%UDM_SETRANGE32','%UDM_SETUNICODEFORMAT','%UDS_ALIGNLEFT','%UDS_ALIGNRIGHT',
+ '%UDS_ARROWKEYS','%UDS_AUTOBUDDY','%UDS_HORZ','%UDS_HOTTRACK','%UDS_NOTHOUSANDS','%UDS_SETBUDDYINT','%UDS_WRAP','%UD_MAXVAL',
+ '%UD_MINVAL','%VK_0','%VK_1','%VK_2','%VK_3','%VK_4','%VK_5','%VK_6',
+ '%VK_7','%VK_8','%VK_9','%VK_A','%VK_ACCEPT','%VK_ADD','%VK_APPS','%VK_B',
+ '%VK_BACK','%VK_C','%VK_CANCEL','%VK_CAPITAL','%VK_CLEAR','%VK_CONTROL','%VK_CONVERT','%VK_D',
+ '%VK_DECIMAL','%VK_DELETE','%VK_DIVIDE','%VK_DOWN','%VK_E','%VK_END','%VK_ESCAPE','%VK_EXECUTE',
+ '%VK_F','%VK_F1','%VK_F10','%VK_F11','%VK_F12','%VK_F13','%VK_F14','%VK_F15',
+ '%VK_F16','%VK_F17','%VK_F18','%VK_F19','%VK_F2','%VK_F20','%VK_F21','%VK_F22',
+ '%VK_F23','%VK_F24','%VK_F3','%VK_F4','%VK_F5','%VK_F6','%VK_F7','%VK_F8',
+ '%VK_F9','%VK_FINAL','%VK_G','%VK_H','%VK_HANGEUL','%VK_HANGUL','%VK_HANJA','%VK_HELP',
+ '%VK_HOME','%VK_I','%VK_INSERT','%VK_J','%VK_JUNJA','%VK_K','%VK_KANA','%VK_KANJI',
+ '%VK_L','%VK_LBUTTON','%VK_LEFT','%VK_LINEFEED','%VK_LWIN','%VK_M','%VK_MBUTTON','%VK_MENU',
+ '%VK_MODECHANGE','%VK_MULTIPLY','%VK_N','%VK_NEXT','%VK_NONCONVERT','%VK_NUMLOCK','%VK_NUMPAD0','%VK_NUMPAD1',
+ '%VK_NUMPAD2','%VK_NUMPAD3','%VK_NUMPAD4','%VK_NUMPAD5','%VK_NUMPAD6','%VK_NUMPAD7','%VK_NUMPAD8','%VK_NUMPAD9',
+ '%VK_O','%VK_P','%VK_PAUSE','%VK_PGDN','%VK_PGUP','%VK_PRINT','%VK_PRIOR','%VK_Q',
+ '%VK_R','%VK_RBUTTON','%VK_RETURN','%VK_RIGHT','%VK_RWIN','%VK_S','%VK_SCROLL','%VK_SELECT',
+ '%VK_SEPARATOR','%VK_SHIFT','%VK_SLEEP','%VK_SNAPSHOT','%VK_SPACE','%VK_SUBTRACT','%VK_T','%VK_TAB',
+ '%VK_U','%VK_UP','%VK_V','%VK_W','%VK_X','%VK_XBUTTON1','%VK_XBUTTON2','%VK_Y',
+ '%VK_Z','%VT_ARRAY','%VT_BLOB','%VT_BLOB_OBJECT','%VT_BOOL','%VT_BSTR','%VT_BYREF','%VT_CARRAY',
+ '%VT_CF','%VT_CLSID','%VT_CY','%VT_DATE','%VT_DISPATCH','%VT_EMPTY','%VT_ERROR','%VT_FILETIME',
+ '%VT_HRESULT','%VT_I1','%VT_I2','%VT_I4','%VT_I8','%VT_INT','%VT_LPSTR','%VT_LPWSTR',
+ '%VT_NULL','%VT_PTR','%VT_R4','%VT_R8','%VT_RECORD','%VT_RESERVED','%VT_SAFEARRAY','%VT_STORAGE',
+ '%VT_STORED_OBJECT','%VT_STREAM','%VT_STREAMED_OBJECT','%VT_UI1','%VT_UI2','%VT_UI4','%VT_UI8','%VT_UINT',
+ '%VT_UNKNOWN','%VT_USERDEFINED','%VT_VARIANT','%VT_VECTOR','%VT_VOID','%WAVE_FORMAT_1M08','%WAVE_FORMAT_1M16','%WAVE_FORMAT_1S08',
+ '%WAVE_FORMAT_1S16','%WAVE_FORMAT_2M08','%WAVE_FORMAT_2M16','%WAVE_FORMAT_2S08','%WAVE_FORMAT_2S16','%WAVE_FORMAT_4M08','%WAVE_FORMAT_4M16','%WAVE_FORMAT_4S08',
+ '%WAVE_FORMAT_4S16','%WBF_CUSTOM','%WBF_LEVEL1','%WBF_LEVEL2','%WBF_OVERFLOW','%WBF_WORDBREAK','%WBF_WORDWRAP','%WHITE',
+ '%WIN_FINDTITLECONTAIN','%WIN_FINDTITLEEND','%WIN_FINDTITLEEQUAL','%WIN_FINDTITLESTART','%WM_ACTIVATE','%WM_ACTIVATEAPP','%WM_CAPTURECHANGED','%WM_CHAR',
+ '%WM_CLOSE','%WM_COMMAND','%WM_DESTROY','%WM_DROPFILES','%WM_ERASEBKGND','%WM_GETTEXTLENGTH','%WM_HOTKEY','%WM_HSCROLL',
+ '%WM_IDLE','%WM_INITDIALOG','%WM_KEYDOWN','%WM_KEYUP','%WM_KILLFOCUS','%WM_LBUTTONDBLCLK','%WM_LBUTTONDOWN','%WM_LBUTTONUP',
+ '%WM_MBUTTONDBLCLK','%WM_MBUTTONDOWN','%WM_MBUTTONUP','%WM_MOUSEFIRST','%WM_MOUSEMOVE','%WM_MOUSEWHEEL','%WM_MOVE','%WM_MOVING',
+ '%WM_NCLBUTTONDOWN','%WM_NCRBUTTONDOWN','%WM_NEXTDLGCTL','%WM_NOTIFY','%WM_PAINT','%WM_QUIT','%WM_RBUTTONDBLCLK','%WM_RBUTTONDOWN',
+ '%WM_RBUTTONUP','%WM_SETFOCUS','%WM_SETFONT','%WM_SETTEXT','%WM_SIZE','%WM_SIZING','%WM_SYSCOMMAND','%WM_TIMER',
+ '%WM_USER','%WM_VSCROLL','%WS_BORDER','%WS_CAPTION','%WS_CHILD','%WS_CLIPCHILDREN','%WS_CLIPSIBLINGS','%WS_DISABLED',
+ '%WS_DLGFRAME','%WS_EX_ACCEPTFILES','%WS_EX_APPWINDOW','%WS_EX_CLIENTEDGE','%WS_EX_CONTEXTHELP','%WS_EX_CONTROLPARENT','%WS_EX_LAYERED','%WS_EX_LEFT',
+ '%WS_EX_LEFTSCROLLBAR','%WS_EX_LTRREADING','%WS_EX_MDICHILD','%WS_EX_NOPARENTNOTIFY','%WS_EX_OVERLAPPEDWINDOW','%WS_EX_PALETTEWINDOW','%WS_EX_RIGHT','%WS_EX_RIGHTSCROLLBAR',
+ '%WS_EX_RTLREADING','%WS_EX_STATICEDGE','%WS_EX_TOOLWINDOW','%WS_EX_TOPMOST','%WS_EX_TRANSPARENT','%WS_EX_WINDOWEDGE','%WS_GROUP','%WS_HSCROLL',
+ '%WS_ICONIC','%WS_MAXIMIZE','%WS_MAXIMIZEBOX','%WS_MINIMIZE','%WS_MINIMIZEBOX','%WS_OVERLAPPEDWINDOW','%WS_POPUP','%WS_POPUPWINDOW',
+ '%WS_SYSMENU','%WS_TABSTOP','%WS_THICKFRAME','%WS_VISIBLE','%WS_VSCROLL','%YELLOW','%ZERO','CRLF',
+ 'FALSE','M_E','M_PI','NULL','TAB','TRUE'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000FF; font-weight: bold;',
+ 2 => 'color: #993333; font-style: italic; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #333333;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #800080;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #CC0000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #66cc66;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #333333;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '_'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/tsql.php b/application/libraries/geshi/tsql.php
new file mode 100644
index 000000000..4750997a3
--- /dev/null
+++ b/application/libraries/geshi/tsql.php
@@ -0,0 +1,375 @@
+<?php
+/*************************************************************************************
+ * tsql.php
+ * --------
+ * 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
+ * Date Started: 2005/11/22
+ *
+ * T-SQL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/01/23 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2006/01/23)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'T-SQL',
+ 'COMMENT_SINGLE' => array(1 => '--'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ // Datatypes
+ 'bigint', 'tinyint', 'money',
+ 'smallmoney', 'datetime', 'smalldatetime',
+ 'text', 'nvarchar', 'ntext', 'varbinary', 'image',
+ 'sql_variant', 'uniqueidentifier',
+
+ // Keywords
+ 'ABSOLUTE', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALIAS', 'ALLOCATE', 'ALTER', 'ARE', 'ARRAY', 'AS',
+ 'ASC', 'ASSERTION', 'AT', 'AUTHORIZATION', 'BACKUP', 'BEFORE', 'BEGIN', 'BINARY', 'BIT', 'BLOB', 'BOOLEAN', 'BOTH', 'BREADTH',
+ 'BREAK', 'BROWSE', 'BULK', 'BY', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CHAR', 'CHARACTER', 'CHECK', 'CHECKPOINT',
+ 'CLASS', 'CLOB', 'CLOSE', 'CLUSTERED', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COMMIT', 'COMPLETION', 'COMPUTE', 'CONNECT',
+ 'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONSTRUCTOR', 'CONTAINS', 'CONTAINSTABLE', 'CONTINUE', 'CONVERT', 'CORRESPONDING', 'CREATE',
+ 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
+ 'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DATE', 'DAY', 'DBCC', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFERRABLE',
+ 'DEFERRED', 'DELETE', 'DENY', 'DEPTH', 'DEREF', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DESTROY', 'DESTRUCTOR', 'DETERMINISTIC',
+ 'DIAGNOSTICS', 'DICTIONARY', 'DISCONNECT', 'DISK', 'DISTINCT', 'DISTRIBUTED', 'DOMAIN', 'DOUBLE', 'DROP', 'DUMMY', 'DUMP', 'DYNAMIC',
+ 'EACH', 'ELSE', 'END', 'END-EXEC', 'EQUALS', 'ERRLVL', 'ESCAPE', 'EVERY', 'EXCEPT', 'EXCEPTION', 'EXEC', 'EXECUTE', 'EXIT',
+ 'EXTERNAL', 'FALSE', 'FETCH', 'FILE', 'FILLFACTOR', 'FIRST', 'FLOAT', 'FOR', 'FOREIGN', 'FOUND', 'FREE', 'FREETEXT', 'FREETEXTTABLE',
+ 'FROM', 'FULL', 'FUNCTION', 'GENERAL', 'GET', 'GLOBAL', 'GOTO', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOLDLOCK', 'HOST', 'HOUR',
+ 'IDENTITY', 'IDENTITY_INSERT', 'IDENTITYCOL', 'IF', 'IGNORE', 'IMMEDIATE', 'INDEX', 'INDICATOR', 'INITIALIZE', 'INITIALLY',
+ 'INNER', 'INOUT', 'INPUT', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ISOLATION', 'ITERATE', 'KEY',
+ 'KILL', 'LANGUAGE', 'LARGE', 'LAST', 'LATERAL', 'LEADING', 'LEFT', 'LESS', 'LEVEL', 'LIMIT', 'LINENO', 'LOAD', 'LOCAL',
+ 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATOR', 'MAP', 'MATCH', 'MINUTE', 'MODIFIES', 'MODIFY', 'MODULE', 'MONTH', 'NAMES', 'NATIONAL',
+ 'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NEXT', 'NO', 'NOCHECK', 'NONCLUSTERED', 'NONE', 'NULLIF', 'NUMERIC', 'OBJECT', 'OF',
+ 'OFF', 'OFFSETS', 'OLD', 'ON', 'ONLY', 'OPEN', 'OPENDATASOURCE', 'OPENQUERY', 'OPENROWSET', 'OPENXML', 'OPERATION', 'OPTION',
+ 'ORDER', 'ORDINALITY', 'OUT', 'OUTPUT', 'OVER', 'PAD', 'PARAMETER', 'PARAMETERS', 'PARTIAL', 'PATH', 'PERCENT', 'PLAN',
+ 'POSTFIX', 'PRECISION', 'PREFIX', 'PREORDER', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRINT', 'PRIOR', 'PRIVILEGES', 'PROC', 'PROCEDURE',
+ 'PUBLIC', 'RAISERROR', 'READ', 'READS', 'READTEXT', 'REAL', 'RECONFIGURE', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'RELATIVE',
+ 'REPLICATION', 'RESTORE', 'RESTRICT', 'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW',
+ 'ROWGUIDCOL', 'ROWS', 'RULE', 'SAVE', 'SAVEPOINT', 'SCHEMA', 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SECTION', 'SELECT',
+ 'SEQUENCE', 'SESSION', 'SESSION_USER', 'SET', 'SETS', 'SETUSER', 'SHUTDOWN', 'SIZE', 'SMALLINT', 'SPACE', 'SPECIFIC',
+ 'SPECIFICTYPE', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'START', 'STATE', 'STATEMENT', 'STATIC', 'STATISTICS', 'STRUCTURE',
+ 'SYSTEM_USER', 'TABLE', 'TEMPORARY', 'TERMINATE', 'TEXTSIZE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE',
+ 'TO', 'TOP', 'TRAILING', 'TRAN', 'TRANSACTION', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'TRUNCATE', 'TSEQUAL', 'UNDER', 'UNION',
+ 'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'UPDATETEXT', 'USAGE', 'USE', 'USER', 'USING', 'VALUE', 'VALUES', 'VARCHAR', 'VARIABLE',
+ 'VARYING', 'VIEW', 'WAITFOR', 'WHEN', 'WHENEVER', 'WHERE', 'WHILE', 'WITH', 'WITHOUT', 'WORK', 'WRITE', 'WRITETEXT', 'YEAR', 'ZONE',
+ 'UNCOMMITTED', 'NOCOUNT',
+ ),
+ 2 => array(
+ /*
+ Built-in functions
+ Highlighted in pink.
+ */
+
+ //Configuration Functions
+ '@@DATEFIRST','@@OPTIONS','@@DBTS','@@REMSERVER','@@LANGID','@@SERVERNAME',
+ '@@LANGUAGE','@@SERVICENAME','@@LOCK_TIMEOUT','@@SPID','@@MAX_CONNECTIONS',
+ '@@TEXTSIZE','@@MAX_PRECISION','@@VERSION','@@NESTLEVEL',
+
+ //Cursor Functions
+ '@@CURSOR_ROWS','@@FETCH_STATUS',
+
+ //Date and Time Functions
+ 'DATEADD','DATEDIFF','DATENAME','DATEPART','GETDATE','GETUTCDATE',
+
+ //Mathematical Functions
+ 'ABS','DEGREES','RAND','ACOS','EXP','ROUND','ASIN','FLOOR','SIGN',
+ 'ATAN','LOG','SIN','ATN2','LOG10','SQUARE','CEILING','PI','SQRT','COS',
+ 'POWER','TAN','COT','RADIANS',
+
+ //Meta Data Functions
+ 'COL_LENGTH','COL_NAME','FULLTEXTCATALOGPROPERTY',
+ 'COLUMNPROPERTY','FULLTEXTSERVICEPROPERTY','DATABASEPROPERTY','INDEX_COL',
+ 'DATABASEPROPERTYEX','INDEXKEY_PROPERTY','DB_ID','INDEXPROPERTY','DB_NAME',
+ 'OBJECT_ID','FILE_ID','OBJECT_NAME','FILE_NAME','OBJECTPROPERTY','FILEGROUP_ID',
+ '@@PROCID','FILEGROUP_NAME','SQL_VARIANT_PROPERTY','FILEGROUPPROPERTY',
+ 'TYPEPROPERTY','FILEPROPERTY',
+
+ //Security Functions
+ 'IS_SRVROLEMEMBER','SUSER_SID','SUSER_SNAME','USER_ID',
+ 'HAS_DBACCESS','IS_MEMBER',
+
+ //String Functions
+ 'ASCII','SOUNDEX','PATINDEX','CHARINDEX','REPLACE','STR',
+ 'DIFFERENCE','QUOTENAME','STUFF','REPLICATE','SUBSTRING','LEN',
+ 'REVERSE','UNICODE','LOWER','UPPER','LTRIM','RTRIM',
+
+ //System Functions
+ 'APP_NAME','COLLATIONPROPERTY','@@ERROR','FORMATMESSAGE',
+ 'GETANSINULL','HOST_ID','HOST_NAME','IDENT_CURRENT','IDENT_INCR',
+ 'IDENT_SEED','@@IDENTITY','ISDATE','ISNUMERIC','PARSENAME','PERMISSIONS',
+ '@@ROWCOUNT','ROWCOUNT_BIG','SCOPE_IDENTITY','SERVERPROPERTY','SESSIONPROPERTY',
+ 'STATS_DATE','@@TRANCOUNT','USER_NAME',
+
+ //System Statistical Functions
+ '@@CONNECTIONS','@@PACK_RECEIVED','@@CPU_BUSY','@@PACK_SENT',
+ '@@TIMETICKS','@@IDLE','@@TOTAL_ERRORS','@@IO_BUSY',
+ '@@TOTAL_READ','@@PACKET_ERRORS','@@TOTAL_WRITE',
+
+ //Text and Image Functions
+ 'TEXTPTR','TEXTVALID',
+
+ //Aggregate functions
+ 'AVG', 'MAX', 'BINARY_CHECKSUM', 'MIN', 'CHECKSUM', 'SUM', 'CHECKSUM_AGG',
+ 'STDEV', 'COUNT', 'STDEVP', 'COUNT_BIG', 'VAR', 'VARP'
+ ),
+ 3 => array(
+ /*
+ System stored procedures
+ Higlighted dark brown
+ */
+
+ //Active Directory Procedures
+ 'sp_ActiveDirectory_Obj', 'sp_ActiveDirectory_SCP',
+
+ //Catalog Procedures
+ 'sp_column_privileges', 'sp_special_columns', 'sp_columns', 'sp_sproc_columns',
+ 'sp_databases', 'sp_statistics', 'sp_fkeys', 'sp_stored_procedures', 'sp_pkeys',
+ 'sp_table_privileges', 'sp_server_info', 'sp_tables',
+
+ //Cursor Procedures
+ 'sp_cursor_list', 'sp_describe_cursor_columns', 'sp_describe_cursor', 'sp_describe_cursor_tables',
+
+ //Database Maintenance Plan Procedures
+ 'sp_add_maintenance_plan', 'sp_delete_maintenance_plan_db', 'sp_add_maintenance_plan_db',
+ 'sp_delete_maintenance_plan_job', 'sp_add_maintenance_plan_job', 'sp_help_maintenance_plan',
+ 'sp_delete_maintenance_plan',
+
+ //Distributed Queries Procedures
+ 'sp_addlinkedserver', 'sp_indexes', 'sp_addlinkedsrvlogin', 'sp_linkedservers', 'sp_catalogs',
+ 'sp_primarykeys', 'sp_column_privileges_ex', 'sp_columns_ex',
+ 'sp_table_privileges_ex', 'sp_tables_ex', 'sp_foreignkeys',
+
+ //Full-Text Search Procedures
+ 'sp_fulltext_catalog', 'sp_help_fulltext_catalogs_cursor', 'sp_fulltext_column',
+ 'sp_help_fulltext_columns', 'sp_fulltext_database', 'sp_help_fulltext_columns_cursor',
+ 'sp_fulltext_service', 'sp_help_fulltext_tables', 'sp_fulltext_table',
+ 'sp_help_fulltext_tables_cursor', 'sp_help_fulltext_catalogs',
+
+ //Log Shipping Procedures
+ 'sp_add_log_shipping_database', 'sp_delete_log_shipping_database', 'sp_add_log_shipping_plan',
+ 'sp_delete_log_shipping_plan', 'sp_add_log_shipping_plan_database',
+ 'sp_delete_log_shipping_plan_database', 'sp_add_log_shipping_primary',
+ 'sp_delete_log_shipping_primary', 'sp_add_log_shipping_secondary',
+ 'sp_delete_log_shipping_secondary', 'sp_can_tlog_be_applied', 'sp_get_log_shipping_monitor_info',
+ 'sp_change_monitor_role', 'sp_remove_log_shipping_monitor', 'sp_change_primary_role',
+ 'sp_resolve_logins', 'sp_change_secondary_role', 'sp_update_log_shipping_monitor_info',
+ 'sp_create_log_shipping_monitor_account', 'sp_update_log_shipping_plan',
+ 'sp_define_log_shipping_monitor', 'sp_update_log_shipping_plan_database',
+
+ //OLE Automation Extended Stored Procedures
+ 'sp_OACreate', 'sp_OAMethod', 'sp_OADestroy', 'sp_OASetProperty', 'sp_OAGetErrorInfo',
+ 'sp_OAStop', 'sp_OAGetProperty',
+
+ //Replication Procedures
+ 'sp_add_agent_parameter', 'sp_enableagentoffload', 'sp_add_agent_profile',
+ 'sp_enumcustomresolvers', 'sp_addarticle', 'sp_enumdsn', 'sp_adddistpublisher',
+ 'sp_enumfullsubscribers', 'sp_adddistributiondb', 'sp_expired_subscription_cleanup',
+ 'sp_adddistributor', 'sp_generatefilters', 'sp_addmergealternatepublisher',
+ 'sp_getagentoffloadinfo', 'sp_addmergearticle', 'sp_getmergedeletetype', 'sp_addmergefilter',
+ 'sp_get_distributor', 'sp_addmergepublication', 'sp_getqueuedrows', 'sp_addmergepullsubscription',
+ 'sp_getsubscriptiondtspackagename', 'sp_addmergepullsubscription_agent', 'sp_grant_publication_access',
+ 'sp_addmergesubscription', 'sp_help_agent_default', 'sp_addpublication', 'sp_help_agent_parameter',
+ 'sp_addpublication_snapshot', 'sp_help_agent_profile', 'sp_addpublisher70', 'sp_helparticle',
+ 'sp_addpullsubscription', 'sp_helparticlecolumns', 'sp_addpullsubscription_agent', 'sp_helparticledts',
+ 'sp_addscriptexec', 'sp_helpdistpublisher', 'sp_addsubscriber', 'sp_helpdistributiondb',
+ 'sp_addsubscriber_schedule', 'sp_helpdistributor', 'sp_addsubscription', 'sp_helpmergealternatepublisher',
+ 'sp_addsynctriggers', 'sp_helpmergearticle', 'sp_addtabletocontents', 'sp_helpmergearticlecolumn',
+ 'sp_adjustpublisheridentityrange', 'sp_helpmergearticleconflicts', 'sp_article_validation',
+ 'sp_helpmergeconflictrows', 'sp_articlecolumn', 'sp_helpmergedeleteconflictrows', 'sp_articlefilter',
+ 'sp_helpmergefilter', 'sp_articlesynctranprocs', 'sp_helpmergepublication', 'sp_articleview',
+ 'sp_helpmergepullsubscription', 'sp_attachsubscription', 'sp_helpmergesubscription', 'sp_browsesnapshotfolder',
+ 'sp_helppublication', 'sp_browsemergesnapshotfolder', 'sp_help_publication_access', 'sp_browsereplcmds',
+ 'sp_helppullsubscription', 'sp_change_agent_parameter', 'sp_helpreplfailovermode', 'sp_change_agent_profile',
+ 'sp_helpreplicationdboption', 'sp_changearticle', 'sp_helpreplicationoption', 'sp_changedistpublisher',
+ 'sp_helpsubscriberinfo', 'sp_changedistributiondb', 'sp_helpsubscription', 'sp_changedistributor_password',
+ 'sp_ivindexhasnullcols', 'sp_changedistributor_property', 'sp_helpsubscription_properties', 'sp_changemergearticle',
+ 'sp_link_publication', 'sp_changemergefilter', 'sp_marksubscriptionvalidation', 'sp_changemergepublication',
+ 'sp_mergearticlecolumn', 'sp_changemergepullsubscription', 'sp_mergecleanupmetadata', 'sp_changemergesubscription',
+ 'sp_mergedummyupdate', 'sp_changepublication', 'sp_mergesubscription_cleanup', 'sp_changesubscriber',
+ 'sp_publication_validation', 'sp_changesubscriber_schedule', 'sp_refreshsubscriptions', 'sp_changesubscriptiondtsinfo',
+ 'sp_reinitmergepullsubscription', 'sp_changesubstatus', 'sp_reinitmergesubscription', 'sp_change_subscription_properties',
+ 'sp_reinitpullsubscription', 'sp_check_for_sync_trigger', 'sp_reinitsubscription', 'sp_copymergesnapshot',
+ 'sp_removedbreplication', 'sp_copysnapshot', 'sp_repladdcolumn', 'sp_copysubscription', 'sp_replcmds',
+ 'sp_deletemergeconflictrow', 'sp_replcounters', 'sp_disableagentoffload', 'sp_repldone', 'sp_drop_agent_parameter',
+ 'sp_repldropcolumn', 'sp_drop_agent_profile', 'sp_replflush', 'sp_droparticle', 'sp_replicationdboption',
+ 'sp_dropanonymouseagent', 'sp_replication_agent_checkup', 'sp_dropdistpublisher', 'sp_replqueuemonitor',
+ 'sp_dropdistributiondb', 'sp_replsetoriginator', 'sp_dropmergealternatepublisher', 'sp_replshowcmds',
+ 'sp_dropdistributor', 'sp_repltrans', 'sp_dropmergearticle', 'sp_restoredbreplication', 'sp_dropmergefilter',
+ 'sp_revoke_publication_access', 'sp_scriptsubconflicttable', 'sp_dropmergepublication', 'sp_script_synctran_commands',
+ 'sp_dropmergepullsubscription', 'sp_setreplfailovermode', 'sp_showrowreplicainfo', 'sp_dropmergesubscription',
+ 'sp_subscription_cleanup', 'sp_droppublication', 'sp_table_validation', 'sp_droppullsubscription',
+ 'sp_update_agent_profile', 'sp_dropsubscriber', 'sp_validatemergepublication', 'sp_dropsubscription',
+ 'sp_validatemergesubscription', 'sp_dsninfo', 'sp_vupgrade_replication', 'sp_dumpparamcmd',
+
+ //Security Procedures
+ 'sp_addalias', 'sp_droprolemember', 'sp_addapprole', 'sp_dropserver', 'sp_addgroup', 'sp_dropsrvrolemember',
+ 'sp_dropuser', 'sp_addlogin', 'sp_grantdbaccess', 'sp_addremotelogin',
+ 'sp_grantlogin', 'sp_addrole', 'sp_helpdbfixedrole', 'sp_addrolemember', 'sp_helpgroup',
+ 'sp_addserver', 'sp_helplinkedsrvlogin', 'sp_addsrvrolemember', 'sp_helplogins', 'sp_adduser',
+ 'sp_helpntgroup', 'sp_approlepassword', 'sp_helpremotelogin', 'sp_changedbowner', 'sp_helprole',
+ 'sp_changegroup', 'sp_helprolemember', 'sp_changeobjectowner', 'sp_helprotect', 'sp_change_users_login',
+ 'sp_helpsrvrole', 'sp_dbfixedrolepermission', 'sp_helpsrvrolemember', 'sp_defaultdb', 'sp_helpuser',
+ 'sp_defaultlanguage', 'sp_MShasdbaccess', 'sp_denylogin', 'sp_password', 'sp_dropalias', 'sp_remoteoption',
+ 'sp_dropapprole', 'sp_revokedbaccess', 'sp_dropgroup', 'sp_revokelogin', 'sp_droplinkedsrvlogin',
+ 'sp_setapprole', 'sp_droplogin', 'sp_srvrolepermission', 'sp_dropremotelogin', 'sp_validatelogins', 'sp_droprole',
+
+ //SQL Mail Procedures
+ 'sp_processmail', 'xp_sendmail', 'xp_deletemail', 'xp_startmail', 'xp_findnextmsg', 'xp_stopmail', 'xp_readmail',
+
+ //SQL Profiler Procedures
+ 'sp_trace_create', 'sp_trace_setfilter', 'sp_trace_generateevent', 'sp_trace_setstatus', 'sp_trace_setevent',
+
+ //SQL Server Agent Procedures
+ 'sp_add_alert', 'sp_help_jobhistory', 'sp_add_category', 'sp_help_jobschedule', 'sp_add_job',
+ 'sp_help_jobserver', 'sp_add_jobschedule', 'sp_help_jobstep', 'sp_add_jobserver', 'sp_help_notification',
+ 'sp_add_jobstep', 'sp_help_operator', 'sp_add_notification', 'sp_help_targetserver',
+ 'sp_add_operator', 'sp_help_targetservergroup', 'sp_add_targetservergroup', 'sp_helptask',
+ 'sp_add_targetsvrgrp_member', 'sp_manage_jobs_by_login', 'sp_addtask', 'sp_msx_defect',
+ 'sp_apply_job_to_targets', 'sp_msx_enlist', 'sp_delete_alert', 'sp_post_msx_operation',
+ 'sp_delete_category', 'sp_purgehistory', 'sp_delete_job', 'sp_purge_jobhistory', 'sp_delete_jobschedule',
+ 'sp_reassigntask', 'sp_delete_jobserver', 'sp_remove_job_from_targets', 'sp_delete_jobstep',
+ 'sp_resync_targetserver', 'sp_delete_notification', 'sp_start_job', 'sp_delete_operator',
+ 'sp_stop_job', 'sp_delete_targetserver', 'sp_update_alert', 'sp_delete_targetservergroup',
+ 'sp_update_category', 'sp_delete_targetsvrgrp_member', 'sp_update_job', 'sp_droptask',
+ 'sp_update_jobschedule', 'sp_help_alert', 'sp_update_jobstep', 'sp_help_category',
+ 'sp_update_notification', 'sp_help_downloadlist', 'sp_update_operator', 'sp_helphistory',
+ 'sp_update_targetservergroup', 'sp_help_job', 'sp_updatetask', 'xp_sqlagent_proxy_account',
+
+ //System Procedures
+ 'sp_add_data_file_recover_suspect_db', 'sp_helpconstraint', 'sp_addextendedproc',
+ 'sp_helpdb', 'sp_addextendedproperty', 'sp_helpdevice', 'sp_add_log_file_recover_suspect_db',
+ 'sp_helpextendedproc', 'sp_addmessage', 'sp_helpfile', 'sp_addtype', 'sp_helpfilegroup',
+ 'sp_addumpdevice', 'sp_helpindex', 'sp_altermessage', 'sp_helplanguage', 'sp_autostats',
+ 'sp_helpserver', 'sp_attach_db', 'sp_helpsort', 'sp_attach_single_file_db', 'sp_helpstats',
+ 'sp_bindefault', 'sp_helptext', 'sp_bindrule', 'sp_helptrigger', 'sp_bindsession',
+ 'sp_indexoption', 'sp_certify_removable', 'sp_invalidate_textptr', 'sp_configure',
+ 'sp_lock', 'sp_create_removable', 'sp_monitor', 'sp_createstats', 'sp_procoption',
+ 'sp_cycle_errorlog', 'sp_recompile', 'sp_datatype_info', 'sp_refreshview', 'sp_dbcmptlevel',
+ 'sp_releaseapplock', 'sp_dboption', 'sp_rename', 'sp_dbremove', 'sp_renamedb',
+ 'sp_delete_backuphistory', 'sp_resetstatus', 'sp_depends', 'sp_serveroption', 'sp_detach_db',
+ 'sp_setnetname', 'sp_dropdevice', 'sp_settriggerorder', 'sp_dropextendedproc', 'sp_spaceused',
+ 'sp_dropextendedproperty', 'sp_tableoption', 'sp_dropmessage', 'sp_unbindefault', 'sp_droptype',
+ 'sp_unbindrule', 'sp_executesql', 'sp_updateextendedproperty', 'sp_getapplock', 'sp_updatestats',
+ 'sp_getbindtoken', 'sp_validname', 'sp_help', 'sp_who',
+
+ //Web Assistant Procedures
+ 'sp_dropwebtask', 'sp_makewebtask', 'sp_enumcodepages', 'sp_runwebtask',
+
+ //XML Procedures
+ 'sp_xml_preparedocument', 'sp_xml_removedocument',
+
+ //General Extended Procedures
+ 'xp_cmdshellxp_logininfo', 'xp_enumgroups', 'xp_msver', 'xp_findnextmsgxp_revokelogin',
+ 'xp_grantlogin', 'xp_sprintf', 'xp_logevent', 'xp_sqlmaint', 'xp_loginconfig', 'xp_sscanf',
+
+ //API System Stored Procedures
+ 'sp_cursor', 'sp_cursorclose', 'sp_cursorexecute', 'sp_cursorfetch', 'sp_cursoropen',
+ 'sp_cursoroption', 'sp_cursorprepare', 'sp_cursorunprepare', 'sp_execute', 'sp_prepare', 'sp_unprepare',
+
+ //Misc
+ 'sp_createorphan', 'sp_droporphans', 'sp_reset_connection', 'sp_sdidebug'
+ ),
+ 4 => array(
+ //Function/sp's higlighted brown.
+ 'fn_helpcollations', 'fn_listextendedproperty ', 'fn_servershareddrives',
+ 'fn_trace_geteventinfo', 'fn_trace_getfilterinfo', 'fn_trace_getinfo',
+ 'fn_trace_gettable', 'fn_virtualfilestats','fn_listextendedproperty',
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '!', '!=', '%', '&', '&&', '(', ')', '*', '+', '-', '/', '<', '<<', '<=',
+ '<=>', '<>', '=', '>', '>=', '>>', '^', 'ALL', 'AND', 'ANY', 'BETWEEN', 'CROSS',
+ 'EXISTS', 'IN', 'JOIN', 'LIKE', 'NOT', 'NULL', 'OR', 'OUTER', 'SOME', '|', '||', '~'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000FF;',
+ 2 => 'color: #FF00FF;',
+ 3 => 'color: #AF0000;',
+ 4 => 'color: #AF0000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008080;',
+ 'MULTI' => 'color: #008080;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #808080;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #FF0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #202020;',
+ 2 => 'color: #202020;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #808080;'
+ ),
+ '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(
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/typoscript.php b/application/libraries/geshi/typoscript.php
new file mode 100644
index 000000000..be809e856
--- /dev/null
+++ b/application/libraries/geshi/typoscript.php
@@ -0,0 +1,300 @@
+<?php
+/*************************************************************************************
+ * typoscript.php
+ * --------
+ * Author: Jan-Philipp Halle (typo3@jphalle.de)
+ * Copyright: (c) 2005 Jan-Philipp Halle (http://www.jphalle.de/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/07/29
+ *
+ * TypoScript language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/11 (1.0.8)
+ * - Michiel Roos <geshi@typofree.org> Complete rewrite
+ * 2005/07/29 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * <things-to-do>
+ *
+ *************************************************************************************
+ *
+ * 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' => 'TypoScript',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(2 => '/(?<!(#|\'|"))(?:#(?!(?:[a-fA-F0-9]{6}|[a-fA-F0-9]{3}))[^\n#]+|#{2}[^\n#]+|#{7,999}[^\n]+)/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ // Conditions: http://documentation.typo3.org/documentation/tsref/conditions/
+ 1 => array(
+ 'browser', 'compatVersion', 'dayofmonth', 'dayofweek', 'device',
+ 'globalString', 'globalVars', 'hostname', 'hour',
+ 'ip', 'language', 'loginUser', 'loginuser', 'minute',
+ 'month', 'PIDinRootline', 'PIDupinRootline',
+ 'system', 'treelevel', 'useragent', 'userFunc',
+ 'usergroup', 'version'
+ ),
+
+ // Functions: http://documentation.typo3.org/documentation/tsref/functions/
+ 2 => array(
+ 'addParams', 'encapsLines', 'filelink', 'HTMLparser',
+ 'HTMLparser_tags', 'if', 'imageLinkWrap',
+ 'imgResource', 'makelinks', 'numRows', 'parseFunc',
+ 'select', 'split', 'stdWrap', 'tableStyle', 'tags',
+ 'textStyle', 'typolink'
+ ),
+
+ // Toplevel objects: http://documentation.typo3.org/documentation/tsref/tlo-objects/
+ 3 => array(
+ 'CARRAY', 'CONFIG', 'CONSTANTS', 'FE_DATA', 'FE_TABLE', 'FRAME',
+ 'FRAMESET', 'META', 'PAGE', 'plugin'
+ ),
+
+ // Content Objects (cObject) : http://documentation.typo3.org/documentation/tsref/cobjects/
+ 4 => array(
+ 'CASE', 'CLEARGIF', 'COA', 'COA_INT', 'COBJ_ARRAY', 'COLUMNS',
+ 'CONTENT', 'CTABLE', 'EDITPANEL', 'FILE', 'FORM',
+ 'HMENU', 'HRULER', 'HTML', 'IMAGE', 'IMGTEXT',
+ 'IMG_RESOURCE', 'LOAD_REGISTER', 'MULTIMEDIA',
+ 'OTABLE', 'PHP_SCRIPT', 'PHP_SCRIPT_EXT',
+ 'PHP_SCRIPT_INT', 'RECORDS', 'RESTORE_REGISTER',
+ 'SEARCHRESULT', 'TEMPLATE', 'TEXT', 'USER',
+ 'USER_INT'
+ ),
+
+ // GIFBUILDER toplevel link: http://documentation.typo3.org/documentation/tsref/gifbuilder/
+ 5 => array(
+ 'GIFBUILDER',
+ ),
+
+ // GIFBUILDER: http://documentation.typo3.org/documentation/tsref/gifbuilder/
+ // skipped fields: IMAGE, TEXT
+ // NOTE! the IMAGE and TEXT field already are linked in group 4, they
+ // cannot be linked twice . . . . unfortunately
+ 6 => array(
+ 'ADJUST', 'BOX', 'CROP', 'EFFECT', 'EMBOSS',
+ 'IMGMAP', 'OUTLINE', 'SCALE', 'SHADOW',
+ 'WORKAREA'
+ ),
+
+ // MENU Objects: http://documentation.typo3.org/documentation/tsref/menu/
+ 7 => array(
+ 'GMENU', 'GMENU_FOLDOUT', 'GMENU_LAYERS', 'IMGMENU',
+ 'IMGMENUITEM', 'JSMENU', 'JSMENUITEM', 'TMENU',
+ 'TMENUITEM', 'TMENU_LAYERS'
+ ),
+
+ // MENU common properties: http://documentation.typo3.org/documentation/tsref/menu/common-properties/
+ 8 => array(
+ 'alternativeSortingField', 'begin', 'debugItemConf',
+ 'imgNameNotRandom', 'imgNamePrefix',
+ 'itemArrayProcFunc', 'JSWindow', 'maxItems',
+ 'minItems', 'overrideId', 'sectionIndex',
+ 'showAccessRestrictedPages', 'submenuObjSuffixes'
+ ),
+
+ // MENU item states: http://documentation.typo3.org/documentation/tsref/menu/item-states/
+ 9 => array(
+ 'ACT', 'ACTIFSUB', 'ACTIFSUBRO', 'ACTRO', 'CUR', 'CURIFSUB',
+ 'CURIFSUBRO', 'CURRO', 'IFSUB', 'IFSUBRO', 'NO',
+ 'SPC', 'USERDEF1', 'USERDEF1RO', 'USERDEF2',
+ 'USERDEF2RO', 'USR', 'USRRO'
+ ),
+ ),
+
+ // Does not include '-' because of stuff like htmlTag_langKey = en-GB and
+ // lib.nav-sub
+ 'SYMBOLS' => array(
+ 0 => 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,
+ 9 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #ed7d14;',
+ 2 => 'font-weight: bold;',
+ 3 => 'color: #990000; font-weight: bold;',
+ 4 => 'color: #990000; font-weight: bold;',
+ 5 => 'color: #990000; font-weight: bold;',
+ 6 => 'color: #990000; font-weight: bold;',
+ 7 => 'color: #990000; font-weight: bold;',
+ 8 => 'font-weight: bold;',
+ 9 => 'color: #990000; font-weight: bold;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #aaa; font-style: italic;',
+ 2 => 'color: #aaa; font-style: italic;',
+ 'MULTI' => 'color: #aaa; font-style: italic;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ac14aa;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc0000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #0000e0; font-weight: bold;',
+ 2 => 'color: #0000e0; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #009900;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933; font-weight: bold;',
+ // Set this to the same value as brackets above
+ 1 => 'color: #009900; font-weight: bold;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #009900;',
+ 1 => 'color: #009900; font-weight: bold;',
+ 2 => 'color: #3366CC;',
+ 3 => 'color: #000066; font-weight: bold;',
+ 4 => 'color: #ed7d14;',
+ 5 => 'color: #000066; font-weight: bold;',
+ 6 => 'color: #009900;',
+ 7 => 'color: #3366CC;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => 'http://documentation.typo3.org/documentation/tsref/conditions/{FNAME}/',
+ 2 => 'http://documentation.typo3.org/documentation/tsref/functions/{FNAME}/',
+ 3 => 'http://documentation.typo3.org/documentation/tsref/tlo-objects/{FNAME}/',
+ 4 => 'http://documentation.typo3.org/documentation/tsref/cobjects/{FNAME}/',
+ 5 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/',
+ 6 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/{FNAME}/',
+ 7 => 'http://documentation.typo3.org/documentation/tsref/menu/{FNAME}/',
+ 8 => 'http://documentation.typo3.org/documentation/tsref/menu/common-properties/',
+ 9 => 'http://documentation.typo3.org/documentation/tsref/menu/item-states/'
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ // Constant
+ 0 => array(
+ GESHI_SEARCH => '(\{)(\$[a-zA-Z_\.]+[a-zA-Z0-9_\.]*)(\})',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => '\\3'
+ ),
+
+ // Constant dollar sign
+ 1 => array(
+ GESHI_SEARCH => '(\$)([a-zA-Z_\.]+[a-zA-Z0-9_\.]*)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => '\\2'
+ ),
+
+ // xhtml tag
+ 2 => array(
+ GESHI_SEARCH => '(&lt;[a-zA-Z\!\/].*?&gt;)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 's',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+
+ // extension keys / tables: (static|user|ttx|tx|tt|fe)_something[_something]
+ 3 => array(
+ GESHI_SEARCH => '(plugin\.|[^\.]\b)((?:static|user|ttx|tx|tt|fe)(?:_[0-9A-Za-z_]+?)\b)',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+
+ // conditions and controls
+ 4 => array(
+ GESHI_SEARCH => '(\[)(globalVar|global|end)\b',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+
+ // lowlevel setup and constant objects
+ 5 => array(
+ GESHI_SEARCH => '([^\.\$-\{]\b)(cObj|field|config|content|file|frameset|includeLibs|lib|page|plugin|register|resources|sitemap|sitetitle|styles|temp|tt_content|tt_news|types|xmlnews)\b',
+ GESHI_REPLACE => '\\2',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '\\1',
+ GESHI_AFTER => ''
+ ),
+
+ // markers
+ 6 => array(
+ GESHI_SEARCH => '(###[^#]+###)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+
+ // hex color codes
+ 7 => array(
+ GESHI_SEARCH => '(#[a-fA-F0-9]{6}\b|#[a-fA-F0-9]{3}\b)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => '',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ )
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+);
+
+?>
diff --git a/application/libraries/geshi/vb.php b/application/libraries/geshi/vb.php
new file mode 100644
index 000000000..9849b3e86
--- /dev/null
+++ b/application/libraries/geshi/vb.php
@@ -0,0 +1,133 @@
+<?php
+/*************************************************************************************
+ * vb.php
+ * ------
+ * 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
+ * Date Started: 2004/08/30
+ *
+ * Visual Basic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/08/27 (1.0.8.1)
+ * - changed keyword list for better Visual Studio compliance
+ * 2008/08/26 (1.0.8.1)
+ * - Fixed multiline comments
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/08/30 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Visual Basic',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ // Comments (either single or multiline with _
+ 1 => '/\'.*(?<! _)\n/sU',
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => 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'
+ )
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000080;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000;'
+ ),
+ 'BRACKETS' => array(
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #800000;'
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #800000; font-weight: bold;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => ''
+ ),
+ '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,
+ 'NUMBERS' => GESHI_NEVER
+ )
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/vbnet.php b/application/libraries/geshi/vbnet.php
new file mode 100644
index 000000000..683b744f9
--- /dev/null
+++ b/application/libraries/geshi/vbnet.php
@@ -0,0 +1,201 @@
+<?php
+/*************************************************************************************
+ * vbnet.php
+ * ---------
+ * Author: Alan Juden (alan@judenware.org)
+ * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/06/04
+ *
+ * VB.NET language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.0)
+ * - Initial release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'vb.net',
+ 'COMMENT_SINGLE' => array(1 => "'"),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ '3DDKSHADOW', '3DHIGHLIGHT', '3DLIGHT', 'ABORT', 'ABORTRETRYIGNORE', 'ACTIVEBORDER',
+ 'ACTIVETITLEBAR', 'ALIAS', 'APPLICATIONMODAL', 'APPLICATIONWORKSPACE', 'ARCHIVE',
+ 'BACK', 'BINARYCOMPARE', 'BLACK', 'BLUE', 'BUTTONFACE', 'BUTTONSHADOW', 'BUTTONTEXT',
+ 'CANCEL', 'CDROM', 'CR', 'CRITICAL', 'CRLF', 'CYAN', 'DEFAULT', 'DEFAULTBUTTON1',
+ 'DEFAULTBUTTON2', 'DEFAULTBUTTON3', 'DESKTOP', 'DIRECTORY', 'EXCLAMATION', 'FALSE',
+ 'FIXED', 'FORAPPENDING', 'FORMFEED', 'FORREADING', 'FORWRITING', 'FROMUNICODE',
+ 'GRAYTEXT', 'GREEN', 'HIDDEN', 'HIDE', 'HIGHLIGHT', 'HIGHLIGHTTEXT', 'HIRAGANA',
+ 'IGNORE', 'INACTIVEBORDER', 'INACTIVECAPTIONTEXT', 'INACTIVETITLEBAR', 'INFOBACKGROUND',
+ 'INFORMATION', 'INFOTEXT', 'KATAKANALF', 'LOWERCASE', 'MAGENTA', 'MAXIMIZEDFOCUS',
+ 'MENUBAR', 'MENUTEXT', 'METHOD', 'MINIMIZEDFOCUS', 'MINIMIZEDNOFOCUS', 'MSGBOXRIGHT',
+ 'MSGBOXRTLREADING', 'MSGBOXSETFOREGROUND', 'NARROW', 'NEWLINE', 'NO', 'NORMAL',
+ 'NORMALFOCUS', 'NORMALNOFOCUS', 'NULLSTRING', 'OBJECTERROR', 'OK', 'OKCANCEL', 'OKONLY',
+ 'PROPERCASE', 'QUESTION', 'RAMDISK', 'READONLY', 'RED', 'REMOTE', 'REMOVABLE', 'RETRY',
+ 'RETRYCANCEL', 'SCROLLBARS', 'SYSTEMFOLDER', 'SYSTEMMODAL', 'TEMPORARYFOLDER',
+ 'TEXTCOMPARE', 'TITLEBARTEXT', 'TRUE', 'UNICODE', 'UNKNOWN', 'UPPERCASE', 'VERTICALTAB',
+ 'VOLUME', 'WHITE', 'WIDE', 'WIN16', 'WIN32', 'WINDOWBACKGROUND', 'WINDOWFRAME',
+ 'WINDOWSFOLDER', 'WINDOWTEXT', 'YELLOW', 'YES', 'YESNO', 'YESNOCANCEL'
+ ),
+ 2 => array(
+ 'AndAlso', 'As', 'ADDHANDLER', 'ASSEMBLY', 'AUTO', 'Binary', 'ByRef', 'ByVal', 'BEGINEPILOGUE',
+ 'Else', 'ElseIf', 'Empty', 'Error', 'ENDPROLOGUE', 'EXTERNALSOURCE', 'ENVIRON', 'For',
+ 'Friend', 'Func', 'GET', 'HANDLES', 'Input', 'Is', 'IsNot', 'Len', 'Lock', 'Me', 'Mid', 'MUSTINHERIT', 'MustOverride',
+ 'MYBASE', 'MYCLASS', 'New', 'Next', 'Nothing', 'Null', 'NOTINHERITABLE',
+ 'NOTOVERRIDABLE', 'Of', 'OFF', 'On', 'Option', 'Optional', 'Overloads', 'OVERRIDABLE', 'Overrides', 'ParamArray', 'Predicate',
+ 'Print', 'Private', 'Property', 'Public', 'Resume', 'Return', 'Seek', 'Static', 'Step',
+ 'String', 'SHELL', 'SENDKEYS', 'SET', 'Shared', 'Then', 'Time', 'To', 'THROW', 'WithEvents'
+ ),
+ 3 => array(
+ 'COLLECTION', 'DEBUG', 'DICTIONARY', 'DRIVE', 'DRIVES', 'ERR', 'FILE', 'FILES',
+ 'FILESYSTEMOBJECT', 'FOLDER', 'FOLDERS', 'TEXTSTREAM'
+ ),
+ 4 => array(
+ 'BOOLEAN', 'BYTE', 'DATE', 'DECIMIAL', 'DOUBLE', 'INTEGER', 'LONG', 'OBJECT',
+ 'SINGLE STRING'
+ ),
+ 5 => array(
+ 'ADDRESSOF', 'AND', 'BITAND', 'BITNOT', 'BITOR', 'BITXOR',
+ 'GETTYPE', 'LIKE', 'MOD', 'NOT', 'ORXOR'
+ ),
+ 6 => array(
+ 'APPACTIVATE', 'BEEP', 'CALL', 'CHDIR', 'CHDRIVE', 'CLASS', 'CASE', 'CATCH', 'CONST',
+ 'DECLARE', 'DELEGATE', 'DELETESETTING', 'DIM', 'DO', 'DOEVENTS', 'END', 'ENUM',
+ 'EVENT', 'EXIT', 'EACH', 'FUNCTION', 'FINALLY', 'IF', 'IMPORTS', 'INHERITS',
+ 'INTERFACE', 'IMPLEMENTS', 'KILL', 'LOOP', 'NAMESPACE', 'OPEN', 'PUT',
+ 'RAISEEVENT', 'RANDOMIZE', 'REDIM', 'REM', 'RESET', 'SAVESETTING', 'SELECT',
+ 'SETATTR', 'STOP', 'SUB', 'SYNCLOCK', 'STRUCTURE', 'SHADOWS', 'SWITCH',
+ 'TRY', 'WIDTH', 'WITH', 'WRITE', 'WHILE'
+ ),
+ 7 => array(
+ 'ABS', 'ARRAY', 'ASC', 'ASCB', 'ASCW', 'CALLBYNAME', 'CBOOL', 'CBYTE', 'CCHAR',
+ 'CCHR', 'CDATE', 'CDBL', 'CDEC', 'CHOOSE', 'CHR', 'CHR$', 'CHRB', 'CHRB$', 'CHRW',
+ 'CINT', 'CLNG', 'CLNG8', 'CLOSE', 'COBJ', 'COMMAND', 'COMMAND$', 'CONVERSION',
+ 'COS', 'CREATEOBJECT', 'CSHORT', 'CSTR', 'CURDIR', 'CTYPE', 'CVDATE', 'DATEADD',
+ 'DATEDIFF', 'DATEPART', 'DATESERIAL', 'DATEVALUE', 'DAY', 'DDB', 'DIR', 'DIR$',
+ 'EOF', 'ERROR$', 'EXP', 'FILEATTR', 'FILECOPY', 'FILEDATATIME', 'FILELEN', 'FILTER',
+ 'FIX', 'FORMAT', 'FORMAT$', 'FORMATCURRENCY', 'FORMATDATETIME', 'FORMATNUMBER',
+ 'FORMATPERCENT', 'FREEFILE', 'FV', 'GETALLSETTINGS', 'GETATTRGETOBJECT', 'GETSETTING',
+ 'HEX', 'HEX$', 'HOUR', 'IIF', 'IMESTATUS', 'INPUT$', 'INPUTB', 'INPUTB$', 'INPUTBOX',
+ 'INSTR', 'INSTRB', 'INSTRREV', 'INT', 'IPMT', 'IRR', 'ISARRAY', 'ISDATE', 'ISEMPTY',
+ 'ISERROR', 'ISNULL', 'ISNUMERIC', 'ISOBJECT', 'JOIN', 'LBOUND', 'LCASE', 'LCASE$',
+ 'LEFT', 'LEFT$', 'LEFTB', 'LEFTB$', 'LENB', 'LINEINPUT', 'LOC', 'LOF', 'LOG', 'LTRIM',
+ 'LTRIM$', 'MID$', 'MIDB', 'MIDB$', 'MINUTE', 'MIRR', 'MKDIR', 'MONTH', 'MONTHNAME',
+ 'MSGBOX', 'NOW', 'NPER', 'NPV', 'OCT', 'OCT$', 'PARTITION', 'PMT', 'PPMT', 'PV',
+ 'RATE', 'REPLACE', 'RIGHT', 'RIGHT$', 'RIGHTB', 'RIGHTB$', 'RMDIR', 'RND', 'RTRIM',
+ 'RTRIM$', 'SECOND', 'SIN', 'SLN', 'SPACE', 'SPACE$', 'SPC', 'SPLIT', 'SQRT', 'STR', 'STR$',
+ 'STRCOMP', 'STRCONV', 'STRING$', 'STRREVERSE', 'SYD', 'TAB', 'TAN', 'TIMEOFDAY',
+ 'TIMER', 'TIMESERIAL', 'TIMEVALUE', 'TODAY', 'TRIM', 'TRIM$', 'TYPENAME', 'UBOUND',
+ 'UCASE', 'UCASE$', 'VAL', 'WEEKDAY', 'WEEKDAYNAME', 'YEAR'
+ ),
+ 8 => array(
+ 'ANY', 'ATN', 'CALENDAR', 'CIRCLE', 'CURRENCY', 'DEFBOOL', 'DEFBYTE', 'DEFCUR',
+ 'DEFDATE', 'DEFDBL', 'DEFDEC', 'DEFINT', 'DEFLNG', 'DEFOBJ', 'DEFSNG', 'DEFSTR',
+ 'DEFVAR', 'EQV', 'GOSUB', 'IMP', 'INITIALIZE', 'ISMISSING', 'LET', 'LINE', 'LSET',
+ 'RSET', 'SGN', 'SQR', 'TERMINATE', 'VARIANT', 'VARTYPE', 'WEND'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '&', '&=', '*', '*=', '+', '+=', '-', '-=', '//', '/', '/=', '=', '\\', '\\=',
+ '^', '^='
+ ),
+ '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: #0600FF;', //Constants
+ 2 => 'color: #FF8000;', //Keywords
+ 3 => 'color: #008000;', //Data Types
+ 4 => 'color: #FF0000;', //Objects
+ 5 => 'color: #804040;', //Operators
+ 6 => 'color: #0600FF;', //Statements
+ 7 => 'color: #0600FF;', //Functions
+ 8 => 'color: #0600FF;' //Deprecated
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008080; font-style: italic;',
+ 'MULTI' => 'color: #008080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #008080; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #808080;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #FF0000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #0000FF;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #008000;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.google.com/search?q={FNAMEU}+site:msdn.microsoft.com',
+ 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(
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/verilog.php b/application/libraries/geshi/verilog.php
new file mode 100644
index 000000000..6fc469487
--- /dev/null
+++ b/application/libraries/geshi/verilog.php
@@ -0,0 +1,173 @@
+<?php
+/**
+ * verilog.php
+ * -----------
+ * Author: G�nter Dannoritzer <dannoritzer@web.de>
+ * Copyright: (C) 2008 Guenter Dannoritzer
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/05/28
+ *
+ * Verilog language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/29
+ * - added regular expression to find numbers of the form 4'b001xz
+ * - added regular expression to find values for `timescale command
+ * - extended macro keywords
+ *
+ * TODO (updated 2008/05/29)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Verilog',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ // keywords
+ 1 => array('always', 'and', 'assign', 'begin', 'buf', 'bufif0', 'bufif1', 'case',
+ 'casex', 'casez', 'cmos', 'deassign', 'default', 'defparam',
+ 'disable', 'edge', 'else', 'end', 'endcase', 'endfunction',
+ 'endmodule', 'endprimitive', 'endspecify', 'endtable', 'endtask',
+ 'event', 'for', 'force', 'forever', 'function', 'highz0',
+ 'highz1', 'if', 'ifnone', 'initial', 'inout', 'input', 'integer',
+ 'join', 'large', 'macromodule', 'medium', 'module', 'nand',
+ 'negedge', 'nmos', 'nor', 'not', 'notif0', 'notif1', 'or',
+ 'output', 'parameter', 'pmos', 'posedge', 'primitive', 'pull0',
+ 'pull1', 'pulldown', 'pullup', 'rcmos', 'real', 'realtime', 'reg',
+ 'release', 'repeat', 'rnmos', 'rpmos', 'rtran', 'rtranif0',
+ 'rtranif1', 'scalared', 'small', 'specify', 'specparam',
+ 'strong0', 'strong1', 'supply0', 'supply1', 'table', 'task',
+ 'time', 'tran', 'tranif0', 'tranif1', 'tri', 'tri0', 'tri1',
+ 'triand', 'trior', 'trireg', 'vectored', 'wait', 'wand', 'weak0',
+ 'weak1', 'while', 'wire', 'wor', 'xnor', 'xor'
+ ),
+ // system tasks
+ 2 => array(
+ '$display', '$monitor',
+ '$dumpall', '$dumpfile', '$dumpflush', '$dumplimit', '$dumpoff',
+ '$dumpon', '$dumpvars',
+ '$fclose', '$fdisplay', '$fopen',
+ '$finish', '$fmonitor', '$fstrobe', '$fwrite',
+ '$fgetc', '$ungetc', '$fgets', '$fscanf', '$fread', '$ftell',
+ '$fseek', '$frewind', '$ferror', '$fflush', '$feof',
+ '$random',
+ '$readmemb', '$readmemh', '$readmemx',
+ '$signed', '$stime', '$stop',
+ '$strobe', '$time', '$unsigned', '$write'
+ ),
+ // macros
+ 3 => array(
+ '`default-net', '`define',
+ '`celldefine', '`default_nettype', '`else', '`elsif', '`endcelldefine',
+ '`endif', '`ifdef', '`ifndef', '`include', '`line', '`nounconnected_drive',
+ '`resetall', '`timescale', '`unconnected_drive', '`undef'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%',
+ '^', '&', '|', '~',
+ '?', ':',
+ '#', '<<', '<<<',
+ '>', '<', '>=', '<=',
+ '@', ';', ','
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #A52A2A; font-weight: bold;',
+ 2 => 'color: #9932CC;',
+ 3 => 'color: #008800;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #00008B; font-style: italic;',
+ 'MULTI' => 'color: #00008B; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #9F79EE'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #9F79EE;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #FF00FF;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #ff0055;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #202020;',
+ 2 => 'color: #202020;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #5D478B;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #ff0055;',
+ 1 => 'color: #ff0055;',
+ ),
+ 'SCRIPT' => array(
+ 0 => '',
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => ''
+ ),
+ 'REGEXPS' => array(
+ // numbers
+ 0 => "\d'[bdh][0-9_a-fA-FxXzZ]+",
+ // time -> 1, 10, or 100; s, ms, us, ns, ps, of fs
+ 1 => "1[0]{0,2}[munpf]?s"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ 1 => ''
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ 0 => true,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/vhdl.php b/application/libraries/geshi/vhdl.php
new file mode 100644
index 000000000..ea93cf87b
--- /dev/null
+++ b/application/libraries/geshi/vhdl.php
@@ -0,0 +1,144 @@
+<?php
+/*************************************************************************************
+ * vhdl.php
+ * --------
+ * Author: Alexander 'E-Razor' Krause (admin@erazor-zone.de)
+ * Copyright: (c) 2005 Alexander Krause
+ * Release Version: 1.0.8.6
+ * Date Started: 2005/06/15
+ *
+ * VHDL (VHSICADL, very high speed integrated circuit HDL) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * - Optimized regexp group 0 somewhat
+ * 2006/06/15 (1.0.0)
+ * - First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'VHDL',
+ 'COMMENT_SINGLE' => array(1 => '--'),
+ 'COMMENT_MULTI' => array('%' => '%'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ /*keywords*/
+ 1 => array(
+ 'access','after','alias','all','assert','attribute','architecture','begin',
+ 'block','body','buffer','bus','case','component','configuration','constant',
+ 'disconnect','downto','else','elsif','end','entity','exit','file','for',
+ 'function','generate','generic','group','guarded','if','impure','in',
+ 'inertial','inout','is','label','library','linkage','literal','loop',
+ 'map','new','next','null','of','on','open','others','out','package',
+ 'port','postponed','procedure','process','pure','range','record','register',
+ 'reject','report','return','select','severity','signal','shared','subtype',
+ 'then','to','transport','type','unaffected','units','until','use','variable',
+ 'wait','when','while','with','note','warning','error','failure','and',
+ 'or','xor','not','nor','used','memory','segments','dff','dffe','help_id',
+ 'mod','info','latch','rising_edge','falling_edge'
+ ),
+ /*types*/
+ 2 => array(
+ 'bit','bit_vector','character','boolean','integer','real','time','string',
+ 'severity_level','positive','natural','signed','unsigned','line','text',
+ 'std_logic','std_logic_vector','std_ulogic','std_ulogic_vector','qsim_state',
+ 'qsim_state_vector','qsim_12state','qsim_12state_vector','qsim_strength',
+ 'mux_bit','mux_vector','reg_bit','reg_vector','wor_bit','wor_vector',
+ 'work','ieee','std_logic_signed','std_logic_1164','std_logic_arith',
+ 'numeric_std'
+
+ ),
+ /*operators*/
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '(', ')',
+ ';',':',
+ '<','>','=','<=',':=','=>','=='
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #000080; font-weight: bold;',
+ 2 => 'color: #0000ff;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000; font-style: italic;',
+ 'MULTI' => 'color: #008000; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #7f007f;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000066;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #ff0000;',
+ 1 => 'color: #ff0000;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Hex numbers and scientific notation for numbers
+ 0 => '(\b0x[0-9a-fA-F]+|\b\d[0-9a-fA-F]+[hH])|'.
+ '(\b\d+?(\.\d+?)?E[+\-]?\d+)|(\bns)|'.
+ "('[0-9a-zA-Z]+(?!'))",
+ //Number characters?
+ 1 => "\b(''\d'')"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/vim.php b/application/libraries/geshi/vim.php
new file mode 100644
index 000000000..a95dc244c
--- /dev/null
+++ b/application/libraries/geshi/vim.php
@@ -0,0 +1,419 @@
+<?php
+
+/*************************************************************************************
+ * vim.php
+ * ----------------
+ * Author: Swaroop C H (swaroop@swaroopch.com)
+ * Contributors:
+ * - Laurent Peuch (psycojoker@gmail.com)
+ * Copyright: (c) 2008 Swaroop C H (http://www.swaroopch.com)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/10/19
+ *
+ * Vim scripting language file for GeSHi.
+ *
+ * Reference: http://qbnz.com/highlighter/geshi-doc.html#language-files
+ * All keywords scraped from `:help expression-commands`.
+ * All method names scraped from `:help function-list`.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/19 (1.0.8.2)
+ * - Started.
+ * 2009/07/05
+ * - Fill out list of zillion commands (maybe somes still miss).
+ * - fix a part of the regex, now works for comment that have white space before the "
+ *
+ * TODO (updated 2009/07/05)
+ * -------------------------
+ * - Make this damn string with "" work correctly. I've just remove it for my wiki.
+ * - Make the comment regex able to find comment after some code.
+ * (i.e: let rocks " unworking comment)
+ * - Make <F1> <F2> ... <Esc> <CR> ... works event if they aren't surround by space.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Vim Script',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_REGEXP' => array(
+ 1 => "/^\s*\"[^\"]*?$/m"
+ ),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'au', 'augroup', 'autocmd', 'brea', 'break', 'bufadd',
+ 'bufcreate', 'bufdelete', 'bufenter', 'buffilepost',
+ 'buffilepre', 'bufhidden', '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',
+ 'contin', 'continu', 'continue', 'cursorhold', 'cursorholdi',
+ 'cursormoved', 'cursormovedi', 'ec', 'echo', 'echoe',
+ 'echoer', 'echoerr', 'echoh', 'echohl', 'echom', 'echoms',
+ 'echomsg', 'echon', 'el', 'els', 'else', 'elsei', 'elseif',
+ 'en', 'encodingchanged', 'end', 'endfo', 'endfor', 'endi',
+ 'endif', 'endt', 'endtr', 'endtry', 'endw', 'endwh', 'endwhi',
+ 'endwhil', 'endwhile', 'exe', 'exec', 'execu', 'execut',
+ 'execute', 'fileappendcmd', 'fileappendpost', 'fileappendpre',
+ 'filechangedro', 'filechangedshell', 'filechangedshellpost',
+ 'fileencoding', 'filereadcmd', 'filereadpost', 'filereadpre',
+ 'filetype', 'filewritecmd', 'filewritepost', 'filewritepre',
+ 'filterreadpost', 'filterreadpre', 'filterwritepost',
+ 'filterwritepre', 'fina', 'final', 'finall', 'finally',
+ 'finish', 'focusgained', 'focuslost', 'for', 'fun', 'func',
+ 'funct', 'functi', 'functio', 'function', 'funcundefined',
+ 'guienter', 'guifailed', 'hi', 'highlight', 'if', 'in',
+ 'insertchange', 'insertenter', 'insertleave', 'let', 'lockv',
+ 'lockva', 'lockvar', 'map', 'match', 'menupopup', 'nnoremap',
+ 'quickfixcmdpost', 'quickfixcmdpre', 'remotereply', 'retu',
+ 'retur', 'return', 'sessionloadpost', 'set', 'setlocal',
+ 'shellcmdpost', 'shellfilterpost', 'sourcecmd', 'sourcepre',
+ 'spellfilemissing', 'stdinreadpost', 'stdinreadpre',
+ 'swapexists', 'syntax', 'tabenter', 'tableave', 'termchanged',
+ 'termresponse', 'th', 'thr', 'thro', 'throw', 'try', 'unl',
+ 'unle', 'unlet', 'unlo', 'unloc', 'unlock', 'unlockv',
+ 'unlockva', 'unlockvar', 'user', 'usergettingbored',
+ 'vimenter', 'vimleave', 'vimleavepre', 'vimresized', 'wh',
+ 'whi', 'whil', 'while', 'winenter', 'winleave'
+ ),
+ 2 => array(
+ '&lt;CR&gt;', '&lt;Esc&gt;', '&lt;F1&gt;', '&lt;F10&gt;',
+ '&lt;F11&gt;', '&lt;F12&gt;', '&lt;F2&gt;', '&lt;F3&gt;',
+ '&lt;F4&gt;', '&lt;F5&gt;', '&lt;F6&gt;', '&lt;F7&gt;',
+ '&lt;F8&gt;', '&lt;F9&gt;', '&lt;cr&gt;', '&lt;silent&gt;',
+ '-nargs', 'acd', 'ai', 'akm', 'al', 'aleph',
+ 'allowrevins', 'altkeymap', 'ambiwidth', 'ambw',
+ 'anti', 'antialias', 'ar', 'arab', 'arabic',
+ 'arabicshape', 'ari', 'arshape', 'autochdir',
+ 'autoindent', 'autoread', 'autowrite', 'autowriteall',
+ 'aw', 'awa', 'background', 'backspace', 'backup',
+ 'backupcopy', 'backupdir', 'backupext',
+ 'backupskip', 'balloondelay', 'ballooneval', 'balloonexpr',
+ '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',
+ 'ccv', 'cd', 'cdpath', 'cedit', 'cf', 'cfu', 'ch',
+ 'charconvert', 'ci', 'cin', 'cindent', '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',
+ 'cot', 'cp', 'cpo', 'cpoptions', 'cpt',
+ 'cscopepathcomp', 'cscopeprg', 'cscopequickfix', 'cscopetag',
+ 'cscopetagorder', 'cscopeverbose',
+ 'cspc', 'csprg', 'csqf', 'cst', 'csto', 'csverb', 'cuc',
+ 'cul', 'cursorcolumn', 'cursorline', 'cwh', 'debug',
+ 'deco', 'def', 'define', 'delc', 'delco', 'delcom',
+ 'delcombine', 'delcomm', 'delcomman', 'delcommand', 'dex',
+ 'dg', 'dict', 'dictionary', 'diff', 'diffexpr',
+ 'diffopt', 'digraph', 'dip', 'dir', 'directory', 'display',
+ 'dlcomma', 'dy', 'ea', 'ead', 'eadirection',
+ 'eb', 'ed', 'edcompatible', 'ef', 'efm',
+ 'ei', 'ek', 'enc', 'encoding', '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',
+ 'fkmap', 'flp', 'fml', 'fmr', 'fo', 'foldclose',
+ 'foldcolumn', 'foldenable', 'foldexpr', 'foldignore',
+ 'foldlevel', 'foldlevelstart', 'foldmarker',
+ 'foldmethod', 'foldminlines', 'foldnestmax', 'foldopen',
+ 'foldtext', 'formatexpr', 'formatlistpat',
+ 'formatoptions', 'formatprg', 'fp', 'fs', 'fsync', 'ft',
+ 'gcr', 'gd', 'gdefault', 'gfm', 'gfn', 'gfs', 'gfw',
+ 'ghr', 'go', 'gp', 'grepformat', 'grepprg', 'gtl',
+ 'gtt', 'guicursor', 'guifont', 'guifontset',
+ 'guifontwide', 'guiheadroom', 'guioptions', 'guipty',
+ 'guitablabel', 'guitabtooltip', 'helpfile',
+ 'helpheight', 'helplang', 'hf', 'hh', 'hid', 'hidden',
+ 'history', 'hk', 'hkmap', 'hkmapp', 'hkp', 'hl',
+ 'hlg', 'hls', 'hlsearch', 'ic', 'icon', 'iconstring',
+ 'ignorecase', 'im', 'imactivatekey', 'imak', 'imc',
+ 'imcmdline', 'imd', 'imdisable', 'imi', 'iminsert', 'ims',
+ 'imsearch', 'inc', 'include', 'includeexpr',
+ 'incsearch', 'inde', 'indentexpr', 'indentkeys',
+ 'indk', 'inex', 'inf', 'infercase', 'insertmode', 'is', 'isf',
+ 'isfname', 'isi', 'isident', 'isk', 'iskeyword',
+ 'isp', 'isprint', 'joinspaces', 'js', 'key',
+ 'keymap', 'keymodel', 'keywordprg', 'km', 'kmp', 'kp',
+ 'langmap', 'langmenu', 'laststatus', 'lazyredraw', 'lbr',
+ 'lcs', 'linebreak', 'lines', 'linespace', 'lisp',
+ 'lispwords', 'list', 'listchars', 'lm', 'lmap',
+ 'loadplugins', 'lpl', 'ls', 'lsp', 'lw', 'lz', 'ma',
+ 'macatsui', 'magic', 'makeef', 'makeprg', 'mat',
+ 'matchpairs', 'matchtime', 'maxcombine', 'maxfuncdepth',
+ 'maxmapdepth', 'maxmem', 'maxmempattern',
+ 'maxmemtot', 'mco', 'mef', 'menuitems', 'mfd', 'mh',
+ 'mis', 'mkspellmem', 'ml', 'mls', 'mm', 'mmd', 'mmp',
+ 'mmt', 'mod', 'modeline', 'modelines', 'modifiable',
+ 'modified', 'more', 'mouse', 'mousef', 'mousefocus',
+ 'mousehide', 'mousem', 'mousemodel', 'mouses',
+ 'mouseshape', 'mouset', 'mousetime', 'mp', 'mps', 'msm',
+ 'mzq', 'mzquantum', 'nf', 'noacd', 'noai', 'noakm',
+ 'noallowrevins', 'noaltkeymap', 'noanti', 'noantialias',
+ 'noar', 'noarab', 'noarabic', 'noarabicshape', 'noari',
+ 'noarshape', 'noautochdir', 'noautoindent', 'noautoread',
+ 'noautowrite', 'noautowriteall', 'noaw', 'noawa', 'nobackup',
+ 'noballooneval', 'nobeval', 'nobin', 'nobinary', 'nobiosk',
+ 'nobioskey', 'nobk', 'nobl', 'nobomb', 'nobuflisted', 'nocf',
+ 'noci', 'nocin', 'nocindent', 'nocompatible', 'noconfirm',
+ 'noconsk', 'noconskey', 'nocopyindent', 'nocp', 'nocscopetag',
+ 'nocscopeverbose', 'nocst', 'nocsverb', 'nocuc', 'nocul',
+ 'nocursorcolumn', 'nocursorline', 'nodeco', 'nodelcombine',
+ 'nodg', 'nodiff', 'nodigraph', 'nodisable', 'noea', 'noeb',
+ 'noed', 'noedcompatible', 'noek', 'noendofline', 'noeol',
+ 'noequalalways', 'noerrorbells', 'noesckeys', 'noet',
+ 'noex', 'noexpandtab', 'noexrc', 'nofen', 'nofk', 'nofkmap',
+ 'nofoldenable', 'nogd', 'nogdefault', 'noguipty', 'nohid',
+ 'nohidden', 'nohk', 'nohkmap', 'nohkmapp', 'nohkp', 'nohls',
+ 'nohlsearch', 'noic', 'noicon', 'noignorecase', 'noim',
+ 'noimc', 'noimcmdline', 'noimd', 'noincsearch', 'noinf',
+ 'noinfercase', 'noinsertmode', 'nois', 'nojoinspaces',
+ 'nojs', 'nolazyredraw', 'nolbr', 'nolinebreak', 'nolisp',
+ 'nolist', 'noloadplugins', 'nolpl', 'nolz', 'noma',
+ 'nomacatsui', 'nomagic', 'nomh', 'noml', 'nomod',
+ 'nomodeline', 'nomodifiable', 'nomodified', 'nomore',
+ 'nomousef', 'nomousefocus', 'nomousehide', 'nonu',
+ 'nonumber', 'noodev', 'noopendevice', 'nopaste', 'nopi',
+ 'nopreserveindent', 'nopreviewwindow', 'noprompt', 'nopvw',
+ 'noreadonly', 'noremap', 'norestorescreen', 'norevins',
+ 'nori', 'norightleft', 'norightleftcmd', 'norl', 'norlc',
+ 'noro', 'nors', 'noru', 'noruler', 'nosb', 'nosc', 'noscb',
+ 'noscrollbind', 'noscs', 'nosecure', 'nosft', 'noshellslash',
+ 'noshelltemp', 'noshiftround', 'noshortname', 'noshowcmd',
+ 'noshowfulltag', 'noshowmatch', 'noshowmode', 'nosi', 'nosm',
+ 'nosmartcase', 'nosmartindent', 'nosmarttab', 'nosmd',
+ 'nosn', 'nosol', 'nospell', 'nosplitbelow', 'nosplitright',
+ 'nospr', 'nosr', 'nossl', 'nosta', 'nostartofline',
+ 'nostmp', 'noswapfile', 'noswf', 'nota', 'notagbsearch',
+ 'notagrelative', 'notagstack', 'notbi', 'notbidi', 'notbs',
+ 'notermbidi', 'noterse', 'notextauto', 'notextmode',
+ 'notf', 'notgst', 'notildeop', 'notimeout', 'notitle',
+ 'noto', 'notop', 'notr', 'nottimeout', 'nottybuiltin',
+ 'nottyfast', 'notx', 'novb', 'novisualbell', 'nowa',
+ 'nowarn', 'nowb', 'noweirdinvert', 'nowfh', 'nowfw',
+ 'nowildmenu', 'nowinfixheight', 'nowinfixwidth', 'nowiv',
+ 'nowmnu', 'nowrap', 'nowrapscan', 'nowrite', 'nowriteany',
+ 'nowritebackup', 'nows', 'nrformats', 'nu', 'number',
+ 'numberwidth', 'nuw', 'odev', 'oft', 'ofu',
+ 'omnifunc', 'opendevice', 'operatorfunc', 'opfunc',
+ 'osfiletype', 'pa', 'para', 'paragraphs',
+ 'paste', 'pastetoggle', 'patchexpr',
+ 'patchmode', 'path', 'pdev', 'penc', 'pex', 'pexpr',
+ 'pfn', 'ph', 'pheader', 'pi', 'pm', 'pmbcs',
+ 'pmbfn', 'popt', 'preserveindent', 'previewheight',
+ 'previewwindow', 'printdevice', 'printencoding', 'printexpr',
+ 'printfont', 'printheader', 'printmbcharset',
+ 'printmbfont', 'printoptions', 'prompt', 'pt', 'pumheight',
+ 'pvh', 'pvw', 'qe', 'quoteescape', 'rdt',
+ 'readonly', 'redrawtime', 'remap', 'report',
+ 'restorescreen', 'revins', 'ri', 'rightleft', 'rightleftcmd',
+ 'rl', 'rlc', 'ro', 'rs', 'rtp', 'ru',
+ 'ruf', 'ruler', 'rulerformat', 'runtimepath', 'sb', 'sbo',
+ 'sbr', 'sc', 'scb', 'scr', 'scroll', 'scrollbind',
+ 'scrolljump', 'scrolloff', 'scrollopt',
+ 'scs', 'sect', 'sections', 'secure', 'sel',
+ 'selection', 'selectmode', 'sessionoptions', 'sft',
+ 'sh', 'shcf', 'shell', 'shellcmdflag', 'shellpipe',
+ 'shellquote', 'shellredir', 'shellslash',
+ 'shelltemp', 'shelltype', 'shellxquote', 'shiftround',
+ 'shiftwidth', 'shm', 'shortmess', 'shortname',
+ 'showbreak', 'showcmd', 'showfulltag', 'showmatch',
+ 'showmode', 'showtabline', 'shq', 'si', 'sidescroll',
+ 'sidescrolloff', 'siso', 'sj', 'slm', 'sm', 'smartcase',
+ 'smartindent', 'smarttab', 'smc', 'smd', 'sn',
+ 'so', 'softtabstop', 'sol', 'sp', 'spc', 'spell',
+ 'spellcapcheck', 'spellfile', 'spelllang', 'spellsuggest',
+ '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',
+ 'tabline', 'tabpagemax', 'tabstop', 'tag',
+ 'tagbsearch', 'taglength', 'tagrelative', 'tags', 'tagstack',
+ 'tal', 'tb', 'tbi', 'tbidi', 'tbis', 'tbs',
+ 'tenc', 'term', 'termbidi', 'termencoding', 'terse',
+ 'textauto', 'textmode', 'textwidth', 'tf', 'tgst',
+ 'thesaurus', 'tildeop', 'timeout', 'timeoutlen',
+ 'title', 'titlelen', 'titleold', 'titlestring',
+ 'tl', 'tm', 'to', 'toolbar', 'toolbariconsize', 'top',
+ 'tpm', 'tr', 'ts', 'tsl', 'tsr', 'ttimeout',
+ 'ttimeoutlen', 'ttm', 'tty', 'ttybuiltin', 'ttyfast', 'ttym',
+ 'ttymouse', 'ttyscroll', 'ttytype', 'tw', 'tx', 'uc',
+ 'ul', 'undolevels', 'updatecount', 'updatetime', 'ut',
+ 'vb', 'vbs', 'vdir', 've', 'verbose', 'verbosefile',
+ 'vfile', 'vi', 'viewdir', 'viewoptions', 'viminfo',
+ 'virtualedit', 'visualbell', 'vop', 'wa', 'wak',
+ 'warn', 'wb', 'wc', 'wcm', 'wd', 'weirdinvert', 'wfh',
+ 'wfw', 'wh', 'whichwrap', 'wi', 'wig', 'wildchar',
+ 'wildcharm', 'wildignore', 'wildmenu',
+ 'wildmode', 'wildoptions', 'wim', 'winaltkeys', 'window',
+ 'winfixheight', 'winfixwidth', 'winheight',
+ 'winminheight', 'winminwidth', 'winwidth', 'wiv',
+ 'wiw', 'wm', 'wmh', 'wmnu', 'wmw', 'wop', 'wrap',
+ 'wrapmargin', 'wrapscan', 'write', 'writeany',
+ 'writebackup', 'writedelay', 'ws', 'ww'
+ ),
+ 3 => array(
+ 'BufAdd', 'BufCreate', 'BufDelete', 'BufEnter', 'BufFilePost',
+ 'BufFilePre', 'BufHidden', 'BufLeave', 'BufNew', 'BufNewFile',
+ 'BufRead', 'BufReadCmd', 'BufReadPost', 'BufReadPre',
+ 'BufUnload', 'BufWinEnter', 'BufWinLeave', 'BufWipeout',
+ 'BufWrite', 'BufWriteCmd', 'BufWritePost', 'BufWritePre',
+ 'Cmd-event', 'CmdwinEnter', 'CmdwinLeave', 'ColorScheme',
+ 'CursorHold', 'CursorHoldI', 'CursorMoved', 'CursorMovedI',
+ 'EncodingChanged', 'FileAppendCmd', 'FileAppendPost',
+ 'FileAppendPre', 'FileChangedRO', 'FileChangedShell',
+ 'FileChangedShellPost', 'FileEncoding', 'FileReadCmd',
+ 'FileReadPost', 'FileReadPre', 'FileType',
+ 'FileWriteCmd', 'FileWritePost', 'FileWritePre',
+ 'FilterReadPost', 'FilterReadPre', 'FilterWritePost',
+ 'FilterWritePre', 'FocusGained', 'FocusLost', 'FuncUndefined',
+ 'GUIEnter', 'GUIFailed', 'InsertChange', 'InsertEnter',
+ 'InsertLeave', 'MenuPopup', 'QuickFixCmdPost',
+ 'QuickFixCmdPre', 'RemoteReply', 'SessionLoadPost',
+ 'ShellCmdPost', 'ShellFilterPost', 'SourceCmd',
+ 'SourcePre', 'SpellFileMissing', 'StdinReadPost',
+ 'StdinReadPre', 'SwapExists', 'Syntax', 'TabEnter',
+ 'TabLeave', 'TermChanged', 'TermResponse', 'User',
+ 'UserGettingBored', 'VimEnter', 'VimLeave', 'VimLeavePre',
+ 'VimResized', 'WinEnter', 'WinLeave', 'abs', 'add', 'append',
+ 'argc', 'argidx', 'argv', 'atan', 'browse', 'browsedir',
+ 'bufexists', 'buflisted', 'bufloaded', 'bufname', 'bufnr',
+ 'bufwinnr', 'byte2line', 'byteidx', 'ceil', 'changenr',
+ 'char2nr', 'cindent', 'clearmatches', 'col', 'complete',
+ 'complete_add', 'complete_check', 'confirm', 'copy',
+ 'cos', 'count', 'cscope_connection', 'cursor', 'deepcopy',
+ 'delete', 'did_filetype', 'diff_filler', 'diff_hlID',
+ 'empty', 'escape', 'eval', 'eventhandler', 'executable',
+ 'exists', 'expand', 'extend', 'feedkeys', 'filereadable',
+ 'filewritable', 'filter', 'finddir', 'findfile', 'float2nr',
+ 'floor', 'fnameescape', 'fnamemodify', 'foldclosed',
+ 'foldclosedend', 'foldlevel', 'foldtext', 'foldtextresult',
+ 'foreground', 'garbagecollect', 'get', 'getbufline',
+ 'getbufvar', 'getchar', 'getcharmod', 'getcmdline',
+ 'getcmdpos', 'getcmdtype', 'getcwd', 'getfontname',
+ 'getfperm', 'getfsize', 'getftime', 'getftype', 'getline',
+ 'getloclist', 'getmatches', 'getpid', 'getpos', 'getqflist',
+ 'getreg', 'getregtype', 'gettabwinvar', 'getwinposx',
+ 'getwinposy', 'getwinvar', 'glob', 'globpath', 'has',
+ 'has_key', 'haslocaldir', 'hasmapto', 'histadd', 'histdel',
+ 'histget', 'histnr', 'hlID', 'hlexists', 'hostname', 'iconv',
+ 'indent', 'index', 'input', 'inputdialog', 'inputlist',
+ 'inputrestore', 'inputsave', 'inputsecret', 'insert',
+ 'isdirectory', 'islocked', 'items', 'join', 'keys', 'len',
+ 'libcall', 'libcallnr', 'line', 'line2byte', 'lispindent',
+ 'localtime', 'log10', 'maparg', 'mapcheck', 'matchadd',
+ 'matcharg', 'matchdelete', 'matchend', 'matchlist',
+ 'matchstr', 'max', 'min', 'mkdir', 'mode', 'nextnonblank',
+ 'nr2char', 'off', 'on', 'pathshorten', 'plugin', 'pow',
+ 'prevnonblank', 'printf', 'pumvisible', 'range', 'readfile',
+ 'reltime', 'reltimestr', 'remote_expr', 'remote_foreground',
+ 'remote_peek', 'remote_read', 'remote_send', 'remove',
+ 'rename', 'repeat', 'resolve', 'reverse', 'round', 'search',
+ 'searchdecl', 'searchpair', 'searchpairpos', 'searchpos',
+ 'server2client', 'serverlist', 'setbufvar', 'setcmdpos',
+ 'setline', 'setloclist', 'setmatches', 'setpos', 'setqflist',
+ 'setreg', 'settabwinvar', 'setwinvar', 'shellescape',
+ 'simplify', 'sin', 'sort', 'soundfold', 'spellbadword',
+ 'spellsuggest', 'split', 'sqrt', 'str2float', 'str2nr',
+ 'strftime', 'stridx', 'string', 'strlen', 'strpart',
+ 'strridx', 'strtrans', 'submatch', 'substitute',
+ 'synID', 'synIDattr', 'synIDtrans', 'synstack', 'system',
+ 'tabpagebuflist', 'tabpagenr', 'tabpagewinnr', 'tagfiles',
+ 'taglist', 'tempname', 'tolower', 'toupper', 'tr', 'trunc',
+ 'type', 'values', 'virtcol', 'visualmode', 'winbufnr',
+ 'wincol', 'winheight', 'winline', 'winnr', 'winrestcmd',
+ 'winrestview', 'winsaveview', 'winwidth', 'writefile'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '!', '%', '&', '*', '|', '/', '<', '>',
+ '^', '-', '+', '~', '?', ':', '$', '@', '.'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ ),
+ 'STYLES' => array(
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #adadad; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => ''
+ ),
+ 'KEYWORDS' => array(
+ 1 => 'color: #804040;',
+ 2 => 'color: #668080;',
+ 3 => 'color: #25BB4D;'
+ ),
+ 'METHODS' => array(
+ 0 => 'color: #000000;',
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000000; font-weight:bold;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #C5A22D;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;'
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false, //Save some time as OO identifiers aren't used
+ '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/visualfoxpro.php b/application/libraries/geshi/visualfoxpro.php
new file mode 100644
index 000000000..4d9f649ce
--- /dev/null
+++ b/application/libraries/geshi/visualfoxpro.php
@@ -0,0 +1,456 @@
+<?php
+/*************************************************************************************
+ * visualfoxpro.php
+ * ----------------
+ * Author: Roberto Armellin (r.armellin@tin.it)
+ * Copyright: (c) 2004 Roberto Armellin, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/09/17
+ *
+ * Visual FoxPro language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Removed tab as a symbol char
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/10/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Visual Fox Pro',
+ 'COMMENT_SINGLE' => array(1 => "//", 2 => "\n*"),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'Case', 'Else', '#Else', 'Then',
+ 'Endcase', 'Enddefine', 'Enddo', 'Endfor', 'Endfunc', 'Endif', 'Endprintjob',
+ 'Endproc', 'Endscan', 'Endtext', 'Endwith', '#Endif',
+ '#Elif','#Define','#If','#Include',
+ '#Itsexpression','#Readclauses','#Region','#Section','#Undef','#Wname',
+ 'Define','Do',
+ 'For','Function','Hidden',
+ 'If','Local','Lparameter','Lparameters','Next','Otherwise',
+ 'Parameters','Printjob','Procedure','Protected','Public','Scan',
+ 'Text','While','With','Abs','Accept','Access','Aclass','Acopy',
+ 'Acos','Adatabases','Adbobjects','Addbs','Addrelationtoenv','Addtabletoenv',
+ 'Adel','Adir','Aelement','Aerror','Afields','Afont',
+ 'Agetclass','Agetfileversion','Ains','Ainstance','Alen','Align',
+ 'Alines','Alltrim','Alter','Amembers','Amouseobj','Anetresources',
+ 'Ansitooem','Append','Aprinters','Ascan','Aselobj','Asin',
+ 'Asort','Assert','Asserts','Assist','Asubscript','Asynchronous',
+ 'At_c','Atan','Atc','Atcc','Atcline','Atline',
+ 'Atn2','Aused','Autoform','Autoreport','Avcxclasses','Average',
+ 'BarCount','BarPrompt','BatchMode','BatchUpdateCount','Begin','BellSound',
+ 'BinToC','Bitand','Bitclear','Bitlshift','Bitnot',
+ 'Bitor','Bitrshift','Bitset','Bittest','Bitxor','Bof',
+ 'Browse','BrowseRefresh','Buffering','BuilderLock','COMArray','COMReturnError',
+ 'CToBin','Calculate','Call','Capslock','Cd','Cdow',
+ 'Ceiling','Central','Change','Char','Chdir','Chr',
+ 'Chrsaw','Chrtran','Chrtranc','Close','Cmonth','Cntbar',
+ 'Cntpad','Col','Comclassinfo','CommandTargetQuery','Compile','Completed',
+ 'Compobj','Compute','Concat','ConnectBusy','ConnectHandle','ConnectName',
+ 'ConnectString','ConnectTimeOut','ContainerReleaseType','Continue','Copy','Cos',
+ 'Cot','Count','Coverage','Cpconvert','Cpcurrent','Cpdbf',
+ 'Cpnotrans','Create','CreateBinary','Createobject','Createobjectex','Createoffline',
+ 'CrsBuffering','CrsFetchMemo','CrsFetchSize','CrsMaxRows','CrsMethodUsed','CrsNumBatch',
+ 'CrsShareConnection','CrsUseMemoSize','CrsWhereClause','Ctod','Ctot',
+ 'Curdate','Curdir','CurrLeft','CurrSymbol','CursorGetProp','CursorSetProp',
+ 'Curtime','Curval','DBGetProp','DBSetProp','DB_BufLockRow','DB_BufLockTable',
+ 'DB_BufOff','DB_BufOptRow','DB_BufOptTable','DB_Complette','DB_DeleteInsert','DB_KeyAndModified',
+ 'DB_KeyAndTimestamp','DB_KeyAndUpdatable','DB_LocalSQL','DB_NoPrompt','DB_Prompt','DB_RemoteSQL',
+ 'DB_TransAuto','DB_TransManual','DB_TransNone','DB_Update','Datetime','Day',
+ 'Dayname','Dayofmonth','Dayofweek','Dayofyear','Dbalias','Dbused',
+ 'Ddeaborttrans','Ddeadvise','Ddeenabled','Ddeexecute','Ddeinitiate','Ddelasterror',
+ 'Ddepoke','Dderequest','Ddesetoption','Ddesetservice','Ddesettopic','Ddeterminate',
+ 'Debugout','Declare','DefOLELCid','DefaultValue','Defaultext','Degrees',
+ 'DeleteTrigger','Desc','Description','Difference','Dimension','Dir',
+ 'Directory','Diskspace','DispLogin','DispWarnings','Display','Dll',
+ 'Dmy','DoDefault','DoEvents','Doc','Dow',
+ 'Drivetype','Drop','Dropoffline','Dtoc','Dtor','Dtos',
+ 'Dtot','DynamicInputMask','Each','Edit','Eject','Elif',
+ 'End','Eof','Erase','Evaluate','Event','Eventtracking',
+ 'Exclude','Exclusive','Exit','Exp','Export','External',
+ 'FDate','FTime','Fchsize','Fclose','Fcount','Fcreate',
+ 'Feof','Ferror','FetchMemo','FetchSize','Fflush','Fgets',
+ 'Filer','Filetostr','Find','Fklabel','Fkmax','Fldlist',
+ 'Flock','Floor','Flush','Fontmetric','Fopen','Forceext',
+ 'Forcepath','FormSetClass','FormSetLib','FormsClass','FormsLib','Found',
+ 'FoxPro','Foxcode','Foxdoc','Foxgen','Foxgraph','Foxview',
+ 'Fputs','Fread','French','Fseek','Fsize','Fv',
+ 'Fwrite','Gather','German','GetPem','Getbar','Getcolor',
+ 'Getcp','Getdir','Getenv','Getexpr','Getfile','Getfldstate',
+ 'Getfont','Gethost','Getnextmodified','Getobject','Getpad','Getpict',
+ 'Getprinter','Go','Gomonth','Goto','Graph','GridHorz',
+ 'GridShow','GridShowPos','GridSnap','GridVert','Help','HelpOn',
+ 'HelpTo','HighLightRow','Home','Hour','IMEStatus','IdleTimeOut',
+ 'Idxcollate','Ifdef','Ifndef','Iif','Import','Include',
+ 'Indbc','Index','Indexseek','Inkey','Inlist','Input',
+ 'Insert','InsertTrigger','Insmode','IsBlank','IsFLocked','IsLeadByte',
+ 'IsMouse','IsNull','IsRLocked','Isalpha','Iscolor','Isdigit',
+ 'IsExclusive','Ishosted','IsLower','IsReadOnly',
+ 'IsUpper','Italian','Japan','Join','Justdrive','Justext',
+ 'Justfname','Justpath','Juststem','KeyField','KeyFieldList','Keyboard'
+ ),
+ 2 => array('Keymatch','LastProject','Lastkey','Lcase','Leftc','Len',
+ 'Lenc','Length','Likec','Lineno','LoadPicture',
+ 'Locate','Locfile','Log','Log10','Logout','Lookup',
+ 'Loop','Lower','Ltrim','Lupdate','Mail','MaxRecords',
+ 'Mcol','Md','Mdown','Mdx','Mdy','Memlines',
+ 'Menu','Messagebox','Minute','Mkdir','Mline','Modify',
+ 'Month','Monthname','Mouse','Mrkbar','Mrkpad','Mrow',
+ 'Mtdll','Mton','Mwindow','Native','Ndx','Network',
+ 'NoFilter','Nodefault','Normalize','Note','Now','Ntom',
+ 'NullString','Numlock','Nvl','ODBChdbc','ODBChstmt','OLEDropTextInsertion',
+ 'OLELCid','Objnum','Objref','Objtoclient','Objvar','Occurs',
+ 'Oemtoansi','Oldval','OlePublic','Olereturnerror','On','Open',
+ 'Oracle','Order','Os','Outer','PCount','Pack',
+ 'PacketSize','Padc','Padl','Padr','Payment','Pcol',
+ 'PemStatus','Pi','Pivot','Play','Pop','Popup',
+ 'Power','PrimaryKey','Printstatus','Private','Prmbar','Prmpad',
+ 'ProjectClick','Proper','Prow','Prtinfo','Push','Putfile',
+ 'Pv','Qpr','Quater','QueryTimeOut','Quit','Radians',
+ 'Rand','Rat','Ratc','Ratline','Rd','Rdlevel',
+ 'Read','Readkey','Recall','Reccount','RecentlyUsedFiles','Recno',
+ 'Recsize','Regional','Reindex','RelatedChild','RelatedTable','RelatedTag',
+ 'Remove','Rename','Repeat','Replace','Replicate','Report',
+ 'ResHeight','ResWidth','ResourceOn','ResourceTo','Resources','Restore',
+ 'Resume','Retry','Return','Revertoffline','Rgbscheme','Rightc',
+ 'Rlock','Rmdir','Rollback','Round','Rtod','Rtrim',
+ 'RuleExpression','RuleText','Run','Runscript','Rview','SQLAsynchronous',
+ 'SQLBatchMode','SQLCancel','SQLColumns','SQLConnect','SQLConnectTimeOut','SQLDisconnect',
+ 'SQLDispLogin','SQLDispWarnings','SQLExec','SQLGetProp','SQLIdleTimeOut','SQLMoreResults',
+ 'SQLPrepare','SQLQueryTimeOut','SQLSetProp','SQLTables','SQLTransactions','SQLWaitTime',
+ 'Save','SavePicture','ScaleUnits','Scatter','Scols',
+ 'Scroll','Sec','Second','Seek','Select','SendUpdates',
+ 'Set','SetDefault','Setfldstate','Setup','ShareConnection','ShowOLEControls',
+ 'ShowOLEInsertable','ShowVCXs','Sign','Sin','Size','SizeBox',
+ 'Skpbar','Skppad','Sort','Soundex','SourceName','Sqlcommit',
+ 'Sqll','Sqlrollback','Sqlstringconnect','Sqrt','Srows','StatusBar',
+ 'Store','Str','Strconv','Strtofile','Strtran','Stuff',
+ 'Stuffc','Substr','Substrc','Substring','Sum','Suspend',
+ 'Sys','Sysmetric','TabOrdering','Table','TableRefresh','Tablerevert',
+ 'Tableupdate','TagCount','TagNo','Tan','Target','This',
+ 'Thisform','Thisformset','Timestamp','Timestampdiff','Total','Transactions',
+ 'Transform','Trim','Truncate','Ttoc','Ttod','Txnlevel',
+ 'Txtwidth','Type','Ucase','Undefine','Unlock','Unpack',
+ 'Updatable','UpdatableFieldList','Update','UpdateName','UpdateNameList','UpdateTrigger',
+ 'UpdateType','Updated','Upper','Upsizing','Usa','Use',
+ 'UseMemoSize','Used','Val','Validate','Varread','Vartype',
+ 'Version','VersionLanguage','Wait','WaitTime','Wborder','Wchild',
+ 'Wcols','Week','Wexist','Wfont','WhereType','Windcmd',
+ 'Windhelp','Windmemo','Windmenu','Windmodify','Windquery','Windscreen',
+ 'Windsnip','Windstproc','WizardPrompt','Wlast','Wlcol','Wlrow',
+ 'Wmaximum','Wminimum','Wontop','Woutput','Wparent','Wread',
+ 'Wrows','Wtitle','Wvisible','Year','Zap','_Alignment',
+ '_Asciicols','_Asciirows','_Assist','_Beautify','_Box','_Browser',
+ '_Builder','_Calcmem','_Calcvalue','_Cliptext','_Converter','_Coverage',
+ '_Curobj','_Dblclick','_Diarydate','_Dos','_Foxdoc','_Foxgraph',
+ '_Gallery','_Gengraph','_Genhtml','_Genmenu','_Genpd','_Genscrn',
+ '_Genxtab','_Getexpr','_Include','_Indent','_Lmargin','_Mac',
+ '_Mbr_appnd','_Mbr_cpart','_Mbr_delet','_Mbr_font','_Mbr_goto','_Mbr_grid',
+ '_Mbr_link','_Mbr_mode','_Mbr_mvfld','_Mbr_mvprt','_Mbr_seek','_Mbr_sp100',
+ '_Mbr_sp200','_Mbr_szfld','_Mbrowse','_Mda_appnd','_Mda_avg','_Mda_brow',
+ '_Mda_calc','_Mda_copy','_Mda_count','_Mda_label','_Mda_pack','_Mda_reprt',
+ '_Mda_rindx','_Mda_setup','_Mda_sort','_Mda_sp100','_Mda_sp200','_Mda_sp300',
+ '_Mda_sum','_Mda_total','_Mdata','_Mdiary','_Med_clear','_Med_copy',
+ '_Med_cut','_Med_cvtst','_Med_find','_Med_finda','_Med_goto','_Med_insob',
+ '_Med_link','_Med_obj','_Med_paste','_Med_pref','_Med_pstlk','_Med_redo',
+ '_Med_repl','_Med_repla','_Med_slcta','_Med_sp100','_Med_sp200','_Med_sp300',
+ '_Med_sp400','_Med_sp500','_Med_undo','_Medit','_Mfi_clall','_Mfi_close',
+ '_Mfi_export','_Mfi_import','_Mfi_new','_Mfi_open','_Mfi_pgset','_Mfi_prevu',
+ '_Mfi_print','_Mfi_quit','_Mfi_revrt','_Mfi_savas','_Mfi_save','_Mfi_send',
+ '_Mfi_setup','_Mfi_sp100','_Mfi_sp200','_Mfi_sp300','_Mfi_sp400','_Mfile',
+ '_Mfiler','_Mfirst','_Mlabel','_Mlast','_Mline','_Mmacro',
+ '_Mmbldr','_Mpr_beaut','_Mpr_cancl','_Mpr_compl','_Mpr_do','_Mpr_docum',
+ '_Mpr_formwz','_Mpr_gener','_Mpr_graph','_Mpr_resum','_Mpr_sp100','_Mpr_sp200',
+ '_Mpr_sp300','_Mpr_suspend','_Mprog','_Mproj','_Mrc_appnd','_Mrc_chnge',
+ '_Mrc_cont','_Mrc_delet','_Mrc_goto','_Mrc_locat','_Mrc_recal','_Mrc_repl',
+ '_Mrc_seek','_Mrc_sp100','_Mrc_sp200','_Mrecord','_Mreport','_Mrqbe',
+ '_Mscreen','_Msm_data','_Msm_edit','_Msm_file','_Msm_format','_Msm_prog',
+ '_Msm_recrd','_Msm_systm','_Msm_text','_Msm_tools','_Msm_view','_Msm_windo',
+ '_Mst_about','_Mst_ascii','_Mst_calcu','_Mst_captr','_Mst_dbase','_Mst_diary',
+ '_Mst_filer','_Mst_help','_Mst_hphow','_Mst_hpsch','_Mst_macro','_Mst_office',
+ '_Mst_puzzl','_Mst_sp100','_Mst_sp200','_Mst_sp300','_Mst_specl','_Msysmenu',
+ '_Msystem','_Mtable','_Mtb_appnd','_Mtb_cpart','_Mtb_delet','_Mtb_delrc',
+ '_Mtb_goto','_Mtb_link','_Mtb_mvfld','_Mtb_mvprt','_Mtb_props','_Mtb_recal',
+ '_Mtb_sp100','_Mtb_sp200','_Mtb_sp300','_Mtb_sp400','_Mtb_szfld','_Mwi_arran',
+ '_Mwi_clear','_Mwi_cmd','_Mwi_color','_Mwi_debug','_Mwi_hide','_Mwi_hidea',
+ '_Mwi_min','_Mwi_move','_Mwi_rotat','_Mwi_showa','_Mwi_size','_Mwi_sp100',
+ '_Mwi_sp200','_Mwi_toolb','_Mwi_trace','_Mwi_view','_Mwi_zoom','_Mwindow',
+ '_Mwizards','_Mwz_all','_Mwz_form','_Mwz_foxdoc','_Mwz_import','_Mwz_label',
+ '_Mwz_mail','_Mwz_pivot','_Mwz_query','_Mwz_reprt','_Mwz_setup','_Mwz_table',
+ '_Mwz_upsizing','_Netware','_Oracle','_Padvance','_Pageno','_Pbpage',
+ '_Pcolno','_Pcopies','_Pdparms','_Pdriver','_Pdsetup','_Pecode',
+ '_Peject','_Pepage','_Pform','_Plength','_Plineno','_Ploffset',
+ '_Ppitch','_Pquality','_Pretext','_Pscode','_Pspacing','_Pwait',
+ '_Rmargin','_Runactivedoc','_Samples','_Screen','_Shell','_Spellchk',
+ '_Sqlserver','_Startup','_Tabs','_Tally','_Text','_Throttle',
+ '_Transport','_Triggerlevel','_Unix','_WebDevOnly','_WebMenu','_WebMsftHomePage',
+ '_WebVFPHomePage','_WebVfpOnlineSupport','_Windows','_Wizard','_Wrap','_scctext',
+ '_vfp','Additive','After','Again','Aindent','Alignright',
+ 'All','Alt','Alternate','And','Ansi','Any',
+ 'Aplabout','App','Array','As','Asc','Ascending',
+ 'Ascii','At','Attributes','Automatic','Autosave','Avg',
+ 'Bar','Before','Bell','Between','Bitmap','Blank',
+ 'Blink','Blocksize','Border','Bottom','Brstatus','Bucket',
+ 'Buffers','By','Candidate','Carry','Cascade','Catalog',
+ 'Cdx','Center','Century','Cga','Character','Check',
+ 'Classlib','Clock','Cnt','Codepage','Collate','Color',
+ 'Com1','Com2','Command','Compact','Compatible','Compress',
+ 'Confirm','Connection','Connections','Connstring','Console','Copies',
+ 'Cpcompile','Cpdialog','Csv','Currency','Cycle','Databases',
+ 'Datasource','Date','Db4','Dbc','Dbf','Dbmemo3',
+ 'Debug','Decimals','Defaultsource','Deletetables','Delimited','Delimiters',
+ 'Descending','Design','Development','Device','Dif','Disabled',
+ 'Distinct','Dlls','Dohistory','Dos','Dosmem','Double',
+ 'Driver','Duplex','Echo','Editwork','Ega25','Ega43',
+ 'Ems','Ems64','Encrypt','Encryption','Environment','Escape',
+ 'Events','Exact','Except','Exe','Exists','Expression',
+ 'Extended','F','Fdow','Fetch','Field','Fields',
+ 'File','Files','Fill','Fixed','Float','Foldconst',
+ 'Font','Footer','Force','Foreign','Fox2x','Foxplus',
+ 'Free','Freeze','From','Fullpath','Fw2','Fweek',
+ 'Get','Gets','Global','Group','Grow','Halfheight',
+ 'Having','Heading','Headings','Helpfilter','History','Hmemory',
+ 'Hours','Id','In','Indexes','Information','Instruct',
+ 'Int','Integer','Intensity','Intersect','Into','Is',
+ 'Isometric','Key','Keycolumns','Keycomp','Keyset','Last',
+ 'Ledit','Level','Library','Like','Linked','Lock',
+ 'Logerrors','Long','Lpartition','Mac','Macdesktop','Machelp',
+ 'Mackey','Macros','Mark','Master','Max','Maxmem',
+ 'Mdi','Memlimit','Memory','Memos','Memowidth','Memvar',
+ 'Menus','Messages','Middle','Min','Minimize','Minus',
+ 'Mod','Modal','Module','Mono43','Movers','Multilocks',
+ 'Mvarsiz','Mvcount','N','Near','Negotiate','Noalias',
+ 'Noappend','Noclear','Noclose','Noconsole','Nocptrans','Nodata',
+ 'Nodebug','Nodelete','Nodup','Noedit','Noeject','Noenvironment',
+ 'Nofloat','Nofollow','Nogrow','Noinit','Nolgrid','Nolink',
+ 'Nolock','Nomargin','Nomdi','Nomenu','Nominimize','Nomodify'
+ ),
+ 3 => array('Nomouse','None','Nooptimize','Nooverwrite','Noprojecthook','Noprompt',
+ 'Noread','Norefresh','Norequery','Norgrid','Norm','Normal',
+ 'Nosave','Noshadow','Noshow','Nospace','Not','Notab',
+ 'Notify','Noupdate','Novalidate','Noverify','Nowait','Nowindow',
+ 'Nowrap','Nozoom','Npv','Null','Number','Objects',
+ 'Odometer','Of','Off','Oleobjects','Only','Optimize',
+ 'Or','Orientation','Output','Outshow','Overlay','Overwrite',
+ 'Pad','Palette','Paperlength','Papersize','Paperwidth','Password',
+ 'Path','Pattern','Pause','Pdox','Pdsetup','Pen',
+ 'Pfs','Pixels','Plain','Popups','Precision','Preference',
+ 'Preview','Primary','Printer','Printquality','Procedures','Production',
+ 'Program','Progwork','Project','Prompt','Query','Random',
+ 'Range','Readborder','Readerror','Record','Recover','Redit',
+ 'Reference','References','Relative','Remote','Reprocess','Resource',
+ 'Rest','Restrict','Rgb','Right','Row','Rowset',
+ 'Rpd','Runtime','Safety','Same','Sample','Say',
+ 'Scale','Scheme','Scoreboard','Screen','Sdf','Seconds',
+ 'Selection','Shadows','Shared','Sheet','Shell','Shift',
+ 'Shutdown','Single','Some','Sortwork','Space','Sql',
+ 'Standalone','Status','Std','Step','Sticky','String',
+ 'Structure','Subclass','Summary','Sylk','Sysformats','Sysmenus',
+ 'System','T','Tab','Tables','Talk','Tedit',
+ 'Textmerge','Time','Timeout','Titles','Tmpfiles','To',
+ 'Topic','Transaction','Trap','Trbetween','Trigger','Ttoption',
+ 'Typeahead','Udfparms','Union','Unique','Userid','Users',
+ 'Values','Var','Verb','Vga25','Vga50','Views',
+ 'Volume','Where','Windows','Wk1','Wk3','Wks',
+ 'Workarea','Wp','Wr1','Wrap','Wrk','Xcmdfile',
+ 'Xl5','Xl8','Xls','Y','Yresolution','Zoom',
+ 'Activate','ActivateCell','Add','AddColumn','AddItem','AddListItem',
+ 'AddObject','AddProperty','AddToSCC','AfterBuild','AfterCloseTables','AfterDock',
+ 'AfterRowColChange','BeforeBuild','BeforeDock','BeforeOpenTables','BeforeRowColChange','Box',
+ 'Build','CheckIn','CheckOut','Circle','Clear','ClearData',
+ 'Cleanup','Click','CloneObject','CloseEditor','CloseTables','Cls',
+ 'CommandTargetExec','CommandTargetQueryStas','ContainerRelease','DataToClip','DblClick','Deactivate',
+ 'Delete','DeleteColumn','Deleted','Destroy','DoCmd','Dock',
+ 'DoScroll','DoVerb','DownClick','Drag','DragDrop','DragOver',
+ 'DropDown','Draw','EnterFocus','Error','ErrorMessage','Eval',
+ 'ExitFocus','FormatChange','GetData','GetFormat','GetLatestVersion','GoBack',
+ 'GotFocus','GoForward','GridHitTest','Hide','HideDoc','IndexToItemId',
+ 'Init','InteractiveChange','Item','ItemIdToIndex','KeyPress','Line',
+ 'Load','LostFocus','Message','MiddleClick','MouseDown','MouseMove',
+ 'MouseUp','MouseWheel','Move','Moved','NavigateTo','Newobject',
+ 'OLECompleteDrag','OLEDrag','OLEDragDrop','OLEDragOver','OLEGiveFeedback','OLESetData',
+ 'OLEStartDrag','OpenEditor','OpenTables','Paint','Point','Print',
+ 'ProgrammaticChange','PSet','QueryAddFile','QueryModifyFile','QueryRemoveFile','QueryRunFile',
+ 'QueryUnload','RangeHigh','RangeLow','ReadActivate','ReadExpression','ReadDeactivate',
+ 'ReadMethod','ReadShow','ReadValid','ReadWhen','Refresh','Release',
+ 'RemoveFromSCC','RemoveItem','RemoveListItem','RemoveObject','Requery','RequestData',
+ 'Reset','ResetToDefault','Resize','RightClick','SaveAs','SaveAsClass',
+ 'Scrolled','SetAll','SetData','SetFocus','SetFormat','SetMain',
+ 'SetVar','SetViewPort','ShowDoc','ShowWhatsThis','TextHeight','TextWidth',
+ 'Timer','UIEnable','UnDock','UndoCheckOut','Unload','UpClick',
+ 'Valid','WhatsThisMode','When','WriteExpression','WriteMethod','ZOrder',
+ 'ATGetColors','ATListColors','Accelerate','ActiveColumn','ActiveControl','ActiveForm',
+ 'ActiveObjectId','ActivePage','ActiveProject','ActiveRow','AddLineFeeds','Alias',
+ 'Alignment','AllowAddNew','AllowHeaderSizing','AllowResize','AllowRowSizing','AllowTabs',
+ 'AlwaysOnTop','Application','AutoActivate','AutoCenter','AutoCloseTables','AutoIncrement',
+ 'AutoOpenTables','AutoRelease','AutoSize','AutoVerbMenu','AutoYield','AvailNum',
+ 'BackColor','BackStyle','BaseClass','BorderColor','BorderStyle','BorderWidth',
+ 'Bound','BoundColumn','BoundTo','BrowseAlignment','BrowseCellMarg','BrowseDestWidth',
+ 'BufferMode','BufferModeOverride','BuildDateTime','ButtonCount','ButtonIndex','Buttons',
+ 'CLSID','CanAccelerate','CanGetFocus','CanLoseFocus','Cancel','Caption',
+ 'ChildAlias','ChildOrder','Class','ClassLibrary','ClipControls','ClipRect',
+ 'Closable','ColorScheme','ColorSource','ColumnCount','ColumnHeaders','ColumnLines',
+ 'ColumnOrder','ColumnWidths','Columns','Comment','ContinuousScroll','ControlBox',
+ 'ControlCount','ControlIndex','ControlSource','Controls','CurrentControl','CurrentX',
+ 'CurrentY','CursorSource','Curvature','DataSession','DataSessionId','DataSourceObj',
+ 'DataType','Database','DateFormat','DateMark','DefButton','DefButtonOrig',
+ 'DefHeight','DefLeft','DefTop','DefWidth','Default','DefaultFilePath',
+ 'DefineWindows','DeleteMark','Desktop','Dirty','DisabledBackColor','DisabledByEOF',
+ 'DisabledForeColor','DisabledItemBackColor','DisabledItemForeColor','DisabledPicture','DispPageHeight','DispPageWidth',
+ 'DisplayCount','DisplayValue','DoCreate','DockPosition','Docked','DocumentFile',
+ 'DownPicture','DragIcon','DragMode','DragState','DrawMode','DrawStyle',
+ 'DrawWidth','DynamicAlignment','DynamicBackColor','DynamicCurrentControl','DynamicFontBold','DynamicFontItalic',
+ 'DynamicFontName','DynamicFontOutline','DynamicFontShadow','DynamicFontSize','DynamicFontStrikethru','DynamicFontUnderline',
+ 'DynamicForeColor','EditFlags','Enabled','EnabledByReadLock','Encrypted','EnvLevel',
+ 'ErasePage','FileClass','FileClassLibrary','FillColor','FillStyle','Filter',
+ 'FirstElement','FontBold','FontItalic','FontName','FontOutline','FontShadow',
+ 'FontSize','FontStrikethru','FontUnderline','ForceFocus','ForeColor','FormCount',
+ 'FormIndex','FormPageCount','FormPageIndex','Format','Forms','FoxFont',
+ 'FullName','GoFirst','GoLast','GridLineColor','GridLineWidth','GridLines'
+ ),
+ 4 => array('HPROJ','HWnd','HalfHeightCaption','HasClip','HeaderGap','HeaderHeight',
+ 'Height','HelpContextID','HideSelection','Highlight','HomeDir','HostName',
+ 'HotKey','HscrollSmallChange','IMEMode','Icon','IgnoreInsert','InResize',
+ 'Increment','IncrementalSearch','InitialSelectedAlias','InputMask','Instancing','IntegralHeight',
+ 'Interval','ItemBackColor','ItemData','ItemForeColor','ItemIDData','ItemTips',
+ 'JustReadLocked','KeyPreview','KeyboardHighValue','KeyboardLowValue','LastModified','Left',
+ 'LeftColumn','LineSlant','LinkMaster','List','ListCount','ListIndex',
+ 'ListItem','ListItemId','LockDataSource','LockScreen','MDIForm','MainClass',
+ 'MainFile','Margin','MaxButton','MaxHeight','MaxLeft','MaxLength',
+ 'MaxTop','MaxWidth','MemoWindow','MinButton','MinHeight','MinWidth',
+ 'MouseIcon','MousePointer','Movable','MoverBars','MultiSelect','Name',
+ 'NapTime','NewIndex','NewItemId','NoDataOnLoad','NoDefine','NotifyContainer',
+ 'NullDisplay','NumberOfElements','OLEDragMode','OLEDragPicture','OLEDropEffects','OLEDropHasData',
+ 'OLEDropMode','OLERequestPendingTimeOut','OLEServerBusyRaiseError','OLEServerBusyTimeOut','OLETypeAllowed','OleClass',
+ 'OleClassId','OleControlContainer','OleIDispInValue','OleIDispOutValue','OleIDispatchIncoming','OleIDispatchOutgoing',
+ 'OnResize','OneToMany','OpenViews','OpenWindow','PageCount','PageHeight',
+ 'PageOrder','PageWidth','Pages','Panel','PanelLink','Parent',
+ 'ParentAlias','ParentClass','Partition','PasswordChar','Picture','ProcessID',
+ 'ProgID','ProjectHookClass','ProjectHookLibrary','Projects','ReadColors','ReadCycle',
+ 'ReadFiller','ReadLock','ReadMouse','ReadOnly','ReadSave','ReadSize',
+ 'ReadTimeout','RecordMark','RecordSource','RecordSourceType','Rect','RelationalExpr',
+ 'RelativeColumn','RelativeRow','ReleaseErase','ReleaseType','ReleaseWindows','Resizable',
+ 'RightToLeft','RowHeight','RowSource','RowSourceType','SCCProvider','SCCStatus',
+ 'SDIForm','ScaleMode','ScrollBars','SelLength','SelStart','SelText',
+ 'SelectOnEntry','Selected','SelectedBackColor','SelectedForeColor','SelectedID','SelectedItemBackColor',
+ 'SelectedItemForeColor','SelfEdit','ServerClass','ServerClassLibrary','ServerHelpFile','ServerName',
+ 'ServerProject','ShowTips','ShowWindow','Sizable','Size<height>','Size<maxlength>',
+ 'Size<width>','Skip','SkipForm','Sorted','SourceType','Sparse',
+ 'SpecialEffect','SpinnerHighValue','SpinnerLowValue','SplitBar','StartMode','StatusBarText',
+ 'Stretch','StrictDateEntry','Style','SystemRefCount','TabIndex','TabStop',
+ 'TabStretch','TabStyle','Tabhit','Tabs','Tag','TerminateRead',
+ 'ThreadID','TitleBar','ToolTipText','Top','TopIndex','TopItemId',
+ 'TypeLibCLSID','TypeLibDesc','TypeLibName','UnlockDataSource','Value','ValueDirty',
+ 'VersionComments','VersionCompany','VersionCopyright','VersionDescription','VersionNumber','VersionProduct',
+ 'VersionTrademarks','View','ViewPortHeight','ViewPortLeft','ViewPortTop','ViewPortWidth',
+ 'Visible','VscrollSmallChange','WasActive','WasOpen','WhatsThisButton','WhatsThisHelp',
+ 'WhatsThisHelpID','Width','WindowList','WindowNTIList','WindowState','WindowType',
+ 'WordWrap','ZOrderSet','ActiveDoc','Checkbox','Column','ComboBox',
+ 'CommandButton','CommandGroup','Container','Control','Cursor','Custom',
+ 'DataEnvironment','EditBox','Empty','FontClass','Form','Formset',
+ 'General','Grid','Header','HyperLink','Image','Label',
+ 'ListBox','Memo','OleBaseControl','OleBoundControl','OleClassIDispOut','OleControl',
+ 'OptionButton','OptionGroup','Page','PageFrame','ProjectHook','RectClass',
+ 'Relation','Session','Shape','Spinner','TextBox' ,'Toolbar'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ "!", "@", "$", "%",
+ "(", ")", "{", "}", "[", "]",
+ "-", "+", "*", "/",
+ "=", "<", ">",
+ ":", ";", ",", ".", "&",
+ "?", "??", "???"
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: blue;',
+ 2 => 'color: blue;',
+ 3 => 'color: blue;',
+ 4 => 'color: blue;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: green; font-style: italic;',
+ 2 => 'color: green; font-style: italic;',
+ 'MULTI' => 'color: #808080; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: blue;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: blue;'
+ ),
+ '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(
+ )
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/visualprolog.php b/application/libraries/geshi/visualprolog.php
new file mode 100644
index 000000000..5c9bbd4d0
--- /dev/null
+++ b/application/libraries/geshi/visualprolog.php
@@ -0,0 +1,129 @@
+<?php
+/*************************************************************************************
+ * visualprolog.php
+ * ----------
+ * Author: Thomas Linder Puls (puls@pdc.dk)
+ * Copyright: (c) 2008 Thomas Linder Puls (puls@pdc.dk)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/11/20
+ *
+ * Visual Prolog language file for GeSHi.
+ *
+ * CHANGES
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Visual Prolog',
+ 'COMMENT_SINGLE' => array(1 => '%'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'HARDQUOTE' => array('@"', '"'),
+ 'HARDESCAPE' => array('""'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'clauses','constants','constructors','delegate','domains','facts',
+ 'goal','guards','inherits','monitor','namespace','open',
+ 'predicates','properties','resolve','supports'
+ ),
+ 2 => array(
+ 'align','and','anyflow','as','bitsize','catch','determ','digits',
+ 'div','do','else','elseif','erroneous','externally','failure',
+ 'finally','from','language','mod','multi','nondeterm','or',
+ 'procedure','quot','rem','single','then','to'
+ ),
+ 3 => array(
+ '#bininclude','#else','#elseif','#endif','#error','#export',
+ '#externally','#if','#import','#include','#message','#options',
+ '#orrequires','#requires','#then','#warning'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '+', '-', '*', '?', '=', '/', '>', '<', '^', '!', ':', '(', ')', '{', '}', '[', ']'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => true,
+ 1 => true,
+ 2 => true,
+ 3 => true
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #808000;',
+ 2 => 'color: #333399;',
+ 3 => 'color: #800080;',
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #AA77BD',
+ 'MULTI' => 'color: #AA77BD'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #008080;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #00B7B7;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #0000FF;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #008000;',
+ 1 => 'color: #808000;',
+ 2 => 'color: #333399;',
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => ':',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ 0 => "(?<![a-zA-Z0-9_])(?!(?:PIPE|SEMI)>)[A-Z_]\w*(?!\w)",
+ 1 => "\\b(end\\s+)?(implement|class|interface)\\b",
+ 2 => "\\b(end\\s+)?(foreach|if|try)\\b",
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/whitespace.php b/application/libraries/geshi/whitespace.php
new file mode 100644
index 000000000..a27a7b920
--- /dev/null
+++ b/application/libraries/geshi/whitespace.php
@@ -0,0 +1,121 @@
+<?php
+/*************************************************************************************
+ * whitespace.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2009/10/31
+ *
+ * Whitespace language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ * - First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Whitespace',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ 3 => "/[^\n\x20\x09]+/s"
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ ),
+ 'COMMENTS' => array(
+ 3 => 'color: #666666; font-style: italic;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'SCRIPT' => array(
+ ),
+ 'REGEXPS' => array(
+ 2 => 'background-color: #FF9999;',
+ 3 => 'background-color: #9999FF;'
+ )
+ ),
+ 'URLS' => array(
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ 2 => array(
+ GESHI_SEARCH => "(?<!\\A)\x20",
+ GESHI_REPLACE => "&#32;",
+ GESHI_MODIFIERS => 's',
+ GESHI_BEFORE => "",
+ GESHI_AFTER => ""
+ ),
+ 3 => array(
+ GESHI_SEARCH => "\x09",
+ GESHI_REPLACE => "&#9;",
+ GESHI_MODIFIERS => 's',
+ GESHI_BEFORE => "",
+ GESHI_AFTER => ""
+ ),
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'ENABLE_FLAGS' => array(
+ 'KEYWORDS' => GESHI_NEVER,
+ 'SYMBOLS' => GESHI_NEVER,
+ 'STRINGS' => GESHI_NEVER,
+// 'REGEXPS' => GESHI_NEVER,
+ 'NUMBERS' => GESHI_NEVER
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/whois.php b/application/libraries/geshi/whois.php
new file mode 100644
index 000000000..019e91450
--- /dev/null
+++ b/application/libraries/geshi/whois.php
@@ -0,0 +1,181 @@
+<?php
+/*************************************************************************************
+ * whois.php
+ * --------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/09/14
+ *
+ * Whois response (RPSL format) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/09/14 (1.0.0)
+ * - First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Whois (RPSL format)',
+ 'COMMENT_SINGLE' => array(1 => '% ', 2 => '%ERROR:'),
+ 'COMMENT_MULTI' => array(),
+ 'COMMENT_REGEXP' => array(
+ //Description
+ 3 => '/(?:(?<=^remarks:)|(?<=^descr:))(.|\n\s)*$/mi',
+
+ //Contact Details
+ 4 => '/(?<=^address:)(.|\n\s)*$/mi',
+ 5 => '/\+\d+(?:(?:\s\(\d+(\s\d+)*\))?(?:\s\d+)+|-\d+-\d+)/',
+ 6 => '/\b(?!-|\.)[\w\-\.]+(?!-|\.)@((?!-)[\w\-]+\.)+\w+\b/',
+
+ //IP, Networks and AS information\links
+ 7 => '/\b(?<!\.|\-)(?:[\da-f:]+(?!\.)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?:\/1?\d\d?)?(?<!\.|\-)\b/',
+ 8 => '/\bAS\d+\b/'
+ ),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array(),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array( //Object Types
+ 'as-block','as-set','aut-num','domain','filter-set','inet-rtr',
+ 'inet6num','inetnum','irt','key-cert','limerick','mntner',
+ 'organisation','peering-set','person','poem','role','route-set',
+ 'route','route6','rtr-set'
+ ),
+ 2 => array( //Field Types
+ 'abuse-mailbox','address','admin-c','aggr-bndry','aggr-mtd','alias',
+ 'as-block','as-name','as-set','aut-num','auth','author','certif',
+ 'changed','components','country','default','descr','dom-net',
+ 'domain','ds-rdata','e-mail','encryption','export','export-comps',
+ 'fax-no','filter','filter-set','fingerpr','form','holes','ifaddr',
+ 'import','inet-rtr','inet6num','inetnum','inject','interface','irt',
+ 'irt-nfy','key-cert','limerick','local-as','mbrs-by-ref',
+ 'member-of','members','method','mnt-by','mnt-domains','mnt-irt',
+ 'mnt-lower','mnt-nfy','mnt-ref','mnt-routes','mntner','mp-default',
+ 'mp-export','mp-filter','mp-import','mp-members','mp-peer',
+ 'mp-peering','netname','nic-hdl','notify','nserver','org',
+ 'org-name','org-type','organisation','origin','owner','peer',
+ 'peering','peering-set','person','phone','poem','ref-nfy','refer',
+ 'referral-by','remarks','rev-srv','role','route','route-set',
+ 'route6','rtr-set','signature','source','status','sub-dom','tech-c',
+ 'text','upd-to','zone-c'
+ ),
+ 3 => array( //RPSL reserved
+ 'accept','action','and','announce','any','as-any','at','atomic',
+ 'except','from','inbound','into','networks','not','or','outbound',
+ 'peeras','refine','rs-any','to'
+ )
+ ),
+ 'SYMBOLS' => array(
+ ':'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000FF; font-weight: bold;',
+ 2 => 'color: #000080; font-weight: bold;',
+ 3 => 'color: #990000; font-weight: bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #666666; font-style: italic;',
+ 2 => 'color: #666666; font-style: italic;',
+ 3 => 'color: #404080;',
+ 4 => 'color: #408040;',
+ 5 => 'color: #408040;',
+ 6 => 'color: #408040;',
+ 7 => 'color: #804040;',
+ 8 => 'color: #804040;',
+ '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 => '',
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000080;',
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #0000FF;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #000088;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => 'http://www.irr.net/docs/rpsl.html'
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Variables
+ 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4,
+ 'PARSER_CONTROL' => array(
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'DISALLOWED_BEFORE' => '(?<=\A |\A \n(?m:^)|\n\n(?m:^))'
+ ),
+ 2 => array(
+ 'DISALLOWED_BEFORE' => '(?m:^)'
+ )
+ ),
+ 'ENABLE_FLAGS' => array(
+ 'BRACKETS' => GESHI_NEVER,
+ 'SYMBOLS' => GESHI_NEVER,
+ 'BRACKETS' => GESHI_NEVER,
+ 'STRINGS' => GESHI_NEVER,
+ 'ESCAPE_CHAR' => GESHI_NEVER,
+ 'NUMBERS' => GESHI_NEVER,
+ 'METHODS' => GESHI_NEVER,
+ 'SCRIPT' => GESHI_NEVER
+ )
+ ),
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/geshi/winbatch.php b/application/libraries/geshi/winbatch.php
new file mode 100644
index 000000000..5b5dcc1df
--- /dev/null
+++ b/application/libraries/geshi/winbatch.php
@@ -0,0 +1,369 @@
+<?php
+/*************************************************************************************
+ * winbatch.php
+ * ------------
+ * Author: Craig Storey (storey.craig@gmail.com)
+ * Copyright: (c) 2004 Craig Storey (craig.xcottawa.ca)
+ * Release Version: 1.0.8.6
+ * Date Started: 2006/05/19
+ *
+ * WinBatch language file for GeSHi.
+ *
+ * WinBatch is a Windows scripting language - www.winbatch.com.
+ * The keywords were pulled from the winbatch/system/WIL.clr file for v2005G.
+ * Not all extender functions are added, but a very large set of the most common.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2006/05/05 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * - Right now any ':Subroutine' is treated as a comment. This highlights the
+ * Subroutine's name, but it's not a perfect fix. I should use a RegEx in
+ * GeSHI_Search&Replace features..
+ * - Update the list of extender functions.
+ * - Use a regular expression to comment UDFs that start with 'udf_'.
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Winbatch',
+ 'COMMENT_SINGLE' => array(1 => ';', 2 => ':'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"', '`'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ 1 => array(
+ 'While', 'To', 'Then', 'Switch', 'Select', 'Return', 'Next', 'IntControl', 'Include', 'In', 'If',
+ 'Goto', 'GoSub', 'ForEach', 'For', 'Exit', 'Execute', 'ErrorMode', 'EndWhile', 'EndSwitch', '#EndSubRoutine',
+ 'EndSelect', 'EndIf', '#EEndFunction', 'EndFor', 'End', 'Else', 'DropWild', 'Drop', '#DefineSubRoutine',
+ '#DefineFunction', 'Debug', 'Continue', 'Case', 'CallExt', 'Call', 'By', 'BreakPoint', 'Break'
+ ),
+ 2 => array(
+ 'ZOOMED', 'YES', 'WORD4', 'WORD2', 'WORD1', 'WHOLESECTION', 'WAIT', 'UNSORTED', 'UNCHECK', 'TRUE', 'TILE',
+ 'TAB', 'STRING', 'STACK', 'SPC2NET', 'SORTED', 'SOK', 'SNET2PC', 'SINGLE', 'SHIFT', 'SERVER', 'SERRWINSOCK',
+ 'SERRVOICE', 'SERRSOCKET', 'SERRSERVICE', 'SERRSELECT', 'SERRPARAM', 'SERROUTOFMEM', 'SERRNOTFOUND', 'SERRNOCONN',
+ 'SERRNOANSWER', 'SERRMUSTWAIT', 'SERRIPADDR', 'SERRHOSTNAME', 'SERRFAILURE', 'SERRBUSY', 'SCROLLLOCK', 'SCANCEL',
+ 'SAVE', 'SALREADY', 'ROWS', 'REGUSERS', 'REGROOT', 'REGMACHINE', 'REGCURRENT', 'REGCLASSES', 'RDBLCLICK', 'RCLICK',
+ 'RBUTTON', 'RAD2DEG', 'QSUCCESSINFO', 'QSUCCESS', 'QSTILLEX', 'QROLLBACK', 'QNULL', 'QNODATA', 'QNEXT', 'QNEEDDATA',
+ 'QFIRST', 'QCOMMIT', 'QBADHANDLE', 'PRINTER', 'PLANCKJOULES', 'PLANCKERGS', 'PI', 'PARSEONLY', 'PARSEC', 'P3ERRREPLY',
+ 'OPEN', 'ON', 'OFF', 'NUMLOCK', 'NOWAIT', 'NOTIFY', 'NORMAL', 'NORESIZE', 'NONE', 'NO', 'NCSAFORMAT', 'MULTIPLE',
+ 'MSFORMAT', 'MPLAYRDBLCK', 'MPLAYRCLK', 'MPLAYRBUTTON', 'MPLAYMDBLCK', 'MPLAYMCLK', 'MPLAYMBUTTON', 'MPLAYLDBLCK',
+ 'MPLAYLCLK', 'MPLAYLBUTTON', 'MINOR', 'MDBLCLICK', 'MCLICK', 'MBYESNO', 'MBUTTON', 'MBOKCANCEL', 'MAJOR', 'MAGFIELD',
+ 'LOCALGROUP', 'LIGHTMTPS', 'LIGHTMPS', 'LF', 'LDBLCLICK', 'LCLICK', 'LBUTTON', 'LAFFDBERROR', 'ICON', 'HTTPS', 'HTTP',
+ 'HNOHEADER', 'HMETHODPOST', 'HMETHODGET', 'HIDDEN', 'HHEADERONLY', 'HHEADER', 'GRAVITATION', 'GOPHER', 'GOLDENRATIO',
+ 'GMTSEC', 'GLOBALGROUP', 'GFTSEC', 'GETPROCID', 'GETEXITCODE', 'FWDSCAN', 'FTPPASSIVE', 'FTP', 'FLOAT8', 'FARADAY',
+ 'FALSE', 'EXTENDED', 'EULERS', 'ENABLE', 'ELECTRIC', 'DRIVE', 'DISABLE', 'DESCENDING', 'DEG2RAD', 'DEFAULT', 'CTRL',
+ 'CRLF', 'CR', 'COMMONFORMAT', 'COLUMNS', 'CHECK', 'CAPSLOCK', 'CANCEL', 'BOLTZMANN', 'BACKSCAN', 'AVOGADRO', 'ATTR_X',
+ 'ATTR_T', 'ATTR_SY', 'ATTR_SH', 'ATTR_RO', 'ATTR_RI', 'ATTR_P', 'ATTR_IC', 'ATTR_H', 'ATTR_DM', 'ATTR_DI', 'ATTR_DC',
+ 'ATTR_CI', 'ATTR_A', 'ASCENDING', 'ARRANGE', 'AMC', 'ACC_WRITE', 'ACC_READ_NT', 'ACC_READ_95', 'ACC_READ', 'ACC_PRINT_NT',
+ 'ACC_PMANG_NT', 'ACC_PFULL_NT', 'ACC_LIST', 'ACC_FULL_NT', 'ACC_FULL_95', 'ACC_DELETE', 'ACC_CREATE', 'ACC_CONTROL',
+ 'ACC_CHNG_NT', 'ACC_ATTRIB', 'ABOVEICONS'
+ ),
+ 3 => array(
+ 'Yields', 'Yield', 'WinZoom', 'WinWaitExist', 'WinWaitClose', 'WinWaitChild', 'WinVersion', 'WinTitle', 'WinSysInfo',
+ 'WinState', 'WinShow', 'WinResources', 'WinPositionChild', 'WinPosition', 'WinPlaceSet', 'WinPlaceGet', 'WinPlaceChild',
+ 'WinPlace', 'WinParmSet', 'WinParmGet', 'WinName', 'WinMetrics', 'WinItemProcId', 'WinItemNameId', 'WinItemizeEx',
+ 'WinItemize', 'WinItemChild', 'WinIsDos', 'WinIdGet', 'WinIconize', 'WinHide', 'WinHelp', 'WinGetactive', 'WinExistchild',
+ 'WinExist', 'WinExename', 'WinConfig', 'WinClosenot', 'WinClose', 'WinArrange', 'WinActivechild', 'WinActivchild',
+ 'WinActivate', 'WebVerifyCard', 'WebSetTimeout', 'WebParamSize', 'WebParamNames', 'WebParamFile', 'WebParamData',
+ 'WebParamBuf', 'WebOutFile', 'WebOutBinary', 'WebOut', 'WebDumpError', 'WebDatData', 'WebCounter', 'WebConSize', 'WebConData',
+ 'WebConBuf', 'WebCmdData', 'WebBaseConv', 'Wallpaper', 'WaitForKeyEX', 'WaitForKey', 'VersionDLL', 'Version', 'VarType',
+ 'TimeYmdHms', 'TimeWait', 'TimeSubtract', 'TimeJulToYmd', 'TimeJulianDay', 'TimeDiffSecs', 'TimeDiffDays', 'TimeDiff', 'TimeDelay',
+ 'TimeDate', 'TimeAdd', 'TextSelect', 'TextBoxSort', 'TextBox', 'Terminate', 'Tanh', 'Tan', 'SysParamInfo', 'SvcWaitForCmd',
+ 'SvcSetState', 'SvcSetAccept', 'StrUpper', 'StrTrim', 'StrSubWild', 'StrSub', 'StrScan', 'StrReplace', 'StrLower', 'StrLenWild',
+ 'StrLen', 'StrIndexWild', 'StrIndexNC', 'StrIndex', 'StriCmp', 'StrFixLeft', 'StrFixCharsL', 'StrFixChars', 'StrFix', 'StrFill',
+ 'StrCnt', 'StrCmp', 'StrClean', 'StrCharCount', 'StrCat', 'StrByteCount', 'Sqrt', 'SoundVolume', 'Sounds', 'Snapshot', 'Sinh', 'Sin',
+ 'ShortCutMake', 'ShortCutInfo', 'ShortCutExtra', 'ShortCutEdit', 'ShortCutDir', 'ShellExecute', 'SendMenusToEx', 'SendMenusTo',
+ 'SendKeysTo', 'SendKeysChild', 'SendKey', 'RunZoomWait', 'RunZoom', 'RunWithLogon', 'RunWait', 'RunShell', 'RunIconWait',
+ 'RunIcon', 'RunHideWait', 'RunHide', 'RunExit', 'RunEnviron', 'Run', 'RtStatus', 'Reload', 'RegUnloadHive', 'RegSetValue',
+ 'RegSetQword', 'RegSetMulSz', 'RegSetExpSz', 'RegSetEx', 'RegSetDword', 'RegSetBin', 'RegQueryValue', 'RegQueryStr',
+ 'RegQueryQword', 'RegQueryMulSz', 'RegQueryKeys', 'RegQueryKeyLastWriteTime', 'RegQueryKey', 'RegQueryItem', 'RegQueryExpSz',
+ 'RegQueryEx', 'RegQueryDword', 'RegQueryBin', 'RegOpenKeyEx', 'RegOpenKey', 'RegOpenFlags', 'RegLoadHive', 'RegExistValue',
+ 'RegExistKey', 'RegEntryType', 'RegDelValue', 'RegDeleteKey', 'RegCreateKey', 'RegConnect', 'RegCloseKey', 'RegApp', 'Random',
+ 'PtrPersistent', 'PtrGlobalDefine', 'PtrGlobal', 'Print', 'PlayWaveform', 'PlayMidi', 'PlayMedia', 'PipeServerWrite', 'PipeServerRead',
+ 'PipeServerCreate', 'PipeServerClose', 'PipeInfo', 'PipeClientSendRecvData', 'PipeClientOpen', 'PipeClientClose', 'Pause',
+ 'ParseData', 'ObjectTypeGet', 'ObjectType', 'ObjectOpen', 'ObjectGet', 'ObjectEventRemove', 'ObjectEventAdd',
+ 'ObjectCreate', 'ObjectConstToArray', 'ObjectConstantsGet', 'ObjectCollectionOpen', 'ObjectCollectionNext',
+ 'ObjectCollectionClose', 'ObjectClose', 'ObjectAccess', 'Num2Char', 'NetInfo', 'MsgTextGet', 'MousePlay', 'MouseMove', 'MouseInfo',
+ 'MouseDrag', 'MouseCoords', 'MouseClickBtn', 'MouseClick', 'mod', 'Min', 'Message', 'Max', 'Loge', 'LogDisk', 'Log10', 'LastError',
+ 'KeyToggleSet', 'KeyToggleGet', 'ItemSortNc', 'ItemSort', 'ItemSelect', 'ItemReplace', 'ItemRemove', 'ItemLocate', 'ItemInsert',
+ 'ItemExtractCSV', 'ItemExtract', 'ItemCountCSV', 'ItemCount', 'IsNumber', 'IsLicensed', 'IsKeyDown', 'IsInt', 'IsFloat', 'IsDefined',
+ 'Int', 'InstallFile', 'IniWritePvt', 'IniWrite', 'IniReadPvt', 'IniRead', 'IniItemizePvt', 'IniItemize', 'IniDeletePvt', 'IniDelete',
+ 'IgnoreInput', 'IconReplace', 'IconInfo', 'IconExtract', 'IconArrange', 'GetTickCount', 'GetObject', 'GetExactTime', 'Floor',
+ 'FindWindow', 'FileYmdHms', 'FileWrite', 'FileVerInfo', 'FileTimeTouch', 'FileTimeSetEx', 'FileTimeSet', 'FileTimeGetEx',
+ 'FileTimeGet', 'FileTimeCode', 'FileSizeEx', 'FileSize', 'FileRoot', 'FileRename', 'FileRead', 'FilePutW', 'FilePut', 'FilePath',
+ 'FileOpen', 'FileNameShort', 'FileNameLong', 'FileNameEval2', 'FileNameEval1', 'FileMoveAttr', 'FileMove', 'FileMapName',
+ 'FileLocate', 'FileItemPath', 'FileItemize', 'FileInfoToArray', 'FileGetW', 'FileGet', 'FileFullname', 'FileExtension', 'FileExist',
+ 'FileDelete', 'FileCreateTemp', 'FileCopyAttr', 'FileCopy', 'FileCompare', 'FileClose', 'FileBaseName', 'FileAttrSetEx',
+ 'FileAttrSet', 'FileAttrGetEx', 'FileAttrGet', 'FileAppend', 'Fabs', 'ExtractAttachedFile', 'Exp', 'ExeTypeInfo', 'Exclusive',
+ 'EnvItemize', 'EnvironSet', 'Environment', 'EndSession', 'DosVersion', 'DllLoad', 'DllLastError', 'DllHwnd', 'DllHinst',
+ 'DllFree', 'DllCallCDecl', 'DllCall', 'Display', 'DiskVolinfo', 'DiskSize', 'DiskScan', 'DiskInfo', 'DiskFree', 'DiskExist',
+ 'DirWindows', 'DirSize', 'DirScript', 'DirRename', 'DirRemove', 'DirMake', 'DirItemize', 'DirInfoToArray', 'DirHome', 'DirGet',
+ 'DirExist', 'DirChange', 'DirAttrSetEx', 'DirAttrSet', 'DirAttrGetEx', 'DirAttrGet', 'DialogProcOptions', 'DialogObject',
+ 'DialogControlState', 'DialogControlSet', 'DialogControlGet', 'DialogBox', 'Dialog', 'Delay', 'Decimals', 'DebugTrace',
+ 'DebugData', 'DDETimeout', 'DDETerminate', 'DDERequest', 'DDEPoke', 'DDEInitiate', 'DDEExecute', 'DateTime', 'CurrFilepath',
+ 'CurrentPath', 'CurrentFile', 'CreateObject', 'Cosh', 'Cos', 'ClipPut', 'ClipHasFormat', 'ClipGetEx', 'ClipGet', 'ClipAppend',
+ 'ChrUnicodeToString', 'ChrUnicodeToHex', 'ChrStringToUnicode', 'ChrSetCodepage', 'ChrHexToUnicode', 'ChrGetCodepage',
+ 'Char2Num', 'Ceiling', 'ButtonNames', 'BoxUpdates', 'BoxTitle', 'BoxTextFont', 'BoxTextColor', 'BoxText', 'BoxShut', 'BoxPen',
+ 'BoxOpen', 'BoxNew', 'BoxMapmode', 'BoxesUp', 'BoxDrawText', 'BoxDrawRect', 'BoxDrawLine', 'BoxDrawCircle', 'BoxDestroy',
+ 'BoxDataTag', 'BoxDataClear', 'BoxColor', 'BoxCaption', 'BoxButtonWait', 'BoxButtonStat', 'BoxButtonKill', 'BoxButtonDraw',
+ 'BoxBitMap', 'BinaryXor', 'BinaryXlate', 'BinaryWriteEx', 'BinaryWrite', 'BinaryTagRepl', 'BinaryTagLen', 'BinaryTagInit',
+ 'BinaryTagIndex', 'BinaryTagFind', 'BinaryTagExtr', 'BinaryStrCnt', 'BinarySort', 'BinaryReplace', 'BinaryReadEx',
+ 'BinaryRead', 'BinaryPokeStrW', 'BinaryPokeStr', 'BinaryPokeHex', 'BinaryPokeFlt', 'BinaryPoke4', 'BinaryPoke2', 'BinaryPoke',
+ 'BinaryPeekStrW', 'BinaryPeekStr', 'BinaryPeekHex', 'BinaryPeekFlt', 'BinaryPeek4', 'BinaryPeek2', 'BinaryPeek', 'BinaryOr',
+ 'BinaryOleType', 'BinaryIndexNc', 'BinaryIndexEx', 'BinaryIndexBin', 'BinaryIndex', 'BinaryIncrFlt', 'BinaryIncr4',
+ 'BinaryIncr2', 'BinaryIncr', 'BinaryHashRec', 'BinaryFree', 'BinaryEodSet', 'BinaryEodGet', 'BinaryCopy', 'BinaryConvert',
+ 'BinaryCompare', 'BinaryClipPut', 'BinaryClipGet', 'BinaryChecksum', 'BinaryBufInfo', 'BinaryAnd', 'BinaryAllocArray',
+ 'BinaryAlloc', 'Beep', 'Average', 'Atan', 'AskYesNo', 'AskTextbox', 'AskPassword', 'AskLine', 'AskItemlist', 'AskFont',
+ 'AskFiletext', 'AskFilename', 'AskDirectory', 'AskColor', 'Asin', 'ArrInitialize', 'ArrInfo', 'ArrDimension',
+ 'Arrayize', 'ArrayFilePutCSV', 'ArrayFilePut', 'ArrayFileGetCSV', 'ArrayFileGet', 'AppWaitClose', 'AppExist', 'AddExtender',
+ 'Acos', 'Abs', 'About'
+ ),
+ 4 => array(
+ 'zZipFiles', 'zVersionInfo', 'zVersion', 'zUnZipFiles', 'zSetPortBit', 'zRPortShift', 'zPortOut', 'zPortIn', 'zNotPortBit',
+ 'zLPortShift', 'zGetPortBit', 'zClrPortBit', 'xVerifyCCard', 'xSendMessage', 'xMessageBox', 'xMemCompact', 'xHex', 'xGetElapsed',
+ 'xGetChildHwnd', 'xExtenderInfo', 'xEnumStreams', 'xEjectMedia', 'xDriveReady', 'xDiskLabelGet', 'xCursorSet', 'xBaseConvert',
+ 'wxPing', 'wxParmSet', 'wxParmGet', 'wxMsgSetHdr', 'wxMsgGetHdr', 'wxMsgGetBody', 'wxHost2Addr', 'wxGetLastErr', 'wxGetInfo',
+ 'wxGetErrDesc', 'wxAddr2Host', 'wtsWaitSystemEvent', 'wtsVersion', 'wtsTerminateProcess', 'wtsShutdownSystem', 'wtsSendMessage',
+ 'wtsQuerySessionInfo', 'wtsProcIdToSessId', 'wtsLogoffSession', 'wtsLastErrMsg', 'wtsIsTSEnabled', 'wtsIsCitrixEnabled',
+ 'wtsGetActiveConsoleSessId', 'wtsEnumSessions', 'wtsEnumProcesses', 'wtsDisconnectSession', 'wnWrkGroups', 'wnVersion', 'wntWtsUserSet',
+ 'wntWtsUserGet', 'wntVersion', 'wntUserSidChk', 'wntUserSetDat', 'wntUserRename', 'wntUserProps', 'wntUserList', 'wntUserInfo',
+ 'wntUserGetDat', 'wntUserFiles', 'wntUserExist', 'wntUserDel', 'wntUserAddDat', 'wntUserAdd', 'wntSvcStatus', 'wntSvcStart',
+ 'wntSvcList', 'wntSvcDelete', 'wntSvcCreate', 'wntSvcControl', 'wntSvcCfgSet', 'wntSvcCfgGet', 'wntShutdown', 'wntShareUsers',
+ 'wntShareSet', 'wntShareList', 'wntShareInfo', 'wntShareDel', 'wntShareAdd', 'wntServiceInf', 'wntServiceAt', 'wntServerType',
+ 'wntServerList', 'wntServerInfo', 'wntSecurityGet', 'wntRunAsUser', 'wntResources2', 'wntResources', 'wntRemoteTime', 'wntRasUserSet',
+ 'wntRasUserGet', 'wntProfileInfo', 'wntProfileDel', 'wntPrivUsers', 'wntPrivList', 'wntPrivGet', 'wntPrivDel', 'wntPrivAdd',
+ 'wntOwnerSet', 'wntOwnerGet', 'wntMemberSet', 'wntMemberLst2', 'wntMemberList', 'wntMemberGrps', 'wntMemberGet', 'wntMemberDel',
+ 'wntLsaPolSet', 'wntLsaPolGet', 'wntListGroups', 'wntLastErrMsg', 'wntGroupRen', 'wntGroupInfo', 'wntGroupEdit', 'wntGroupDel',
+ 'wntGroupAdd', 'wntGetUser', 'wntGetDrive', 'wntGetDc', 'wntGetCon', 'wntFileUsers', 'wntFilesOpen', 'wntFileClose', 'wntEventWrite',
+ 'wntEventLog', 'wntDomainSync', 'wntDirDialog', 'wntDfsList', 'wntDfsGetInfo', 'wntCurrUsers', 'wntChgPswd', 'wntCancelCon',
+ 'wntAuditMod', 'wntAuditList', 'wntAuditGet', 'wntAuditDel', 'wntAuditAdd2', 'wntAuditAdd', 'wntAddPrinter', 'wntAddDrive',
+ 'wntAcctPolSet', 'wntAcctPolGet', 'wntAcctList', 'wntAcctInfo', 'wntAccessMod', 'wntAccessList', 'wntAccessGet', 'wntAccessDel',
+ 'wntaccessadd2', 'wntAccessAdd', 'wnShares', 'wnSharePath', 'wnShareName', 'wnShareCnt', 'wnServers', 'wnRestore', 'wnNetNames',
+ 'wnGetUser', 'wnGetCon', 'wnGetCaps', 'wnDlgShare', 'wnDlgNoShare', 'wnDlgDiscon', 'wnDlgCon4', 'wnDlgCon3', 'wnDlgCon2', 'wnDlgCon',
+ 'wnDlgBrowse', 'wnDialog', 'wnCmptrInfo', 'wnCancelCon', 'wnAddCon', 'WaitSRQ', 'w9xVersion', 'w9xUserSetDat', 'w9xUserRename',
+ 'w9xUserprops', 'w9xUserList', 'w9xUserinfo', 'w9xUserGetDat', 'w9xUserExist', 'w9xUserDel', 'w9xUserAddDat', 'w9xUserAdd', 'w9xShareSet',
+ 'w9xShareInfo', 'w9xShareDel', 'w9xShareAdd', 'w9xServiceAt', 'w9xServerList', 'w9xRemoteTime', 'w9xOwnerGet', 'w9xMemberSet',
+ 'w9xMemberList', 'w9xMemberGrps', 'w9xMemberGet', 'w9xMemberDel', 'w9xListGroups', 'w9xGroupInfo', 'w9xGroupDel', 'w9xGroupAdd',
+ 'w9xGetDC', 'w9xFileUsers', 'w9xAccessList', 'w9xAccessGet', 'w9xAccessDel', 'w9xAccessAdd', 'w95Version', 'w95ShareUsers',
+ 'w95ShareSet', 'w95ShareList', 'w95ShareInfo', 'w95ShareDel', 'w95ShareAdd', 'w95ServiceInf', 'w95ServiceAt', 'w95ServerType',
+ 'w95ServerInfo', 'w95Resources', 'w95GetUser', 'w95GetDrive', 'w95GetCon', 'w95FileUsers', 'w95FileClose', 'w95DirDialog',
+ 'w95CancelCon', 'w95AddPrinter', 'w95AddDrive', 'w95AccessDel', 'w95AccessAdd', 'w3Version', 'w3PrtBrowse', 'w3NetGetUser',
+ 'w3NetDialog', 'w3GetCon', 'w3GetCaps', 'w3DirBrowse', 'w3CancelCon', 'w3AddCon', 'urlGetScheme', 'urlEncode', 'urlDecode',
+ 'tVersion', 'tSetPriority', 'TriggerList', 'Trigger', 'tRemoteConn', 'tOpenProc', 'tListProc', 'tListMod', 'tKillProc', 'tGetProcInfo',
+ 'tGetPriority', 'tGetModInfo', 'tGetLastError', 'tGetData', 'TestSys', 'TestSRQ', 'tCountProc', 'tCompatible', 'tCloseProc',
+ 'tBrowseCntrs', 'sSendString', 'sSendNum', 'sSendLine', 'sSendBinary', 'sRecvNum', 'sRecvLine', 'sRecvBinary', 'SrchVersion',
+ 'SrchNext', 'SrchInit', 'SrchFree', 'sOpen', 'sOK2Send', 'sOK2Recv', 'smtpSendText', 'smtpSendFile', 'sListen', 'SetRWLS',
+ 'SendSetup', 'SendLLO', 'SendList', 'SendIFC', 'SendDataBytes', 'SendCmds', 'Send', 'sConnect', 'sClose', 'SByteOrder32',
+ 'sByteOrder16', 'sAccept', 'rRegVersion', 'rRegSearch', 'ResetSys', 'ReceiveSetup', 'Receive', 'ReadStsByte', 'RcvRespMsg',
+ 'RasVersion', 'RasTypeSize', 'RasRename', 'RasNumCons', 'RasNameValid', 'RasListActCon', 'RasItemize', 'RasHangUp', 'RasGetLastErr',
+ 'RasGetConStat', 'RasEntrySet', 'RasEntryInfo', 'RasEntryExist', 'RasEntryDel', 'RasEntryAdd', 'RasDialInfo', 'RasDial',
+ 'RasCopy', 'RasConStatus', 'qVersionInfo', 'qTransact', 'qTables', 'qSpecial', 'qSetConnOpt', 'qNumRsltCol', 'qNativeSql', 'qLastCode',
+ 'qGetData', 'qFreeStmt', 'qFreeEnv', 'qFreeConnect', 'qFetch', 'qExecDirect', 'qError', 'qDriverList', 'qDriverCon', 'qDisconnect',
+ 'qDataSources', 'qConnect', 'qConfigError', 'qConfigData', 'qColumns', 'qBindCol', 'qAllocStmt', 'qAllocEnv', 'qAllocConnect',
+ 'pWaitFor', 'pVersionInfo', 'pTimeout', 'pSetPublish', 'pSetPrtInfo', 'pSetPrtAttrib', 'pSetDefPrtEx', 'pSetDefPrt', 'pSendFile',
+ 'pRecvFile', 'pPutString', 'pPutLine', 'pPutChar', 'pPutByte', 'pPutBinary', 'PPollUnconfig', 'PPollConfig', 'PPoll', 'pPeekChar',
+ 'pPeekByte', 'pPaperSizes', 'pPaperBins', 'pModemSReg', 'pModemParams', 'pModemInit', 'pModemHangUp', 'pModemDial', 'pModemControl',
+ 'pModemConnect', 'pModemCommand', 'pModemAnsRing', 'pModemAnsCall', 'pMediaTypes', 'pGetString', 'pGetPublish', 'pGetPrtList',
+ 'pGetPrtInfo', 'pGetPrtAttrib', 'pGetLine', 'pGetLastError', 'pGetErrorMsg', 'pGetErrorCode', 'pGetDefPrtInf', 'pGetChar',
+ 'pGetByte', 'pGetBinary', 'pDelPrtConn', 'pDelPrinter', 'pComOpen', 'pComModify', 'pComInfo', 'pComControl', 'pComClose',
+ 'pCheckSum', 'pCheckBinary', 'pCaptureOn', 'pCaptureOff', 'pCaptureLog', 'PassControl', 'pAddPrtConn', 'pAddPrinter', 'p3RecvText',
+ 'p3RecvFile', 'p3Peek', 'p3Open', 'p3GetReply', 'p3Delete', 'p3Count', 'p3Close', 'nwWhoAmI', 'nwVfyPassword', 'nwVersion',
+ 'nwSrvShutdown', 'nwSrvNLMMgr', 'nwSrvGenGUID', 'nwSrvExecNCF', 'nwSetVolLimit', 'nwSetSrvParam', 'nwSetSrvInfo', 'nwSetPrimServ',
+ 'nwSetPassword', 'nwSetOptions', 'nwSetFileInfo', 'nwSetDirLimit', 'nwSetDirInfo', 'nwSetContext', 'nwSetBcastMode', 'nwServerList',
+ 'nwSendBcastMsg', 'nwSearchObjects', 'nwSearchFilter', 'nwRenameObject', 'nwRemoveObject', 'nwReceiveBcastMsg', 'nwNameConvert',
+ 'nwMutateObject', 'nwMoveObject', 'nwModifyObject', 'nwMapDelete', 'nwMap', 'nwLogout', 'nwLogin', 'nwListUserGroups',
+ 'nwListObjects', 'nwListGroupMembers', 'nwLastErrMsg', 'nwIsUserInGroup', 'nwGetVolLimit', 'nwGetSrvStats', 'nwGetSrvParam',
+ 'nwGetSrvInfo', 'nwGetSrvCfg', 'nwGetOptions', 'nwGetObjValue', 'nwGetObjInfo', 'nwGetNLMInfo', 'nwGetMapped', 'nwGetFileInfo',
+ 'nwGetDirLimit', 'nwGetDirInfo', 'nwGetContext', 'nwGetConnInfo', 'nwGetCapture', 'nwGetBcastMode', 'nwGetAttrInfo',
+ 'nwDriveStatus', 'nwDrivePath', 'nwDetachFromServer', 'nwDelUserFromGroup', 'nwDelConnNum', 'nwCompareObject', 'nwClientInfo',
+ 'nwChgPassword', 'nwAttachToServer', 'nwAddUserToGroup', 'nwAddObject', 'netVersion', 'netResources', 'netGetUser', 'netGetCon',
+ 'netDirDialog', 'netCancelCon', 'netAddPrinter', 'netAddDrive', 'n4Version', 'n4UserGroups', 'n4UserGroupEx', 'n4SetPrimServ',
+ 'n4SetOptions', 'n4SetContextG', 'n4SetContext', 'n4ServerList', 'n4ServerInfo', 'n4ObjSearch', 'n4ObjRename', 'n4ObjOptions',
+ 'n4ObjMove', 'n4ObjGetVal', 'n4ObjectProps', 'n4ObjectList', 'n4ObjectInfo', 'n4ObjDelete', 'n4NameConvert', 'n4MsgsEndAll',
+ 'n4MsgsEnd', 'n4MemberSet', 'n4MemberGet', 'n4MemberDel', 'n4MapRoot', 'n4MapDir', 'n4MapDelete', 'n4Map', 'n4LogoutTree',
+ 'n4Logout', 'n4Login', 'n4GetUserName', 'n4GetUserId', 'n4GetUser', 'n4GetNetAddr', 'n4GetMapped', 'n4GetContext',
+ 'n4GetConnNum', 'n4FileUsers', 'n4FileTimeGet', 'n4FileAttrSet', 'n4FileAttrGet', 'n4DriveStatus', 'n4DrivePath', 'n4DirTimeGet',
+ 'n4DirAttrSet', 'n4DirAttrGet', 'n4Detach', 'n4ChgPassword', 'n4CapturePrt', 'n4CaptureGet', 'n4CaptureEnd', 'n4Attach',
+ 'n3Version', 'n3UserGroups', 'n3ServerList', 'n3ServerInfo', 'n3MsgsEndAll', 'n3MsgsEnd', 'n3MemberSet', 'n3MemberGet',
+ 'n3MemberDel', 'n3Maproot', 'n3Mapdir', 'n3Mapdelete', 'n3Map', 'n3Logout', 'n3GetUserId', 'n3GetUser', 'n3GetNetAddr',
+ 'n3GetMapped', 'n3GetConnNum', 'n3FileTimeGet', 'n3FileAttrSet', 'n3FileAttrGet', 'n3DriveStatus', 'n3DrivePath',
+ 'n3DirTimeGet', 'n3DirAttrSet', 'n3DirAttrGet', 'n3Detach', 'n3ChgPassword', 'n3CapturePrt', 'n3CaptureGet',
+ 'n3CaptureEnd', 'n3Attach', 'mVersion', 'mSyncMail', 'mSendMailEx', 'mSendMail', 'mrecvmail', 'mReadNextMsg', 'mLogOn',
+ 'mLogOff', 'mFindNext', 'mError', 'mCompatible', 'kVerInfo', 'kStatusInfo', 'kSendText', 'kSendFile', 'kManageImap4',
+ 'kInit', 'kGetMail', 'kExtra', 'kDest', 'kDeletePop3', 'iWriteDataBuf', 'iWriteData', 'iVersion', 'IUrlOpen', 'iUrlEncode',
+ 'iUrlDecode', 'iReadDataBuf', 'iReadData', 'ipVersion', 'ipPing', 'iPing', 'ipHost2Addr', 'ipGetLastErr', 'ipGetAddress',
+ 'iParseURL', 'ipAddr2Host', 'iOptionSet', 'iOptionGet', 'ImgWave', 'ImgVersion', 'ImgUnsharpMask', 'ImgThreshold', 'ImgSwirl',
+ 'ImgSpread', 'ImgSolarize', 'ImgShear', 'ImgSharpen', 'ImgShade', 'ImgScale', 'ImgSample', 'ImgRotate', 'ImgResize',
+ 'ImgReduceNoise', 'ImgRaise', 'ImgOilPaint', 'ImgNormalize', 'ImgNegate', 'ImgMotionBlur', 'ImgModulate', 'ImgMinify',
+ 'ImgMedianFilter', 'ImgMagnify', 'ImgLevel', 'ImgIsValid', 'ImgIsPalette', 'ImgIsMono', 'ImgIsGray', 'ImgInfo', 'ImgImplode',
+ 'ImgGetImageType', 'ImgGetColorCount', 'ImgGaussianBlur', 'ImgGamma', 'ImgFrame', 'ImgFlop', 'ImgFlip', 'ImgEqualize',
+ 'ImgEnhance', 'ImgEmboss', 'ImgCrop', 'ImgConvert', 'ImgContrast', 'ImgCompare', 'ImgColorize', 'ImgChop', 'ImgCharcoal',
+ 'ImgBorder', 'ImgBlur', 'ImgAddNoise', 'iLocFindNext', 'iLocFindInit', 'iHttpOpen', 'iHttpInit', 'iHttpHeaders', 'iHttpAccept',
+ 'iHostConnect', 'iHost2Addr', 'iGetResponse', 'iGetLastError', 'iGetIEVer', 'iGetConStatEx', 'iGetConState', 'iFtpRename',
+ 'iFtpPut', 'iFtpOpen', 'iFtpGet', 'iFtpFindNext', 'iFtpFindInit', 'iFtpDirRemove', 'iFtpDirMake', 'iFtpDirGet', 'iFtpDirChange',
+ 'iFtpDialog', 'iFtpDelete', 'iFtpCmd', 'iErrorDialog', 'iDialItemize', 'iDialHangUp', 'iDial', 'iCookieSet', 'iCookieGet',
+ 'iContentURL', 'iContentFile', 'iContentData', 'iClose', 'ibWrtf', 'ibWrt', 'ibWait', 'ibVersion', 'ibUnlock', 'ibTrg',
+ 'ibTmo', 'ibStop', 'ibStatus', 'ibSta', 'ibSre', 'ibSic', 'ibSad', 'ibRsv', 'ibRsp', 'ibRsc', 'ibRpp', 'ibRdf', 'ibRd',
+ 'ibPpc', 'ibPoke', 'ibPct', 'ibPad', 'ibOnl', 'ibMakeAddr', 'ibLock', 'ibLoc', 'ibLn', 'ibLines', 'ibIst', 'ibInit',
+ 'ibGts', 'ibGetSad', 'ibGetPad', 'ibFind', 'ibEvent', 'ibErr', 'ibEot', 'ibEos', 'iBegin', 'ibDma', 'ibDev', 'ibConfig',
+ 'ibCntl', 'ibCnt', 'ibCmda', 'ibCmd', 'ibClr', 'ibCac', 'ibBna', 'ibAsk', 'iAddr2Host', 'huge_Thousands', 'huge_Subtract',
+ 'huge_SetOptions', 'huge_Multiply', 'huge_GetLastError', 'huge_ExtenderInfo', 'huge_Divide', 'huge_Decimal', 'huge_Add',
+ 'httpStripHTML', 'httpRecvTextF', 'httpRecvText', 'httpRecvQuery', 'httpRecvQryF', 'httpRecvFile', 'httpGetServer',
+ 'httpGetQuery', 'httpGetPath', 'httpGetFile', 'httpGetDir', 'httpGetAnchor', 'httpFullPath', 'httpFirewall', 'httpAuth',
+ 'ftpRename', 'ftpQuote', 'ftpPut', 'ftpOpen', 'ftpList', 'ftpGet', 'ftpFirewall', 'ftpDelete', 'ftpClose', 'ftpChDir',
+ 'FindRQS', 'FindLstn', 'EnvSetVar', 'EnvPathDel', 'EnvPathChk', 'EnvPathAdd', 'EnvListVars', 'EnvGetVar', 'EnvGetInfo',
+ 'EnableRemote', 'EnableLocal', 'ehllapiWait', 'ehllapiVersion', 'ehllapiUninit', 'ehllapiStopKeyIntercept', 'ehllapiStopHostNotify',
+ 'ehllapiStopCloseIntercept', 'ehllapiStartKeyIntercept', 'ehllapiStartHostNotify', 'ehllapiStartCloseIntercept',
+ 'ehllapiSetWindowStatus', 'ehllapiSetSessionParams', 'ehllapiSetPSWindowName', 'ehllapiSetCursorLoc', 'ehllapiSendKey',
+ 'ehllapiSendFile', 'ehllapiSearchPS', 'ehllapiSearchField', 'ehllapiRunProfile', 'ehllapiResetSystem', 'ehllapiReserve',
+ 'ehllapiRelease', 'ehllapiReceiveFile', 'ehllapiQuerySystem', 'ehllapiQueryPSStatus', 'ehllapiQueryHostNotify',
+ 'ehllapiQueryFieldAttr', 'ehllapiQueryCursorLoc', 'ehllapiQueryCloseIntercept', 'ehllapiPostInterceptStatus',
+ 'ehllapiPause', 'ehllapiLastErrMsg', 'ehllapiInit', 'ehllapiGetWindowStatus', 'ehllapiGetPSHWND', 'ehllapiGetKey',
+ 'ehllapiFindFieldPos', 'ehllapiFindFieldLen', 'ehllapiDisconnectPS', 'ehllapiCvtRCToPos', 'ehllapiCvtPosToRC',
+ 'ehllapiCopyTextToPS', 'ehllapiCopyTextToField', 'ehllapiCopyTextFromPS', 'ehllapiCopyTextFromField', 'ehllapiCopyOIA',
+ 'ehllapiConnectPS', 'dunItemize', 'dunDisconnect', 'dunConnectEx', 'dunConnect', 'dsTestParam', 'dsSIDtoHexStr', 'dsSetSecProp',
+ 'dsSetProperty', 'dsSetPassword', 'dsSetObj', 'dsSetCredentX', 'dsSetCredent', 'dsRemFromGrp', 'dsRelSecObj', 'dsMoveObj',
+ 'dsIsObject', 'dsIsMemberGrp', 'dsIsContainer', 'dsGetUsersGrps', 'dsGetSecProp', 'dsGetPropName', 'dsGetProperty',
+ 'dsGetPrntPath', 'dsGetPrimGrp', 'dsGetMemGrp', 'dsGetInfo', 'dsGetClass', 'dsGetChldPath', 'dsFindPath', 'dsDeleteObj',
+ 'dsCreatSecObj', 'dsCreateObj', 'dsCopySecObj', 'dsAddToGrp', 'dsAclRemAce', 'dsAclOrderAce', 'dsAclGetAces', 'dsAclAddAce',
+ 'DevClearList', 'DevClear', 'dbTest', 'dbSwapColumns', 'dbSort', 'dbSetRecordField', 'dbSetOptions', 'dbSetErrorReporting',
+ 'dbSetEntireRecord', 'dbSetDelimiter', 'dbSave', 'dbOpen', 'dbNameColumn', 'dbMakeNewItem', 'dbInsertColumn', 'dbGetVersion',
+ 'dbGetSaveStatus', 'dbGetRecordField', 'dbGetRecordCount', 'dbGetNextItem', 'dbGetLastError', 'dbGetEntireRecord',
+ 'dbGetColumnType', 'dbGetColumnNumber', 'dbGetColumnName', 'dbGetColumnCount', 'dbFindRecord', 'dbExist', 'dbEasterEgg',
+ 'dbDeleteRecord', 'dbDeleteColumn', 'dbDebug', 'dbCookDatabases', 'dbClose', 'dbCloneRecord', 'dbBindCol', 'cWndState',
+ 'cWndinfo', 'cWndGetWndSpecName', 'cWndGetWndSpec', 'cWndexist', 'cWndByWndSpecName', 'cWndByWndSpec', 'cWndbyseq',
+ 'cWndbyname', 'cWndbyid', 'cWndbyclass', 'cWinIDConvert', 'cVersionInfo', 'cVendorId', 'cSetWndText', 'cSetUpDownPos',
+ 'cSetTvItem', 'cSetTrackPos', 'cSetTabItem', 'cSetLvItem', 'cSetLbItemEx', 'cSetLbItem', 'cSetIpAddr', 'cSetFocus',
+ 'cSetEditText', 'cSetDtpDate', 'cSetCbItem', 'cSetCalDate', 'cSendMessage', 'cRadioButton', 'cPostMessage', 'cPostButton',
+ 'cMemStat', 'cGetWndCursor', 'cGetUpDownPos', 'cGetUpDownMin', 'cGetUpDownMax', 'cGetTVItem', 'cGetTrackPos', 'cGetTrackMin',
+ 'cGetTrackMax', 'cGetTbText', 'cGetSbText', 'cGetLvText', 'cGetLvSelText', 'cGetLvFocText', 'cGetLvDdtText', 'cGetLvColText',
+ 'cGetLbText', 'cGetLbSelText', 'cGetLbCount', 'cGetIpAddr', 'cGetInfo', 'cGetHrText', 'cGetFocus', 'cGetEditText', 'cGetDtpDate',
+ 'cGetControlImageCRC', 'cGetCBText', 'cGetCbCount', 'cGetCalDate', 'cFindByName', 'cFindByClass', 'cEnablestate', 'cDblClickItem',
+ 'cCpuSupt', 'cCpuSpeed', 'cCpuIdExt', 'cCpuId', 'cCpuFeat', 'cCpuBenchmark', 'cCloneCheck', 'cClickToolbar', 'cClickButton',
+ 'cClearTvItem', 'cClearLvItem', 'cClearLbAll', 'cCheckbox', 'aVersion', 'aStatusbar', 'aShellFolder', 'aMsgTimeout', 'AllSPoll',
+ 'aGetLastError', 'aFileRename', 'aFileMove', 'aFileDelete', 'aFileCopy'
+ ),
+ 5 => array(
+ 'wWordRight', 'wWordLeft', 'wWinTile', 'wWinRestore', 'wWinNext', 'wWinMinimize', 'wWinMaximize', 'wWinCloseAll', 'wWinClose',
+ 'wWinCascade', 'wWinArricons', 'wViewOutput', 'wViewOptions', 'wViewHtml', 'wUpperCase', 'wUpline', 'wUndo', 'wTopOfFile', 'wToggleIns',
+ 'wTab', 'wStatusMsg', 'wStartSel', 'wSpellcheck', 'wSetProject', 'wSetPrefs', 'wSetColblk', 'wSetBookmark', 'wSelWordRight',
+ 'wSelWordLeft', 'wSelUp', 'wSelTop', 'wSelRight', 'wSelPgUp', 'wSelPgDn', 'wSelLeft', 'wSelInfo', 'wSelHome', 'wSelEnd', 'wSelectAll',
+ 'wSelDown', 'wSelBottom', 'wRunRebuild', 'wRunMake', 'wRunExecute', 'wRunDebug', 'wRunConfig', 'wRunCompile', 'wRunCommand', 'wRight',
+ 'wRepeat', 'wRedo', 'wRecord', 'wProperties', 'wPrintDirect', 'wPrinSetup', 'wPrevError', 'wPaste', 'wPageUp', 'wPageDown', 'wNextError',
+ 'wNewLine', 'wLowerCase', 'wLineCount', 'wLeft', 'wInvertCase', 'wInsString', 'wInsLine', 'wHome', 'wHelpKeyword', 'wHelpKeybrd',
+ 'wHelpIndex', 'wHelpHelp', 'wHelpCmds', 'wHelpAbout', 'wGotoLine', 'wGotoCol', 'wGetWrap', 'wGetWord', 'wGetUndo', 'wGetSelstate',
+ 'wGetRedo', 'wGetOutput', 'wGetModified', 'wGetLineNo', 'wGetIns', 'wGetFilename', 'wGetColNo', 'wGetChar', 'wFtpOpen', 'wFindNext',
+ 'wFindInFiles', 'wFind', 'wFileSaveAs', 'wFileSave', 'wFileRevert', 'wFilePrint', 'wFilePgSetup', 'wFileOpen', 'wFileNew', 'wFileMerge',
+ 'wFileList', 'wFileExit', 'wEndSel', 'wEndOfFile', 'wEnd', 'wEdWrap', 'wEdWordRight', 'wEdWordLeft', 'wEdUpLine', 'wEdUndo', 'wEdTopOfFile',
+ 'wEdToggleIns', 'wEdTab', 'wEdStartSel', 'wEdSetColBlk', 'wEdSelectAll', 'wEdRight', 'wEdRedo', 'wEdPaste', 'wEdPageUp', 'wEdPageDown',
+ 'wEdNewLine', 'wEdLeft', 'wEdInsString', 'wEdHome', 'wEdGoToLine', 'wEdGoToCol', 'wEdGetWord', 'wEdEndSel', 'wEdEndOfFile', 'wEdEnd',
+ 'wEdDownLine', 'wEdDelete', 'wEdCutLine', 'wEdCut', 'wEdCopyLine', 'wEdCopy', 'wEdClearSel', 'wEdBackTab', 'wEdBackspace', 'wDownLine',
+ 'wDelete', 'wDelButton', 'wCutMarked', 'wCutLine', 'wCutAppend', 'wCut', 'wCopyMarked', 'wCopyLine', 'wCopyAppend', 'wCopy', 'wCompile',
+ 'wClearSel', 'wChange', 'wCallMacro', 'wBackTab', 'wBackspace', 'wAutoIndent', 'wAddButton', 'edWindowTile', 'edWindowRestore',
+ 'edWindowNext', 'edWindowMinimize', 'edWindowMaximize', 'edWindowCloseall', 'edWindowClose', 'edWindowCascade', 'edWindowArrangeIcons',
+ 'edStatusMsg', 'edSearchViewOutput', 'edSearchRepeat', 'edSearchPrevError', 'edSearchNextError', 'edSearchFind', 'edSearchChange',
+ 'edRunRebuild', 'edRunMake', 'edRunExecute', 'edRunDebug', 'edRunConfigure', 'edRunCompile', 'edRunCommand', 'edRecord', 'edHelpProcedures',
+ 'edHelpKeyword', 'edHelpKeyboard', 'edHelpIndex', 'edHelpHelp', 'edHelpCommands', 'edHelpAbout', 'edGetWordWrapState', 'edGetWindowName',
+ 'edGetUndoState', 'edGetSelectionState', 'edGetRedoState', 'edGetModifiedStatus', 'edGetLineNumber', 'edGetInsertState', 'edGetColumnNumber',
+ 'edGetChar', 'edFileSetPreferences', 'edFileSaveAs', 'edFileSave', 'edFilePrinterSetup', 'edFilePrint', 'edFilePageSetup', 'edFileOpen',
+ 'edFileNew', 'edFileMerge', 'edFileList', 'edFileExit', 'edEditWrap', 'edEditWordRight', 'edEditWordLeft', 'edEditUpLine', 'edEditUndo',
+ 'edEditToggleIns', 'edEditTab', 'edEditStartSelection', 'edEditSetColumnBlock', 'edEditSetBookmark', 'edEditSelectAll', 'edEditRight',
+ 'edEditRedo', 'edEditPaste', 'edEditPageUp', 'edEditPageDown', 'edEditLeft', 'edEditInsertString', 'edEditGoToLine', 'edEditGoToColumn',
+ 'edEditGoToBookmark', 'edEditGetCurrentWord', 'edEditEndSelection', 'edEditEndOfLine', 'edEditEndOfFile', 'edEditDownline', 'edEditDelete',
+ 'edEditCutline', 'edEditCut', 'edEditCopyline', 'edEditCopy', 'edEditClearSelection', 'edEditBeginningOfLine', 'edEditBeginningOfFile',
+ 'edEditBackTab', 'edEditBackspace', 'edDeleteButton', 'edAddButton'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '[', ']', '{', '}', '!', '+', '-', '~', '$', '^', '?', '@', '%', '#', '&', '*', '|', '/', '<', '>'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false,
+ 5 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #800080;',
+ 2 => 'color: #0080FF; font-weight: bold;',
+ 3 => 'color: #0000FF;',
+ 4 => 'color: #FF00FF;',
+ 5 => 'color: #008000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #008000; font-style: italic;',
+ 2 => 'color: #FF1010; font-weight: bold;',
+ 'MULTI' => '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(
+ 0 => 'color: #006600;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #66cc66;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => '',
+ 5 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(),
+ 'REGEXPS' => array(//Variable names
+ 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+ '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
new file mode 100644
index 000000000..608c99f00
--- /dev/null
+++ b/application/libraries/geshi/xml.php
@@ -0,0 +1,157 @@
+<?php
+/*************************************************************************************
+ * xml.php
+ * -------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2004/09/01
+ *
+ * XML language file for GeSHi. Based on the idea/file by Christian Weiske
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2005/12/28 (1.0.2)
+ * - Removed escape character for strings
+ * 2004/11/27 (1.0.1)
+ * - Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Check regexps work and correctly highlight XML stuff and nothing else
+ *
+ *************************************************************************************
+ *
+ * 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' => 'XML',
+ 'COMMENT_SINGLE' => array(),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ ),
+ '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(
+ -1 => 'color: #808080; font-style: italic;', // comments
+ 0 => 'color: #00bbdd;',
+ 1 => 'color: #ddbb00;',
+ 2 => 'color: #339933;',
+ 3 => 'color: #009900;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #000066;',
+ 1 => 'color: #000000; font-weight: bold;',
+ 2 => 'color: #000000; font-weight: bold;'
+ )
+ ),
+ 'URLS' => array(
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ 0 => array(//attribute names
+ GESHI_SEARCH => '([a-z_:][\w\-\.:]*)(=)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => '\\2'
+ ),
+ 1 => array(//Initial header line
+ GESHI_SEARCH => '(&lt;[\/?|(\?xml)]?[a-z_:][\w\-\.:]*(\??&gt;)?)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ 2 => array(//Tag end markers
+ GESHI_SEARCH => '(([\/|\?])?&gt;)',
+ GESHI_REPLACE => '\\1',
+ GESHI_MODIFIERS => 'i',
+ GESHI_BEFORE => '',
+ GESHI_AFTER => ''
+ ),
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+ 'SCRIPT_DELIMITERS' => array(
+ -1 => array(
+ '<!--' => '-->'
+ ),
+ 0 => array(
+ '<!DOCTYPE' => '>'
+ ),
+ 1 => array(
+ '&' => ';'
+ ),
+ 2 => array(
+ '<![CDATA[' => ']]>'
+ ),
+ 3 => array(
+ '<' => '>'
+ )
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ -1 => false,
+ 0 => false,
+ 1 => false,
+ 2 => false,
+ 3 => true
+ ),
+ 'TAB_WIDTH' => 2,
+ 'PARSER_CONTROL' => array(
+ 'ENABLE_FLAGS' => array(
+ 'NUMBERS' => GESHI_NEVER
+ )
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/xorg_conf.php b/application/libraries/geshi/xorg_conf.php
new file mode 100644
index 000000000..cdb6c36c9
--- /dev/null
+++ b/application/libraries/geshi/xorg_conf.php
@@ -0,0 +1,124 @@
+<?php
+/*************************************************************************************
+ * xorg_conf.php
+ * ----------
+ * Author: Milian Wolff (mail@milianw.de)
+ * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
+ * Release Version: 1.0.8.6
+ * Date Started: 2008/06/18
+ *
+ * xorg.conf language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/06/18 (1.0.8)
+ * - Initial import
+ *
+ *************************************************************************************
+ *
+ * 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' => 'Xorg configuration',
+ 'COMMENT_SINGLE' => array(1 => '#'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array('"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ // sections
+ 1 => array(
+ 'Section', 'EndSection', 'SubSection', 'EndSubSection'
+ ),
+ 2 => array(
+ // see http://www.x.org/archive/X11R6.9.0/doc/html/xorg.conf.5.html
+ 'BiosBase', 'Black', 'Boardname', 'BusID', 'ChipID', 'ChipRev',
+ 'Chipset', 'ClockChip', 'Clocks', 'DacSpeed',
+ 'DefaultDepth', 'DefaultFbBpp', 'Depth', 'Device',
+ 'DisplaySize', 'Driver', 'FbBpp', 'Gamma',
+ 'HorizSync', 'IOBase', 'Identifier', 'InputDevice',
+ 'Load', 'MemBase', 'Mode', 'Modeline', 'Modelname',
+ 'Modes', 'Monitor', 'Option', 'Ramdac', 'RgbPath',
+ 'Screen', 'TextClockFreq', 'UseModes', 'VendorName',
+ 'VertRefresh', 'VideoAdaptor', 'VideoRam',
+ 'ViewPort', 'Virtual', 'Visual', 'Weight', 'White'
+ ),
+ 3 => array(
+ // some sub-keywords
+ // screen position
+ 'Above', 'Absolute', 'Below', 'LeftOf', 'Relative', 'RightOf',
+ // modes
+ 'DotClock', 'Flags', 'HSkew', 'HTimings', 'VScan', 'VTimings'
+ ),
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #b1b100;',
+ 2 => 'color: #990000;',
+ 3 => 'color: #550000;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #adadad; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ ),
+ 'BRACKETS' => array(
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #0000ff;',
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #cc66cc;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+);
+
+?>
diff --git a/application/libraries/geshi/xpp.php b/application/libraries/geshi/xpp.php
new file mode 100644
index 000000000..5f009ec8c
--- /dev/null
+++ b/application/libraries/geshi/xpp.php
@@ -0,0 +1,436 @@
+<?php
+/*************************************************************************************
+ * xpp.php
+ * -------
+ * Author: Simon Butcher (simon@butcher.name)
+ * Copyright: (c) 2007 Simon Butcher (http://simon.butcher.name/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/02/27
+ *
+ * Axapta/Dynamics Ax X++ language file for GeSHi.
+ * For details, see <http://msdn.microsoft.com/en-us/library/aa867122.aspx>
+ *
+ * CHANGES
+ * -------
+ * 2007/02/28 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2007/02/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'X++',
+ 'COMMENT_SINGLE' => array(1 => '//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '\\',
+ 'KEYWORDS' => array(
+ 1 => array( // Primitive types
+ 'void',
+ 'str',
+ 'real',
+ 'int64',
+ 'int',
+ 'date',
+ 'container',
+ 'boolean',
+ 'anytype'
+ ),
+ 2 => array( // Keywords
+ 'window',
+ 'while',
+ 'try',
+ 'true',
+ 'throw',
+ 'switch',
+ 'super',
+ 'static',
+ 'server',
+ 'right',
+ 'return',
+ 'retry',
+ 'public',
+ 'protected',
+ 'private',
+ 'print',
+ 'pause',
+ 'null',
+ 'new',
+ 'mod',
+ 'left',
+ 'interface',
+ 'implements',
+ 'if',
+ 'for',
+ 'final',
+ 'false',
+ 'extends',
+ 'else',
+ 'edit',
+ 'do',
+ 'div',
+ 'display',
+ 'default',
+ 'continue',
+ 'client',
+ 'class',
+ 'changeCompany',
+ 'case',
+ 'breakpoint',
+ 'break',
+ 'at',
+ 'abstract'
+ ),
+ 3 => array( // Functions within the Axapta kernel
+ 'year',
+ 'wkofyr',
+ 'webwebpartstr',
+ 'webstaticfilestr',
+ 'websitetempstr',
+ 'websitedefstr',
+ 'webreportstr',
+ 'webpagedefstr',
+ 'weboutputcontentitemstr',
+ 'webmenustr',
+ 'webletitemstr',
+ 'webformstr',
+ 'webdisplaycontentitemstr',
+ 'webactionitemstr',
+ 'varstr',
+ 'utilmoyr',
+ 'uint2str',
+ 'typeof',
+ 'typeid',
+ 'trunc',
+ 'today',
+ 'timenow',
+ 'time2str',
+ 'term',
+ 'tanh',
+ 'tan',
+ 'tablestr',
+ 'tablestaticmethodstr',
+ 'tablepname',
+ 'tablenum',
+ 'tablename2id',
+ 'tablemethodstr',
+ 'tableid2pname',
+ 'tableid2name',
+ 'tablefieldgroupstr',
+ 'tablecollectionstr',
+ 'systemdateset',
+ 'systemdateget',
+ 'syd',
+ 'substr',
+ 'strupr',
+ 'strscan',
+ 'strrtrim',
+ 'strrep',
+ 'strrem',
+ 'strprompt',
+ 'strpoke',
+ 'strnfind',
+ 'strlwr',
+ 'strltrim',
+ 'strline',
+ 'strlen',
+ 'strkeep',
+ 'strins',
+ 'strfmt',
+ 'strfind',
+ 'strdel',
+ 'strcolseq',
+ 'strcmp',
+ 'stralpha',
+ 'str2time',
+ 'str2num',
+ 'str2int64',
+ 'str2int',
+ 'str2guid',
+ 'str2enum',
+ 'str2date',
+ 'staticmethodstr',
+ 'sln',
+ 'sleep',
+ 'sinh',
+ 'sin',
+ 'setprefix',
+ 'sessionid',
+ 'securitykeystr',
+ 'securitykeynum',
+ 'runbuf',
+ 'runas',
+ 'round',
+ 'resourcestr',
+ 'reportstr',
+ 'refprintall',
+ 'rate',
+ 'querystr',
+ 'pv',
+ 'pt',
+ 'prmisdefault',
+ 'primoyr',
+ 'prevyr',
+ 'prevqtr',
+ 'prevmth',
+ 'power',
+ 'pmt',
+ 'num2str',
+ 'num2date',
+ 'num2char',
+ 'nextyr',
+ 'nextqtr',
+ 'nextmth',
+ 'newguid',
+ 'mthofyr',
+ 'mthname',
+ 'mkdate',
+ 'minint',
+ 'min',
+ 'methodstr',
+ 'menustr',
+ 'menuitemoutputstr',
+ 'menuitemdisplaystr',
+ 'menuitemactionstr',
+ 'maxint',
+ 'maxdate',
+ 'max',
+ 'match',
+ 'logn',
+ 'log10',
+ 'literalstr',
+ 'licensecodestr',
+ 'licensecodenum',
+ 'intvnorm',
+ 'intvno',
+ 'intvname',
+ 'intvmax',
+ 'int64str',
+ 'indexstr',
+ 'indexnum',
+ 'indexname2id',
+ 'indexid2name',
+ 'idg',
+ 'identifierstr',
+ 'helpfilestr',
+ 'helpdevstr',
+ 'helpapplstr',
+ 'guid2str',
+ 'getprefix',
+ 'getCurrentUTCTime',
+ 'fv',
+ 'funcname',
+ 'frac',
+ 'formstr',
+ 'fieldstr',
+ 'fieldpname',
+ 'fieldnum',
+ 'fieldname2id',
+ 'fieldid2pname',
+ 'fieldid2name',
+ 'extendedTypeStr',
+ 'extendedTypeNum',
+ 'exp10',
+ 'exp',
+ 'evalbuf',
+ 'enumstr',
+ 'enumnum',
+ 'enumcnt',
+ 'enum2str',
+ 'endmth',
+ 'dimof',
+ 'dg',
+ 'decround',
+ 'ddb',
+ 'dayofyr',
+ 'dayofwk',
+ 'dayofmth',
+ 'dayname',
+ 'date2str',
+ 'date2num',
+ 'curuserid',
+ 'curext',
+ 'cterm',
+ 'cosh',
+ 'cos',
+ 'corrflagset',
+ 'corrflagget',
+ 'convertUTCTimeToLocalTime',
+ 'convertUTCDateToLocalDate',
+ 'conpoke',
+ 'conpeek',
+ 'connull',
+ 'conlen',
+ 'conins',
+ 'confind',
+ 'configurationkeystr',
+ 'configurationkeynum',
+ 'condel',
+ 'classstr',
+ 'classnum',
+ 'classidget',
+ 'char2num',
+ 'beep',
+ 'atan',
+ 'asin',
+ 'ascii2ansi',
+ 'any2str',
+ 'any2real',
+ 'any2int64',
+ 'any2int',
+ 'any2guid',
+ 'any2enum',
+ 'any2date',
+ 'ansi2ascii',
+ 'acos',
+ 'abs'
+ ),
+ 4 => array( // X++ SQL stuff
+ 'where',
+ 'update_recordset',
+ 'ttsCommit',
+ 'ttsBegin',
+ 'ttsAbort',
+ 'sum',
+ 'setting',
+ 'select',
+ 'reverse',
+ 'pessimisticLock',
+ 'outer',
+ 'order by',
+ 'optimisticLock',
+ 'notExists',
+ 'noFetch',
+ 'next',
+ 'minof',
+ 'maxof',
+ 'like',
+ 'join',
+ 'insert_recordset',
+ 'index hint',
+ 'index',
+ 'group by',
+ 'from',
+ 'forUpdate',
+ 'forceSelectOrder',
+ 'forcePlaceholders',
+ 'forceNestedLoop',
+ 'forceLiterals',
+ 'flush',
+ 'firstOnly',
+ 'firstFast',
+ 'exists',
+ 'desc',
+ 'delete_from',
+ 'count',
+ 'avg',
+ 'asc'
+ )
+ ),
+ 'SYMBOLS' => array( // X++ symbols
+ '!',
+ '&',
+ '(',
+ ')',
+ '*',
+ '^',
+ '|',
+ '~',
+ '+',
+ ',',
+ '-',
+ '/',
+ ':',
+ '<',
+ '=',
+ '>',
+ '?',
+ '[',
+ ']',
+ '{',
+ '}'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ 4 => false
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000ff;',
+ 2 => 'color: #0000ff;',
+ 3 => 'color: #0000ff;',
+ 4 => 'color: #0000ff;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #007f00;',
+ 'MULTI' => 'color: #007f00; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #ff0000;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #000000;'
+ ),
+ 'METHODS' => array(
+ 1 => 'color: #000000;',
+ 2 => 'color: #000000;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #00007f;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '.',
+ 2 => '::'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ )
+);
+
+?>
diff --git a/application/libraries/geshi/z80.php b/application/libraries/geshi/z80.php
new file mode 100644
index 000000000..b41e80c74
--- /dev/null
+++ b/application/libraries/geshi/z80.php
@@ -0,0 +1,144 @@
+<?php
+/*************************************************************************************
+ * z80.php
+ * -------
+ * Author: Benny Baumann (BenBE@omorphia.de)
+ * Copyright: (c) 2007-2008 Benny Baumann (http://www.omorphia.de/)
+ * Release Version: 1.0.8.6
+ * Date Started: 2007/02/06
+ *
+ * ZiLOG Z80 Assembler language file for GeSHi.
+ * Syntax definition as commonly used with table assembler TASM32
+ * This file will contain some undocumented opcodes.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ * - Added description of extra language features (SF#1970248)
+ * 2007/06/03 (1.0.1)
+ * - Fixed two typos in the language file
+ * 2007/02/06 (1.0.0)
+ * - First Release
+ *
+ * TODO (updated 2007/02/06)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * 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' => 'ZiLOG Z80 Assembler',
+ 'COMMENT_SINGLE' => array(1 => ';'),
+ 'COMMENT_MULTI' => array(),
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'KEYWORDS' => array(
+ /*CPU*/
+ 1 => array(
+ 'adc','add','and','bit','call','ccf','cp','cpd','cpdr','cpir','cpi',
+ 'cpl','daa','dec','di','djnz','ei','ex','exx','halt','im','in',
+ 'in0','inc','ind','indr','inir','ini','jp','jr','ld','ldd','lddr',
+ 'ldir','ldi','mlt','neg','nop','or','otdm','otdmr','otdr','otim',
+ 'otimr','otir','out','out0','outd','outi','pop','push','res','ret',
+ 'reti','retn','rl','rla','rlc','rlca','rld','rr','rra','rrc','rrca',
+ 'rrd','rst','sbc','scf','set','sla','sl1','sll','slp','sra','srl',
+ 'sub','tst','tstio','xor'
+ ),
+ /*registers*/
+ 2 => array(
+ 'a','b','c','d','e','h','l',
+ 'af','bc','de','hl','ix','iy','sp',
+ 'af\'','ixh','ixl','iyh','iyl'
+ ),
+ /*Directive*/
+ 3 => array(
+ '#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
+ '.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
+ ),
+ ),
+ 'SYMBOLS' => array(
+ '[', ']', '(', ')', '?', '+', '-', '*', '/', '%', '$'
+ ),
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => false,
+ 2 => false,
+ 3 => false,
+ ),
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #0000ff; font-weight:bold;',
+ 2 => 'color: #0000ff;',
+ 3 => 'color: #46aa03; font-weight:bold;'
+ ),
+ 'COMMENTS' => array(
+ 1 => 'color: #adadad; font-style: italic;',
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;'
+ ),
+ 'BRACKETS' => array(
+ 0 => 'color: #0000ff;'
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #7f007f;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #dd22dd;'
+ ),
+ 'METHODS' => array(
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #008000;'
+ ),
+ 'REGEXPS' => array(
+ 0 => 'color: #22bbff;',
+ 1 => 'color: #22bbff;',
+ 2 => 'color: #993333;'
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => ''
+ ),
+ 'OOLANG' => false,
+ 'OBJECT_SPLITTERS' => array(
+ ),
+ 'REGEXPS' => array(
+ //Hex numbers
+ 0 => '0[0-9a-fA-F]{1,32}[hH]',
+ //Binary numbers
+ 1 => '\%[01]{1,64}|[01]{1,64}[bB]?(?![^<]*>)',
+ //Labels
+ 2 => '^[_a-zA-Z][_a-zA-Z0-9]?\:'
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 8
+);
+
+?> \ No newline at end of file
diff --git a/application/libraries/index.html b/application/libraries/index.html
new file mode 100644
index 000000000..c942a79ce
--- /dev/null
+++ b/application/libraries/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/logs/index.html b/application/logs/index.html
new file mode 100755
index 000000000..c942a79ce
--- /dev/null
+++ b/application/logs/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/models/file_mod.php b/application/models/file_mod.php
new file mode 100644
index 000000000..c85bfe56d
--- /dev/null
+++ b/application/models/file_mod.php
@@ -0,0 +1,419 @@
+<?php
+/*
+ * Copyright 2009-2010 Florian "Bluewind" Pritz <bluewind@server-speed.net>
+ *
+ * Licensed under GPLv3
+ * (see COPYING for full license text)
+ *
+ */
+
+class File_mod extends CI_Model {
+
+ function __construct()
+ {
+ parent::__construct();
+ }
+
+ // Returns an unused ID
+ // TODO: make threadsafe
+ function new_id()
+ {
+ $id = $this->random_id(3,6);
+
+ if ($this->id_exists($id) || $id == 'file') {
+ return $this->new_id();
+ } else {
+ return $id;
+ }
+ }
+
+ function id_exists($id)
+ {
+ if(!$id) {
+ return false;
+ }
+
+ $sql = '
+ SELECT id
+ FROM `files`
+ WHERE `id` = ?
+ LIMIT 1';
+ $query = $this->db->query($sql, array($id));
+
+ if ($query->num_rows() == 1) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ function get_filedata($id)
+ {
+ $sql = '
+ SELECT hash, filename, mimetype, date
+ FROM `files`
+ WHERE `id` = ?
+ LIMIT 1';
+ $query = $this->db->query($sql, array($id));
+
+ if ($query->num_rows() == 1) {
+ $return = $query->result_array();
+ return $return[0];
+ } else {
+ return false;
+ }
+ }
+
+ // return the folder in which the file with $hash is stored
+ function folder($hash) {
+ return $this->config->item('upload_path').'/'.substr($hash, 0, 3);
+ }
+
+ // Returns the full path to the file with $hash
+ function file($hash) {
+ return $this->folder($hash).'/'.$hash;
+ }
+
+ function hash_password($password)
+ {
+ return sha1($this->config->item('passwordsalt').$password);
+ }
+
+ // Returns the password submitted by the user
+ function get_password()
+ {
+ $password = $this->input->post('password');
+ if ($password !== false && $password !== "") {
+ return $this->hash_password($password);
+ } elseif (isset($_SERVER['PHP_AUTH_PW']) && $_SERVER['PHP_AUTH_PW'] !== '') {
+ return $this->hash_password($_SERVER['PHP_AUTH_PW']);
+ }
+ return 'NULL';
+ }
+
+ // Add a hash to the DB
+ // TODO: Should only update not insert; see new_id()
+ function add_file($hash, $id, $filename)
+ {
+ $mimetype = exec(FCPATH.'scripts/mimetype -b --orig-name '.escapeshellarg($filename).' '.escapeshellarg($this->file($hash)));
+ $query = $this->db->query('
+ INSERT INTO `files` (`hash`, `id`, `filename`, `password`, `date`, `mimetype`)
+ VALUES (?, ?, ?, ?, ?, ?)',
+ array($hash, $id, $filename, $this->get_password(), time(), $mimetype));
+ }
+
+ function show_url($id, $mode)
+ {
+ $data = array();
+ $redirect = false;
+
+ if ($mode) {
+ $data['url'] = site_url($id).'/'.$mode;
+ } else {
+ $data['url'] = site_url($id).'/';
+
+ $filedata = $this->get_filedata($id);
+ $file = $this->file($filedata['hash']);
+ $type = $filedata['mimetype'] ? $filedata['mimetype'] : exec(FCPATH.'scripts/mimetype -b --orig-name '.escapeshellarg($filedata['filename']).' '.escapeshellarg($file));
+ $mode = $this->mime2extension($type);
+ $mode = $this->filename2extension($filedata['filename']) ? $this->filename2extension($filedata['filename']) : $mode;
+
+ // If we detected a highlightable file redirect,
+ // otherwise show the URL because browsers would just show a DL dialog
+ if ($mode) {
+ $redirect = true;
+ }
+ }
+
+ if ($this->var->cli_client) {
+ echo $data['url']."\n";
+ } else {
+ if ($redirect) {
+ redirect($data['url']);
+ } else {
+ $this->load->view('file/header', $data);
+ $this->load->view('file/show_url', $data);
+ $this->load->view('file/footer', $data);
+ }
+ }
+ }
+
+ function non_existent()
+ {
+ $data["title"] = "Not Found";
+ $this->output->set_status_header(404);
+ $this->load->view('file/header', $data);
+ $this->load->view('file/non_existent', $data);
+ $this->load->view('file/footer', $data);
+ }
+
+ // download a given ID
+ // TODO: make smaller
+ function download()
+ {
+ $data = array();
+ $id = $this->uri->segment(1);
+ $mode = $this->uri->segment(2);
+
+ $filedata = $this->get_filedata($id);
+ $file = $this->file($filedata['hash']);
+
+ if (file_exists($file)) {
+ $oldest_time = (time()-$this->config->item('upload_max_age'));
+ if (filesize($file) > $this->config->item("small_upload_size") && $filedata["date"] < $oldest_time) {
+ if (filemtime($file) < $oldest_time) {
+ unlink($file);
+ $this->db->query('DELETE FROM files WHERE hash = ?', array($filedata['hash']));
+ } else {
+ $this->db->query('DELETE FROM files WHERE id = ? LIMIT 1', array($id));
+ }
+ $this->non_existent();
+ return;
+ }
+ // MODIFIED SINCE SUPPORT -- START
+ // helps to keep traffic low when reloading an image
+ $filedate = filectime($file);
+ $etag = strtolower(md5_file($file));
+ $modified = true;
+
+ // No need to check because different files have different IDs/hashes
+ if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
+ $modified = false;
+ }
+
+ if(isset($_SERVER['HTTP_IF_NONE_MATCH'])) {
+ $oldtag = trim(strtolower($_SERVER['HTTP_IF_NONE_MATCH']), '"');
+ if($oldtag == $etag) {
+ $modified = false;
+ } else {
+ $modified = true;
+ }
+ }
+ // MODIFIED SINCE SUPPORT -- END
+
+ if (!$modified) {
+ header("HTTP/1.1 304 Not Modified");
+ header('Etag: "'.$etag.'"');
+ } else {
+ $type = $filedata['mimetype'] ? $filedata['mimetype'] : exec(FCPATH.'scripts/mimetype -b --orig-name '.escapeshellarg($filedata['filename']).' '.escapeshellarg($file));
+
+ // /$mode at the end of the URL overwrites autodetection
+ if (!$mode && substr_count(ltrim($this->uri->uri_string(), "/"), '/') >= 1) {
+ $mode = $this->mime2extension($type);
+ $mode = $this->filename2extension($filedata['filename']) ? $this->filename2extension($filedata['filename']) : $mode;
+ }
+ $mode = $this->extension_aliases($mode);
+
+ // TODO: cleanup conditions
+ if ($mode && $mode != 'plain' && $mode != 'qr'
+ && $this->mime2extension($type)
+ && filesize($file) <= $this->config->item('upload_max_text_size')
+ ) {
+ $data['title'] = $filedata['filename'];
+ $data['raw_link'] = site_url($id);
+ $data['new_link'] = site_url();
+ $data['plain_link'] = site_url($id.'/plain');
+ $data['auto_link'] = site_url($id).'/';
+ $data['rmd_link'] = site_url($id.'/rmd');
+ $data['delete_link'] = site_url("file/delete/".$id);
+
+ header("Content-Type: text/html\n");
+ if ($mode) {
+ $data['current_highlight'] = $mode;
+ } else {
+ $data['current_highlight'] = $this->mime2extension($type);
+ }
+ if (filesize($file) > $this->config->item("small_upload_size")) {
+ $data['timeout'] = date("r", $filedata["date"]+$this->config->item("upload_max_age"));
+ } else {
+ $data['timeout'] = "never";
+ }
+ echo $this->load->view('file/html_header', $data, true);
+ $this->load->library("MemcacheLibrary");
+ if (! $cached = $this->memcachelibrary->get($filedata['hash'].'_'.$mode)) {
+ ob_start();
+ if ($mode == "rmd") {
+ echo '<td class="markdownrender">'."\n";
+ passthru('/usr/bin/perl /usr/bin/perlbin/vendor/Markdown.pl '.escapeshellarg($file));
+ } else {
+ echo '<td class="numbers"><pre>';
+ // generate line numbers (links)
+ passthru('/usr/bin/perl -ne \'print "<a href=\"#n$.\" class=\"no\" id=\"n$.\">$.</a>\n"\' '.escapeshellarg($file));
+ echo '</pre></td><td class="code">'."\n";
+ $this->load->library('geshi');
+ $this->geshi->initialize(array('set_language' => $mode, 'set_source' => file_get_contents($file), 'enable_classes' => 'true'));
+ echo $this->geshi->output();
+ }
+ $cached = ob_get_contents();
+ ob_end_clean();
+ $this->memcachelibrary->set($filedata['hash'].'_'.$mode, $cached, 100);
+ }
+ echo $cached;
+ echo $this->load->view('file/html_footer', $data, true);
+ } else {
+ if ($mode == 'plain') {
+ header("Content-Type: text/plain\n");
+ } elseif ($mode == "qr") {
+ header("Content-disposition: inline; filename=\"".$id."_qr.png\"\n");
+ header("Content-Type: image/png\n");
+ passthru('/usr/bin/qrencode -s 10 -o - '.escapeshellarg(site_url($id).'/'));
+ exit();
+ } else {
+ header("Content-Type: ".$type."\n");
+ }
+ header("Content-disposition: inline; filename=\"".$filedata['filename']."\"\n");
+ header("Content-Length: ".filesize($file)."\n");
+ header("Last-Modified: ".date('D, d M Y H:i:s', $filedate)." GMT");
+ header('Etag: "'.$etag.'"');
+ $fp = fopen($file,"r");
+ while (!feof($fp)) {
+ echo fread($fp,4096);
+ }
+ fclose($fp);
+ }
+ }
+ exit();
+ } else {
+ if (isset($filedata["hash"])) {
+ $this->db->query('DELETE FROM files WHERE hash = ?', array($filedata['hash']));
+ }
+ $this->non_existent();
+ }
+ }
+
+ private function unused_file($hash)
+ {
+ $sql = '
+ SELECT id
+ FROM `files`
+ WHERE `hash` = ?
+ LIMIT 1';
+ $query = $this->db->query($sql, array($hash));
+
+ if ($query->num_rows() == 0) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ function delete_id($id)
+ {
+ $filedata = $this->get_filedata($id);
+ $password = $this->get_password();
+
+ if ($password == "NULL") {
+ return false;
+ }
+
+ if(!$this->id_exists($id)) {
+ return false;
+ }
+
+ $sql = '
+ DELETE
+ FROM `files`
+ WHERE `id` = ?
+ AND password = ?
+ LIMIT 1';
+ $this->db->query($sql, array($id, $password));
+
+ if($this->id_exists($id)) {
+ return false;
+ }
+
+ if($this->unused_file($filedata['hash'])) {
+ unlink($this->file($filedata['hash']));
+ @rmdir($this->folder($filedata['hash']));
+ }
+ return true;
+ }
+
+ // Generate a random ID
+ private function random_id($min_length, $max_length)
+ {
+ $random = '';
+ $char_list = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ $char_list .= "abcdefghijklmnopqrstuvwxyz";
+ $char_list .= "1234567890";
+ $length = rand()%($max_length-$min_length) + $min_length;
+
+ for($i = 0; $i < $max_length; $i++) {
+ if (strlen($random) == $length) break;
+ $random .= substr($char_list,(rand()%(strlen($char_list))), 1);
+ }
+ return $random;
+ }
+
+ // Map MIME types to extensions needed for highlighting
+ function mime2extension($type)
+ {
+ $typearray = array(
+ 'text/plain' => 'text',
+ 'text/x-python' => 'python',
+ 'text/x-csrc' => 'c',
+ 'text/x-chdr' => 'c',
+ 'text/x-c++hdr' => 'c',
+ 'text/x-c++src' => 'cpp',
+ 'text/x-patch' => 'diff',
+ 'text/x-lua' => 'lua',
+ 'text/x-java' => 'java',
+ 'text/x-haskell' => 'haskell',
+ 'text/x-literate-haskell' => 'haskell',
+ 'text/x-subviewer' => 'bash',
+ 'text/x-makefile' => 'make',
+ #'text/x-log' => 'log',
+ 'text/html' => 'xml',
+ 'text/css' => 'css',
+ 'message/rfc822' => 'email',
+ #'image/svg+xml' => 'xml',
+ 'application/x-perl' => 'perl',
+ 'application/xml' => 'xml',
+ 'application/javascript' => 'javascript',
+ 'application/x-desktop' => 'text',
+ 'application/x-m4' => 'text',
+ 'application/x-awk' => 'text',
+ 'application/x-java' => 'java',
+ 'application/x-php' => 'php',
+ 'application/x-ruby' => 'ruby',
+ 'application/x-shellscript' => 'bash',
+ 'application/x-x509-ca-cert' => 'text',
+ 'application/mbox' => 'email',
+ 'application/x-genesis-rom' => 'text',
+ 'application/x-applix-spreadsheet' => 'actionscript'
+ );
+ if (array_key_exists($type, $typearray)) return $typearray[$type];
+
+ if (strpos($type, 'text/') === 0) return 'text';
+
+ # default
+ return false;
+ }
+
+ // Map special filenames to extensions
+ function filename2extension($name)
+ {
+ $namearray = array(
+ 'PKGBUILD' => 'bash',
+ '.vimrc' => 'vim'
+ );
+ if (array_key_exists($name, $namearray)) return $namearray[$name];
+
+ return false;
+ }
+
+ // Handle alias extensions
+ function extension_aliases($alias)
+ {
+ if ($alias === false) return false;
+ $aliasarray = array(
+ 'py' => 'python'
+ );
+ if (array_key_exists($alias, $aliasarray)) return $aliasarray[$alias];
+
+ return $alias;
+ }
+
+}
+
+# vim: set noet:
diff --git a/application/models/index.html b/application/models/index.html
new file mode 100644
index 000000000..c942a79ce
--- /dev/null
+++ b/application/models/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/third_party/index.html b/application/third_party/index.html
new file mode 100755
index 000000000..c942a79ce
--- /dev/null
+++ b/application/third_party/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/application/views/file/client.php b/application/views/file/client.php
new file mode 100644
index 000000000..0ebc20791
--- /dev/null
+++ b/application/views/file/client.php
@@ -0,0 +1,23 @@
+<p><b>Shell:</b></p>
+<pre>
+<?php if(false): ?>
+>curl -n -F "content=&lt;-" <?php echo site_url(); ?> &lt; file (not binary safe)
+cat file | curl -n -F "content=&lt;-" <?php echo site_url(); ?> (not binary safe)
+<?php endif; ?>
+curl -n -F "file=@/home/user/foo" <?php echo site_url(); ?> (binary safe)
+cat file | curl -n -F "file=@-;filename=stdin" <?php echo site_url(); ?> (binary safe)
+</pre>
+<p><b>Client:</b><br />
+<p>Development (git): <a href="http://git.server-speed.net/users/flo/fb/">http://git.server-speed.net/users/flo/fb/</a><br />
+Latest release: <a href="<?php echo $client_link; ?>"><?php echo $client_link; ?></a>.<br />
+GPG sigs, older versions: <a href="<?php echo $client_link_dir; ?>"><?php echo $client_link_dir; ?></a>
+</p>
+<p>If you want to use authentication (needed for deleting) add the following to your ~/.netrc:</p>
+<pre>
+machine paste.xinu.at password my_secret_password
+</pre>
+<p><b>Packages:</b><br />
+Arch Linux: pacman -S fb-client<br />
+Debian: <a href="<?php echo $client_link_deb; ?>"><?php echo $client_link_deb; ?></a><br />
+Slackware: <a href="<?php echo $client_link_slackware; ?>"><?php echo $client_link_slackware; ?></a></p>
+
diff --git a/application/views/file/delete_form.php b/application/views/file/delete_form.php
new file mode 100644
index 000000000..7d4f2329f
--- /dev/null
+++ b/application/views/file/delete_form.php
@@ -0,0 +1,9 @@
+<div style="text-align:center">
+ <?php echo form_open('file/delete/'.$id); ?>
+ <p>
+ <?php if($msg) echo $msg."<br />"; ?>
+ Password:<input type="password" name="password" size="10" />
+ <input type="submit" value="Delete" name="process" />
+ </p>
+ </form>
+</div>
diff --git a/application/views/file/deleted.php b/application/views/file/deleted.php
new file mode 100644
index 000000000..865b5304a
--- /dev/null
+++ b/application/views/file/deleted.php
@@ -0,0 +1,3 @@
+<div style="text-align:center">
+ <p><?php echo $id; ?> has been deleted.</p>
+</div>
diff --git a/application/views/file/footer.php b/application/views/file/footer.php
new file mode 100644
index 000000000..eda863585
--- /dev/null
+++ b/application/views/file/footer.php
@@ -0,0 +1,3 @@
+ </div>
+</body>
+</html>
diff --git a/application/views/file/header.php b/application/views/file/header.php
new file mode 100644
index 000000000..f6073707a
--- /dev/null
+++ b/application/views/file/header.php
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+ <title><?php echo isset($title) ? $title : ''; ?></title>
+ <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>data/default.css" media="screen" />
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
+</head>
+
+<body>
+ <div class="top">
+ <?php echo anchor('file/index', 'New'); ?>
+ </div>
+
+ <div class="content">
diff --git a/application/views/file/html_footer.php b/application/views/file/html_footer.php
new file mode 100644
index 000000000..ddc460a39
--- /dev/null
+++ b/application/views/file/html_footer.php
@@ -0,0 +1,5 @@
+ </td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/application/views/file/html_header.php b/application/views/file/html_header.php
new file mode 100644
index 000000000..52ffab007
--- /dev/null
+++ b/application/views/file/html_header.php
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title><?php echo $title; ?></title>
+ <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>data/paste.css" />
+ <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>data/paste-<?php echo $current_highlight; ?>.css" />
+ </head>
+ <body>
+ <div class="top_bar">
+ <a class="raw_link no" href="<?php echo $new_link; ?>">New</a> |
+ <a class="raw_link no" href="<?php echo $raw_link; ?>">Raw</a> |
+ <a class="raw_link no" href="<?php echo $plain_link; ?>">Plain</a> |
+ Currently: <?php echo $current_highlight; ?> |
+ Timeout: <a class="raw_link no" href="<?php echo $delete_link; ?>" title="delete"><?php echo $timeout; ?></a>
+ <div style="float:right;">
+ <a class="raw_link no" href="<?php echo $auto_link; ?>">Code</a> |
+ <a class="raw_link no" href="<?php echo $rmd_link; ?>">Render Markdown</a>
+ </div>
+ </div>
+ <table class="content">
+ <tr>
diff --git a/application/views/file/non_existent.php b/application/views/file/non_existent.php
new file mode 100644
index 000000000..9f4a79913
--- /dev/null
+++ b/application/views/file/non_existent.php
@@ -0,0 +1,3 @@
+<div style="text-align:center">
+ <p>I'm sorry, but the requested file doesn't exist.</p>
+</div>
diff --git a/application/views/file/show_url.php b/application/views/file/show_url.php
new file mode 100644
index 000000000..e0e3dc8a6
--- /dev/null
+++ b/application/views/file/show_url.php
@@ -0,0 +1,6 @@
+<div style="text-align:center">
+ <p>
+ You can get your file here:<br />
+ <a href="<?php echo $url; ?>"><?php echo $url; ?></a><br />
+ </p>
+</div>
diff --git a/application/views/file/too_big.php b/application/views/file/too_big.php
new file mode 100644
index 000000000..aa5c42835
--- /dev/null
+++ b/application/views/file/too_big.php
@@ -0,0 +1,3 @@
+<div style="text-align:center">
+ <p>Sorry, the file you uploaded is too big.</p>
+</div>
diff --git a/application/views/file/upload_error.php b/application/views/file/upload_error.php
new file mode 100644
index 000000000..e757b58c1
--- /dev/null
+++ b/application/views/file/upload_error.php
@@ -0,0 +1,6 @@
+<div style="text-align:center">
+ <p>
+ An error occured while uploading.<br />
+ Most likely your file is too big.
+ </p>
+</div>
diff --git a/application/views/file/upload_form.php b/application/views/file/upload_form.php
new file mode 100644
index 000000000..4b23783dd
--- /dev/null
+++ b/application/views/file/upload_form.php
@@ -0,0 +1,32 @@
+<div style="margin-top: 100px; text-align:center">
+ <?php echo form_open_multipart('file/do_upload'); ?>
+ <p>
+ File: <input type="file" name="file" size="30" />
+ <input type="submit" value="Upload" name="process" /><br />
+ Optional password (for deletion): <input type="password" name="password" size="10" />
+ </p>
+ </form>
+ <p>Pasting text directly has been disabled due to extensive bot problems. Please use the file upload instead.</p>
+<?php if (false): ?>
+ <p><b>OR</b></p>
+ <?php echo form_open_multipart('file/do_paste'); ?>
+ <p>
+ <textarea name="content" cols="80" rows="20"></textarea><br />
+ <div style="display: none">Email: <input type="text" name="email" size="20" /></div>
+ Optional password (for deletion): <input type="password" name="password" size="10" /><br />
+ <input type="submit" value="Paste" name="process" />
+ </p>
+<?php endif; ?>
+ </form>
+</div>
+<br />
+<p>Uploads/pastes are deleted after 5 days<?php if($small_upload_size > 0): ?>
+ unless they are smaller than <?php echo format_bytes($small_upload_size); ?>
+ <?php endif; ?>. Maximum upload size is <?php echo format_bytes($max_upload_size); ?></p>
+<p>For shell uploading/pasting and download information for the client go to <a href="<?php echo site_url("file/client"); ?>"><?php echo site_url("file/client"); ?></a></p>
+<br />
+<p>If you experience any problems feel free to <a href="http://bluewind.at/?id=1">contact me</a>.</p>
+<br />
+<div class="small">
+ <p>This service is provided without warranty of any kind and may not be used to distribute copyrighted content.</p>
+</div>
diff --git a/application/views/index.html b/application/views/index.html
new file mode 100644
index 000000000..c942a79ce
--- /dev/null
+++ b/application/views/index.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+ <title>403 Forbidden</title>
+</head>
+<body>
+
+<p>Directory access is forbidden.</p>
+
+</body>
+</html> \ No newline at end of file