1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/dokuwiki_ynh.git synced 2024-09-03 18:26:20 +02:00

Update sources dir with current stable (2015-08-10a "Detritus")

This commit is contained in:
Doudou 2016-01-10 16:23:49 +01:00
parent 87dc1486b8
commit 6ea455104d
1598 changed files with 8402 additions and 83308 deletions

View file

@ -4,7 +4,7 @@ at http://www.dokuwiki.org/
For Installation Instructions see For Installation Instructions see
http://www.dokuwiki.org/install http://www.dokuwiki.org/install
DokuWiki - 2004-2014 (c) Andreas Gohr <andi@splitbrain.org> DokuWiki - 2004-2015 (c) Andreas Gohr <andi@splitbrain.org>
and the DokuWiki Community and the DokuWiki Community
See COPYING and file headers for license info See COPYING and file headers for license info

View file

@ -1 +1 @@
2014-09-29 "Hrun" 2015-08-10a "Detritus"

View file

@ -28,7 +28,8 @@ class PageCLI extends DokuCLI {
$options->registerOption( $options->registerOption(
'user', 'user',
'work as this user. defaults to current CLI user', 'work as this user. defaults to current CLI user',
'u' 'u',
'username'
); );
$options->setHelp( $options->setHelp(
'Utility to help command line Dokuwiki page editing, allow '. 'Utility to help command line Dokuwiki page editing, allow '.
@ -239,6 +240,7 @@ class PageCLI extends DokuCLI {
if($this->force) $this->deleteLock($wiki_id); if($this->force) $this->deleteLock($wiki_id);
$_SERVER['REMOTE_USER'] = $this->username; $_SERVER['REMOTE_USER'] = $this->username;
if(checklock($wiki_id)) { if(checklock($wiki_id)) {
$this->error("Page $wiki_id is already locked by another user"); $this->error("Page $wiki_id is already locked by another user");
exit(1); exit(1);
@ -246,7 +248,6 @@ class PageCLI extends DokuCLI {
lock($wiki_id); lock($wiki_id);
$_SERVER['REMOTE_USER'] = '_'.$this->username.'_';
if(checklock($wiki_id) != $this->username) { if(checklock($wiki_id) != $this->username) {
$this->error("Unable to obtain lock for $wiki_id "); $this->error("Unable to obtain lock for $wiki_id ");
var_dump(checklock($wiki_id)); var_dump(checklock($wiki_id));

View file

@ -101,7 +101,7 @@ class GitToolCLI extends DokuCLI {
/** /**
* Tries to install the given extensions using git clone * Tries to install the given extensions using git clone
* *
* @param $extensions * @param array $extensions
*/ */
public function cmd_clone($extensions) { public function cmd_clone($extensions) {
$errors = array(); $errors = array();
@ -130,7 +130,7 @@ class GitToolCLI extends DokuCLI {
/** /**
* Tries to install the given extensions using git clone with fallback to install * Tries to install the given extensions using git clone with fallback to install
* *
* @param $extensions * @param array $extensions
*/ */
public function cmd_install($extensions) { public function cmd_install($extensions) {
$errors = array(); $errors = array();
@ -206,12 +206,13 @@ class GitToolCLI extends DokuCLI {
* Install extension from the given download URL * Install extension from the given download URL
* *
* @param string $ext * @param string $ext
* @return bool * @return bool|null
*/ */
private function downloadExtension($ext) { private function downloadExtension($ext) {
/** @var helper_plugin_extension_extension $plugin */ /** @var helper_plugin_extension_extension $plugin */
$plugin = plugin_load('helper', 'extension_extension'); $plugin = plugin_load('helper', 'extension_extension');
if(!$ext) die("extension plugin not available, can't continue"); if(!$ext) die("extension plugin not available, can't continue");
$plugin->setExtension($ext); $plugin->setExtension($ext);
$url = $plugin->getDownloadURL(); $url = $plugin->getDownloadURL();
@ -291,12 +292,13 @@ class GitToolCLI extends DokuCLI {
* Returns the repository for the given extension * Returns the repository for the given extension
* *
* @param $extension * @param $extension
* @return bool|string * @return false|string
*/ */
private function getSourceRepo($extension) { private function getSourceRepo($extension) {
/** @var helper_plugin_extension_extension $ext */ /** @var helper_plugin_extension_extension $ext */
$ext = plugin_load('helper', 'extension_extension'); $ext = plugin_load('helper', 'extension_extension');
if(!$ext) die("extension plugin not available, can't continue"); if(!$ext) die("extension plugin not available, can't continue");
$ext->setExtension($extension); $ext->setExtension($extension);
$repourl = $ext->getSourcerepoURL(); $repourl = $ext->getSourcerepoURL();

View file

@ -26,7 +26,8 @@ class StripLangsCLI extends DokuCLI {
$options->registerOption( $options->registerOption(
'keep', 'keep',
'Comma separated list of languages to keep in addition to English.', 'Comma separated list of languages to keep in addition to English.',
'k' 'k',
'langcodes'
); );
$options->registerOption( $options->registerOption(
'english-only', 'english-only',

View file

@ -61,6 +61,13 @@ class WantedPagesCLI extends DokuCLI {
} }
} }
/**
* Determine directions of the search loop
*
* @param string $entry
* @param string $basepath
* @return int
*/
protected function dir_filter($entry, $basepath) { protected function dir_filter($entry, $basepath) {
if($entry == '.' || $entry == '..') { if($entry == '.' || $entry == '..') {
return WantedPagesCLI::DIR_CONTINUE; return WantedPagesCLI::DIR_CONTINUE;
@ -77,6 +84,13 @@ class WantedPagesCLI extends DokuCLI {
return WantedPagesCLI::DIR_CONTINUE; return WantedPagesCLI::DIR_CONTINUE;
} }
/**
* Collects recursively the pages in a namespace
*
* @param string $dir
* @return array
* @throws DokuCLI_Exception
*/
protected function get_pages($dir) { protected function get_pages($dir) {
static $trunclen = null; static $trunclen = null;
if(!$trunclen) { if(!$trunclen) {
@ -108,6 +122,12 @@ class WantedPagesCLI extends DokuCLI {
return $pages; return $pages;
} }
/**
* Parse instructions and returns the non-existing links
*
* @param array $page array with page id and file path
* @return array
*/
function internal_links($page) { function internal_links($page) {
global $conf; global $conf;
$instructions = p_get_instructions(file_get_contents($page['file'])); $instructions = p_get_instructions(file_get_contents($page['file']));

View file

@ -1,37 +1,41 @@
# Each URL may contain one of the placeholders {URL} or {NAME} # Each URL may contain one of these placeholders
# {URL} is replaced by the URL encoded representation of the wikiname # {URL} is replaced by the URL encoded representation of the wikiname
# this is the right thing to do in most cases # this is the right thing to do in most cases
# {NAME} this is replaced by the wikiname as given in the document # {NAME} this is replaced by the wikiname as given in the document
# no further encoding is done # only mandatory encoded is done, urlencoding if the link
# is an external URL, or encoding as a wikiname if it is an
# internal link (begins with a colon)
# {SCHEME}
# {HOST}
# {PORT}
# {PATH}
# {QUERY} these placeholders will be replaced with the appropriate part
# of the link when parsed as a URL
# If no placeholder is defined the urlencoded name is appended to the URL # If no placeholder is defined the urlencoded name is appended to the URL
# To prevent losing your added InterWiki shortcuts after an upgrade, # To prevent losing your added InterWiki shortcuts after an upgrade,
# you should add new ones to interwiki.local.conf # you should add new ones to interwiki.local.conf
wp http://en.wikipedia.org/wiki/{NAME} wp https://en.wikipedia.org/wiki/{NAME}
wpfr http://fr.wikipedia.org/wiki/{NAME} wpfr https://fr.wikipedia.org/wiki/{NAME}
wpde http://de.wikipedia.org/wiki/{NAME} wpde https://de.wikipedia.org/wiki/{NAME}
wpes http://es.wikipedia.org/wiki/{NAME} wpes https://es.wikipedia.org/wiki/{NAME}
wppl http://pl.wikipedia.org/wiki/{NAME} wppl https://pl.wikipedia.org/wiki/{NAME}
wpjp http://ja.wikipedia.org/wiki/{NAME} wpjp https://ja.wikipedia.org/wiki/{NAME}
wpmeta http://meta.wikipedia.org/wiki/{NAME} wpmeta https://meta.wikipedia.org/wiki/{NAME}
doku http://www.dokuwiki.org/ doku https://www.dokuwiki.org/
dokubug http://bugs.dokuwiki.org/index.php?do=details&amp;task_id= rfc https://tools.ietf.org/html/rfc
rfc http://tools.ietf.org/html/rfc
man http://man.cx/ man http://man.cx/
amazon http://www.amazon.com/exec/obidos/ASIN/{URL}/splitbrain-20/ amazon https://www.amazon.com/exec/obidos/ASIN/{URL}/splitbrain-20/
amazon.de http://www.amazon.de/exec/obidos/ASIN/{URL}/splitbrain-21/ amazon.de https://www.amazon.de/exec/obidos/ASIN/{URL}/splitbrain-21/
amazon.uk http://www.amazon.co.uk/exec/obidos/ASIN/ amazon.uk https://www.amazon.co.uk/exec/obidos/ASIN/
paypal https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business= paypal https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=
phpfn http://www.php.net/{NAME} phpfn https://www.php.net/{NAME}
coral http://{HOST}.{PORT}.nyud.net:8090{PATH}?{QUERY}
freecache http://freecache.org/{NAME}
sb http://www.splitbrain.org/go/
skype skype:{NAME} skype skype:{NAME}
google.de http://www.google.de/search?q= google.de https://www.google.de/search?q=
go http://www.google.com/search?q={URL}&amp;btnI=lucky go https://www.google.com/search?q={URL}&amp;btnI=lucky
user :user:{NAME} user :user:{NAME}
# To support VoIP/SIP links # To support VoIP/SIP/TEL links
callto callto://{NAME} callto callto://{NAME}
tel tel:{NAME}

View file

@ -9,7 +9,6 @@ gif image/gif
png image/png png image/png
ico image/vnd.microsoft.icon ico image/vnd.microsoft.icon
swf application/x-shockwave-flash
mp3 audio/mpeg mp3 audio/mpeg
ogg audio/ogg ogg audio/ogg
wav audio/wav wav audio/wav
@ -66,3 +65,7 @@ odt !application/vnd.oasis.opendocument.text
#xml text/xml #xml text/xml
#csv text/csv #csv text/csv
# Also flash may be able to execute arbitrary scripts in the website's
# context
#swf application/x-shockwave-flash

View file

@ -56,7 +56,7 @@ $conf['plugin']['authmysql']['TablesToLock']= array("users", "users AS u","group
* of the user. If the result table is empty or contains more than one * of the user. If the result table is empty or contains more than one
* row, access will be denied. * row, access will be denied.
* *
* The plugin accesses the password as 'pass' so a alias might be necessary. * The plugin accesses the password as 'pass' so an alias might be necessary.
* *
* Following patters will be replaced: * Following patters will be replaced:
* %{user} user name * %{user} user name
@ -107,10 +107,10 @@ $conf['plugin']['authmysql']['getGroups'] = "SELECT name as `group`
/* This statement should return a table containing all user login names /* This statement should return a table containing all user login names
* that meet certain filter criteria. The filter expressions will be added * that meet certain filter criteria. The filter expressions will be added
* case dependend by the plugin. At the end a sort expression will be added. * case dependend by the plugin. At the end a sort expression will be added.
* Important is that this list contains no double entries fo a user. Each * Important is that this list contains no double entries for a user. Each
* user name is only allowed once in the table. * user name is only allowed once in the table.
* *
* The login name will be accessed as 'user' to a alias might be neseccary. * The login name will be accessed as 'user' to an alias might be neseccary.
* No patterns will be replaced in this statement but following patters * No patterns will be replaced in this statement but following patters
* will be replaced in the filter expressions: * will be replaced in the filter expressions:
* %{user} in FilterLogin user's login name * %{user} in FilterLogin user's login name
@ -174,7 +174,7 @@ $conf['plugin']['authmysql']['delGroup'] = "DELETE FROM groups
WHERE gid='%{gid}'"; WHERE gid='%{gid}'";
/* This statement should return the database index of a given user name. /* This statement should return the database index of a given user name.
* The plugin will access the index with the name 'id' so a alias might be * The plugin will access the index with the name 'id' so an alias might be
* necessary. * necessary.
* following patters will be replaced: * following patters will be replaced:
* %{user} user name * %{user} user name
@ -240,7 +240,7 @@ $conf['plugin']['authmysql']['delUserGroup']= "DELETE FROM usergroup
AND gid='%{gid}'"; AND gid='%{gid}'";
/* This statement should return the database index of a given group name. /* This statement should return the database index of a given group name.
* The plugin will access the index with the name 'id' so a alias might * The plugin will access the index with the name 'id' so an alias might
* be necessary. * be necessary.
* *
* Following patters will be replaced: * Following patters will be replaced:

View file

@ -2,16 +2,12 @@
# patches welcome # patches welcome
# #
https?:\/\/(\S*?)(-side-effects|top|pharm|pill|discount|discount-|deal|price|order|now|best|cheap|cheap-|online|buy|buy-|sale|sell)(\S*?)(cialis|viagra|prazolam|xanax|zanax|soma|vicodin|zenical|xenical|meridia|paxil|prozac|claritin|allegra|lexapro|wellbutrin|zoloft|retin|valium|levitra|phentermine) https?:\/\/(\S*?)(-side-effects|top|pharm|pill|discount|discount-|deal|price|order|now|best|cheap|cheap-|online|buy|buy-|sale|sell)(\S*?)(cialis|viagra|prazolam|xanax|zanax|soma|vicodin|zenical|xenical|meridia|paxil|prozac|claritin|allegra|lexapro|wellbutrin|zoloft|retin|valium|levitra|phentermine)
gay\s*sex https?:\/\/(\S*?)(bi\s*sex|gay\s*sex|fetish|incest|penis|\brape\b)
bi\s*sex
incest
zoosex zoosex
gang\s*bang gang\s*bang
facials facials
ladyboy ladyboy
fetish
\btits\b \btits\b
\brape\b
bolea\.com bolea\.com
52crystal 52crystal
baida\.org baida\.org

View file

@ -2,6 +2,252 @@
# but were removed later. An up to date DokuWiki should not have any of # but were removed later. An up to date DokuWiki should not have any of
# the files installed # the files installed
# removed in 2015-08-10
inc/TarLib.class.php
inc/geshi.php
inc/geshi/4cs.php
inc/geshi/6502acme.php
inc/geshi/6502kickass.php
inc/geshi/6502tasm.php
inc/geshi/68000devpac.php
inc/geshi/abap.php
inc/geshi/actionscript-french.php
inc/geshi/actionscript.php
inc/geshi/actionscript3.php
inc/geshi/ada.php
inc/geshi/algol68.php
inc/geshi/apache.php
inc/geshi/applescript.php
inc/geshi/apt_sources.php
inc/geshi/arm.php
inc/geshi/asm.php
inc/geshi/asp.php
inc/geshi/asymptote.php
inc/geshi/autoconf.php
inc/geshi/autohotkey.php
inc/geshi/autoit.php
inc/geshi/avisynth.php
inc/geshi/awk.php
inc/geshi/bascomavr.php
inc/geshi/bash.php
inc/geshi/basic4gl.php
inc/geshi/bf.php
inc/geshi/bibtex.php
inc/geshi/blitzbasic.php
inc/geshi/bnf.php
inc/geshi/boo.php
inc/geshi/c.php
inc/geshi/c_loadrunner.php
inc/geshi/c_mac.php
inc/geshi/caddcl.php
inc/geshi/cadlisp.php
inc/geshi/cfdg.php
inc/geshi/cfm.php
inc/geshi/chaiscript.php
inc/geshi/cil.php
inc/geshi/clojure.php
inc/geshi/cmake.php
inc/geshi/cobol.php
inc/geshi/coffeescript.php
inc/geshi/cpp-qt.php
inc/geshi/cpp.php
inc/geshi/csharp.php
inc/geshi/css.php
inc/geshi/cuesheet.php
inc/geshi/d.php
inc/geshi/dcl.php
inc/geshi/dcpu16.php
inc/geshi/dcs.php
inc/geshi/delphi.php
inc/geshi/diff.php
inc/geshi/div.php
inc/geshi/dos.php
inc/geshi/dot.php
inc/geshi/e.php
inc/geshi/ecmascript.php
inc/geshi/eiffel.php
inc/geshi/email.php
inc/geshi/epc.php
inc/geshi/erlang.php
inc/geshi/euphoria.php
inc/geshi/f1.php
inc/geshi/falcon.php
inc/geshi/fo.php
inc/geshi/fortran.php
inc/geshi/freebasic.php
inc/geshi/freeswitch.php
inc/geshi/fsharp.php
inc/geshi/gambas.php
inc/geshi/gdb.php
inc/geshi/genero.php
inc/geshi/genie.php
inc/geshi/gettext.php
inc/geshi/glsl.php
inc/geshi/gml.php
inc/geshi/gnuplot.php
inc/geshi/go.php
inc/geshi/groovy.php
inc/geshi/gwbasic.php
inc/geshi/haskell.php
inc/geshi/haxe.php
inc/geshi/hicest.php
inc/geshi/hq9plus.php
inc/geshi/html4strict.php
inc/geshi/html5.php
inc/geshi/icon.php
inc/geshi/idl.php
inc/geshi/ini.php
inc/geshi/inno.php
inc/geshi/intercal.php
inc/geshi/io.php
inc/geshi/j.php
inc/geshi/java.php
inc/geshi/java5.php
inc/geshi/javascript.php
inc/geshi/jquery.php
inc/geshi/kixtart.php
inc/geshi/klonec.php
inc/geshi/klonecpp.php
inc/geshi/latex.php
inc/geshi/lb.php
inc/geshi/ldif.php
inc/geshi/lisp.php
inc/geshi/llvm.php
inc/geshi/locobasic.php
inc/geshi/logtalk.php
inc/geshi/lolcode.php
inc/geshi/lotusformulas.php
inc/geshi/lotusscript.php
inc/geshi/lscript.php
inc/geshi/lsl2.php
inc/geshi/lua.php
inc/geshi/m68k.php
inc/geshi/magiksf.php
inc/geshi/make.php
inc/geshi/mapbasic.php
inc/geshi/matlab.php
inc/geshi/mirc.php
inc/geshi/mmix.php
inc/geshi/modula2.php
inc/geshi/modula3.php
inc/geshi/mpasm.php
inc/geshi/mxml.php
inc/geshi/mysql.php
inc/geshi/nagios.php
inc/geshi/netrexx.php
inc/geshi/newlisp.php
inc/geshi/nsis.php
inc/geshi/oberon2.php
inc/geshi/objc.php
inc/geshi/objeck.php
inc/geshi/ocaml-brief.php
inc/geshi/ocaml.php
inc/geshi/octave.php
inc/geshi/oobas.php
inc/geshi/oorexx.php
inc/geshi/oracle11.php
inc/geshi/oracle8.php
inc/geshi/oxygene.php
inc/geshi/oz.php
inc/geshi/parasail.php
inc/geshi/parigp.php
inc/geshi/pascal.php
inc/geshi/pcre.php
inc/geshi/per.php
inc/geshi/perl.php
inc/geshi/perl6.php
inc/geshi/pf.php
inc/geshi/php-brief.php
inc/geshi/php.php
inc/geshi/pic16.php
inc/geshi/pike.php
inc/geshi/pixelbender.php
inc/geshi/pli.php
inc/geshi/plsql.php
inc/geshi/postgresql.php
inc/geshi/povray.php
inc/geshi/powerbuilder.php
inc/geshi/powershell.php
inc/geshi/proftpd.php
inc/geshi/progress.php
inc/geshi/prolog.php
inc/geshi/properties.php
inc/geshi/providex.php
inc/geshi/purebasic.php
inc/geshi/pycon.php
inc/geshi/pys60.php
inc/geshi/python.php
inc/geshi/q.php
inc/geshi/qbasic.php
inc/geshi/rails.php
inc/geshi/rebol.php
inc/geshi/reg.php
inc/geshi/rexx.php
inc/geshi/robots.php
inc/geshi/rpmspec.php
inc/geshi/rsplus.php
inc/geshi/ruby.php
inc/geshi/sas.php
inc/geshi/scala.php
inc/geshi/scheme.php
inc/geshi/scilab.php
inc/geshi/sdlbasic.php
inc/geshi/smalltalk.php
inc/geshi/smarty.php
inc/geshi/spark.php
inc/geshi/sparql.php
inc/geshi/sql.php
inc/geshi/stonescript.php
inc/geshi/systemverilog.php
inc/geshi/tcl.php
inc/geshi/teraterm.php
inc/geshi/text.php
inc/geshi/thinbasic.php
inc/geshi/tsql.php
inc/geshi/typoscript.php
inc/geshi/unicon.php
inc/geshi/upc.php
inc/geshi/urbi.php
inc/geshi/uscript.php
inc/geshi/vala.php
inc/geshi/vb.php
inc/geshi/vbnet.php
inc/geshi/vedit.php
inc/geshi/verilog.php
inc/geshi/vhdl.php
inc/geshi/vim.php
inc/geshi/visualfoxpro.php
inc/geshi/visualprolog.php
inc/geshi/whitespace.php
inc/geshi/whois.php
inc/geshi/winbatch.php
inc/geshi/xbasic.php
inc/geshi/xml.php
inc/geshi/xorg_conf.php
inc/geshi/xpp.php
inc/geshi/yaml.php
inc/geshi/z80.php
inc/geshi/zxbasic.php
inc/lang/ku/admin.txt
inc/lang/ku/denied.txt
inc/lang/ku/editrev.txt
inc/lang/ku/locked.txt
inc/lang/ku/login.txt
inc/lang/ku/mailtext.txt
inc/lang/ku/norev.txt
inc/lang/ku/password.txt
inc/lang/ku/read.txt
inc/lang/ku/register.txt
inc/lang/ku/revisions.txt
inc/lang/ku/showrev.txt
inc/lang/ku/stopwords.txt
lib/images/interwiki/coral.gif
lib/images/interwiki/dokubug.gif
lib/images/interwiki/sb.gif
lib/scripts/drag.js
lib/scripts/jquery/jquery-ui-theme/images/animated-overlay.gif
lib/scripts/tw-sack.js
# removed in 2014-05-05 # removed in 2014-05-05
lib/images/fileicons/audio.png lib/images/fileicons/audio.png
lib/plugins/acl/lang/hi/lang.php lib/plugins/acl/lang/hi/lang.php

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -57,7 +57,7 @@ All documentation and additional information besides the [[syntax|syntax descrip
===== Copyright ===== ===== Copyright =====
2004-2013 (c) Andreas Gohr <andi@splitbrain.org>((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[http://forum.dokuwiki.org|forum]] instead)) and the DokuWiki Community 2004-2015 (c) Andreas Gohr <andi@splitbrain.org>((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[http://forum.dokuwiki.org|forum]] instead)) and the DokuWiki Community
The DokuWiki engine is licensed under [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]] Version 2. If you use DokuWiki in your company, consider [[doku>donate|donating]] a few bucks ;-). The DokuWiki engine is licensed under [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]] Version 2. If you use DokuWiki in your company, consider [[doku>donate|donating]] a few bucks ;-).

View file

@ -83,9 +83,14 @@ Windows shares like [[\\server\share|this]] are recognized, too. Please note tha
Notes: Notes:
* For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the "local zone"). * For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the "local zone").
* For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Links_to_local_pages_do_not_work|Mozilla Knowledge Base]]. However, there will still be a JavaScript warning about trying to open a Windows Share. To remove this warning (for all users), put the following line in ''conf/userscript.js'': * For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Links_to_local_pages_do_not_work|Mozilla Knowledge Base]]. However, there will still be a JavaScript warning about trying to open a Windows Share. To remove this warning (for all users), put the following line in ''conf/lang/en/lang.php'' (more details at [[doku>localization#changing_some_localized_texts_and_strings_in_your_installation|localization]]): <code - conf/lang/en/lang.php>
<?php
LANG.nosmblinks = ''; /**
* Customization of the english language file
* Copy only the strings that needs to be modified
*/
$lang['js']['nosmblinks'] = '';
</code>
==== Image Links ==== ==== Image Links ====
@ -170,6 +175,12 @@ DokuWiki can embed the following media formats directly.
If you specify a filename that is not a supported media format, then it will be displayed as a link instead. If you specify a filename that is not a supported media format, then it will be displayed as a link instead.
By adding ''?linkonly'' you provide a link to the media without displaying it inline
{{wiki:dokuwiki-128.png?linkonly}}
{{wiki:dokuwiki-128.png?linkonly}} This is just a link to the image.
==== Fallback Formats ==== ==== Fallback Formats ====
Unfortunately not all browsers understand all video and audio formats. To mitigate the problem, you can upload your file in different formats for maximum browser compatibility. Unfortunately not all browsers understand all video and audio formats. To mitigate the problem, you can upload your file in different formats for maximum browser compatibility.
@ -261,17 +272,19 @@ There are three exceptions which do not come from that pattern file: multiplicat
Some times you want to mark some text to show it's a reply or comment. You can use the following syntax: Some times you want to mark some text to show it's a reply or comment. You can use the following syntax:
I think we should do it <code>
I think we should do it
> No we shouldn't > No we shouldn't
>> Well, I say we should >> Well, I say we should
> Really? > Really?
>> Yes! >> Yes!
>>> Then lets do it! >>> Then lets do it!
</code>
I think we should do it I think we should do it
@ -317,7 +330,7 @@ As you can see, it's the cell separator before a cell which decides about the fo
^ Heading 4 | no colspan this time | | ^ Heading 4 | no colspan this time | |
^ Heading 5 | Row 2 Col 2 | Row 2 Col 3 | ^ Heading 5 | Row 2 Col 2 | Row 2 Col 3 |
You can have rowspans (vertically connected cells) by adding '':::'' into the cells below the one to which they should connect. You can have rowspans (vertically connected cells) by adding ''%%:::%%'' into the cells below the one to which they should connect.
^ Heading 1 ^ Heading 2 ^ Heading 3 ^ ^ Heading 1 ^ Heading 2 ^ Heading 3 ^
| Row 1 Col 1 | this cell spans vertically | Row 1 Col 3 | | Row 1 Col 1 | this cell spans vertically | Row 1 Col 3 |
@ -481,10 +494,13 @@ echo '</tr></table>';
| author | show item authors names | | author | show item authors names |
| date | show item dates | | date | show item dates |
| description| show the item description. If [[doku>config:htmlok|HTML]] is disabled all tags will be stripped | | description| show the item description. If [[doku>config:htmlok|HTML]] is disabled all tags will be stripped |
| nosort | do not sort the items in the feed |
| //n//[dhm] | refresh period, where d=days, h=hours, m=minutes. (e.g. 12h = 12 hours). | | //n//[dhm] | refresh period, where d=days, h=hours, m=minutes. (e.g. 12h = 12 hours). |
The refresh period defaults to 4 hours. Any value below 10 minutes will be treated as 10 minutes. [[wiki:DokuWiki]] will generally try to supply a cached version of a page, obviously this is inappropriate when the page contains dynamic external content. The parameter tells [[wiki:DokuWiki]] to re-render the page if it is more than //refresh period// since the page was last rendered. The refresh period defaults to 4 hours. Any value below 10 minutes will be treated as 10 minutes. [[wiki:DokuWiki]] will generally try to supply a cached version of a page, obviously this is inappropriate when the page contains dynamic external content. The parameter tells [[wiki:DokuWiki]] to re-render the page if it is more than //refresh period// since the page was last rendered.
By default the feed will be sorted by date, newest items first. You can sort it by oldest first using the ''reverse'' parameter, or display the feed as is with ''nosort''.
**Example:** **Example:**
{{rss>http://slashdot.org/index.rss 5 author date 1h }} {{rss>http://slashdot.org/index.rss 5 author date 1h }}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

@ -8,13 +8,18 @@
* @global Input $INPUT * @global Input $INPUT
*/ */
// update message version // update message version - always use a string to avoid localized floats!
$updateVersion = 46; $updateVersion = "47.1";
// xdebug_start_profiling(); // xdebug_start_profiling();
if(!defined('DOKU_INC')) define('DOKU_INC', dirname(__FILE__).'/'); if(!defined('DOKU_INC')) define('DOKU_INC', dirname(__FILE__).'/');
// define all DokuWiki globals here (needed within test requests but also helps to keep track)
global $ACT, $INPUT, $QUERY, $ID, $REV, $DATE_AT, $IDX,
$DATE, $RANGE, $HIGH, $TEXT, $PRE, $SUF, $SUM, $INFO, $JSINFO;
if(isset($_SERVER['HTTP_X_DOKUWIKI_DO'])) { if(isset($_SERVER['HTTP_X_DOKUWIKI_DO'])) {
$ACT = trim(strtolower($_SERVER['HTTP_X_DOKUWIKI_DO'])); $ACT = trim(strtolower($_SERVER['HTTP_X_DOKUWIKI_DO']));
} elseif(!empty($_REQUEST['idx'])) { } elseif(!empty($_REQUEST['idx'])) {

View file

@ -218,7 +218,7 @@ function rss_buildItems(&$rss, &$data, $opt) {
$date = $ditem['date']; $date = $ditem['date'];
} elseif ($ditem['media']) { } elseif ($ditem['media']) {
$date = @filemtime(mediaFN($id)); $date = @filemtime(mediaFN($id));
} elseif (@file_exists(wikiFN($id))) { } elseif (file_exists(wikiFN($id))) {
$date = @filemtime(wikiFN($id)); $date = @filemtime(wikiFN($id));
} elseif($meta['date']['modified']) { } elseif($meta['date']['modified']) {
$date = $meta['date']['modified']; $date = $meta['date']['modified'];
@ -306,7 +306,7 @@ function rss_buildItems(&$rss, &$data, $opt) {
$src_r = ''; $src_r = '';
$src_l = ''; $src_l = '';
if($size = media_image_preview_size($id, false, new JpegMeta(mediaFN($id)), 300)) { if($size = media_image_preview_size($id, '', new JpegMeta(mediaFN($id)), 300)) {
$more = 'w='.$size[0].'&h='.$size[1].'&t='.@filemtime(mediaFN($id)); $more = 'w='.$size[0].'&h='.$size[1].'&t='.@filemtime(mediaFN($id));
$src_r = ml($id, $more, true, '&amp;', true); $src_r = ml($id, $more, true, '&amp;', true);
} }
@ -355,7 +355,7 @@ function rss_buildItems(&$rss, &$data, $opt) {
break; break;
case 'html': case 'html':
if($ditem['media']) { if($ditem['media']) {
if($size = media_image_preview_size($id, false, new JpegMeta(mediaFN($id)))) { if($size = media_image_preview_size($id, '', new JpegMeta(mediaFN($id)))) {
$more = 'w='.$size[0].'&h='.$size[1].'&t='.@filemtime(mediaFN($id)); $more = 'w='.$size[0].'&h='.$size[1].'&t='.@filemtime(mediaFN($id));
$src = ml($id, $more, true, '&amp;', true); $src = ml($id, $more, true, '&amp;', true);
$content = '<img src="'.$src.'" alt="'.$id.'" />'; $content = '<img src="'.$src.'" alt="'.$id.'" />';
@ -386,7 +386,7 @@ function rss_buildItems(&$rss, &$data, $opt) {
case 'abstract': case 'abstract':
default: default:
if($ditem['media']) { if($ditem['media']) {
if($size = media_image_preview_size($id, false, new JpegMeta(mediaFN($id)))) { if($size = media_image_preview_size($id, '', new JpegMeta(mediaFN($id)))) {
$more = 'w='.$size[0].'&h='.$size[1].'&t='.@filemtime(mediaFN($id)); $more = 'w='.$size[0].'&h='.$size[1].'&t='.@filemtime(mediaFN($id));
$src = ml($id, $more, true, '&amp;', true); $src = ml($id, $more, true, '&amp;', true);
$content = '<img src="'.$src.'" alt="'.$id.'" />'; $content = '<img src="'.$src.'" alt="'.$id.'" />';

View file

@ -14,6 +14,9 @@ class _DiffOp {
var $orig; var $orig;
var $closing; var $closing;
/**
* @return _DiffOp
*/
function reverse() { function reverse() {
trigger_error("pure virtual", E_USER_ERROR); trigger_error("pure virtual", E_USER_ERROR);
} }
@ -104,6 +107,21 @@ class _DiffOp_Change extends _DiffOp {
*/ */
class _DiffEngine { class _DiffEngine {
var $xchanged = array();
var $ychanged = array();
var $xv = array();
var $yv = array();
var $xind = array();
var $yind = array();
var $seq;
var $in_seq;
var $lcs;
/**
* @param array $from_lines
* @param array $to_lines
* @return _DiffOp[]
*/
function diff($from_lines, $to_lines) { function diff($from_lines, $to_lines) {
$n_from = count($from_lines); $n_from = count($from_lines);
$n_to = count($to_lines); $n_to = count($to_lines);
@ -495,9 +513,9 @@ class Diff {
* Constructor. * Constructor.
* Computes diff between sequences of strings. * Computes diff between sequences of strings.
* *
* @param $from_lines array An array of strings. * @param array $from_lines An array of strings.
* (Typically these are lines from a file.) * (Typically these are lines from a file.)
* @param $to_lines array An array of strings. * @param array $to_lines An array of strings.
*/ */
function __construct($from_lines, $to_lines) { function __construct($from_lines, $to_lines) {
$eng = new _DiffEngine; $eng = new _DiffEngine;
@ -512,8 +530,9 @@ class Diff {
* *
* $diff = new Diff($lines1, $lines2); * $diff = new Diff($lines1, $lines2);
* $rev = $diff->reverse(); * $rev = $diff->reverse();
* @return object A Diff object representing the inverse of the *
* original diff. * @return Diff A Diff object representing the inverse of the
* original diff.
*/ */
function reverse() { function reverse() {
$rev = $this; $rev = $this;
@ -631,19 +650,19 @@ class MappedDiff extends Diff {
* case-insensitve diffs, or diffs which ignore * case-insensitve diffs, or diffs which ignore
* changes in white-space. * changes in white-space.
* *
* @param $from_lines array An array of strings. * @param string[] $from_lines An array of strings.
* (Typically these are lines from a file.) * (Typically these are lines from a file.)
* *
* @param $to_lines array An array of strings. * @param string[] $to_lines An array of strings.
* *
* @param $mapped_from_lines array This array should * @param string[] $mapped_from_lines This array should
* have the same size number of elements as $from_lines. * have the same size number of elements as $from_lines.
* The elements in $mapped_from_lines and * The elements in $mapped_from_lines and
* $mapped_to_lines are what is actually compared * $mapped_to_lines are what is actually compared
* when computing the diff. * when computing the diff.
* *
* @param $mapped_to_lines array This array should * @param string[] $mapped_to_lines This array should
* have the same number of elements as $to_lines. * have the same number of elements as $to_lines.
*/ */
function __construct($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) { function __construct($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) {
@ -697,12 +716,13 @@ class DiffFormatter {
/** /**
* Format a diff. * Format a diff.
* *
* @param $diff object A Diff object. * @param Diff $diff A Diff object.
* @return string The formatted output. * @return string The formatted output.
*/ */
function format($diff) { function format($diff) {
$xi = $yi = 1; $xi = $yi = 1;
$x0 = $y0 = 0;
$block = false; $block = false;
$context = array(); $context = array();
@ -752,6 +772,13 @@ class DiffFormatter {
return $this->_end_diff(); return $this->_end_diff();
} }
/**
* @param int $xbeg
* @param int $xlen
* @param int $ybeg
* @param int $ylen
* @param array $edits
*/
function _block($xbeg, $xlen, $ybeg, $ylen, &$edits) { function _block($xbeg, $xlen, $ybeg, $ylen, &$edits) {
$this->_start_block($this->_block_header($xbeg, $xlen, $ybeg, $ylen)); $this->_start_block($this->_block_header($xbeg, $xlen, $ybeg, $ylen));
foreach ($edits as $edit) { foreach ($edits as $edit) {
@ -779,6 +806,13 @@ class DiffFormatter {
return $val; return $val;
} }
/**
* @param int $xbeg
* @param int $xlen
* @param int $ybeg
* @param int $ylen
* @return string
*/
function _block_header($xbeg, $xlen, $ybeg, $ylen) { function _block_header($xbeg, $xlen, $ybeg, $ylen) {
if ($xlen > 1) if ($xlen > 1)
$xbeg .= "," . ($xbeg + $xlen - 1); $xbeg .= "," . ($xbeg + $xlen - 1);
@ -788,6 +822,9 @@ class DiffFormatter {
return $xbeg . ($xlen ? ($ylen ? 'c' : 'd') : 'a') . $ybeg; return $xbeg . ($xlen ? ($ylen ? 'c' : 'd') : 'a') . $ybeg;
} }
/**
* @param string $header
*/
function _start_block($header) { function _start_block($header) {
echo $header; echo $header;
} }
@ -896,6 +933,9 @@ class _HWLDF_WordAccumulator {
$this->_tag = $new_tag; $this->_tag = $new_tag;
} }
/**
* @param string $new_tag
*/
function _flushLine($new_tag) { function _flushLine($new_tag) {
$this->_flushGroup($new_tag); $this->_flushGroup($new_tag);
if ($this->_line != '') if ($this->_line != '')
@ -1055,6 +1095,10 @@ class TableDiffFormatter extends DiffFormatter {
$this->trailing_context_lines = 2; $this->trailing_context_lines = 2;
} }
/**
* @param Diff $diff
* @return string
*/
function format($diff) { function format($diff) {
// Preserve whitespaces by converting some to non-breaking spaces. // Preserve whitespaces by converting some to non-breaking spaces.
// Do not convert all of them to allow word-wrap. // Do not convert all of them to allow word-wrap.
@ -1165,6 +1209,10 @@ class InlineDiffFormatter extends DiffFormatter {
$this->trailing_context_lines = 2; $this->trailing_context_lines = 2;
} }
/**
* @param Diff $diff
* @return string
*/
function format($diff) { function format($diff) {
// Preserve whitespaces by converting some to non-breaking spaces. // Preserve whitespaces by converting some to non-breaking spaces.
// Do not convert all of them to allow word-wrap. // Do not convert all of them to allow word-wrap.

View file

@ -57,6 +57,12 @@ class DokuHTTPClient extends HTTPClient {
* @triggers HTTPCLIENT_REQUEST_SEND * @triggers HTTPCLIENT_REQUEST_SEND
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*/ */
/**
* @param string $url
* @param string|array $data the post data either as array or raw data
* @param string $method
* @return bool
*/
function sendRequest($url,$data='',$method='GET'){ function sendRequest($url,$data='',$method='GET'){
$httpdata = array('url' => $url, $httpdata = array('url' => $url,
'data' => $data, 'data' => $data,
@ -104,7 +110,7 @@ class HTTPClient {
var $header_regexp; // if set this RE must match against the headers, else abort var $header_regexp; // if set this RE must match against the headers, else abort
var $headers; var $headers;
var $debug; var $debug;
var $start = 0; // for timings var $start = 0.0; // for timings
var $keep_alive = true; // keep alive rocks var $keep_alive = true; // keep alive rocks
// don't set these, read on error // don't set these, read on error
@ -166,7 +172,8 @@ class HTTPClient {
* *
* @param string $url The URL to fetch * @param string $url The URL to fetch
* @param bool $sloppy304 Return body on 304 not modified * @param bool $sloppy304 Return body on 304 not modified
* @return bool|string response body, false on error * @return false|string response body, false on error
*
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*/ */
function get($url,$sloppy304=false){ function get($url,$sloppy304=false){
@ -187,7 +194,8 @@ class HTTPClient {
* @param string $url The URL to fetch * @param string $url The URL to fetch
* @param array $data Associative array of parameters * @param array $data Associative array of parameters
* @param bool $sloppy304 Return body on 304 not modified * @param bool $sloppy304 Return body on 304 not modified
* @return bool|string response body, false on error * @return false|string response body, false on error
*
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*/ */
function dget($url,$data,$sloppy304=false){ function dget($url,$data,$sloppy304=false){
@ -207,7 +215,7 @@ class HTTPClient {
* *
* @param string $url The URL to fetch * @param string $url The URL to fetch
* @param array $data Associative array of parameters * @param array $data Associative array of parameters
* @return bool|string response body, false on error * @return false|string response body, false on error
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*/ */
function post($url,$data){ function post($url,$data){
@ -229,6 +237,7 @@ class HTTPClient {
* @param mixed $data - the post data either as array or raw data * @param mixed $data - the post data either as array or raw data
* @param string $method - HTTP Method usually GET or POST. * @param string $method - HTTP Method usually GET or POST.
* @return bool - true on success * @return bool - true on success
*
* @author Andreas Goetz <cpuidle@gmx.de> * @author Andreas Goetz <cpuidle@gmx.de>
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*/ */
@ -580,10 +589,25 @@ class HTTPClient {
$this->_debug('SSL Tunnel Response',$r_headers); $this->_debug('SSL Tunnel Response',$r_headers);
if(preg_match('/^HTTP\/1\.[01] 200/i',$r_headers)){ if(preg_match('/^HTTP\/1\.[01] 200/i',$r_headers)){
if (stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_SSLv3_CLIENT)) { // set correct peer name for verification (enabled since PHP 5.6)
stream_context_set_option($socket, 'ssl', 'peer_name', $requestinfo['host']);
// because SSLv3 is mostly broken, we try TLS connections here first.
// according to https://github.com/splitbrain/dokuwiki/commit/c05ef534 we had problems with certain
// setups with this solution before, but we have no usable test for that and TLS should be the more
// common crypto by now
if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) {
$requesturl = $requestinfo['path']; $requesturl = $requestinfo['path'];
return true; return true;
} }
// if the above failed, this will most probably not work either, but we can try
if (@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_SSLv3_CLIENT)) {
$requesturl = $requestinfo['path'];
return true;
}
throw new HTTPClientException('Failed to set up crypto for secure connection to '.$requestinfo['host'], -151);
} }
throw new HTTPClientException('Failed to establish secure proxy connection', -150); throw new HTTPClientException('Failed to establish secure proxy connection', -150);
@ -596,6 +620,7 @@ class HTTPClient {
* @param string $data The data to write * @param string $data The data to write
* @param string $message Description of what is being read * @param string $message Description of what is being read
* @throws HTTPClientException * @throws HTTPClientException
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function _sendData($socket, $data, $message) { function _sendData($socket, $data, $message) {
@ -640,6 +665,7 @@ class HTTPClient {
* @param bool $ignore_eof End-of-file is not an error if this is set * @param bool $ignore_eof End-of-file is not an error if this is set
* @throws HTTPClientException * @throws HTTPClientException
* @return string * @return string
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function _readData($socket, $nbytes, $message, $ignore_eof = false) { function _readData($socket, $nbytes, $message, $ignore_eof = false) {
@ -689,6 +715,7 @@ class HTTPClient {
* @param string $message Description of what is being read * @param string $message Description of what is being read
* @throws HTTPClientException * @throws HTTPClientException
* @return string * @return string
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function _readLine($socket, $message) { function _readLine($socket, $message) {
@ -723,6 +750,9 @@ class HTTPClient {
* Uses _debug_text or _debug_html depending on the SAPI name * Uses _debug_text or _debug_html depending on the SAPI name
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $info
* @param mixed $var
*/ */
function _debug($info,$var=null){ function _debug($info,$var=null){
if(!$this->debug) return; if(!$this->debug) return;
@ -736,8 +766,8 @@ class HTTPClient {
/** /**
* print debug info as HTML * print debug info as HTML
* *
* @param $info * @param string $info
* @param null $var * @param mixed $var
*/ */
function _debug_html($info, $var=null){ function _debug_html($info, $var=null){
print '<b>'.$info.'</b> '.($this->_time() - $this->start).'s<br />'; print '<b>'.$info.'</b> '.($this->_time() - $this->start).'s<br />';
@ -753,8 +783,8 @@ class HTTPClient {
/** /**
* prints debug info as plain text * prints debug info as plain text
* *
* @param $info * @param string $info
* @param null $var * @param mixed $var
*/ */
function _debug_text($info, $var=null){ function _debug_text($info, $var=null){
print '*'.$info.'* '.($this->_time() - $this->start)."s\n"; print '*'.$info.'* '.($this->_time() - $this->start)."s\n";
@ -764,6 +794,8 @@ class HTTPClient {
/** /**
* Return current timestamp in microsecond resolution * Return current timestamp in microsecond resolution
*
* @return float
*/ */
static function _time(){ static function _time(){
list($usec, $sec) = explode(" ", microtime()); list($usec, $sec) = explode(" ", microtime());
@ -776,6 +808,9 @@ class HTTPClient {
* All Keys are lowercased. * All Keys are lowercased.
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $string
* @return array
*/ */
function _parseHeaders($string){ function _parseHeaders($string){
$headers = array(); $headers = array();
@ -804,6 +839,9 @@ class HTTPClient {
* convert given header array to header string * convert given header array to header string
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param array $headers
* @return string
*/ */
function _buildHeaders($headers){ function _buildHeaders($headers){
$string = ''; $string = '';
@ -818,6 +856,8 @@ class HTTPClient {
* get cookies as http header string * get cookies as http header string
* *
* @author Andreas Goetz <cpuidle@gmx.de> * @author Andreas Goetz <cpuidle@gmx.de>
*
* @return string
*/ */
function _getCookies(){ function _getCookies(){
$headers = ''; $headers = '';
@ -833,6 +873,9 @@ class HTTPClient {
* Encode data for posting * Encode data for posting
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param array $data
* @return string
*/ */
function _postEncode($data){ function _postEncode($data){
return http_build_query($data,'','&'); return http_build_query($data,'','&');
@ -843,6 +886,9 @@ class HTTPClient {
* *
* @fixme use of urlencode might be wrong here * @fixme use of urlencode might be wrong here
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param array $data
* @return string
*/ */
function _postMultipartEncode($data){ function _postMultipartEncode($data){
$boundary = '--'.$this->boundary; $boundary = '--'.$this->boundary;

File diff suppressed because it is too large Load diff

View file

@ -83,7 +83,6 @@ class Input {
* *
* @see isset * @see isset
* @param string $name Parameter name * @param string $name Parameter name
* @return bool
*/ */
public function remove($name) { public function remove($name) {
if(isset($this->access[$name])) { if(isset($this->access[$name])) {
@ -132,7 +131,7 @@ class Input {
* @param string $name Parameter name * @param string $name Parameter name
* @param mixed $default If parameter is not set, initialize with this value * @param mixed $default If parameter is not set, initialize with this value
* @param bool $nonempty Init with $default if parameter is set but empty() * @param bool $nonempty Init with $default if parameter is set but empty()
* @return &mixed * @return mixed (reference)
*/ */
public function &ref($name, $default = '', $nonempty = false) { public function &ref($name, $default = '', $nonempty = false) {
if(!isset($this->access[$name]) || ($nonempty && empty($this->access[$name]))) { if(!isset($this->access[$name]) || ($nonempty && empty($this->access[$name]))) {
@ -146,7 +145,7 @@ class Input {
* Access a request parameter as int * Access a request parameter as int
* *
* @param string $name Parameter name * @param string $name Parameter name
* @param mixed $default Default to return if parameter isn't set or is an array * @param int $default Default to return if parameter isn't set or is an array
* @param bool $nonempty Return $default if parameter is set but empty() * @param bool $nonempty Return $default if parameter is set but empty()
* @return int * @return int
*/ */
@ -164,7 +163,7 @@ class Input {
* Access a request parameter as string * Access a request parameter as string
* *
* @param string $name Parameter name * @param string $name Parameter name
* @param mixed $default Default to return if parameter isn't set or is an array * @param string $default Default to return if parameter isn't set or is an array
* @param bool $nonempty Return $default if parameter is set but empty() * @param bool $nonempty Return $default if parameter is set but empty()
* @return string * @return string
*/ */
@ -246,7 +245,7 @@ class Input {
* *
* This function returns the $INPUT object itself for easy chaining * This function returns the $INPUT object itself for easy chaining
* *
* @param $name * @param string $name
* @return Input * @return Input
*/ */
public function extract($name){ public function extract($name){

View file

@ -119,7 +119,7 @@ class JSON {
* JSON_LOOSE_TYPE - loose typing * JSON_LOOSE_TYPE - loose typing
* "{...}" syntax creates associative arrays in decode. * "{...}" syntax creates associative arrays in decode.
*/ */
function JSON($use=JSON_STRICT_TYPE) { function __construct($use=JSON_STRICT_TYPE) {
$this->use = $use; $this->use = $use;
} }

View file

@ -42,6 +42,7 @@
class JpegMeta { class JpegMeta {
var $_fileName; var $_fileName;
var $_fp = null; var $_fp = null;
var $_fpout = null;
var $_type = 'unknown'; var $_type = 'unknown';
var $_markers; var $_markers;
@ -53,7 +54,7 @@ class JpegMeta {
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*/ */
function JpegMeta($fileName) { function __construct($fileName) {
$this->_fileName = $fileName; $this->_fileName = $fileName;
@ -132,6 +133,9 @@ class JpegMeta {
* through one function * through one function
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param array|string $fields field name or array with field names
* @return bool|string
*/ */
function getField($fields) { function getField($fields) {
if(!is_array($fields)) $fields = array($fields); if(!is_array($fields)) $fields = array($fields);
@ -177,6 +181,10 @@ class JpegMeta {
* through one function * through one function
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $field field name
* @param string $value
* @return bool success or fail
*/ */
function setField($field, $value) { function setField($field, $value) {
if(strtolower(substr($field,0,5)) == 'iptc.'){ if(strtolower(substr($field,0,5)) == 'iptc.'){
@ -193,6 +201,9 @@ class JpegMeta {
* through one function * through one function
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $field field name
* @return bool
*/ */
function deleteField($field) { function deleteField($field) {
if(strtolower(substr($field,0,5)) == 'iptc.'){ if(strtolower(substr($field,0,5)) == 'iptc.'){
@ -208,6 +219,9 @@ class JpegMeta {
* Return a date field * Return a date field
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $field
* @return false|string
*/ */
function getDateField($field) { function getDateField($field) {
if (!isset($this->_info['dates'])) { if (!isset($this->_info['dates'])) {
@ -225,6 +239,9 @@ class JpegMeta {
* Return a file info field * Return a file info field
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $field field name
* @return false|string
*/ */
function getFileField($field) { function getFileField($field) {
if (!isset($this->_info['file'])) { if (!isset($this->_info['file'])) {
@ -243,6 +260,8 @@ class JpegMeta {
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @todo handle makernotes * @todo handle makernotes
*
* @return false|string
*/ */
function getCamera(){ function getCamera(){
$make = $this->getField(array('Exif.Make','Exif.TIFFMake')); $make = $this->getField(array('Exif.Make','Exif.TIFFMake'));
@ -256,6 +275,8 @@ class JpegMeta {
* Return shutter speed as a ratio * Return shutter speed as a ratio
* *
* @author Joe Lapp <joe.lapp@pobox.com> * @author Joe Lapp <joe.lapp@pobox.com>
*
* @return string
*/ */
function getShutterSpeed() { function getShutterSpeed() {
if (!isset($this->_info['exif'])) { if (!isset($this->_info['exif'])) {
@ -274,6 +295,9 @@ class JpegMeta {
* Return an EXIF field * Return an EXIF field
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $field field name
* @return false|string
*/ */
function getExifField($field) { function getExifField($field) {
if (!isset($this->_info['exif'])) { if (!isset($this->_info['exif'])) {
@ -295,6 +319,9 @@ class JpegMeta {
* Return an XMP field * Return an XMP field
* *
* @author Hakan Sandell <hakan.sandell@mydata.se> * @author Hakan Sandell <hakan.sandell@mydata.se>
*
* @param string $field field name
* @return false|string
*/ */
function getXmpField($field) { function getXmpField($field) {
if (!isset($this->_info['xmp'])) { if (!isset($this->_info['xmp'])) {
@ -316,6 +343,9 @@ class JpegMeta {
* Return an Adobe Field * Return an Adobe Field
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $field field name
* @return false|string
*/ */
function getAdobeField($field) { function getAdobeField($field) {
if (!isset($this->_info['adobe'])) { if (!isset($this->_info['adobe'])) {
@ -337,6 +367,9 @@ class JpegMeta {
* Return an IPTC field * Return an IPTC field
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $field field name
* @return false|string
*/ */
function getIPTCField($field) { function getIPTCField($field) {
if (!isset($this->_info['iptc'])) { if (!isset($this->_info['iptc'])) {
@ -359,6 +392,10 @@ class JpegMeta {
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
* @author Joe Lapp <joe.lapp@pobox.com> * @author Joe Lapp <joe.lapp@pobox.com>
*
* @param string $field field name
* @param string $value
* @return bool
*/ */
function setExifField($field, $value) { function setExifField($field, $value) {
if (!isset($this->_info['exif'])) { if (!isset($this->_info['exif'])) {
@ -389,6 +426,10 @@ class JpegMeta {
* Set an Adobe Field * Set an Adobe Field
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $field field name
* @param string $value
* @return bool
*/ */
function setAdobeField($field, $value) { function setAdobeField($field, $value) {
if (!isset($this->_info['adobe'])) { if (!isset($this->_info['adobe'])) {
@ -413,6 +454,10 @@ class JpegMeta {
* dimensions * dimensions
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param int $maxwidth
* @param int $maxheight
* @return float|int
*/ */
function getResizeRatio($maxwidth,$maxheight=0){ function getResizeRatio($maxwidth,$maxheight=0){
if(!$maxheight) $maxheight = $maxwidth; if(!$maxheight) $maxheight = $maxwidth;
@ -442,6 +487,10 @@ class JpegMeta {
* Set an IPTC field * Set an IPTC field
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $field field name
* @param string $value
* @return bool
*/ */
function setIPTCField($field, $value) { function setIPTCField($field, $value) {
if (!isset($this->_info['iptc'])) { if (!isset($this->_info['iptc'])) {
@ -465,6 +514,9 @@ class JpegMeta {
* Delete an EXIF field * Delete an EXIF field
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $field field name
* @return bool
*/ */
function deleteExifField($field) { function deleteExifField($field) {
if (!isset($this->_info['exif'])) { if (!isset($this->_info['exif'])) {
@ -486,6 +538,9 @@ class JpegMeta {
* Delete an Adobe field * Delete an Adobe field
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $field field name
* @return bool
*/ */
function deleteAdobeField($field) { function deleteAdobeField($field) {
if (!isset($this->_info['adobe'])) { if (!isset($this->_info['adobe'])) {
@ -507,6 +562,9 @@ class JpegMeta {
* Delete an IPTC field * Delete an IPTC field
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $field field name
* @return bool
*/ */
function deleteIPTCField($field) { function deleteIPTCField($field) {
if (!isset($this->_info['iptc'])) { if (!isset($this->_info['iptc'])) {
@ -527,12 +585,12 @@ class JpegMeta {
/** /**
* Get the image's title, tries various fields * Get the image's title, tries various fields
* *
* @param int $max maximum number chars (keeps words) * @param int $max maximum number chars (keeps words)
* @return false|string
*
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*/ */
function getTitle($max=80){ function getTitle($max=80){
$cap = '';
// try various fields // try various fields
$cap = $this->getField(array('Iptc.Headline', $cap = $this->getField(array('Iptc.Headline',
'Iptc.Caption', 'Iptc.Caption',
@ -555,11 +613,14 @@ class JpegMeta {
* Gather various date fields * Gather various date fields
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @return array|bool
*/ */
function getDates() { function getDates() {
$this->_parseAll(); $this->_parseAll();
if ($this->_markers == null) { if ($this->_markers == null) {
if (@isset($this->_info['file']['UnixTime'])) { if (@isset($this->_info['file']['UnixTime'])) {
$dates = array();
$dates['FileModified'] = $this->_info['file']['UnixTime']; $dates['FileModified'] = $this->_info['file']['UnixTime'];
$dates['Time'] = $this->_info['file']['UnixTime']; $dates['Time'] = $this->_info['file']['UnixTime'];
$dates['TimeSource'] = 'FileModified'; $dates['TimeSource'] = 'FileModified';
@ -690,6 +751,8 @@ class JpegMeta {
* Get the image width, tries various fields * Get the image width, tries various fields
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @return false|string
*/ */
function getWidth() { function getWidth() {
if (!isset($this->_info['sof'])) { if (!isset($this->_info['sof'])) {
@ -719,6 +782,8 @@ class JpegMeta {
* Get the image height, tries various fields * Get the image height, tries various fields
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @return false|string
*/ */
function getHeight() { function getHeight() {
if (!isset($this->_info['sof'])) { if (!isset($this->_info['sof'])) {
@ -748,6 +813,8 @@ class JpegMeta {
* Get an dimension string for use in img tag * Get an dimension string for use in img tag
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @return false|string
*/ */
function getDimStr() { function getDimStr() {
if ($this->_markers == null) { if ($this->_markers == null) {
@ -764,6 +831,9 @@ class JpegMeta {
* Checks for an embedded thumbnail * Checks for an embedded thumbnail
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $which possible values: 'any', 'exif' or 'adobe'
* @return false|string
*/ */
function hasThumbnail($which = 'any') { function hasThumbnail($which = 'any') {
if (($which == 'any') || ($which == 'exif')) { if (($which == 'any') || ($which == 'exif')) {
@ -805,6 +875,9 @@ class JpegMeta {
* Send embedded thumbnail to browser * Send embedded thumbnail to browser
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
*
* @param string $which possible values: 'any', 'exif' or 'adobe'
* @return bool
*/ */
function sendThumbnail($which = 'any') { function sendThumbnail($which = 'any') {
$data = null; $data = null;
@ -855,12 +928,15 @@ class JpegMeta {
* *
* @author Sebastian Delmont <sdelmont@zonageek.com> * @author Sebastian Delmont <sdelmont@zonageek.com>
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $fileName file name or empty string for a random name
* @return bool
*/ */
function save($fileName = "") { function save($fileName = "") {
if ($fileName == "") { if ($fileName == "") {
$tmpName = tempnam(dirname($this->_fileName),'_metatemp_'); $tmpName = tempnam(dirname($this->_fileName),'_metatemp_');
$this->_writeJPEG($tmpName); $this->_writeJPEG($tmpName);
if (@file_exists($tmpName)) { if (file_exists($tmpName)) {
return io_rename($tmpName, $this->_fileName); return io_rename($tmpName, $this->_fileName);
} }
} else { } else {
@ -1030,6 +1106,10 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param string $outputName
*/
function _writeJPEG($outputName) { function _writeJPEG($outputName) {
$this->_parseAll(); $this->_parseAll();
@ -1162,6 +1242,12 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param integer $marker
* @param integer $length
* @param integer $origLength
*/
function _writeJPEGMarker($marker, $length, &$data, $origLength) { function _writeJPEGMarker($marker, $length, &$data, $origLength) {
if ($length <= 0) { if ($length <= 0) {
return false; return false;
@ -1334,7 +1420,6 @@ class JpegMeta {
return false; return false;
} }
$pos = 0;
$this->_info['jfif'] = array(); $this->_info['jfif'] = array();
$vmaj = $this->_getByte($data, 5); $vmaj = $this->_getByte($data, 5);
@ -1420,7 +1505,6 @@ class JpegMeta {
break; break;
default: default:
return false; return false;
break;
} }
$this->_info['sof']['Format'] = $format; $this->_info['sof']['Format'] = $format;
@ -1491,6 +1575,7 @@ class JpegMeta {
* Parses XMP nodes by recursion * Parses XMP nodes by recursion
* *
* @author Hakan Sandell <hakan.sandell@mydata.se> * @author Hakan Sandell <hakan.sandell@mydata.se>
* @param integer $count
*/ */
function _parseXmpNode($values, &$i, &$meta, $count) { function _parseXmpNode($values, &$i, &$meta, $count) {
if ($values[$i]['type'] == 'close') return; if ($values[$i]['type'] == 'close') return;
@ -1594,6 +1679,12 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param integer $base
* @param boolean $isBigEndian
* @param string $mode
*/
function _readIFD($data, $base, $offset, $isBigEndian, $mode) { function _readIFD($data, $base, $offset, $isBigEndian, $mode) {
$EXIFTags = $this->_exifTagNames($mode); $EXIFTags = $this->_exifTagNames($mode);
@ -1849,6 +1940,12 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param integer $offsetBase
* @param boolean $isBigEndian
* @param boolean $hasNext
*/
function _writeIFD(&$data, $pos, $offsetBase, &$entries, $isBigEndian, $hasNext) { function _writeIFD(&$data, $pos, $offsetBase, &$entries, $isBigEndian, $hasNext) {
$tiffData = null; $tiffData = null;
$tiffDataOffsetPos = -1; $tiffDataOffsetPos = -1;
@ -1905,6 +2002,11 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param boolean $isBigEndian
* @param string $mode
*/
function & _getIFDEntries($isBigEndian, $mode) { function & _getIFDEntries($isBigEndian, $mode) {
$EXIFNames = $this->_exifTagNames($mode); $EXIFNames = $this->_exifTagNames($mode);
$EXIFTags = $this->_exifNameTags($mode); $EXIFTags = $this->_exifNameTags($mode);
@ -2413,6 +2515,10 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param integer $pos
*/
function _write8BIM(&$data, $pos, $type, $header, &$value) { function _write8BIM(&$data, $pos, $type, $header, &$value) {
$signature = "8BIM"; $signature = "8BIM";
@ -2473,6 +2579,10 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param integer $pos
*/
function _writeIPTCEntry(&$data, $pos, $type, &$value) { function _writeIPTCEntry(&$data, $pos, $type, &$value) {
$pos = $this->_putShort($data, $pos, 0x1C02); $pos = $this->_putShort($data, $pos, 0x1C02);
$pos = $this->_putByte($data, $pos, $type); $pos = $this->_putByte($data, $pos, $type);
@ -2833,11 +2943,19 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param integer $pos
*/
function _getByte(&$data, $pos) { function _getByte(&$data, $pos) {
return ord($data{$pos}); return ord($data{$pos});
} }
/*************************************************************/ /*************************************************************/
/**
* @param integer $pos
*/
function _putByte(&$data, $pos, $val) { function _putByte(&$data, $pos, $val) {
$val = intval($val); $val = intval($val);
@ -2873,6 +2991,10 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param integer $pos
*/
function _getLong(&$data, $pos, $bigEndian = true) { function _getLong(&$data, $pos, $bigEndian = true) {
if ($bigEndian) { if ($bigEndian) {
return (ord($data{$pos}) << 24) return (ord($data{$pos}) << 24)
@ -2888,6 +3010,10 @@ class JpegMeta {
} }
/*************************************************************/ /*************************************************************/
/**
* @param integer $pos
*/
function _putLong(&$data, $pos, $val, $bigEndian = true) { function _putLong(&$data, $pos, $val, $bigEndian = true) {
$val = intval($val); $val = intval($val);

View file

@ -108,6 +108,9 @@ class Mailer {
/** /**
* Callback function to automatically embed images referenced in HTML templates * Callback function to automatically embed images referenced in HTML templates
*
* @param array $matches
* @return string placeholder
*/ */
protected function autoembed_cb($matches) { protected function autoembed_cb($matches) {
static $embeds = 0; static $embeds = 0;
@ -130,7 +133,7 @@ class Mailer {
* If an empy value is passed, the header is removed * If an empy value is passed, the header is removed
* *
* @param string $header the header name (no trailing colon!) * @param string $header the header name (no trailing colon!)
* @param string $value the value of the header * @param string|string[] $value the value of the header
* @param bool $clean remove all non-ASCII chars and line feeds? * @param bool $clean remove all non-ASCII chars and line feeds?
*/ */
public function setHeader($header, $value, $clean = true) { public function setHeader($header, $value, $clean = true) {
@ -160,6 +163,8 @@ class Mailer {
* *
* Whatever is set here is directly passed to PHP's mail() command as last * Whatever is set here is directly passed to PHP's mail() command as last
* parameter. Depending on the PHP setup this might break mailing alltogether * parameter. Depending on the PHP setup this might break mailing alltogether
*
* @param string $param
*/ */
public function setParameters($param) { public function setParameters($param) {
$this->sendparam = $param; $this->sendparam = $param;
@ -177,7 +182,7 @@ class Mailer {
* @param string $text plain text body * @param string $text plain text body
* @param array $textrep replacements to apply on the text part * @param array $textrep replacements to apply on the text part
* @param array $htmlrep replacements to apply on the HTML part, leave null to use $textrep * @param array $htmlrep replacements to apply on the HTML part, leave null to use $textrep
* @param array $html the HTML body, leave null to create it from $text * @param string $html the HTML body, leave null to create it from $text
* @param bool $wrap wrap the HTML in the default header/Footer * @param bool $wrap wrap the HTML in the default header/Footer
*/ */
public function setBody($text, $textrep = null, $htmlrep = null, $html = null, $wrap = true) { public function setBody($text, $textrep = null, $htmlrep = null, $html = null, $wrap = true) {
@ -265,6 +270,8 @@ class Mailer {
* Placeholders can be used to reference embedded attachments * Placeholders can be used to reference embedded attachments
* *
* You probably want to use setBody() instead * You probably want to use setBody() instead
*
* @param string $html
*/ */
public function setHTML($html) { public function setHTML($html) {
$this->html = $html; $this->html = $html;
@ -274,6 +281,8 @@ class Mailer {
* Set the plain text part of the mail * Set the plain text part of the mail
* *
* You probably want to use setBody() instead * You probably want to use setBody() instead
*
* @param string $text
*/ */
public function setText($text) { public function setText($text) {
$this->text = $text; $this->text = $text;
@ -283,7 +292,7 @@ class Mailer {
* Add the To: recipients * Add the To: recipients
* *
* @see cleanAddress * @see cleanAddress
* @param string|array $address Multiple adresses separated by commas or as array * @param string|string[] $address Multiple adresses separated by commas or as array
*/ */
public function to($address) { public function to($address) {
$this->setHeader('To', $address, false); $this->setHeader('To', $address, false);
@ -293,7 +302,7 @@ class Mailer {
* Add the Cc: recipients * Add the Cc: recipients
* *
* @see cleanAddress * @see cleanAddress
* @param string|array $address Multiple adresses separated by commas or as array * @param string|string[] $address Multiple adresses separated by commas or as array
*/ */
public function cc($address) { public function cc($address) {
$this->setHeader('Cc', $address, false); $this->setHeader('Cc', $address, false);
@ -303,7 +312,7 @@ class Mailer {
* Add the Bcc: recipients * Add the Bcc: recipients
* *
* @see cleanAddress * @see cleanAddress
* @param string|array $address Multiple adresses separated by commas or as array * @param string|string[] $address Multiple adresses separated by commas or as array
*/ */
public function bcc($address) { public function bcc($address) {
$this->setHeader('Bcc', $address, false); $this->setHeader('Bcc', $address, false);
@ -340,8 +349,8 @@ class Mailer {
* Example: * Example:
* cc("föö <foo@bar.com>, me@somewhere.com","TBcc"); * cc("föö <foo@bar.com>, me@somewhere.com","TBcc");
* *
* @param string|array $addresses Multiple adresses separated by commas or as array * @param string|string[] $addresses Multiple adresses separated by commas or as array
* @return bool|string the prepared header (can contain multiple lines) * @return false|string the prepared header (can contain multiple lines)
*/ */
public function cleanAddress($addresses) { public function cleanAddress($addresses) {
// No named recipients for To: in Windows (see FS#652) // No named recipients for To: in Windows (see FS#652)
@ -418,6 +427,8 @@ class Mailer {
* Prepare the mime multiparts for all attachments * Prepare the mime multiparts for all attachments
* *
* Replaces placeholders in the HTML with the correct CIDs * Replaces placeholders in the HTML with the correct CIDs
*
* @return string mime multiparts
*/ */
protected function prepareAttachments() { protected function prepareAttachments() {
$mime = ''; $mime = '';
@ -565,9 +576,9 @@ class Mailer {
/** /**
* Returns a complete, EOL terminated header line, wraps it if necessary * Returns a complete, EOL terminated header line, wraps it if necessary
* *
* @param $key * @param string $key
* @param $val * @param string $val
* @return string * @return string line
*/ */
protected function wrappedHeaderLine($key, $val){ protected function wrappedHeaderLine($key, $val){
return wordwrap("$key: $val", 78, MAILHEADER_EOL.' ').MAILHEADER_EOL; return wordwrap("$key: $val", 78, MAILHEADER_EOL.' ').MAILHEADER_EOL;

View file

@ -16,8 +16,9 @@ class PassHash {
* match true is is returned else false * match true is is returned else false
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @param $clear string Clear-Text password *
* @param $hash string Hash to compare against * @param string $clear Clear-Text password
* @param string $hash Hash to compare against
* @return bool * @return bool
*/ */
function verify_hash($clear, $hash) { function verify_hash($clear, $hash) {
@ -49,7 +50,7 @@ class PassHash {
} elseif(preg_match('/^md5\$(.{5})\$/', $hash, $m)) { } elseif(preg_match('/^md5\$(.{5})\$/', $hash, $m)) {
$method = 'djangomd5'; $method = 'djangomd5';
$salt = $m[1]; $salt = $m[1];
} elseif(preg_match('/^\$2a\$(.{2})\$/', $hash, $m)) { } elseif(preg_match('/^\$2(a|y)\$(.{2})\$/', $hash, $m)) {
$method = 'bcrypt'; $method = 'bcrypt';
$salt = $hash; $salt = $hash;
} elseif(substr($hash, 0, 6) == '{SSHA}') { } elseif(substr($hash, 0, 6) == '{SSHA}') {
@ -109,9 +110,9 @@ class PassHash {
* If $salt is not null, the value is kept, but the lenght restriction is * If $salt is not null, the value is kept, but the lenght restriction is
* applied (unless, $cut is false). * applied (unless, $cut is false).
* *
* @param string &$salt The salt, pass null if you want one generated * @param string|null &$salt The salt, pass null if you want one generated
* @param int $len The length of the salt * @param int $len The length of the salt
* @param bool $cut Apply length restriction to existing salt? * @param bool $cut Apply length restriction to existing salt?
*/ */
public function init_salt(&$salt, $len = 32, $cut = true) { public function init_salt(&$salt, $len = 32, $cut = true) {
if(is_null($salt)) { if(is_null($salt)) {
@ -135,6 +136,7 @@ class PassHash {
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @author <mikey_nich at hotmail dot com> * @author <mikey_nich at hotmail dot com>
* @link http://de.php.net/manual/en/function.crypt.php#73619 * @link http://de.php.net/manual/en/function.crypt.php#73619
*
* @param string $clear The clear text to hash * @param string $clear The clear text to hash
* @param string $salt The salt to use, null for random * @param string $salt The salt to use, null for random
* @return string Hashed password * @return string Hashed password
@ -175,6 +177,7 @@ class PassHash {
* *
* @author <mikey_nich at hotmail dot com> * @author <mikey_nich at hotmail dot com>
* @link http://de.php.net/manual/en/function.crypt.php#73619 * @link http://de.php.net/manual/en/function.crypt.php#73619
*
* @param string $clear The clear text to hash * @param string $clear The clear text to hash
* @param string $salt The salt to use, null for random * @param string $salt The salt to use, null for random
* @param string $magic The hash identifier (apr1 or 1) * @param string $magic The hash identifier (apr1 or 1)
@ -337,6 +340,7 @@ class PassHash {
* an exception. * an exception.
* *
* @link http://www.openwall.com/phpass/ * @link http://www.openwall.com/phpass/
*
* @param string $clear The clear text to hash * @param string $clear The clear text to hash
* @param string $salt The salt to use, null for random * @param string $salt The salt to use, null for random
* @param string $magic The hash identifier (P or H) * @param string $magic The hash identifier (P or H)
@ -404,6 +408,7 @@ class PassHash {
* This is used by the Django Python framework * This is used by the Django Python framework
* *
* @link http://docs.djangoproject.com/en/dev/topics/auth/#passwords * @link http://docs.djangoproject.com/en/dev/topics/auth/#passwords
*
* @param string $clear The clear text to hash * @param string $clear The clear text to hash
* @param string $salt The salt to use, null for random * @param string $salt The salt to use, null for random
* @return string Hashed password * @return string Hashed password
@ -420,6 +425,7 @@ class PassHash {
* This is used by the Django Python framework * This is used by the Django Python framework
* *
* @link http://docs.djangoproject.com/en/dev/topics/auth/#passwords * @link http://docs.djangoproject.com/en/dev/topics/auth/#passwords
*
* @param string $clear The clear text to hash * @param string $clear The clear text to hash
* @param string $salt The salt to use, null for random * @param string $salt The salt to use, null for random
* @return string Hashed password * @return string Hashed password
@ -486,6 +492,7 @@ class PassHash {
* method 'A' is not supported. * method 'A' is not supported.
* *
* @link http://www.mediawiki.org/wiki/Manual_talk:User_table#user_password_column * @link http://www.mediawiki.org/wiki/Manual_talk:User_table#user_password_column
*
* @param string $clear The clear text to hash * @param string $clear The clear text to hash
* @param string $salt The salt to use, null for random * @param string $salt The salt to use, null for random
* @return string Hashed password * @return string Hashed password
@ -511,7 +518,6 @@ class PassHash {
* @param string $data Message to be hashed. * @param string $data Message to be hashed.
* @param string $key Shared secret key used for generating the HMAC variant of the message digest. * @param string $key Shared secret key used for generating the HMAC variant of the message digest.
* @param bool $raw_output When set to TRUE, outputs raw binary data. FALSE outputs lowercase hexits. * @param bool $raw_output When set to TRUE, outputs raw binary data. FALSE outputs lowercase hexits.
*
* @return string * @return string
*/ */
public static function hmac($algo, $data, $key, $raw_output = false) { public static function hmac($algo, $data, $key, $raw_output = false) {
@ -545,9 +551,8 @@ class PassHash {
/** /**
* Use DokuWiki's secure random generator if available * Use DokuWiki's secure random generator if available
* *
* @param $min * @param int $min
* @param $max * @param int $max
*
* @return int * @return int
*/ */
protected function random($min, $max){ protected function random($min, $max){

View file

@ -13,6 +13,11 @@ class RemoteAPICore {
$this->api = $api; $this->api = $api;
} }
/**
* Returns details about the core methods
*
* @return array
*/
function __getRemoteInfo() { function __getRemoteInfo() {
return array( return array(
'dokuwiki.getVersion' => array( 'dokuwiki.getVersion' => array(
@ -158,19 +163,27 @@ class RemoteAPICore {
); );
} }
/**
* @return string
*/
function getVersion() { function getVersion() {
return getVersion(); return getVersion();
} }
/**
* @return int unix timestamp
*/
function getTime() { function getTime() {
return time(); return time();
} }
/** /**
* Return a raw wiki page * Return a raw wiki page
*
* @param string $id wiki page id * @param string $id wiki page id
* @param string $rev revision number of the page * @param int|string $rev revision timestamp of the page or empty string
* @return page text. * @return string page text.
* @throws RemoteAccessDeniedException if no permission for page
*/ */
function rawPage($id,$rev=''){ function rawPage($id,$rev=''){
$id = $this->resolvePageId($id); $id = $this->resolvePageId($id);
@ -189,8 +202,11 @@ class RemoteAPICore {
* Return a media file * Return a media file
* *
* @author Gina Haeussge <osd@foosel.net> * @author Gina Haeussge <osd@foosel.net>
*
* @param string $id file id * @param string $id file id
* @return media file * @return mixed media file
* @throws RemoteAccessDeniedException no permission for media
* @throws RemoteException not exist
*/ */
function getAttachment($id){ function getAttachment($id){
$id = cleanID($id); $id = cleanID($id);
@ -211,6 +227,9 @@ class RemoteAPICore {
* Return info about a media file * Return info about a media file
* *
* @author Gina Haeussge <osd@foosel.net> * @author Gina Haeussge <osd@foosel.net>
*
* @param string $id page id
* @return array
*/ */
function getAttachmentInfo($id){ function getAttachmentInfo($id){
$id = cleanID($id); $id = cleanID($id);
@ -230,6 +249,11 @@ class RemoteAPICore {
/** /**
* Return a wiki page rendered to html * Return a wiki page rendered to html
*
* @param string $id page id
* @param string|int $rev revision timestamp or empty string
* @return null|string html
* @throws RemoteAccessDeniedException no access to page
*/ */
function htmlPage($id,$rev=''){ function htmlPage($id,$rev=''){
$id = $this->resolvePageId($id); $id = $this->resolvePageId($id);
@ -241,6 +265,8 @@ class RemoteAPICore {
/** /**
* List all pages - we use the indexer list here * List all pages - we use the indexer list here
*
* @return array
*/ */
function listPages(){ function listPages(){
$list = array(); $list = array();
@ -265,6 +291,12 @@ class RemoteAPICore {
/** /**
* List all pages in the given namespace (and below) * List all pages in the given namespace (and below)
*
* @param string $ns
* @param array $opts
* $opts['depth'] recursion level, 0 for all
* $opts['hash'] do md5 sum of content?
* @return array
*/ */
function readNamespace($ns,$opts){ function readNamespace($ns,$opts){
global $conf; global $conf;
@ -281,9 +313,12 @@ class RemoteAPICore {
/** /**
* List all pages in the given namespace (and below) * List all pages in the given namespace (and below)
*
* @param string $query
* @return array
*/ */
function search($query){ function search($query){
$regex = ''; $regex = array();
$data = ft_pageSearch($query,$regex); $data = ft_pageSearch($query,$regex);
$pages = array(); $pages = array();
@ -314,6 +349,8 @@ class RemoteAPICore {
/** /**
* Returns the wiki title. * Returns the wiki title.
*
* @return string
*/ */
function getTitle(){ function getTitle(){
global $conf; global $conf;
@ -328,6 +365,15 @@ class RemoteAPICore {
* a regular expression matching their name. * a regular expression matching their name.
* *
* @author Gina Haeussge <osd@foosel.net> * @author Gina Haeussge <osd@foosel.net>
*
* @param string $ns
* @param array $options
* $options['depth'] recursion level, 0 for all
* $options['showmsg'] shows message if invalid media id is used
* $options['pattern'] check given pattern
* $options['hash'] add hashes to result list
* @return array
* @throws RemoteAccessDeniedException no access to the media files
*/ */
function listAttachments($ns, $options = array()) { function listAttachments($ns, $options = array()) {
global $conf; global $conf;
@ -359,6 +405,9 @@ class RemoteAPICore {
/** /**
* Return a list of backlinks * Return a list of backlinks
*
* @param string $id page id
* @return array
*/ */
function listBackLinks($id){ function listBackLinks($id){
return ft_backlinks($this->resolvePageId($id)); return ft_backlinks($this->resolvePageId($id));
@ -366,6 +415,12 @@ class RemoteAPICore {
/** /**
* Return some basic data about a page * Return some basic data about a page
*
* @param string $id page id
* @param string|int $rev revision timestamp or empty string
* @return array
* @throws RemoteAccessDeniedException no access for page
* @throws RemoteException page not exist
*/ */
function pageInfo($id,$rev=''){ function pageInfo($id,$rev=''){
$id = $this->resolvePageId($id); $id = $this->resolvePageId($id);
@ -395,6 +450,13 @@ class RemoteAPICore {
* Save a wiki page * Save a wiki page
* *
* @author Michael Klier <chi@chimeric.de> * @author Michael Klier <chi@chimeric.de>
*
* @param string $id page id
* @param string $text wiki text
* @param array $params parameters: summary, minor edit
* @return bool
* @throws RemoteAccessDeniedException no write access for page
* @throws RemoteException no id, empty new page or locked
*/ */
function putPage($id, $text, $params) { function putPage($id, $text, $params) {
global $TEXT; global $TEXT;
@ -451,6 +513,11 @@ class RemoteAPICore {
/** /**
* Appends text to a wiki page. * Appends text to a wiki page.
*
* @param string $id page id
* @param string $text wiki text
* @param array $params such as summary,minor
* @return bool|string
*/ */
function appendPage($id, $text, $params) { function appendPage($id, $text, $params) {
$currentpage = $this->rawPage($id); $currentpage = $this->rawPage($id);
@ -464,6 +531,12 @@ class RemoteAPICore {
* Uploads a file to the wiki. * Uploads a file to the wiki.
* *
* Michael Klier <chi@chimeric.de> * Michael Klier <chi@chimeric.de>
*
* @param string $id page id
* @param string $file
* @param array $params such as overwrite
* @return false|string
* @throws RemoteException
*/ */
function putAttachment($id, $file, $params) { function putAttachment($id, $file, $params) {
$id = cleanID($id); $id = cleanID($id);
@ -493,6 +566,11 @@ class RemoteAPICore {
* Deletes a file from the wiki. * Deletes a file from the wiki.
* *
* @author Gina Haeussge <osd@foosel.net> * @author Gina Haeussge <osd@foosel.net>
*
* @param string $id page id
* @return int
* @throws RemoteAccessDeniedException no permissions
* @throws RemoteException file in use or not deleted
*/ */
function deleteAttachment($id){ function deleteAttachment($id){
$id = cleanID($id); $id = cleanID($id);
@ -511,6 +589,9 @@ class RemoteAPICore {
/** /**
* Returns the permissions of a given wiki page * Returns the permissions of a given wiki page
*
* @param string $id page id
* @return int permission level
*/ */
function aclCheck($id) { function aclCheck($id) {
$id = $this->resolvePageId($id); $id = $this->resolvePageId($id);
@ -521,6 +602,10 @@ class RemoteAPICore {
* Lists all links contained in a wiki page * Lists all links contained in a wiki page
* *
* @author Michael Klier <chi@chimeric.de> * @author Michael Klier <chi@chimeric.de>
*
* @param string $id page id
* @return array
* @throws RemoteAccessDeniedException no read access for page
*/ */
function listLinks($id) { function listLinks($id) {
$id = $this->resolvePageId($id); $id = $this->resolvePageId($id);
@ -571,6 +656,10 @@ class RemoteAPICore {
* *
* @author Michael Hamann <michael@content-space.de> * @author Michael Hamann <michael@content-space.de>
* @author Michael Klier <chi@chimeric.de> * @author Michael Klier <chi@chimeric.de>
*
* @param int $timestamp unix timestamp
* @return array
* @throws RemoteException no valid timestamp
*/ */
function getRecentChanges($timestamp) { function getRecentChanges($timestamp) {
if(strlen($timestamp) != 10) { if(strlen($timestamp) != 10) {
@ -596,7 +685,7 @@ class RemoteAPICore {
return $changes; return $changes;
} else { } else {
// in case we still have nothing at this point // in case we still have nothing at this point
return new RemoteException('There are no changes in the specified timeframe', 321); throw new RemoteException('There are no changes in the specified timeframe', 321);
} }
} }
@ -605,6 +694,10 @@ class RemoteAPICore {
* *
* @author Michael Hamann <michael@content-space.de> * @author Michael Hamann <michael@content-space.de>
* @author Michael Klier <chi@chimeric.de> * @author Michael Klier <chi@chimeric.de>
*
* @param int $timestamp unix timestamp
* @return array
* @throws RemoteException no valid timestamp
*/ */
function getRecentMediaChanges($timestamp) { function getRecentMediaChanges($timestamp) {
if(strlen($timestamp) != 10) if(strlen($timestamp) != 10)
@ -637,6 +730,12 @@ class RemoteAPICore {
* Returns a list of available revisions of a given wiki page * Returns a list of available revisions of a given wiki page
* *
* @author Michael Klier <chi@chimeric.de> * @author Michael Klier <chi@chimeric.de>
*
* @param string $id page id
* @param int $first skip the first n changelog lines
* @return array
* @throws RemoteAccessDeniedException no read access for page
* @throws RemoteException empty id
*/ */
function pageVersions($id, $first) { function pageVersions($id, $first) {
$id = $this->resolvePageId($id); $id = $this->resolvePageId($id);
@ -681,6 +780,7 @@ class RemoteAPICore {
$pagelog->setChunkSize(1024); $pagelog->setChunkSize(1024);
$info = $pagelog->getRevisionInfo($time); $info = $pagelog->getRevisionInfo($time);
if(!empty($info)) { if(!empty($info)) {
$data = array();
$data['user'] = $info['user']; $data['user'] = $info['user'];
$data['ip'] = $info['ip']; $data['ip'] = $info['ip'];
$data['type'] = $info['type']; $data['type'] = $info['type'];
@ -713,6 +813,9 @@ class RemoteAPICore {
* *
* Returns an associative array with the keys locked, lockfail, unlocked and * Returns an associative array with the keys locked, lockfail, unlocked and
* unlockfail, each containing lists of pages. * unlockfail, each containing lists of pages.
*
* @param array[] $set list pages with array('lock' => array, 'unlock' => array)
* @return array
*/ */
function setLocks($set){ function setLocks($set){
$locked = array(); $locked = array();
@ -747,13 +850,27 @@ class RemoteAPICore {
); );
} }
/**
* Return API version
*
* @return int
*/
function getAPIVersion(){ function getAPIVersion(){
return DOKU_API_VERSION; return DOKU_API_VERSION;
} }
/**
* Login
*
* @param string $user
* @param string $pass
* @return int
*/
function login($user,$pass){ function login($user,$pass){
global $conf; global $conf;
/** @var DokuWiki_Auth_Plugin $auth */
global $auth; global $auth;
if(!$conf['useacl']) return 0; if(!$conf['useacl']) return 0;
if(!$auth) return 0; if(!$auth) return 0;
@ -774,6 +891,11 @@ class RemoteAPICore {
return $ok; return $ok;
} }
/**
* Log off
*
* @return int
*/
function logoff(){ function logoff(){
global $conf; global $conf;
global $auth; global $auth;
@ -785,6 +907,12 @@ class RemoteAPICore {
return 1; return 1;
} }
/**
* Resolve page id
*
* @param string $id page id
* @return string
*/
private function resolvePageId($id) { private function resolvePageId($id) {
$id = cleanID($id); $id = cleanID($id);
if(empty($id)) { if(empty($id)) {

View file

@ -24,6 +24,8 @@ class Sitemapper {
* @author Andreas Gohr * @author Andreas Gohr
* @link https://www.google.com/webmasters/sitemaps/docs/en/about.html * @link https://www.google.com/webmasters/sitemaps/docs/en/about.html
* @link http://www.sitemaps.org/ * @link http://www.sitemaps.org/
*
* @return bool
*/ */
public static function generate(){ public static function generate(){
global $conf; global $conf;
@ -31,7 +33,7 @@ class Sitemapper {
$sitemap = Sitemapper::getFilePath(); $sitemap = Sitemapper::getFilePath();
if(@file_exists($sitemap)){ if(file_exists($sitemap)){
if(!is_writable($sitemap)) return false; if(!is_writable($sitemap)) return false;
}else{ }else{
if(!is_writable(dirname($sitemap))) return false; if(!is_writable(dirname($sitemap))) return false;
@ -53,7 +55,7 @@ class Sitemapper {
foreach($pages as $id){ foreach($pages as $id){
//skip hidden, non existing and restricted files //skip hidden, non existing and restricted files
if(isHiddenPage($id)) continue; if(isHiddenPage($id)) continue;
if(auth_aclcheck($id,'','') < AUTH_READ) continue; if(auth_aclcheck($id,'',array()) < AUTH_READ) continue;
$item = SitemapItem::createFromID($id); $item = SitemapItem::createFromID($id);
if ($item !== null) if ($item !== null)
$items[] = $item; $items[] = $item;
@ -75,6 +77,7 @@ class Sitemapper {
* *
* @param $items array The SitemapItems that shall be included in the sitemap. * @param $items array The SitemapItems that shall be included in the sitemap.
* @return string The sitemap XML. * @return string The sitemap XML.
*
* @author Michael Hamann * @author Michael Hamann
*/ */
private static function getXML($items) { private static function getXML($items) {
@ -95,6 +98,7 @@ class Sitemapper {
* Helper function for getting the path to the sitemap file. * Helper function for getting the path to the sitemap file.
* *
* @return string The path to the sitemap file. * @return string The path to the sitemap file.
*
* @author Michael Hamann * @author Michael Hamann
*/ */
public static function getFilePath() { public static function getFilePath() {
@ -123,6 +127,8 @@ class Sitemapper {
* urls to ping using the SITEMAP_PING event. * urls to ping using the SITEMAP_PING event.
* *
* @author Michael Hamann * @author Michael Hamann
*
* @return bool
*/ */
public static function pingSearchEngines() { public static function pingSearchEngines() {
//ping search engines... //ping search engines...
@ -168,9 +174,9 @@ class SitemapItem {
/** /**
* Create a new item. * Create a new item.
* *
* @param $url string The url of the item * @param string $url The url of the item
* @param $lastmod int Timestamp of the last modification * @param int $lastmod Timestamp of the last modification
* @param $changefreq string How frequently the item is likely to change. Valid values: always, hourly, daily, weekly, monthly, yearly, never. * @param string $changefreq How frequently the item is likely to change. Valid values: always, hourly, daily, weekly, monthly, yearly, never.
* @param $priority float|string The priority of the item relative to other URLs on your site. Valid values range from 0.0 to 1.0. * @param $priority float|string The priority of the item relative to other URLs on your site. Valid values range from 0.0 to 1.0.
*/ */
public function __construct($url, $lastmod, $changefreq = null, $priority = null) { public function __construct($url, $lastmod, $changefreq = null, $priority = null) {
@ -183,9 +189,9 @@ class SitemapItem {
/** /**
* Helper function for creating an item for a wikipage id. * Helper function for creating an item for a wikipage id.
* *
* @param $id string A wikipage id. * @param string $id A wikipage id.
* @param $changefreq string How frequently the item is likely to change. Valid values: always, hourly, daily, weekly, monthly, yearly, never. * @param string $changefreq How frequently the item is likely to change. Valid values: always, hourly, daily, weekly, monthly, yearly, never.
* @param $priority float|string The priority of the item relative to other URLs on your site. Valid values range from 0.0 to 1.0. * @param float|string $priority The priority of the item relative to other URLs on your site. Valid values range from 0.0 to 1.0.
* @return SitemapItem The sitemap item. * @return SitemapItem The sitemap item.
*/ */
public static function createFromID($id, $changefreq = null, $priority = null) { public static function createFromID($id, $changefreq = null, $priority = null) {

View file

@ -43,6 +43,7 @@
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @author Bouchon <tarlib@bouchon.org> (Maxg) * @author Bouchon <tarlib@bouchon.org> (Maxg)
* @license GPL 2 * @license GPL 2
* @deprecated 2015-05-15 - use splitbrain\PHPArchive\Tar instead
*/ */
class Tar { class Tar {
@ -53,6 +54,7 @@ class Tar {
protected $file = ''; protected $file = '';
protected $comptype = Tar::COMPRESS_AUTO; protected $comptype = Tar::COMPRESS_AUTO;
/** @var resource|int */
protected $fh; protected $fh;
protected $memory = ''; protected $memory = '';
protected $closed = true; protected $closed = true;
@ -105,6 +107,9 @@ class Tar {
* *
* The archive is closed afer reading the contents, because rewinding is not possible in bzip2 streams. * The archive is closed afer reading the contents, because rewinding is not possible in bzip2 streams.
* Reopen the file with open() again if you want to do additional operations * Reopen the file with open() again if you want to do additional operations
*
* @return array
* @throws TarIOException
*/ */
public function contents() { public function contents() {
if($this->closed || !$this->file) throw new TarIOException('Can not read from a closed archive'); if($this->closed || !$this->file) throw new TarIOException('Can not read from a closed archive');
@ -270,6 +275,7 @@ class Tar {
* Add a file to the current TAR archive using an existing file in the filesystem * Add a file to the current TAR archive using an existing file in the filesystem
* *
* @todo handle directory adding * @todo handle directory adding
*
* @param string $file the original file * @param string $file the original file
* @param string $name the name to use for the file in the archive * @param string $name the name to use for the file in the archive
* @throws TarIOException * @throws TarIOException
@ -377,6 +383,10 @@ class Tar {
* Returns the created in-memory archive data * Returns the created in-memory archive data
* *
* This implicitly calls close() on the Archive * This implicitly calls close() on the Archive
*
* @param int $comptype
* @param int $complevel
* @return mixed|string
*/ */
public function getArchive($comptype = Tar::COMPRESS_AUTO, $complevel = 9) { public function getArchive($comptype = Tar::COMPRESS_AUTO, $complevel = 9) {
$this->close(); $this->close();
@ -395,7 +405,7 @@ class Tar {
* Note: It more memory effective to specify the filename in the create() function and * Note: It more memory effective to specify the filename in the create() function and
* let the library work on the new file directly. * let the library work on the new file directly.
* *
* @param $file * @param string $file
* @param int $comptype * @param int $comptype
* @param int $complevel * @param int $complevel
* @throws TarIOException * @throws TarIOException
@ -522,7 +532,7 @@ class Tar {
* Decode the given tar file header * Decode the given tar file header
* *
* @param string $block a 512 byte block containign the header data * @param string $block a 512 byte block containign the header data
* @return array|bool * @return false|array
*/ */
protected function parseHeader($block) { protected function parseHeader($block) {
if(!$block || strlen($block) != 512) return false; if(!$block || strlen($block) != 512) return false;
@ -536,6 +546,7 @@ class Tar {
$header = @unpack("a100filename/a8perm/a8uid/a8gid/a12size/a12mtime/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor/a155prefix", $block); $header = @unpack("a100filename/a8perm/a8uid/a8gid/a12size/a12mtime/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor/a155prefix", $block);
if(!$header) return false; if(!$header) return false;
$return = array();
$return['checksum'] = OctDec(trim($header['checksum'])); $return['checksum'] = OctDec(trim($header['checksum']));
if($return['checksum'] != $chks) return false; if($return['checksum'] != $chks) return false;
@ -570,7 +581,7 @@ class Tar {
/** /**
* Cleans up a path and removes relative parts, also strips leading slashes * Cleans up a path and removes relative parts, also strips leading slashes
* *
* @param string $p_dir * @param string $path
* @return string * @return string
*/ */
public function cleanPath($path) { public function cleanPath($path) {
@ -590,7 +601,7 @@ class Tar {
/** /**
* Checks if the given compression type is available and throws an exception if not * Checks if the given compression type is available and throws an exception if not
* *
* @param $comptype * @param int $comptype
* @throws TarIllegalCompressionException * @throws TarIllegalCompressionException
*/ */
protected function compressioncheck($comptype) { protected function compressioncheck($comptype) {
@ -624,8 +635,14 @@ class Tar {
} }
} }
/**
* Class TarIOException
*/
class TarIOException extends Exception { class TarIOException extends Exception {
} }
/**
* Class TarIllegalCompressionException
*/
class TarIllegalCompressionException extends Exception { class TarIllegalCompressionException extends Exception {
} }

View file

@ -1,89 +0,0 @@
<?php
/**
* This is a compatibility wrapper around the new Tar class
*
* Use of this library is strongly discouraged. Only basic extraction is wrapped,
* everything else will fail.
*
* @deprecated 2012-11-06
*/
class TarLib {
const COMPRESS_GZIP = 1;
const COMPRESS_BZIP = 2;
const COMPRESS_AUTO = 3;
const COMPRESS_NONE = 0;
const TARLIB_VERSION = '1.2';
const FULL_ARCHIVE = -1;
const ARCHIVE_DYNAMIC = 0;
const ARCHIVE_RENAMECOMP = 5;
const COMPRESS_DETECT = -1;
private $file = '';
private $tar;
public $_result = true;
function __construct($file, $comptype = TarLib::COMPRESS_AUTO, $complevel = 9) {
dbg_deprecated('class Tar');
if(!$file) $this->error('__construct', '$file');
$this->file = $file;
switch($comptype) {
case TarLib::COMPRESS_AUTO:
case TarLib::COMPRESS_DETECT:
$comptype = Tar::COMPRESS_AUTO;
break;
case TarLib::COMPRESS_GZIP:
$comptype = Tar::COMPRESS_GZIP;
break;
case TarLib::COMPRESS_BZIP:
$comptype = Tar::COMPRESS_BZIP;
break;
default:
$comptype = Tar::COMPRESS_NONE;
}
$this->complevel = $complevel;
try {
$this->tar = new Tar();
$this->tar->open($file, $comptype);
} catch(Exception $e) {
$this->_result = false;
}
}
function Extract($p_what = TarLib::FULL_ARCHIVE, $p_to = '.', $p_remdir = '', $p_mode = 0755) {
if($p_what != TarLib::FULL_ARCHIVE) {
$this->error('Extract', 'Ep_what');
return 0;
}
try {
$this->tar->extract($p_to, $p_remdir);
} catch(Exception $e) {
return 0;
}
return 1;
}
function error($func, $param = '') {
$error = 'TarLib is deprecated and should no longer be used.';
if($param) {
$error .= "In this compatibility wrapper, the function '$func' does not accept your value for".
"the parameter '$param' anymore.";
} else {
$error .= "The function '$func' no longer exists in this compatibility wrapper.";
}
msg($error, -1);
}
function __call($name, $arguments) {
$this->error($name);
}
}

View file

@ -6,6 +6,7 @@
* @link http://forum.maxg.info * @link http://forum.maxg.info
* *
* Modified for Dokuwiki * Modified for Dokuwiki
* @deprecated 2015-05-15 - use splitbrain\PHPArchive\Zip instead
* @author Christopher Smith <chris@jalakai.co.uk> * @author Christopher Smith <chris@jalakai.co.uk>
*/ */
class ZipLib { class ZipLib {
@ -16,6 +17,10 @@ class ZipLib {
var $old_offset = 0; var $old_offset = 0;
var $dirs = Array("."); var $dirs = Array(".");
/**
* @param string $zip_name filename path to file
* @return array|int
*/
function get_List($zip_name) { function get_List($zip_name) {
$zip = @fopen($zip_name, 'rb'); $zip = @fopen($zip_name, 'rb');
if(!$zip) return(0); if(!$zip) return(0);
@ -24,10 +29,12 @@ class ZipLib {
@rewind($zip); @rewind($zip);
@fseek($zip, $centd['offset']); @fseek($zip, $centd['offset']);
$ret = array();
for ($i=0; $i<$centd['entries']; $i++) { for ($i=0; $i<$centd['entries']; $i++) {
$header = $this->ReadCentralFileHeaders($zip); $header = $this->ReadCentralFileHeaders($zip);
$header['index'] = $i; $header['index'] = $i;
$info = array();
$info['filename'] = $header['filename']; $info['filename'] = $header['filename'];
$info['stored_filename'] = $header['stored_filename']; $info['stored_filename'] = $header['stored_filename'];
$info['size'] = $header['size']; $info['size'] = $header['size'];
@ -45,9 +52,15 @@ class ZipLib {
return $ret; return $ret;
} }
/**
* @param array $files array filled with array(string filename, string data)
* @param bool $compact
* @return array
*/
function Add($files,$compact) { function Add($files,$compact) {
if(!is_array($files[0])) $files=Array($files); if(!is_array($files[0])) $files=Array($files);
$ret = array();
for($i=0;$files[$i];$i++){ for($i=0;$files[$i];$i++){
$fn = $files[$i]; $fn = $files[$i];
if(!in_Array(dirname($fn[0]),$this->dirs)) if(!in_Array(dirname($fn[0]),$this->dirs))
@ -60,6 +73,10 @@ class ZipLib {
/** /**
* Zips recursively the $folder directory, from the $basedir directory * Zips recursively the $folder directory, from the $basedir directory
*
* @param string $folder filename path to file
* @param string|null $basedir
* @param string|null $parent
*/ */
function Compress($folder, $basedir=null, $parent=null) { function Compress($folder, $basedir=null, $parent=null) {
$full_path = $basedir."/".$parent.$folder; $full_path = $basedir."/".$parent.$folder;
@ -70,6 +87,7 @@ class ZipLib {
} }
$dir = new DirectoryIterator($full_path); $dir = new DirectoryIterator($full_path);
foreach($dir as $file) { foreach($dir as $file) {
/** @var DirectoryIterator $file */
if(!$file->isDot()) { if(!$file->isDot()) {
$filename = $file->getFilename(); $filename = $file->getFilename();
if($file->isDir()) { if($file->isDir()) {
@ -84,6 +102,8 @@ class ZipLib {
/** /**
* Returns the Zip file * Returns the Zip file
*
* @return string
*/ */
function get_file() { function get_file() {
$data = implode('', $this -> datasec); $data = implode('', $this -> datasec);
@ -94,6 +114,9 @@ class ZipLib {
pack('V', strlen($ctrldir)) . pack('V', strlen($data)) . "\x00\x00"; pack('V', strlen($ctrldir)) . pack('V', strlen($data)) . "\x00\x00";
} }
/**
* @param string $name the name of the directory
*/
function add_dir($name) { function add_dir($name) {
$name = str_replace("\\", "/", $name); $name = str_replace("\\", "/", $name);
$fr = "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"; $fr = "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00";
@ -117,8 +140,13 @@ class ZipLib {
/** /**
* Add a file named $name from a string $data * Add a file named $name from a string $data
*
* @param string $data
* @param string $name filename
* @param bool $compact
* @return bool
*/ */
function add_File($data, $name, $compact = 1) { function add_File($data, $name, $compact = true) {
$name = str_replace('\\', '/', $name); $name = str_replace('\\', '/', $name);
$dtime = dechex($this->DosTime()); $dtime = dechex($this->DosTime());
@ -166,6 +194,9 @@ class ZipLib {
return true; return true;
} }
/**
* @return int
*/
function DosTime() { function DosTime() {
$timearray = getdate(); $timearray = getdate();
if ($timearray['year'] < 1980) { if ($timearray['year'] < 1980) {
@ -186,10 +217,14 @@ class ZipLib {
/** /**
* Extract a zip file $zn to the $to directory * Extract a zip file $zn to the $to directory
*
* @param string $zn filename
* @param string $to filename path to file
* @param array $index
* @return array|int
*/ */
function Extract ( $zn, $to, $index = Array(-1) ) { function Extract ( $zn, $to, $index = Array(-1) ) {
if(!@is_dir($to)) $this->_mkdir($to); if(!@is_dir($to)) $this->_mkdir($to);
$ok = 0;
$zip = @fopen($zn,'rb'); $zip = @fopen($zn,'rb');
if(!$zip) return(-1); if(!$zip) return(-1);
$cdir = $this->ReadCentralDir($zip,$zn); $cdir = $this->ReadCentralDir($zip,$zn);
@ -203,6 +238,7 @@ class ZipLib {
return(-1); return(-1);
} }
$stat = array();
for ($i=0; $i<$cdir['entries']; $i++) { for ($i=0; $i<$cdir['entries']; $i++) {
@fseek($zip, $pos_entry); @fseek($zip, $pos_entry);
$header = $this->ReadCentralFileHeaders($zip); $header = $this->ReadCentralFileHeaders($zip);
@ -218,6 +254,11 @@ class ZipLib {
return $stat; return $stat;
} }
/**
* @param resource $zip
* @param array $header
* @return array
*/
function ReadFileHeader($zip, $header) { function ReadFileHeader($zip, $header) {
$binary_data = fread($zip, 30); $binary_data = fread($zip, 30);
$data = unpack('vchk/vid/vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $binary_data); $data = unpack('vchk/vid/vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $binary_data);
@ -254,6 +295,10 @@ class ZipLib {
return $header; return $header;
} }
/**
* @param resource $zip
* @return array
*/
function ReadCentralFileHeaders($zip){ function ReadCentralFileHeaders($zip){
$binary_data = fread($zip, 46); $binary_data = fread($zip, 46);
$header = unpack('vchkid/vid/vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $binary_data); $header = unpack('vchkid/vid/vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $binary_data);
@ -295,6 +340,11 @@ class ZipLib {
return $header; return $header;
} }
/**
* @param resource $zip
* @param string $zip_name filename path to file
* @return array
*/
function ReadCentralDir($zip,$zip_name) { function ReadCentralDir($zip,$zip_name) {
$size = filesize($zip_name); $size = filesize($zip_name);
if ($size < 277){ if ($size < 277){
@ -320,6 +370,7 @@ class ZipLib {
$data=unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', $data=unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size',
fread($zip, 18)); fread($zip, 18));
$centd = array();
if ($data['comment_size'] != 0){ if ($data['comment_size'] != 0){
$centd['comment'] = fread($zip, $data['comment_size']); $centd['comment'] = fread($zip, $data['comment_size']);
} else { } else {
@ -334,6 +385,12 @@ class ZipLib {
return $centd; return $centd;
} }
/**
* @param array $header
* @param string $to filename path to file
* @param resource $zip
* @return bool|int
*/
function ExtractFile($header,$to,$zip) { function ExtractFile($header,$to,$zip) {
$header = $this->readfileheader($zip, $header); $header = $this->readfileheader($zip, $header);
@ -414,14 +471,20 @@ class ZipLib {
* centralize mkdir calls and use dokuwiki io functions * centralize mkdir calls and use dokuwiki io functions
* *
* @author Christopher Smith <chris@jalakai.co.uk> * @author Christopher Smith <chris@jalakai.co.uk>
*
* @param string $d filename path to file
* @return bool|int|string
*/ */
function _mkdir($d) { function _mkdir($d) {
return io_mkdir_p($d); return io_mkdir_p($d);
} }
/**
* @param string $zn
* @param string $name
* @return null|string
*/
function ExtractStr($zn, $name) { function ExtractStr($zn, $name) {
$ok = 0;
$zip = @fopen($zn,'rb'); $zip = @fopen($zn,'rb');
if(!$zip) return(null); if(!$zip) return(null);
$cdir = $this->ReadCentralDir($zip,$zn); $cdir = $this->ReadCentralDir($zip,$zn);
@ -445,8 +508,13 @@ class ZipLib {
return null; return null;
} }
/**
* @param array $header
* @param resource $zip
* @return null|string
*/
function ExtractStrFile($header,$zip) { function ExtractStrFile($header,$zip) {
$hdr = $this->readfileheader($zip); $hdr = $this->readfileheader($zip, $header);
$binary_data = ''; $binary_data = '';
if (!($header['external']==0x41FF0010) && !($header['external']==16)) { if (!($header['external']==0x41FF0010) && !($header['external']==16)) {
if ($header['compression']==0) { if ($header['compression']==0) {
@ -484,6 +552,10 @@ class ZipLib {
return null; return null;
} }
/**
* @param string $val
* @return int|string
*/
function _ret_bytes($val) { function _ret_bytes($val) {
$val = trim($val); $val = trim($val);
$last = $val{strlen($val)-1}; $last = $val{strlen($val)-1};

View file

@ -162,20 +162,9 @@ function act_dispatch(){
if($ACT == 'admin'){ if($ACT == 'admin'){
// retrieve admin plugin name from $_REQUEST['page'] // retrieve admin plugin name from $_REQUEST['page']
if (($page = $INPUT->str('page', '', true)) != '') { if (($page = $INPUT->str('page', '', true)) != '') {
$pluginlist = plugin_list('admin'); /** @var $plugin DokuWiki_Admin_Plugin */
if (in_array($page, $pluginlist)) { if ($plugin = plugin_getRequestAdminPlugin()){
// attempt to load the plugin $plugin->handle();
if (($plugin = plugin_load('admin',$page)) !== null){
/** @var DokuWiki_Admin_Plugin $plugin */
if($plugin->forAdminOnly() && !$INFO['isadmin']){
// a manager tried to load a plugin that's for admins only
$INPUT->remove('page');
msg('For admins only',-1);
}else{
$plugin->handle();
}
}
} }
} }
} }
@ -200,6 +189,7 @@ function act_dispatch(){
global $license; global $license;
//call template FIXME: all needed vars available? //call template FIXME: all needed vars available?
$headers = array();
$headers[] = 'Content-Type: text/html; charset=utf-8'; $headers[] = 'Content-Type: text/html; charset=utf-8';
trigger_event('ACTION_HEADERS_SEND',$headers,'act_sendheaders'); trigger_event('ACTION_HEADERS_SEND',$headers,'act_sendheaders');
@ -221,6 +211,9 @@ function act_sendheaders($headers) {
* Sanitize the action command * Sanitize the action command
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param array|string $act
* @return string
*/ */
function act_clean($act){ function act_clean($act){
// check if the action was given as array key // check if the action was given as array key
@ -245,6 +238,9 @@ function act_clean($act){
* Add all allowed commands here. * Add all allowed commands here.
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param array|string $act
* @return string
*/ */
function act_validate($act) { function act_validate($act) {
global $conf; global $conf;
@ -284,10 +280,12 @@ function act_validate($act) {
* Run permissionchecks * Run permissionchecks
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $act action command
* @return string action command
*/ */
function act_permcheck($act){ function act_permcheck($act){
global $INFO; global $INFO;
global $conf;
if(in_array($act,array('save','preview','edit','recover'))){ if(in_array($act,array('save','preview','edit','recover'))){
if($INFO['exists']){ if($INFO['exists']){
@ -330,6 +328,9 @@ function act_permcheck($act){
* Handle 'draftdel' * Handle 'draftdel'
* *
* Deletes the draft for the current page and user * Deletes the draft for the current page and user
*
* @param string $act action command
* @return string action command
*/ */
function act_draftdel($act){ function act_draftdel($act){
global $INFO; global $INFO;
@ -342,6 +343,9 @@ function act_draftdel($act){
* Saves a draft on preview * Saves a draft on preview
* *
* @todo this currently duplicates code from ajax.php :-/ * @todo this currently duplicates code from ajax.php :-/
*
* @param string $act action command
* @return string action command
*/ */
function act_draftsave($act){ function act_draftsave($act){
global $INFO; global $INFO;
@ -372,6 +376,9 @@ function act_draftsave($act){
* returns a new action. * returns a new action.
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $act action command
* @return string action command
*/ */
function act_save($act){ function act_save($act){
global $ID; global $ID;
@ -394,7 +401,7 @@ function act_save($act){
return 'conflict'; return 'conflict';
//save it //save it
saveWikiText($ID,con($PRE,$TEXT,$SUF,1),$SUM,$INPUT->bool('minor')); //use pretty mode for con saveWikiText($ID,con($PRE,$TEXT,$SUF,true),$SUM,$INPUT->bool('minor')); //use pretty mode for con
//unlock it //unlock it
unlock($ID); unlock($ID);
@ -410,6 +417,9 @@ function act_save($act){
* Revert to a certain revision * Revert to a certain revision
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $act action command
* @return string action command
*/ */
function act_revert($act){ function act_revert($act){
global $ID; global $ID;
@ -457,6 +467,9 @@ function act_revert($act){
* Do a redirect after receiving post data * Do a redirect after receiving post data
* *
* Tries to add the section id as hash mark after section editing * Tries to add the section id as hash mark after section editing
*
* @param string $id page id
* @param string $preact action command before redirect
*/ */
function act_redirect($id,$preact){ function act_redirect($id,$preact){
global $PRE; global $PRE;
@ -478,7 +491,7 @@ function act_redirect($id,$preact){
/** /**
* Execute the redirect * Execute the redirect
* *
* @param array $opts id and fragment for the redirect * @param array $opts id and fragment for the redirect and the preact
*/ */
function act_redirect_execute($opts){ function act_redirect_execute($opts){
$go = wl($opts['id'],'',true); $go = wl($opts['id'],'',true);
@ -492,6 +505,9 @@ function act_redirect_execute($opts){
* Handle 'login', 'logout' * Handle 'login', 'logout'
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $act action command
* @return string action command
*/ */
function act_auth($act){ function act_auth($act){
global $ID; global $ID;
@ -527,6 +543,9 @@ function act_auth($act){
* Handle 'edit', 'preview', 'recover' * Handle 'edit', 'preview', 'recover'
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $act action command
* @return string action command
*/ */
function act_edit($act){ function act_edit($act){
global $ID; global $ID;
@ -591,6 +610,9 @@ function act_edit($act){
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @author Michael Klier <chi@chimeric.de> * @author Michael Klier <chi@chimeric.de>
*
* @param string $act action command
* @return string action command
*/ */
function act_export($act){ function act_export($act){
global $ID; global $ID;
@ -600,7 +622,6 @@ function act_export($act){
$pre = ''; $pre = '';
$post = ''; $post = '';
$output = '';
$headers = array(); $headers = array();
// search engines: never cache exported docs! (Google only currently) // search engines: never cache exported docs! (Google only currently)
@ -644,7 +665,7 @@ function act_export($act){
$output = p_wiki_xhtml($ID,$REV,false); $output = p_wiki_xhtml($ID,$REV,false);
break; break;
default: default:
$output = p_cached_output(wikiFN($ID,$REV), $mode); $output = p_cached_output(wikiFN($ID,$REV), $mode, $ID);
$headers = p_get_metadata($ID,"format $mode"); $headers = p_get_metadata($ID,"format $mode");
break; break;
} }
@ -672,6 +693,8 @@ function act_export($act){
* Handle sitemap delivery * Handle sitemap delivery
* *
* @author Michael Hamann <michael@content-space.de> * @author Michael Hamann <michael@content-space.de>
*
* @param string $act action command
*/ */
function act_sitemap($act) { function act_sitemap($act) {
global $conf; global $conf;
@ -720,6 +743,10 @@ function act_sitemap($act) {
* Throws exception on error. * Throws exception on error.
* *
* @author Adrian Lang <lang@cosmocode.de> * @author Adrian Lang <lang@cosmocode.de>
*
* @param string $act action command
* @return string action command
* @throws Exception if (un)subscribing fails
*/ */
function act_subscription($act){ function act_subscription($act){
global $lang; global $lang;
@ -779,6 +806,9 @@ function act_subscription($act){
* default action for the event ACTION_HANDLE_SUBSCRIBE. * default action for the event ACTION_HANDLE_SUBSCRIBE.
* *
* @author Adrian Lang <lang@cosmocode.de> * @author Adrian Lang <lang@cosmocode.de>
*
* @param array &$params the parameters: target, style and action
* @throws Exception
*/ */
function subscription_handle_post(&$params) { function subscription_handle_post(&$params) {
global $INFO; global $INFO;

View file

@ -127,6 +127,7 @@ function auth_setup() {
* Loads the ACL setup and handle user wildcards * Loads the ACL setup and handle user wildcards
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @return array * @return array
*/ */
function auth_loadACL() { function auth_loadACL() {
@ -173,7 +174,7 @@ function auth_loadACL() {
/** /**
* Event hook callback for AUTH_LOGIN_CHECK * Event hook callback for AUTH_LOGIN_CHECK
* *
* @param $evdata * @param array $evdata
* @return bool * @return bool
*/ */
function auth_login_wrapper($evdata) { function auth_login_wrapper($evdata) {
@ -280,8 +281,9 @@ function auth_login($user, $pass, $sticky = false, $silent = false) {
* token is correct. Will exit with a 401 Status if not. * token is correct. Will exit with a 401 Status if not.
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $token The authentication token * @param string $token The authentication token
* @return boolean true (or will exit on failure) * @return boolean|null true (or will exit on failure)
*/ */
function auth_validateToken($token) { function auth_validateToken($token) {
if(!$token || $token != $_SESSION[DOKU_COOKIE]['auth']['token']) { if(!$token || $token != $_SESSION[DOKU_COOKIE]['auth']['token']) {
@ -307,6 +309,7 @@ function auth_validateToken($token) {
* NOTE: this is completely unrelated to the getSecurityToken() function * NOTE: this is completely unrelated to the getSecurityToken() function
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @return string The auth token * @return string The auth token
*/ */
function auth_createToken() { function auth_createToken() {
@ -335,7 +338,6 @@ function auth_browseruid() {
$ip = clientIP(true); $ip = clientIP(true);
$uid = ''; $uid = '';
$uid .= $INPUT->server->str('HTTP_USER_AGENT'); $uid .= $INPUT->server->str('HTTP_USER_AGENT');
$uid .= $INPUT->server->str('HTTP_ACCEPT_ENCODING');
$uid .= $INPUT->server->str('HTTP_ACCEPT_CHARSET'); $uid .= $INPUT->server->str('HTTP_ACCEPT_CHARSET');
$uid .= substr($ip, 0, strpos($ip, '.')); $uid .= substr($ip, 0, strpos($ip, '.'));
$uid = strtolower($uid); $uid = strtolower($uid);
@ -351,6 +353,7 @@ function auth_browseruid() {
* and stored in this file. * and stored in this file.
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param bool $addsession if true, the sessionid is added to the salt * @param bool $addsession if true, the sessionid is added to the salt
* @param bool $secure if security is more important than keeping the old value * @param bool $secure if security is more important than keeping the old value
* @return string * @return string
@ -378,6 +381,7 @@ function auth_cookiesalt($addsession = false, $secure = false) {
* @author Mark Seecof * @author Mark Seecof
* @author Michael Hamann <michael@content-space.de> * @author Michael Hamann <michael@content-space.de>
* @link http://www.php.net/manual/de/function.mt-rand.php#83655 * @link http://www.php.net/manual/de/function.mt-rand.php#83655
*
* @param int $length number of bytes to get * @param int $length number of bytes to get
* @return string binary random strings * @return string binary random strings
*/ */
@ -444,6 +448,7 @@ function auth_randombytes($length) {
* *
* @author Michael Samuel * @author Michael Samuel
* @author Michael Hamann <michael@content-space.de> * @author Michael Hamann <michael@content-space.de>
*
* @param int $min * @param int $min
* @param int $max * @param int $max
* @return int * @return int
@ -515,6 +520,7 @@ function auth_decrypt($ciphertext, $secret) {
* off. It also clears session data. * off. It also clears session data.
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param bool $keepbc - when true, the breadcrumb data is not cleared * @param bool $keepbc - when true, the breadcrumb data is not cleared
*/ */
function auth_logoff($keepbc = false) { function auth_logoff($keepbc = false) {
@ -555,6 +561,7 @@ function auth_logoff($keepbc = false) {
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @see auth_isadmin * @see auth_isadmin
*
* @param string $user Username * @param string $user Username
* @param array $groups List of groups the user is in * @param array $groups List of groups the user is in
* @param bool $adminonly when true checks if user is admin * @param bool $adminonly when true checks if user is admin
@ -599,6 +606,7 @@ function auth_ismanager($user = null, $groups = null, $adminonly = false) {
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @see auth_ismanager() * @see auth_ismanager()
*
* @param string $user Username * @param string $user Username
* @param array $groups List of groups the user is in * @param array $groups List of groups the user is in
* @return bool * @return bool
@ -613,9 +621,9 @@ function auth_isadmin($user = null, $groups = null) {
* *
* Note: all input should NOT be nameencoded. * Note: all input should NOT be nameencoded.
* *
* @param $memberlist string commaseparated list of allowed users and groups * @param string $memberlist commaseparated list of allowed users and groups
* @param $user string user to match against * @param string $user user to match against
* @param $groups array groups the user is member of * @param array $groups groups the user is member of
* @return bool true for membership acknowledged * @return bool true for membership acknowledged
*/ */
function auth_isMember($memberlist, $user, array $groups) { function auth_isMember($memberlist, $user, array $groups) {
@ -678,6 +686,7 @@ function auth_quickaclcheck($id) {
* Returns the maximum rights a user has for the given ID or its namespace * Returns the maximum rights a user has for the given ID or its namespace
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @triggers AUTH_ACL_CHECK * @triggers AUTH_ACL_CHECK
* @param string $id page ID (needs to be resolved and cleaned) * @param string $id page ID (needs to be resolved and cleaned)
* @param string $user Username * @param string $user Username
@ -700,6 +709,7 @@ function auth_aclcheck($id, $user, $groups) {
* DO NOT CALL DIRECTLY, use auth_aclcheck() instead * DO NOT CALL DIRECTLY, use auth_aclcheck() instead
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param array $data event data * @param array $data event data
* @return int permission level * @return int permission level
*/ */
@ -729,27 +739,22 @@ function auth_aclcheck_cb($data) {
$user = utf8_strtolower($user); $user = utf8_strtolower($user);
$groups = array_map('utf8_strtolower', $groups); $groups = array_map('utf8_strtolower', $groups);
} }
$user = $auth->cleanUser($user); $user = auth_nameencode($auth->cleanUser($user));
$groups = array_map(array($auth, 'cleanGroup'), (array) $groups); $groups = array_map(array($auth, 'cleanGroup'), (array) $groups);
$user = auth_nameencode($user);
//prepend groups with @ and nameencode //prepend groups with @ and nameencode
$cnt = count($groups); foreach($groups as &$group) {
for($i = 0; $i < $cnt; $i++) { $group = '@'.auth_nameencode($group);
$groups[$i] = '@'.auth_nameencode($groups[$i]);
} }
$ns = getNS($id); $ns = getNS($id);
$perm = -1; $perm = -1;
if($user || count($groups)) { //add ALL group
//add ALL group $groups[] = '@ALL';
$groups[] = '@ALL';
//add User //add User
if($user) $groups[] = $user; if($user) $groups[] = $user;
} else {
$groups[] = '@ALL';
}
//check exact match first //check exact match first
$matches = preg_grep('/^'.preg_quote($id, '/').'[ \t]+([^ \t]+)[ \t]+/', $AUTH_ACL); $matches = preg_grep('/^'.preg_quote($id, '/').'[ \t]+([^ \t]+)[ \t]+/', $AUTH_ACL);
@ -832,6 +837,10 @@ function auth_aclcheck_cb($data) {
* *
* @author Andreas Gohr <gohr@cosmocode.de> * @author Andreas Gohr <gohr@cosmocode.de>
* @see rawurldecode() * @see rawurldecode()
*
* @param string $name
* @param bool $skip_group
* @return string
*/ */
function auth_nameencode($name, $skip_group = false) { function auth_nameencode($name, $skip_group = false) {
global $cache_authname; global $cache_authname;
@ -913,6 +922,7 @@ function auth_pwgen($foruser = '') {
* Sends a password to the given user * Sends a password to the given user
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $user Login name of the user * @param string $user Login name of the user
* @param string $password The new password in clear text * @param string $password The new password in clear text
* @return bool true on success * @return bool true on success
@ -948,6 +958,7 @@ function auth_sendPassword($user, $password) {
* This registers a new user - Data is read directly from $_POST * This registers a new user - Data is read directly from $_POST
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @return bool true on success, false on any error * @return bool true on success, false on any error
*/ */
function register() { function register() {
@ -990,7 +1001,7 @@ function register() {
//okay try to create the user //okay try to create the user
if(!$auth->triggerUserMod('create', array($login, $pass, $fullname, $email))) { if(!$auth->triggerUserMod('create', array($login, $pass, $fullname, $email))) {
msg($lang['reguexists'], -1); msg($lang['regfail'], -1);
return false; return false;
} }
@ -1082,17 +1093,18 @@ function updateprofile() {
} }
} }
if($result = $auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), &$changes))) { if(!$auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), &$changes))) {
// update cookie and session with the changed data msg($lang['proffail'], -1);
if($changes['pass']) { return false;
list( /*user*/, $sticky, /*pass*/) = auth_getCookie();
$pass = auth_encrypt($changes['pass'], auth_cookiesalt(!$sticky, true));
auth_setCookie($INPUT->server->str('REMOTE_USER'), $pass, (bool) $sticky);
}
return true;
} }
return false; // update cookie and session with the changed data
if($changes['pass']) {
list( /*user*/, $sticky, /*pass*/) = auth_getCookie();
$pass = auth_encrypt($changes['pass'], auth_cookiesalt(!$sticky, true));
auth_setCookie($INPUT->server->str('REMOTE_USER'), $pass, (bool) $sticky);
}
return true;
} }
/** /**
@ -1129,6 +1141,7 @@ function auth_deleteprofile(){
} }
} }
$deleted = array();
$deleted[] = $INPUT->server->str('REMOTE_USER'); $deleted[] = $INPUT->server->str('REMOTE_USER');
if($auth->triggerUserMod('delete', array($deleted))) { if($auth->triggerUserMod('delete', array($deleted))) {
// force and immediate logout including removing the sticky cookie // force and immediate logout including removing the sticky cookie
@ -1172,7 +1185,7 @@ function act_resendpwd() {
// we're in token phase - get user info from token // we're in token phase - get user info from token
$tfile = $conf['cachedir'].'/'.$token{0}.'/'.$token.'.pwauth'; $tfile = $conf['cachedir'].'/'.$token{0}.'/'.$token.'.pwauth';
if(!@file_exists($tfile)) { if(!file_exists($tfile)) {
msg($lang['resendpwdbadauth'], -1); msg($lang['resendpwdbadauth'], -1);
$INPUT->remove('pwauth'); $INPUT->remove('pwauth');
return false; return false;
@ -1204,7 +1217,7 @@ function act_resendpwd() {
// change it // change it
if(!$auth->triggerUserMod('modify', array($user, array('pass' => $pass)))) { if(!$auth->triggerUserMod('modify', array($user, array('pass' => $pass)))) {
msg('error modifying user data', -1); msg($lang['proffail'], -1);
return false; return false;
} }
@ -1212,7 +1225,7 @@ function act_resendpwd() {
$pass = auth_pwgen($user); $pass = auth_pwgen($user);
if(!$auth->triggerUserMod('modify', array($user, array('pass' => $pass)))) { if(!$auth->triggerUserMod('modify', array($user, array('pass' => $pass)))) {
msg('error modifying user data', -1); msg($lang['proffail'], -1);
return false; return false;
} }
@ -1279,6 +1292,7 @@ function act_resendpwd() {
* is chosen. * is chosen.
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $clear The clear text password * @param string $clear The clear text password
* @param string $method The hashing method * @param string $method The hashing method
* @param string $salt A salt, null for random * @param string $salt A salt, null for random
@ -1303,6 +1317,7 @@ function auth_cryptPassword($clear, $method = '', $salt = null) {
* Verifies a cleartext password against a crypted hash * Verifies a cleartext password against a crypted hash
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $clear The clear text password * @param string $clear The clear text password
* @param string $crypt The hash to compare with * @param string $crypt The hash to compare with
* @return bool true if both match * @return bool true if both match

View file

@ -356,7 +356,7 @@ class Horde_Cipher_blowfish
* Encrypt a block on data. * Encrypt a block on data.
* *
* @param String $block The data to encrypt * @param String $block The data to encrypt
* @param optional String $key The key to use * @param String $key optional The key to use
* *
* @return String the encrypted output * @return String the encrypted output
*/ */
@ -404,8 +404,8 @@ class Horde_Cipher_blowfish
/** /**
* Decrypt a block on data. * Decrypt a block on data.
* *
* @param String $block The data to decrypt * @param String $block The data to decrypt
* @param optional String $key The key to use * @param String $key optional The key to use
* *
* @return String the decrypted output * @return String the decrypted output
*/ */
@ -452,6 +452,7 @@ class Horde_Cipher_blowfish
/** /**
* Converts a text key into an array. * Converts a text key into an array.
* *
* @param string $key
* @return array The key. * @return array The key.
*/ */
function _formatKey($key) { function _formatKey($key) {
@ -464,8 +465,8 @@ class Horde_Cipher_blowfish
/** /**
* Encryption using blowfish algorithm * Encryption using blowfish algorithm
* *
* @param string original data * @param string $data original data
* @param string the secret * @param string $secret the secret
* *
* @return string the encrypted result * @return string the encrypted result
* *
@ -493,8 +494,8 @@ function PMA_blowfish_encrypt($data, $secret) {
/** /**
* Decryption using blowfish algorithm * Decryption using blowfish algorithm
* *
* @param string encrypted data * @param string $encdata encrypted data
* @param string the secret * @param string $secret the secret
* *
* @return string original data * @return string original data
* *

View file

@ -26,7 +26,7 @@ class cache {
* @param string $key primary identifier * @param string $key primary identifier
* @param string $ext file extension * @param string $ext file extension
*/ */
public function cache($key,$ext) { public function __construct($key,$ext) {
$this->key = $key; $this->key = $key;
$this->ext = $ext; $this->ext = $ext;
$this->cache = getCacheName($key,$ext); $this->cache = getCacheName($key,$ext);
@ -50,7 +50,7 @@ class cache {
$this->_addDependencies(); $this->_addDependencies();
if ($this->_event) { if ($this->_event) {
return $this->_stats(trigger_event($this->_event,$this,array($this,'_useCache'))); return $this->_stats(trigger_event($this->_event, $this, array($this,'_useCache')));
} else { } else {
return $this->_stats($this->_useCache()); return $this->_stats($this->_useCache());
} }
@ -188,12 +188,12 @@ class cache_parser extends cache {
* @param string $file source file for cache * @param string $file source file for cache
* @param string $mode input mode * @param string $mode input mode
*/ */
public function cache_parser($id, $file, $mode) { public function __construct($id, $file, $mode) {
if ($id) $this->page = $id; if ($id) $this->page = $id;
$this->file = $file; $this->file = $file;
$this->mode = $mode; $this->mode = $mode;
parent::cache($file.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'],'.'.$mode); parent::__construct($file.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'],'.'.$mode);
} }
/** /**
@ -203,7 +203,7 @@ class cache_parser extends cache {
*/ */
public function _useCache() { public function _useCache() {
if (!@file_exists($this->file)) return false; // source exists? if (!file_exists($this->file)) return false; // source exists?
return parent::_useCache(); return parent::_useCache();
} }
@ -308,15 +308,15 @@ class cache_instructions extends cache_parser {
* @param string $id page id * @param string $id page id
* @param string $file source file for cache * @param string $file source file for cache
*/ */
public function cache_instructions($id, $file) { public function __construct($id, $file) {
parent::cache_parser($id, $file, 'i'); parent::__construct($id, $file, 'i');
} }
/** /**
* retrieve the cached data * retrieve the cached data
* *
* @param bool $clean true to clean line endings, false to leave line endings alone * @param bool $clean true to clean line endings, false to leave line endings alone
* @return string cache contents * @return array cache contents
*/ */
public function retrieveCache($clean=true) { public function retrieveCache($clean=true) {
$contents = io_readFile($this->cache, false); $contents = io_readFile($this->cache, false);
@ -326,7 +326,7 @@ class cache_instructions extends cache_parser {
/** /**
* cache $instructions * cache $instructions
* *
* @param string $instructions the instruction to be cached * @param array $instructions the instruction to be cached
* @return bool true on success, false otherwise * @return bool true on success, false otherwise
*/ */
public function storeCache($instructions) { public function storeCache($instructions) {

View file

@ -83,17 +83,19 @@ function addLogEntry($date, $id, $type=DOKU_CHANGE_TYPE_EDIT, $summary='', $extr
'extra' => str_replace($strip, '', $extra) 'extra' => str_replace($strip, '', $extra)
); );
$wasCreated = ($type===DOKU_CHANGE_TYPE_CREATE);
$wasReverted = ($type===DOKU_CHANGE_TYPE_REVERT);
// update metadata // update metadata
if (!$wasRemoved) { if (!$wasRemoved) {
$oldmeta = p_read_metadata($id); $oldmeta = p_read_metadata($id);
$meta = array(); $meta = array();
if (!$INFO['exists'] && empty($oldmeta['persistent']['date']['created'])){ // newly created if ($wasCreated && empty($oldmeta['persistent']['date']['created'])){ // newly created
$meta['date']['created'] = $created; $meta['date']['created'] = $created;
if ($user){ if ($user){
$meta['creator'] = $INFO['userinfo']['name']; $meta['creator'] = $INFO['userinfo']['name'];
$meta['user'] = $user; $meta['user'] = $user;
} }
} elseif (!$INFO['exists'] && !empty($oldmeta['persistent']['date']['created'])) { // re-created / restored } elseif (($wasCreated || $wasReverted) && !empty($oldmeta['persistent']['date']['created'])) { // re-created / restored
$meta['date']['created'] = $oldmeta['persistent']['date']['created']; $meta['date']['created'] = $oldmeta['persistent']['date']['created'];
$meta['date']['modified'] = $created; // use the files ctime here $meta['date']['modified'] = $created; // use the files ctime here
$meta['creator'] = $oldmeta['persistent']['creator']; $meta['creator'] = $oldmeta['persistent']['creator'];
@ -349,7 +351,7 @@ function _handleRecent($line,$ns,$flags,&$seen){
// check existance // check existance
if($flags & RECENTS_SKIP_DELETED){ if($flags & RECENTS_SKIP_DELETED){
$fn = (($flags & RECENTS_MEDIA_CHANGES) ? mediaFN($recent['id']) : wikiFN($recent['id'])); $fn = (($flags & RECENTS_MEDIA_CHANGES) ? mediaFN($recent['id']) : wikiFN($recent['id']));
if(!@file_exists($fn)) return false; if(!file_exists($fn)) return false;
} }
return $recent; return $recent;
@ -496,14 +498,14 @@ abstract class ChangeLog {
if($first < 0) { if($first < 0) {
$first = 0; $first = 0;
} else if(@file_exists($this->getFilename())) { } else if(file_exists($this->getFilename())) {
// skip current revision if the page exists // skip current revision if the page exists
$first = max($first + 1, 0); $first = max($first + 1, 0);
} }
$file = $this->getChangelogFilename(); $file = $this->getChangelogFilename();
if(!@file_exists($file)) { if(!file_exists($file)) {
return $revs; return $revs;
} }
if(filesize($file) < $this->chunk_size || $this->chunk_size == 0) { if(filesize($file) < $this->chunk_size || $this->chunk_size == 0) {
@ -725,13 +727,15 @@ abstract class ChangeLog {
* If file larger than $chuncksize, only chunck is read that could contain $rev. * If file larger than $chuncksize, only chunck is read that could contain $rev.
* *
* @param int $rev revision timestamp * @param int $rev revision timestamp
* @return array(fp, array(changeloglines), $head, $tail, $eof)|bool * @return array|false
* returns false when not succeed. fp only defined for chuck reading, needs closing. * if success returns array(fp, array(changeloglines), $head, $tail, $eof)
* where fp only defined for chuck reading, needs closing.
* otherwise false
*/ */
protected function readloglines($rev) { protected function readloglines($rev) {
$file = $this->getChangelogFilename(); $file = $this->getChangelogFilename();
if(!@file_exists($file)) { if(!file_exists($file)) {
return false; return false;
} }
@ -850,7 +854,6 @@ abstract class ChangeLog {
* Return an existing revision for a specific date which is * Return an existing revision for a specific date which is
* the current one or younger or equal then the date * the current one or younger or equal then the date
* *
* @param string $id
* @param number $date_at timestamp * @param number $date_at timestamp
* @return string revision ('' for current) * @return string revision ('' for current)
*/ */
@ -1045,6 +1048,12 @@ class MediaChangelog extends ChangeLog {
* *
* @author Ben Coburn <btcoburn@silicodon.net> * @author Ben Coburn <btcoburn@silicodon.net>
* @author Kate Arzamastseva <pshns@ukr.net> * @author Kate Arzamastseva <pshns@ukr.net>
*
* @param string $id
* @param int $rev
* @param int $chunk_size
* @param bool $media
* @return array|bool
*/ */
function getRevisionInfo($id, $rev, $chunk_size = 8192, $media = false) { function getRevisionInfo($id, $rev, $chunk_size = 8192, $media = false) {
dbg_deprecated('class PageChangeLog or class MediaChangelog'); dbg_deprecated('class PageChangeLog or class MediaChangelog');

View file

@ -108,7 +108,7 @@ abstract class DokuCLI {
/** /**
* Print an error message * Print an error message
* *
* @param $string * @param string $string
*/ */
public function error($string) { public function error($string) {
$this->colors->ptln("E: $string", 'red', STDERR); $this->colors->ptln("E: $string", 'red', STDERR);
@ -117,7 +117,7 @@ abstract class DokuCLI {
/** /**
* Print a success message * Print a success message
* *
* @param $string * @param string $string
*/ */
public function success($string) { public function success($string) {
$this->colors->ptln("S: $string", 'green', STDERR); $this->colors->ptln("S: $string", 'green', STDERR);
@ -126,7 +126,7 @@ abstract class DokuCLI {
/** /**
* Print an info message * Print an info message
* *
* @param $string * @param string $string
*/ */
public function info($string) { public function info($string) {
$this->colors->ptln("I: $string", 'cyan', STDERR); $this->colors->ptln("I: $string", 'cyan', STDERR);
@ -199,8 +199,8 @@ class DokuCLI_Colors {
/** /**
* Convenience function to print a line in a given color * Convenience function to print a line in a given color
* *
* @param $line * @param string $line
* @param $color * @param string $color
* @param resource $channel * @param resource $channel
*/ */
public function ptln($line, $color, $channel = STDOUT) { public function ptln($line, $color, $channel = STDOUT) {
@ -470,8 +470,8 @@ class DokuCLI_Options {
* Can only be used after parseOptions() has been run * Can only be used after parseOptions() has been run
* *
* @param string $option * @param string $option
* @param mixed $default what to return if the option was not set * @param bool|string $default what to return if the option was not set
* @return mixed * @return bool|string
*/ */
public function getOpt($option, $default = false) { public function getOpt($option, $default = false) {
if(isset($this->options[$option])) return $this->options[$option]; if(isset($this->options[$option])) return $this->options[$option];
@ -593,8 +593,8 @@ class DokuCLI_Options {
/** /**
* Displays text in multiple word wrapped columns * Displays text in multiple word wrapped columns
* *
* @param array $widths list of column widths (in characters) * @param int[] $widths list of column widths (in characters)
* @param array $texts list of texts for each column * @param string[] $texts list of texts for each column
* @return string * @return string
*/ */
private function tableFormat($widths, $texts) { private function tableFormat($widths, $texts) {
@ -640,6 +640,11 @@ class DokuCLI_Exception extends Exception {
const E_OPT_ABIGUOUS = 4; //Option abiguous const E_OPT_ABIGUOUS = 4; //Option abiguous
const E_ARG_READ = 5; //Could not read argv const E_ARG_READ = 5; //Could not read argv
/**
* @param string $message The Exception message to throw.
* @param int $code The Exception code
* @param Exception $previous The previous exception used for the exception chaining.
*/
public function __construct($message = "", $code = 0, Exception $previous = null) { public function __construct($message = "", $code = 0, Exception $previous = null) {
if(!$code) $code = DokuCLI_Exception::E_ANY; if(!$code) $code = DokuCLI_Exception::E_ANY;
parent::__construct($message, $code, $previous); parent::__construct($message, $code, $previous);

View file

@ -36,9 +36,9 @@ if (version_compare(phpversion(), '4.3.0', '<') || php_sapi_name() == 'cgi') {
// PHP ini settings // PHP ini settings
set_time_limit(0); set_time_limit(0);
ini_set('track_errors', true); ini_set('track_errors', "1");
ini_set('html_errors', false); ini_set('html_errors', "0");
ini_set('magic_quotes_runtime', false); ini_set('magic_quotes_runtime', "0");
// Define stream constants // Define stream constants
define('STDIN', fopen('php://stdin', 'r')); define('STDIN', fopen('php://stdin', 'r'));
@ -78,7 +78,7 @@ class Doku_Cli_Opts {
* @param string $bin_file executing file name - this MUST be passed the __FILE__ constant * @param string $bin_file executing file name - this MUST be passed the __FILE__ constant
* @param string $short_options short options * @param string $short_options short options
* @param array $long_options (optional) long options * @param array $long_options (optional) long options
* @return Doku_Cli_Opts_Container or Doku_Cli_Opts_Error * @return Doku_Cli_Opts_Container|Doku_Cli_Opts_Error
*/ */
function & getOptions($bin_file, $short_options, $long_options = null) { function & getOptions($bin_file, $short_options, $long_options = null) {
$args = Doku_Cli_Opts::readPHPArgv(); $args = Doku_Cli_Opts::readPHPArgv();
@ -447,7 +447,7 @@ class Doku_Cli_Opts_Error {
var $code; var $code;
var $msg; var $msg;
function Doku_Cli_Opts_Error($code, $msg) { function __construct($code, $msg) {
$this->code = $code; $this->code = $code;
$this->msg = $msg; $this->msg = $msg;
} }
@ -468,7 +468,7 @@ class Doku_Cli_Opts_Container {
var $options = array(); var $options = array();
var $args = array(); var $args = array();
function Doku_Cli_Opts_Container($options) { function __construct($options) {
foreach ( $options[0] as $option ) { foreach ( $options[0] as $option ) {
if ( false !== ( strpos($option[0], '--') ) ) { if ( false !== ( strpos($option[0], '--') ) ) {
$opt_name = substr($option[0], 2); $opt_name = substr($option[0], 2);

View file

@ -49,7 +49,7 @@ function ptln($string, $indent = 0) {
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* *
* @param $string string being stripped * @param string $string being stripped
* @return string * @return string
*/ */
function stripctl($string) { function stripctl($string) {
@ -62,6 +62,7 @@ function stripctl($string) {
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @link http://en.wikipedia.org/wiki/Cross-site_request_forgery * @link http://en.wikipedia.org/wiki/Cross-site_request_forgery
* @link http://christ1an.blogspot.com/2007/04/preventing-csrf-efficiently.html * @link http://christ1an.blogspot.com/2007/04/preventing-csrf-efficiently.html
*
* @return string * @return string
*/ */
function getSecurityToken() { function getSecurityToken() {
@ -95,7 +96,7 @@ function checkSecurityToken($token = null) {
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* *
* @param bool $print if true print the field, otherwise html of the field is returned * @param bool $print if true print the field, otherwise html of the field is returned
* @return void|string html of hidden form field * @return string html of hidden form field
*/ */
function formSecurityToken($print = true) { function formSecurityToken($print = true) {
$ret = '<div class="no"><input type="hidden" name="sectok" value="'.getSecurityToken().'" /></div>'."\n"; $ret = '<div class="no"><input type="hidden" name="sectok" value="'.getSecurityToken().'" /></div>'."\n";
@ -120,6 +121,7 @@ function basicinfo($id, $htmlClient=true){
global $INPUT; global $INPUT;
// set info about manager/admin status. // set info about manager/admin status.
$info = array();
$info['isadmin'] = false; $info['isadmin'] = false;
$info['ismanager'] = false; $info['ismanager'] = false;
if($INPUT->server->has('REMOTE_USER')) { if($INPUT->server->has('REMOTE_USER')) {
@ -186,7 +188,7 @@ function pageinfo() {
$info['locked'] = checklock($ID); $info['locked'] = checklock($ID);
$info['filepath'] = fullpath(wikiFN($ID)); $info['filepath'] = fullpath(wikiFN($ID));
$info['exists'] = @file_exists($info['filepath']); $info['exists'] = file_exists($info['filepath']);
$info['currentrev'] = @filemtime($info['filepath']); $info['currentrev'] = @filemtime($info['filepath']);
if($REV) { if($REV) {
//check if current revision was meant //check if current revision was meant
@ -200,7 +202,7 @@ function pageinfo() {
} else { } else {
//really use old revision //really use old revision
$info['filepath'] = fullpath(wikiFN($ID, $REV)); $info['filepath'] = fullpath(wikiFN($ID, $REV));
$info['exists'] = @file_exists($info['filepath']); $info['exists'] = file_exists($info['filepath']);
} }
} }
$info['rev'] = $REV; $info['rev'] = $REV;
@ -254,7 +256,7 @@ function pageinfo() {
// draft // draft
$draft = getCacheName($info['client'].$ID, '.draft'); $draft = getCacheName($info['client'].$ID, '.draft');
if(@file_exists($draft)) { if(file_exists($draft)) {
if(@filemtime($draft) < @filemtime(wikiFN($ID))) { if(@filemtime($draft) < @filemtime(wikiFN($ID))) {
// remove stale draft // remove stale draft
@unlink($draft); @unlink($draft);
@ -335,7 +337,7 @@ function buildAttributes($params, $skipempty = false) {
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* *
* @return array(pageid=>name, ... ) * @return string[] with the data: array(pageid=>name, ... )
*/ */
function breadcrumbs() { function breadcrumbs() {
// we prepare the breadcrumbs early for quick session closing // we prepare the breadcrumbs early for quick session closing
@ -350,7 +352,7 @@ function breadcrumbs() {
$crumbs = isset($_SESSION[DOKU_COOKIE]['bc']) ? $_SESSION[DOKU_COOKIE]['bc'] : array(); $crumbs = isset($_SESSION[DOKU_COOKIE]['bc']) ? $_SESSION[DOKU_COOKIE]['bc'] : array();
//we only save on show and existing wiki documents //we only save on show and existing wiki documents
$file = wikiFN($ID); $file = wikiFN($ID);
if($ACT != 'show' || !@file_exists($file)) { if($ACT != 'show' || !file_exists($file)) {
$_SESSION[DOKU_COOKIE]['bc'] = $crumbs; $_SESSION[DOKU_COOKIE]['bc'] = $crumbs;
return $crumbs; return $crumbs;
} }
@ -688,6 +690,7 @@ function checkwordblock($text = '') {
} }
if(count($re) && preg_match('#('.join('|', $re).')#si', $text, $matches)) { if(count($re) && preg_match('#('.join('|', $re).')#si', $text, $matches)) {
// prepare event data // prepare event data
$data = array();
$data['matches'] = $matches; $data['matches'] = $matches;
$data['userinfo']['ip'] = $INPUT->server->str('REMOTE_ADDR'); $data['userinfo']['ip'] = $INPUT->server->str('REMOTE_ADDR');
if($INPUT->server->str('REMOTE_USER')) { if($INPUT->server->str('REMOTE_USER')) {
@ -850,7 +853,7 @@ function checklock($id) {
$lock = wikiLockFN($id); $lock = wikiLockFN($id);
//no lockfile //no lockfile
if(!@file_exists($lock)) return false; if(!file_exists($lock)) return false;
//lockfile expired //lockfile expired
if((time() - filemtime($lock)) > $conf['locktime']) { if((time() - filemtime($lock)) > $conf['locktime']) {
@ -904,7 +907,7 @@ function unlock($id) {
global $INPUT; global $INPUT;
$lock = wikiLockFN($id); $lock = wikiLockFN($id);
if(@file_exists($lock)) { if(file_exists($lock)) {
@list($ip, $session) = explode("\n", io_readFile($lock)); @list($ip, $session) = explode("\n", io_readFile($lock));
if($ip == $INPUT->server->str('REMOTE_USER') || $ip == clientIP() || $session == session_id()) { if($ip == $INPUT->server->str('REMOTE_USER') || $ip == clientIP() || $session == session_id()) {
@unlink($lock); @unlink($lock);
@ -971,7 +974,7 @@ function rawLocale($id, $ext = 'txt') {
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* *
* @param string $id page id * @param string $id page id
* @param string $rev timestamp when a revision of wikitext is desired * @param string|int $rev timestamp when a revision of wikitext is desired
* @return string * @return string
*/ */
function rawWiki($id, $rev = '') { function rawWiki($id, $rev = '') {
@ -1007,13 +1010,13 @@ function pageTemplate($id) {
// if the before event did not set a template file, try to find one // if the before event did not set a template file, try to find one
if(empty($data['tplfile'])) { if(empty($data['tplfile'])) {
$path = dirname(wikiFN($id)); $path = dirname(wikiFN($id));
if(@file_exists($path.'/_template.txt')) { if(file_exists($path.'/_template.txt')) {
$data['tplfile'] = $path.'/_template.txt'; $data['tplfile'] = $path.'/_template.txt';
} else { } else {
// search upper namespaces for templates // search upper namespaces for templates
$len = strlen(rtrim($conf['datadir'], '/')); $len = strlen(rtrim($conf['datadir'], '/'));
while(strlen($path) >= $len) { while(strlen($path) >= $len) {
if(@file_exists($path.'/__template.txt')) { if(file_exists($path.'/__template.txt')) {
$data['tplfile'] = $path.'/__template.txt'; $data['tplfile'] = $path.'/__template.txt';
break; break;
} }
@ -1111,7 +1114,7 @@ function parsePageTemplate(&$data) {
* @param string $range in form "from-to" * @param string $range in form "from-to"
* @param string $id page id * @param string $id page id
* @param string $rev optional, the revision timestamp * @param string $rev optional, the revision timestamp
* @return array with three slices * @return string[] with three slices
*/ */
function rawWikiSlices($range, $id, $rev = '') { function rawWikiSlices($range, $id, $rev = '') {
$text = io_readWikiPage(wikiFN($id, $rev), $id, $rev); $text = io_readWikiPage(wikiFN($id, $rev), $id, $rev);
@ -1122,6 +1125,7 @@ function rawWikiSlices($range, $id, $rev = '') {
$from = !$from ? 0 : ($from - 1); $from = !$from ? 0 : ($from - 1);
$to = !$to ? strlen($text) : ($to - 1); $to = !$to ? strlen($text) : ($to - 1);
$slices = array();
$slices[0] = substr($text, 0, $from); $slices[0] = substr($text, 0, $from);
$slices[1] = substr($text, $from, $to - $from); $slices[1] = substr($text, $from, $to - $from);
$slices[2] = substr($text, $to); $slices[2] = substr($text, $to);
@ -1193,13 +1197,13 @@ function saveWikiText($id, $text, $summary, $minor = false) {
$file = wikiFN($id); $file = wikiFN($id);
$old = @filemtime($file); // from page $old = @filemtime($file); // from page
$wasRemoved = (trim($text) == ''); // check for empty or whitespace only $wasRemoved = (trim($text) == ''); // check for empty or whitespace only
$wasCreated = !@file_exists($file); $wasCreated = !file_exists($file);
$wasReverted = ($REV == true); $wasReverted = ($REV == true);
$pagelog = new PageChangeLog($id, 1024); $pagelog = new PageChangeLog($id, 1024);
$newRev = false; $newRev = false;
$oldRev = $pagelog->getRevisions(-1, 1); // from changelog $oldRev = $pagelog->getRevisions(-1, 1); // from changelog
$oldRev = (int) (empty($oldRev) ? 0 : $oldRev[0]); $oldRev = (int) (empty($oldRev) ? 0 : $oldRev[0]);
if(!@file_exists(wikiFN($id, $old)) && @file_exists($file) && $old >= $oldRev) { if(!file_exists(wikiFN($id, $old)) && file_exists($file) && $old >= $oldRev) {
// add old revision to the attic if missing // add old revision to the attic if missing
saveOldRevision($id); saveOldRevision($id);
// add a changelog entry if this edit came from outside dokuwiki // add a changelog entry if this edit came from outside dokuwiki
@ -1281,7 +1285,7 @@ function saveWikiText($id, $text, $summary, $minor = false) {
*/ */
function saveOldRevision($id) { function saveOldRevision($id) {
$oldf = wikiFN($id); $oldf = wikiFN($id);
if(!@file_exists($oldf)) return ''; if(!file_exists($oldf)) return '';
$date = filemtime($oldf); $date = filemtime($oldf);
$newf = wikiFN($id, $date); $newf = wikiFN($id, $date);
io_writeWikiPage($newf, rawWiki($id), $id, $date); io_writeWikiPage($newf, rawWiki($id), $id, $date);
@ -1296,7 +1300,7 @@ function saveOldRevision($id) {
* @param int|string $rev Old page revision * @param int|string $rev Old page revision
* @param string $summary What changed * @param string $summary What changed
* @param boolean $minor Is this a minor edit? * @param boolean $minor Is this a minor edit?
* @param array $replace Additional string substitutions, @KEY@ to be replaced by value * @param string[] $replace Additional string substitutions, @KEY@ to be replaced by value
* @return bool * @return bool
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
@ -1376,8 +1380,8 @@ function getGoogleQuery() {
/** /**
* Return the human readable size of a file * Return the human readable size of a file
* *
* @param int $size A file size * @param int $size A file size
* @param int $dec A number of decimal places * @param int $dec A number of decimal places
* @return string human readable size * @return string human readable size
* *
* @author Martin Benjamin <b.martin@cybernet.ch> * @author Martin Benjamin <b.martin@cybernet.ch>
@ -1460,7 +1464,7 @@ function dformat($dt = null, $format = '') {
* @author <ungu at terong dot com> * @author <ungu at terong dot com>
* @link http://www.php.net/manual/en/function.date.php#54072 * @link http://www.php.net/manual/en/function.date.php#54072
* *
* @param int $int_date: current date in UNIX timestamp * @param int $int_date current date in UNIX timestamp
* @return string * @return string
*/ */
function date_iso8601($int_date) { function date_iso8601($int_date) {
@ -1739,7 +1743,7 @@ function license_img($type) {
$try[] = 'lib/images/license/'.$type.'/cc.png'; $try[] = 'lib/images/license/'.$type.'/cc.png';
} }
foreach($try as $src) { foreach($try as $src) {
if(@file_exists(DOKU_INC.$src)) return $src; if(file_exists(DOKU_INC.$src)) return $src;
} }
return ''; return '';
} }
@ -1803,17 +1807,6 @@ function send_redirect($url) {
// always close the session // always close the session
session_write_close(); session_write_close();
// work around IE bug
// http://www.ianhoar.com/2008/11/16/internet-explorer-6-and-redirected-anchor-links/
@list($url, $hash) = explode('#', $url);
if($hash) {
if(strpos($url, '?')) {
$url = $url.'&#'.$hash;
} else {
$url = $url.'?&#'.$hash;
}
}
// check if running on IIS < 6 with CGI-PHP // check if running on IIS < 6 with CGI-PHP
if($INPUT->server->has('SERVER_SOFTWARE') && $INPUT->server->has('GATEWAY_INTERFACE') && if($INPUT->server->has('SERVER_SOFTWARE') && $INPUT->server->has('GATEWAY_INTERFACE') &&
(strpos($INPUT->server->str('GATEWAY_INTERFACE'), 'CGI') !== false) && (strpos($INPUT->server->str('GATEWAY_INTERFACE'), 'CGI') !== false) &&
@ -1824,6 +1817,8 @@ function send_redirect($url) {
} else { } else {
header('Location: '.$url); header('Location: '.$url);
} }
if(defined('DOKU_UNITTEST')) return; // no exits during unit tests
exit; exit;
} }
@ -1880,6 +1875,7 @@ function get_doku_pref($pref, $default) {
/** /**
* Add a preference to the DokuWiki cookie * Add a preference to the DokuWiki cookie
* (remembering $_COOKIE['DOKU_PREFS'] is urlencoded) * (remembering $_COOKIE['DOKU_PREFS'] is urlencoded)
* Remove it by setting $val to false
* *
* @param string $pref preference key * @param string $pref preference key
* @param string $val preference value * @param string $val preference value
@ -1896,12 +1892,17 @@ function set_doku_pref($pref, $val) {
$enc_pref = rawurlencode($pref); $enc_pref = rawurlencode($pref);
for($i = 0; $i < $cnt; $i += 2) { for($i = 0; $i < $cnt; $i += 2) {
if($parts[$i] == $enc_pref) { if($parts[$i] == $enc_pref) {
$parts[$i + 1] = rawurlencode($val); if ($val !== false) {
$parts[$i + 1] = rawurlencode($val);
} else {
unset($parts[$i]);
unset($parts[$i + 1]);
}
break; break;
} }
} }
$cookieVal = implode('#', $parts); $cookieVal = implode('#', $parts);
} else if (!$orig) { } else if (!$orig && $val !== false) {
$cookieVal = ($_COOKIE['DOKU_PREFS'] ? $_COOKIE['DOKU_PREFS'].'#' : '').rawurlencode($pref).'#'.rawurlencode($val); $cookieVal = ($_COOKIE['DOKU_PREFS'] ? $_COOKIE['DOKU_PREFS'].'#' : '').rawurlencode($pref).'#'.rawurlencode($val);
} }
@ -1914,7 +1915,7 @@ function set_doku_pref($pref, $val) {
/** /**
* Strips source mapping declarations from given text #601 * Strips source mapping declarations from given text #601
* *
* @param &string $text reference to the CSS or JavaScript code to clean * @param string &$text reference to the CSS or JavaScript code to clean
*/ */
function stripsourcemaps(&$text){ function stripsourcemaps(&$text){
$text = preg_replace('/^(\/\/|\/\*)[@#]\s+sourceMappingURL=.*?(\*\/)?$/im', '\\1\\2', $text); $text = preg_replace('/^(\/\/|\/\*)[@#]\s+sourceMappingURL=.*?(\*\/)?$/im', '\\1\\2', $text);

View file

@ -41,12 +41,42 @@ if(!function_exists('gzopen') && function_exists('gzopen64')) {
* *
* @link http://stackoverflow.com/questions/23417519/php-zlib-gzopen-not-exists * @link http://stackoverflow.com/questions/23417519/php-zlib-gzopen-not-exists
* *
* @param string $filename * @param string $filename
* @param string $mode * @param string $mode
* @param int $use_include_path * @param int $use_include_path
* @return mixed * @return mixed
*/ */
function gzopen($filename, $mode, $use_include_path = 0) { function gzopen($filename, $mode, $use_include_path = 0) {
return gzopen64($filename, $mode, $use_include_path); return gzopen64($filename, $mode, $use_include_path);
} }
} }
if(!function_exists('gzseek') && function_exists('gzseek64')) {
/**
* work around for PHP compiled against certain zlib versions #865
*
* @link http://stackoverflow.com/questions/23417519/php-zlib-gzopen-not-exists
*
* @param resource $zp
* @param int $offset
* @param int $whence
* @return int
*/
function gzseek($zp, $offset, $whence = SEEK_SET) {
return gzseek64($zp, $offset, $whence);
}
}
if(!function_exists('gztell') && function_exists('gztell64')) {
/**
* work around for PHP compiled against certain zlib versions #865
*
* @link http://stackoverflow.com/questions/23417519/php-zlib-gzopen-not-exists
*
* @param resource $zp
* @return int
*/
function gztell($zp) {
return gztell64($zp);
}
}

View file

@ -49,13 +49,13 @@ $config_cascade = array_merge(
'local' => array(DOKU_CONF . 'wordblock.local.conf'), 'local' => array(DOKU_CONF . 'wordblock.local.conf'),
), ),
'userstyle' => array( 'userstyle' => array(
'screen' => DOKU_CONF . 'userstyle.css', 'screen' => array(DOKU_CONF . 'userstyle.css', DOKU_CONF . 'userstyle.less'),
'print' => DOKU_CONF . 'userprint.css', 'print' => array(DOKU_CONF . 'userprint.css', DOKU_CONF . 'userprint.less'),
'feed' => DOKU_CONF . 'userfeed.css', 'feed' => array(DOKU_CONF . 'userfeed.css', DOKU_CONF . 'userfeed.less'),
'all' => DOKU_CONF . 'userall.css', 'all' => array(DOKU_CONF . 'userall.css', DOKU_CONF . 'userall.less')
), ),
'userscript' => array( 'userscript' => array(
'default' => DOKU_CONF . 'userscript.js' 'default' => array(DOKU_CONF . 'userscript.js')
), ),
'acl' => array( 'acl' => array(
'default' => DOKU_CONF . 'acl.auth.php', 'default' => DOKU_CONF . 'acl.auth.php',

View file

@ -6,6 +6,12 @@
* @author Harry Fuecks <hfuecks@gmail.com> * @author Harry Fuecks <hfuecks@gmail.com>
*/ */
/*
* line prefix used to negate single value config items
* (scheme.conf & stopwords.conf), e.g.
* !gopher
*/
const DOKU_CONF_NEGATION = '!';
/** /**
* Returns the (known) extension and mimetype of a given filename * Returns the (known) extension and mimetype of a given filename
@ -14,6 +20,10 @@
* are returned. * are returned.
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $file file name
* @param bool $knownonly
* @return array with extension, mimetype and if it should be downloaded
*/ */
function mimetype($file, $knownonly=true){ function mimetype($file, $knownonly=true){
$mtypes = getMimeTypes(); // known mimetypes $mtypes = getMimeTypes(); // known mimetypes
@ -45,6 +55,7 @@ function getMimeTypes() {
static $mime = null; static $mime = null;
if ( !$mime ) { if ( !$mime ) {
$mime = retrieveConfig('mime','confToHash'); $mime = retrieveConfig('mime','confToHash');
$mime = array_filter($mime);
} }
return $mime; return $mime;
} }
@ -58,6 +69,7 @@ function getAcronyms() {
static $acronyms = null; static $acronyms = null;
if ( !$acronyms ) { if ( !$acronyms ) {
$acronyms = retrieveConfig('acronyms','confToHash'); $acronyms = retrieveConfig('acronyms','confToHash');
$acronyms = array_filter($acronyms, 'strlen');
} }
return $acronyms; return $acronyms;
} }
@ -71,6 +83,7 @@ function getSmileys() {
static $smileys = null; static $smileys = null;
if ( !$smileys ) { if ( !$smileys ) {
$smileys = retrieveConfig('smileys','confToHash'); $smileys = retrieveConfig('smileys','confToHash');
$smileys = array_filter($smileys, 'strlen');
} }
return $smileys; return $smileys;
} }
@ -84,6 +97,7 @@ function getEntities() {
static $entities = null; static $entities = null;
if ( !$entities ) { if ( !$entities ) {
$entities = retrieveConfig('entities','confToHash'); $entities = retrieveConfig('entities','confToHash');
$entities = array_filter($entities, 'strlen');
} }
return $entities; return $entities;
} }
@ -97,9 +111,11 @@ function getInterwiki() {
static $wikis = null; static $wikis = null;
if ( !$wikis ) { if ( !$wikis ) {
$wikis = retrieveConfig('interwiki','confToHash',array(true)); $wikis = retrieveConfig('interwiki','confToHash',array(true));
$wikis = array_filter($wikis, 'strlen');
//add sepecial case 'this'
$wikis['this'] = DOKU_URL.'{NAME}';
} }
//add sepecial case 'this'
$wikis['this'] = DOKU_URL.'{NAME}';
return $wikis; return $wikis;
} }
@ -110,7 +126,7 @@ function getInterwiki() {
function getWordblocks() { function getWordblocks() {
static $wordblocks = null; static $wordblocks = null;
if ( !$wordblocks ) { if ( !$wordblocks ) {
$wordblocks = retrieveConfig('wordblock','file'); $wordblocks = retrieveConfig('wordblock','file',null,'array_merge_with_removal');
} }
return $wordblocks; return $wordblocks;
} }
@ -123,11 +139,11 @@ function getWordblocks() {
function getSchemes() { function getSchemes() {
static $schemes = null; static $schemes = null;
if ( !$schemes ) { if ( !$schemes ) {
$schemes = retrieveConfig('scheme','file'); $schemes = retrieveConfig('scheme','file',null,'array_merge_with_removal');
$schemes = array_map('trim', $schemes);
$schemes = preg_replace('/^#.*/', '', $schemes);
$schemes = array_filter($schemes);
} }
$schemes = array_map('trim', $schemes);
$schemes = preg_replace('/^#.*/', '', $schemes);
$schemes = array_filter($schemes);
return $schemes; return $schemes;
} }
@ -190,9 +206,14 @@ function confToHash($file,$lower=false) {
* @param string $type the configuration settings to be read, must correspond to a key/array in $config_cascade * @param string $type the configuration settings to be read, must correspond to a key/array in $config_cascade
* @param callback $fn the function used to process the configuration file into an array * @param callback $fn the function used to process the configuration file into an array
* @param array $params optional additional params to pass to the callback * @param array $params optional additional params to pass to the callback
* @param callback $combine the function used to combine arrays of values read from different configuration files;
* the function takes two parameters,
* $combined - the already read & merged configuration values
* $new - array of config values from the config cascade file being currently processed
* and returns an array of the merged configuration values.
* @return array configuration values * @return array configuration values
*/ */
function retrieveConfig($type,$fn,$params=null) { function retrieveConfig($type,$fn,$params=null,$combine='array_merge') {
global $config_cascade; global $config_cascade;
if(!is_array($params)) $params = array(); if(!is_array($params)) $params = array();
@ -202,9 +223,9 @@ function retrieveConfig($type,$fn,$params=null) {
foreach (array('default','local','protected') as $config_group) { foreach (array('default','local','protected') as $config_group) {
if (empty($config_cascade[$type][$config_group])) continue; if (empty($config_cascade[$type][$config_group])) continue;
foreach ($config_cascade[$type][$config_group] as $file) { foreach ($config_cascade[$type][$config_group] as $file) {
if (@file_exists($file)) { if (file_exists($file)) {
$config = call_user_func_array($fn,array_merge(array($file),$params)); $config = call_user_func_array($fn,array_merge(array($file),$params));
$combined = array_merge($combined, $config); $combined = $combine($combined, $config);
} }
} }
} }
@ -343,4 +364,27 @@ function conf_decodeString($str) {
return $str; return $str;
} }
} }
/**
* array combination function to remove negated values (prefixed by !)
*
* @param array $current
* @param array $new
*
* @return array the combined array, numeric keys reset
*/
function array_merge_with_removal($current, $new) {
foreach ($new as $val) {
if (substr($val,0,1) == DOKU_CONF_NEGATION) {
$idx = array_search(trim(substr($val,1)),$current);
if ($idx !== false) {
unset($current[$idx]);
}
} else {
$current[] = trim($val);
}
}
return array_slice($current,0);
}
//Setup VIM: ex: et ts=4 : //Setup VIM: ex: et ts=4 :

View file

@ -27,8 +27,11 @@ class Doku_Event {
/** /**
* event constructor * event constructor
*
* @param string $name
* @param mixed $data
*/ */
function Doku_Event($name, &$data) { function __construct($name, &$data) {
$this->name = $name; $this->name = $name;
$this->data =& $data; $this->data =& $data;
@ -120,14 +123,18 @@ class Doku_Event {
* stop any further processing of the event by event handlers * stop any further processing of the event by event handlers
* this function does not prevent the default action taking place * this function does not prevent the default action taking place
*/ */
function stopPropagation() { $this->_continue = false; } function stopPropagation() {
$this->_continue = false;
}
/** /**
* preventDefault * preventDefault
* *
* prevent the default action taking place * prevent the default action taking place
*/ */
function preventDefault() { $this->_default = false; } function preventDefault() {
$this->_default = false;
}
} }
/** /**
@ -146,7 +153,7 @@ class Doku_Event_Handler {
* constructor, loads all action plugins and calls their register() method giving them * constructor, loads all action plugins and calls their register() method giving them
* an opportunity to register any hooks they require * an opportunity to register any hooks they require
*/ */
function Doku_Event_Handler() { function __construct() {
// load action plugins // load action plugins
/** @var DokuWiki_Action_Plugin $plugin */ /** @var DokuWiki_Action_Plugin $plugin */
@ -165,13 +172,13 @@ class Doku_Event_Handler {
* *
* register a hook for an event * register a hook for an event
* *
* @param $event string name used by the event, (incl '_before' or '_after' for triggers) * @param string $event string name used by the event, (incl '_before' or '_after' for triggers)
* @param $advise string * @param string $advise
* @param $obj object object in whose scope method is to be executed, * @param object $obj object in whose scope method is to be executed,
* if NULL, method is assumed to be a globally available function * if NULL, method is assumed to be a globally available function
* @param $method string event handler function * @param string $method event handler function
* @param $param mixed data passed to the event handler * @param mixed $param data passed to the event handler
* @param $seq int sequence number for ordering hook execution (ascending) * @param int $seq sequence number for ordering hook execution (ascending)
*/ */
function register_hook($event, $advise, $obj, $method, $param=null, $seq=0) { function register_hook($event, $advise, $obj, $method, $param=null, $seq=0) {
$seq = (int)$seq; $seq = (int)$seq;
@ -216,14 +223,14 @@ class Doku_Event_Handler {
* *
* function wrapper to process (create, trigger and destroy) an event * function wrapper to process (create, trigger and destroy) an event
* *
* @param $name string name for the event * @param string $name name for the event
* @param $data mixed event data * @param mixed $data event data
* @param $action callback (optional, default=NULL) default action, a php callback function * @param callback $action (optional, default=NULL) default action, a php callback function
* @param $canPreventDefault bool (optional, default=true) can hooks prevent the default action * @param bool $canPreventDefault (optional, default=true) can hooks prevent the default action
* *
* @return mixed the event results value after all event processing is complete * @return mixed the event results value after all event processing is complete
* by default this is the return value of the default action however * by default this is the return value of the default action however
* it can be set or modified by event handler hooks * it can be set or modified by event handler hooks
*/ */
function trigger_event($name, &$data, $action=null, $canPreventDefault=true) { function trigger_event($name, &$data, $action=null, $canPreventDefault=true) {

View file

@ -135,12 +135,12 @@ $config_cascade = array(
), ),
), ),
'userstyle' => array( 'userstyle' => array(
'screen' => DOKU_CONF.'userstyle.css', 'screen' => array(DOKU_CONF . 'userstyle.css', DOKU_CONF . 'userstyle.less'),
'print' => DOKU_CONF.'userprint.css', 'print' => array(DOKU_CONF . 'userprint.css', DOKU_CONF . 'userprint.less'),
'feed' => DOKU_CONF.'userfeed.css', 'feed' => array(DOKU_CONF . 'userfeed.css', DOKU_CONF . 'userfeed.less'),
'all' => DOKU_CONF.'userall.css', 'all' => array(DOKU_CONF . 'userall.css', DOKU_CONF . 'userall.less')
), ),
'userscript' => array( 'userscript' => array(
'default' => DOKU_CONF.'userscript.js' 'default' => array(DOKU_CONF . 'userscript.js')
), ),
); );

View file

@ -129,6 +129,9 @@ class FeedItem extends HtmlDescribable {
// var $source; // var $source;
} }
/**
* Class EnclosureItem
*/
class EnclosureItem extends HtmlDescribable { class EnclosureItem extends HtmlDescribable {
/* /*
* *
@ -226,7 +229,7 @@ class FeedHtmlField {
* Creates a new instance of FeedHtmlField. * Creates a new instance of FeedHtmlField.
* @param string $parFieldContent: if given, sets the rawFieldContent property * @param string $parFieldContent: if given, sets the rawFieldContent property
*/ */
function FeedHtmlField($parFieldContent) { function __construct($parFieldContent) {
if ($parFieldContent) { if ($parFieldContent) {
$this->rawFieldContent = $parFieldContent; $this->rawFieldContent = $parFieldContent;
} }
@ -482,6 +485,8 @@ class FeedCreator extends HtmlDescribable {
var $additionalElements = Array(); var $additionalElements = Array();
var $_timeout;
/** /**
* Adds an FeedItem to the feed. * Adds an FeedItem to the feed.
* *
@ -505,7 +510,7 @@ class FeedCreator extends HtmlDescribable {
* @param int $length the maximum length the string should be truncated to * @param int $length the maximum length the string should be truncated to
* @return string the truncated string * @return string the truncated string
*/ */
function iTrunc($string, $length) { static function iTrunc($string, $length) {
if (strlen($string)<=$length) { if (strlen($string)<=$length) {
return $string; return $string;
} }
@ -604,6 +609,8 @@ class FeedCreator extends HtmlDescribable {
/** /**
* @since 1.4 * @since 1.4
* @access private * @access private
*
* @param string $filename
*/ */
function _redirect($filename) { function _redirect($filename) {
// attention, heavily-commented-out-area // attention, heavily-commented-out-area
@ -697,7 +704,7 @@ class FeedDate {
* Accepts RFC 822, ISO 8601 date formats as well as unix time stamps. * Accepts RFC 822, ISO 8601 date formats as well as unix time stamps.
* @param mixed $dateString optional the date this FeedDate will represent. If not specified, the current date and time is used. * @param mixed $dateString optional the date this FeedDate will represent. If not specified, the current date and time is used.
*/ */
function FeedDate($dateString="") { function __construct($dateString="") {
if ($dateString=="") $dateString = date("r"); if ($dateString=="") $dateString = date("r");
if (is_numeric($dateString)) { if (is_numeric($dateString)) {
@ -878,7 +885,10 @@ class RSSCreator091 extends FeedCreator {
*/ */
var $RSSVersion; var $RSSVersion;
function RSSCreator091() { /**
* Constructor
*/
function __construct() {
$this->_setRSSVersion("0.91"); $this->_setRSSVersion("0.91");
$this->contentType = "application/rss+xml"; $this->contentType = "application/rss+xml";
} }
@ -886,6 +896,8 @@ class RSSCreator091 extends FeedCreator {
/** /**
* Sets this RSS feed's version number. * Sets this RSS feed's version number.
* @access private * @access private
*
* @param $version
*/ */
function _setRSSVersion($version) { function _setRSSVersion($version) {
$this->RSSVersion = $version; $this->RSSVersion = $version;
@ -1034,7 +1046,10 @@ class RSSCreator091 extends FeedCreator {
*/ */
class RSSCreator20 extends RSSCreator091 { class RSSCreator20 extends RSSCreator091 {
function RSSCreator20() { /**
* Constructor
*/
function __construct() {
parent::_setRSSVersion("2.0"); parent::_setRSSVersion("2.0");
} }
@ -1051,7 +1066,10 @@ class RSSCreator20 extends RSSCreator091 {
*/ */
class PIECreator01 extends FeedCreator { class PIECreator01 extends FeedCreator {
function PIECreator01() { /**
* Constructor
*/
function __construct() {
$this->encoding = "utf-8"; $this->encoding = "utf-8";
} }
@ -1113,7 +1131,10 @@ class PIECreator01 extends FeedCreator {
*/ */
class AtomCreator10 extends FeedCreator { class AtomCreator10 extends FeedCreator {
function AtomCreator10() { /**
* Constructor
*/
function __construct() {
$this->contentType = "application/atom+xml"; $this->contentType = "application/atom+xml";
$this->encoding = "utf-8"; $this->encoding = "utf-8";
} }
@ -1200,7 +1221,10 @@ class AtomCreator10 extends FeedCreator {
*/ */
class AtomCreator03 extends FeedCreator { class AtomCreator03 extends FeedCreator {
function AtomCreator03() { /**
* Constructor
*/
function __construct() {
$this->contentType = "application/atom+xml"; $this->contentType = "application/atom+xml";
$this->encoding = "utf-8"; $this->encoding = "utf-8";
} }
@ -1272,12 +1296,19 @@ class AtomCreator03 extends FeedCreator {
* @author Kai Blankenhorn <kaib@bitfolge.de> * @author Kai Blankenhorn <kaib@bitfolge.de>
*/ */
class MBOXCreator extends FeedCreator { class MBOXCreator extends FeedCreator {
/**
function MBOXCreator() { * Constructor
*/
function __construct() {
$this->contentType = "text/plain"; $this->contentType = "text/plain";
$this->encoding = "utf-8"; $this->encoding = "utf-8";
} }
/**
* @param string $input
* @param int $line_max
* @return string
*/
function qp_enc($input = "", $line_max = 76) { function qp_enc($input = "", $line_max = 76) {
$hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
$lines = preg_split("/(?:\r\n|\r|\n)/", $input); $lines = preg_split("/(?:\r\n|\r|\n)/", $input);
@ -1363,7 +1394,10 @@ class MBOXCreator extends FeedCreator {
*/ */
class OPMLCreator extends FeedCreator { class OPMLCreator extends FeedCreator {
function OPMLCreator() { /**
* Constructor
*/
function __construct() {
$this->encoding = "utf-8"; $this->encoding = "utf-8";
} }

View file

@ -16,6 +16,7 @@
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @author Ben Coburn <btcoburn@silicodon.net> * @author Ben Coburn <btcoburn@silicodon.net>
* @author Gerry Weissbach <dokuwiki@gammaproduction.de> * @author Gerry Weissbach <dokuwiki@gammaproduction.de>
*
* @param string $file local file to send * @param string $file local file to send
* @param string $mime mime type of the file * @param string $mime mime type of the file
* @param bool $dl set to true to force a browser download * @param bool $dl set to true to force a browser download
@ -46,18 +47,15 @@ function sendFile($file, $mime, $dl, $cache, $public = false, $orig = null) {
// cache publically // cache publically
header('Expires: '.gmdate("D, d M Y H:i:s", $expires).' GMT'); header('Expires: '.gmdate("D, d M Y H:i:s", $expires).' GMT');
header('Cache-Control: public, proxy-revalidate, no-transform, max-age='.$maxage); header('Cache-Control: public, proxy-revalidate, no-transform, max-age='.$maxage);
header('Pragma: public');
} else { } else {
// cache in browser // cache in browser
header('Expires: '.gmdate("D, d M Y H:i:s", $expires).' GMT'); header('Expires: '.gmdate("D, d M Y H:i:s", $expires).' GMT');
header('Cache-Control: private, no-transform, max-age='.$maxage); header('Cache-Control: private, no-transform, max-age='.$maxage);
header('Pragma: no-cache');
} }
} else { } else {
// no cache at all // no cache at all
header('Expires: Thu, 01 Jan 1970 00:00:00 GMT'); header('Expires: Thu, 01 Jan 1970 00:00:00 GMT');
header('Cache-Control: no-cache, no-transform'); header('Cache-Control: no-cache, no-transform');
header('Pragma: no-cache');
} }
//send important headers first, script stops here if '304 Not Modified' response //send important headers first, script stops here if '304 Not Modified' response
@ -71,9 +69,9 @@ function sendFile($file, $mime, $dl, $cache, $public = false, $orig = null) {
//download or display? //download or display?
if($dl) { if($dl) {
header('Content-Disposition: attachment; filename="'.utf8_basename($orig).'";'); header('Content-Disposition: attachment;'.rfc2231_encode('filename', utf8_basename($orig)).';');
} else { } else {
header('Content-Disposition: inline; filename="'.utf8_basename($orig).'";'); header('Content-Disposition: inline;'.rfc2231_encode('filename', utf8_basename($orig)).';');
} }
//use x-sendfile header to pass the delivery to compatible webservers //use x-sendfile header to pass the delivery to compatible webservers
@ -89,6 +87,31 @@ function sendFile($file, $mime, $dl, $cache, $public = false, $orig = null) {
} }
} }
/**
* Try an rfc2231 compatible encoding. This ensures correct
* interpretation of filenames outside of the ASCII set.
* This seems to be needed for file names with e.g. umlauts that
* would otherwise decode wrongly in IE.
*
* There is no additional checking, just the encoding and setting the key=value for usage in headers
*
* @author Gerry Weissbach <gerry.w@gammaproduction.de>
* @param string $name name of the field to be set in the header() call
* @param string $value value of the field to be set in the header() call
* @param string $charset used charset for the encoding of value
* @param string $lang language used.
* @return string in the format " name=value" for values WITHOUT special characters
* @return string in the format " name*=charset'lang'value" for values WITH special characters
*/
function rfc2231_encode($name, $value, $charset='utf-8', $lang='en') {
$internal = preg_replace_callback('/[\x00-\x20*\'%()<>@,;:\\\\"\/[\]?=\x80-\xFF]/', function($match) { return rawurlencode($match[0]); }, $value);
if ( $value != $internal ) {
return ' '.$name.'*='.$charset."'".$lang."'".$internal;
} else {
return ' '.$name.'="'.$value.'"';
}
}
/** /**
* Check for media for preconditions and return correct status code * Check for media for preconditions and return correct status code
* *
@ -96,12 +119,13 @@ function sendFile($file, $mime, $dl, $cache, $public = false, $orig = null) {
* WRITE: MEDIA, FILE, array( STATUS, STATUSMESSAGE ) * WRITE: MEDIA, FILE, array( STATUS, STATUSMESSAGE )
* *
* @author Gerry Weissbach <gerry.w@gammaproduction.de> * @author Gerry Weissbach <gerry.w@gammaproduction.de>
*
* @param string $media reference to the media id * @param string $media reference to the media id
* @param string $file reference to the file variable * @param string $file reference to the file variable
* @param string $rev * @param string $rev
* @param int $width * @param int $width
* @param int $height * @param int $height
* @return array(STATUS, STATUSMESSAGE) * @return array as array(STATUS, STATUSMESSAGE)
*/ */
function checkFileStatus(&$media, &$file, $rev = '', $width=0, $height=0) { function checkFileStatus(&$media, &$file, $rev = '', $width=0, $height=0) {
global $MIME, $EXT, $CACHE, $INPUT; global $MIME, $EXT, $CACHE, $INPUT;
@ -136,7 +160,7 @@ function checkFileStatus(&$media, &$file, $rev = '', $width=0, $height=0) {
} }
//check file existance //check file existance
if(!@file_exists($file)) { if(!file_exists($file)) {
return array(404, 'Not Found'); return array(404, 'Not Found');
} }
@ -149,6 +173,9 @@ function checkFileStatus(&$media, &$file, $rev = '', $width=0, $height=0) {
* Resolves named constants * Resolves named constants
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
*
* @param string $cache
* @return int cachetime in seconds
*/ */
function calc_cache($cache) { function calc_cache($cache) {
global $conf; global $conf;

View file

@ -52,9 +52,10 @@ class Doku_Form {
* @param bool|string $action (optional, deprecated) submit URL, defaults to current page * @param bool|string $action (optional, deprecated) submit URL, defaults to current page
* @param bool|string $method (optional, deprecated) 'POST' or 'GET', default is POST * @param bool|string $method (optional, deprecated) 'POST' or 'GET', default is POST
* @param bool|string $enctype (optional, deprecated) Encoding type of the data * @param bool|string $enctype (optional, deprecated) Encoding type of the data
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function Doku_Form($params, $action=false, $method=false, $enctype=false) { function __construct($params, $action=false, $method=false, $enctype=false) {
if(!is_array($params)) { if(!is_array($params)) {
$this->params = array('id' => $params); $this->params = array('id' => $params);
if ($action !== false) $this->params['action'] = $action; if ($action !== false) $this->params['action'] = $action;
@ -84,6 +85,7 @@ class Doku_Form {
* Usually results in a border drawn around the form. * Usually results in a border drawn around the form.
* *
* @param string $legend Label that will be printed with the border. * @param string $legend Label that will be printed with the border.
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function startFieldset($legend) { function startFieldset($legend) {
@ -115,6 +117,7 @@ class Doku_Form {
* *
* @param string $name Field name. * @param string $name Field name.
* @param string $value Field value. If null, remove a previously added field. * @param string $value Field value. If null, remove a previously added field.
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function addHidden($name, $value) { function addHidden($name, $value) {
@ -132,6 +135,7 @@ class Doku_Form {
* If string, it is printed without escaping special chars. * * If string, it is printed without escaping special chars. *
* *
* @param string|array $elem Pseudo-tag or string to add to the form. * @param string|array $elem Pseudo-tag or string to add to the form.
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function addElement($elem) { function addElement($elem) {
@ -145,6 +149,7 @@ class Doku_Form {
* *
* @param string $pos 0-based index where the element will be inserted. * @param string $pos 0-based index where the element will be inserted.
* @param string|array $elem Pseudo-tag or string to add to the form. * @param string|array $elem Pseudo-tag or string to add to the form.
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function insertElement($pos, $elem) { function insertElement($pos, $elem) {
@ -158,6 +163,7 @@ class Doku_Form {
* *
* @param int $pos 0-based index the element will be placed at. * @param int $pos 0-based index the element will be placed at.
* @param string|array $elem Pseudo-tag or string to add to the form. * @param string|array $elem Pseudo-tag or string to add to the form.
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function replaceElement($pos, $elem) { function replaceElement($pos, $elem) {
@ -172,7 +178,8 @@ class Doku_Form {
* Gets the position of the first of a type of element. * Gets the position of the first of a type of element.
* *
* @param string $type Element type to look for. * @param string $type Element type to look for.
* @return int position of element if found, otherwise false * @return int|false position of element if found, otherwise false
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function findElementByType($type) { function findElementByType($type) {
@ -189,7 +196,8 @@ class Doku_Form {
* Gets the position of the element with an ID attribute. * Gets the position of the element with an ID attribute.
* *
* @param string $id ID of the element to find. * @param string $id ID of the element to find.
* @return int position of element if found, otherwise false * @return int|false position of element if found, otherwise false
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function findElementById($id) { function findElementById($id) {
@ -207,7 +215,8 @@ class Doku_Form {
* *
* @param string $name Attribute name. * @param string $name Attribute name.
* @param string $value Attribute value. * @param string $value Attribute value.
* @return int position of element if found, otherwise false * @return int|false position of element if found, otherwise false
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function findElementByAttribute($name, $value) { function findElementByAttribute($name, $value) {
@ -227,6 +236,7 @@ class Doku_Form {
* *
* @param int $pos 0-based index * @param int $pos 0-based index
* @return array reference pseudo-element * @return array reference pseudo-element
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function &getElementAt($pos) { function &getElementAt($pos) {
@ -243,6 +253,8 @@ class Doku_Form {
* 'form_$type'. The function should return the HTML to be printed. * 'form_$type'. The function should return the HTML to be printed.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @return string html of the form
*/ */
function getForm() { function getForm() {
global $lang; global $lang;
@ -310,6 +322,7 @@ class Doku_Form {
* @param string $tag Tag name. * @param string $tag Tag name.
* @param array $attrs Optional attributes. * @param array $attrs Optional attributes.
* @return array pseudo-tag * @return array pseudo-tag
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function form_makeTag($tag, $attrs=array()) { function form_makeTag($tag, $attrs=array()) {
@ -326,6 +339,7 @@ function form_makeTag($tag, $attrs=array()) {
* @param string $tag Tag name. * @param string $tag Tag name.
* @param array $attrs Optional attributes. * @param array $attrs Optional attributes.
* @return array pseudo-tag * @return array pseudo-tag
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function form_makeOpenTag($tag, $attrs=array()) { function form_makeOpenTag($tag, $attrs=array()) {
@ -341,6 +355,7 @@ function form_makeOpenTag($tag, $attrs=array()) {
* *
* @param string $tag Tag name. * @param string $tag Tag name.
* @return array pseudo-tag * @return array pseudo-tag
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function form_makeCloseTag($tag) { function form_makeCloseTag($tag) {
@ -358,6 +373,7 @@ function form_makeCloseTag($tag) {
* @param string $text Text to fill the field with. * @param string $text Text to fill the field with.
* @param array $attrs Optional attributes. * @param array $attrs Optional attributes.
* @return array pseudo-tag * @return array pseudo-tag
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function form_makeWikiText($text, $attrs=array()) { function form_makeWikiText($text, $attrs=array()) {
@ -378,12 +394,13 @@ function form_makeWikiText($text, $attrs=array()) {
* @param string $value (optional) Displayed label. Uses $act if not provided. * @param string $value (optional) Displayed label. Uses $act if not provided.
* @param array $attrs Optional attributes. * @param array $attrs Optional attributes.
* @return array pseudo-tag * @return array pseudo-tag
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function form_makeButton($type, $act, $value='', $attrs=array()) { function form_makeButton($type, $act, $value='', $attrs=array()) {
if ($value == '') $value = $act; if ($value == '') $value = $act;
$elem = array('_elem'=>'button', 'type'=>$type, '_action'=>$act, $elem = array('_elem'=>'button', 'type'=>$type, '_action'=>$act,
'value'=>$value, 'class'=>'button'); 'value'=>$value);
if (!empty($attrs['accesskey']) && empty($attrs['title'])) { if (!empty($attrs['accesskey']) && empty($attrs['title'])) {
$attrs['title'] = $value . ' ['.strtoupper($attrs['accesskey']).']'; $attrs['title'] = $value . ' ['.strtoupper($attrs['accesskey']).']';
} }
@ -406,6 +423,7 @@ function form_makeButton($type, $act, $value='', $attrs=array()) {
* reference it with a 'for' attribute. * reference it with a 'for' attribute.
* @param array $attrs Optional attributes. * @param array $attrs Optional attributes.
* @return array pseudo-tag * @return array pseudo-tag
*
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*/ */
function form_makeField($type, $name, $value='', $label=null, $id='', $class='', $attrs=array()) { function form_makeField($type, $name, $value='', $label=null, $id='', $class='', $attrs=array()) {
@ -522,6 +540,18 @@ function form_makeRadioField($name, $value='1', $label=null, $id='', $class='',
* a string. * a string.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param string $name Name attribute of the input.
* @param string[]|array[] $values The list of values can be strings, arrays of (value,text),
* or an associative array with the values as keys and labels as values.
* @param string|int $selected default selected value, string or index number
* @param string $class Class attribute of the label. If this is 'block',
* then a line break will be added after the field.
* @param string $label Label that will be printed before the input.
* @param string $id ID attribute of the input. If set, the label will
* reference it with a 'for' attribute.
* @param array $attrs Optional attributes.
* @return array pseudo-tag
*/ */
function form_makeMenuField($name, $values, $selected='', $label=null, $id='', $class='', $attrs=array()) { function form_makeMenuField($name, $values, $selected='', $label=null, $id='', $class='', $attrs=array()) {
if (is_null($label)) $label = $name; if (is_null($label)) $label = $name;
@ -556,6 +586,18 @@ function form_makeMenuField($name, $values, $selected='', $label=null, $id='', $
* Items are selected by supplying its value or an array of values. * Items are selected by supplying its value or an array of values.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param string $name Name attribute of the input.
* @param string[]|array[] $values The list of values can be strings, arrays of (value,text),
* or an associative array with the values as keys and labels as values.
* @param array|string $selected value or array of values of the items that need to be selected
* @param string $class Class attribute of the label. If this is 'block',
* then a line break will be added after the field.
* @param string $label Label that will be printed before the input.
* @param string $id ID attribute of the input. If set, the label will
* reference it with a 'for' attribute.
* @param array $attrs Optional attributes.
* @return array pseudo-tag
*/ */
function form_makeListboxField($name, $values, $selected='', $label=null, $id='', $class='', $attrs=array()) { function form_makeListboxField($name, $values, $selected='', $label=null, $id='', $class='', $attrs=array()) {
if (is_null($label)) $label = $name; if (is_null($label)) $label = $name;
@ -595,6 +637,9 @@ function form_makeListboxField($name, $values, $selected='', $label=null, $id=''
* Attributes are passed to buildAttributes() * Attributes are passed to buildAttributes()
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html of tag
*/ */
function form_tag($attrs) { function form_tag($attrs) {
return '<'.$attrs['_tag'].' '.buildAttributes($attrs,true).'/>'; return '<'.$attrs['_tag'].' '.buildAttributes($attrs,true).'/>';
@ -608,6 +653,9 @@ function form_tag($attrs) {
* Attributes are passed to buildAttributes() * Attributes are passed to buildAttributes()
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html of tag
*/ */
function form_opentag($attrs) { function form_opentag($attrs) {
return '<'.$attrs['_tag'].' '.buildAttributes($attrs,true).'>'; return '<'.$attrs['_tag'].' '.buildAttributes($attrs,true).'>';
@ -621,6 +669,9 @@ function form_opentag($attrs) {
* There are no attributes. * There are no attributes.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html of tag
*/ */
function form_closetag($attrs) { function form_closetag($attrs) {
return '</'.$attrs['_tag'].'>'; return '</'.$attrs['_tag'].'>';
@ -634,6 +685,9 @@ function form_closetag($attrs) {
* Attributes are passed to buildAttributes() * Attributes are passed to buildAttributes()
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_openfieldset($attrs) { function form_openfieldset($attrs) {
$s = '<fieldset '.buildAttributes($attrs,true).'>'; $s = '<fieldset '.buildAttributes($attrs,true).'>';
@ -648,6 +702,8 @@ function form_openfieldset($attrs) {
* There are no attributes. * There are no attributes.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @return string html
*/ */
function form_closefieldset() { function form_closefieldset() {
return '</fieldset>'; return '</fieldset>';
@ -661,6 +717,9 @@ function form_closefieldset() {
* Value is passed to formText() * Value is passed to formText()
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_hidden($attrs) { function form_hidden($attrs) {
return '<input type="hidden" name="'.$attrs['name'].'" value="'.formText($attrs['value']).'" />'; return '<input type="hidden" name="'.$attrs['name'].'" value="'.formText($attrs['value']).'" />';
@ -674,6 +733,9 @@ function form_hidden($attrs) {
* Text will be passed to formText(), attributes to buildAttributes() * Text will be passed to formText(), attributes to buildAttributes()
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_wikitext($attrs) { function form_wikitext($attrs) {
// mandatory attributes // mandatory attributes
@ -693,10 +755,15 @@ function form_wikitext($attrs) {
* Other attributes are passed to buildAttributes() * Other attributes are passed to buildAttributes()
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_button($attrs) { function form_button($attrs) {
$p = (!empty($attrs['_action'])) ? 'name="do['.$attrs['_action'].']" ' : ''; $p = (!empty($attrs['_action'])) ? 'name="do['.$attrs['_action'].']" ' : '';
return '<input '.$p.buildAttributes($attrs,true).' />'; $value = $attrs['value'];
unset($attrs['value']);
return '<button '.$p.buildAttributes($attrs,true).'>'.$value.'</button>';
} }
/** /**
@ -708,6 +775,9 @@ function form_button($attrs) {
* Other attributes are passed to buildAttributes() for the input tag. * Other attributes are passed to buildAttributes() for the input tag.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_field($attrs) { function form_field($attrs) {
$s = '<label'; $s = '<label';
@ -729,6 +799,9 @@ function form_field($attrs) {
* Other attributes are passed to buildAttributes() for the input tag. * Other attributes are passed to buildAttributes() for the input tag.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_fieldright($attrs) { function form_fieldright($attrs) {
$s = '<label'; $s = '<label';
@ -750,6 +823,9 @@ function form_fieldright($attrs) {
* Other attributes are passed to buildAttributes() for the input tag. * Other attributes are passed to buildAttributes() for the input tag.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_textfield($attrs) { function form_textfield($attrs) {
// mandatory attributes // mandatory attributes
@ -773,6 +849,9 @@ function form_textfield($attrs) {
* Other attributes are passed to buildAttributes() for the input tag. * Other attributes are passed to buildAttributes() for the input tag.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_passwordfield($attrs) { function form_passwordfield($attrs) {
// mandatory attributes // mandatory attributes
@ -798,6 +877,9 @@ function form_passwordfield($attrs) {
* Other attributes are passed to buildAttributes() for the input tag * Other attributes are passed to buildAttributes() for the input tag
* *
* @author Michael Klier <chi@chimeric.de> * @author Michael Klier <chi@chimeric.de>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_filefield($attrs) { function form_filefield($attrs) {
$s = '<label'; $s = '<label';
@ -824,6 +906,9 @@ function form_filefield($attrs) {
* $attrs['value'][1] is constructed as well. * $attrs['value'][1] is constructed as well.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_checkboxfield($attrs) { function form_checkboxfield($attrs) {
// mandatory attributes // mandatory attributes
@ -853,6 +938,9 @@ function form_checkboxfield($attrs) {
* Other attributes are passed to buildAttributes() for the input tag. * Other attributes are passed to buildAttributes() for the input tag.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_radiofield($attrs) { function form_radiofield($attrs) {
// mandatory attributes // mandatory attributes
@ -879,6 +967,9 @@ function form_radiofield($attrs) {
* Other attributes are passed to buildAttributes() for the input tag. * Other attributes are passed to buildAttributes() for the input tag.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_menufield($attrs) { function form_menufield($attrs) {
$attrs['size'] = '1'; $attrs['size'] = '1';
@ -924,6 +1015,9 @@ function form_menufield($attrs) {
* Other attributes are passed to buildAttributes() for the input tag. * Other attributes are passed to buildAttributes() for the input tag.
* *
* @author Tom N Harris <tnharris@whoopdedo.org> * @author Tom N Harris <tnharris@whoopdedo.org>
*
* @param array $attrs attributes
* @return string html
*/ */
function form_listboxfield($attrs) { function form_listboxfield($attrs) {
$s = '<label'; $s = '<label';

View file

@ -20,9 +20,13 @@ if(!defined('FT_SNIPPET_NUMBER')) define('FT_SNIPPET_NUMBER',15);
* *
* refactored into ft_pageSearch(), _ft_pageSearch() and trigger_event() * refactored into ft_pageSearch(), _ft_pageSearch() and trigger_event()
* *
* @param string $query
* @param array $highlight
* @return array
*/ */
function ft_pageSearch($query,&$highlight){ function ft_pageSearch($query,&$highlight){
$data = array();
$data['query'] = $query; $data['query'] = $query;
$data['highlight'] =& $highlight; $data['highlight'] =& $highlight;
@ -34,6 +38,9 @@ function ft_pageSearch($query,&$highlight){
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @author Kazutaka Miyasaka <kazmiya@gmail.com> * @author Kazutaka Miyasaka <kazmiya@gmail.com>
*
* @param array $data event data
* @return array matching documents
*/ */
function _ft_pageSearch(&$data) { function _ft_pageSearch(&$data) {
$Indexer = idx_get_indexer(); $Indexer = idx_get_indexer();
@ -205,6 +212,11 @@ function ft_mediause($id, $ignore_perms = false){
* @triggers SEARCH_QUERY_PAGELOOKUP * @triggers SEARCH_QUERY_PAGELOOKUP
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @author Adrian Lang <lang@cosmocode.de> * @author Adrian Lang <lang@cosmocode.de>
*
* @param string $id page id
* @param bool $in_ns match against namespace as well?
* @param bool $in_title search in title?
* @return string[]
*/ */
function ft_pageLookup($id, $in_ns=false, $in_title=false){ function ft_pageLookup($id, $in_ns=false, $in_title=false){
$data = compact('id', 'in_ns', 'in_title'); $data = compact('id', 'in_ns', 'in_title');
@ -212,6 +224,12 @@ function ft_pageLookup($id, $in_ns=false, $in_title=false){
return trigger_event('SEARCH_QUERY_PAGELOOKUP', $data, '_ft_pageLookup'); return trigger_event('SEARCH_QUERY_PAGELOOKUP', $data, '_ft_pageLookup');
} }
/**
* Returns list of pages as array(pageid => First Heading)
*
* @param array &$data event data
* @return string[]
*/
function _ft_pageLookup(&$data){ function _ft_pageLookup(&$data){
// split out original parameters // split out original parameters
$id = $data['id']; $id = $data['id'];
@ -269,6 +287,10 @@ function _ft_pageLookup(&$data){
* Tiny helper function for comparing the searched title with the title * Tiny helper function for comparing the searched title with the title
* from the search index. This function is a wrapper around stripos with * from the search index. This function is a wrapper around stripos with
* adapted argument order and return value. * adapted argument order and return value.
*
* @param string $search searched title
* @param string $title title from index
* @return bool
*/ */
function _ft_pageLookupTitleCompare($search, $title) { function _ft_pageLookupTitleCompare($search, $title) {
return stripos($title, $search) !== false; return stripos($title, $search) !== false;
@ -278,6 +300,10 @@ function _ft_pageLookupTitleCompare($search, $title) {
* Sort pages based on their namespace level first, then on their string * Sort pages based on their namespace level first, then on their string
* values. This makes higher hierarchy pages rank higher than lower hierarchy * values. This makes higher hierarchy pages rank higher than lower hierarchy
* pages. * pages.
*
* @param string $a
* @param string $b
* @return int Returns < 0 if $a is less than $b; > 0 if $a is greater than $b, and 0 if they are equal.
*/ */
function ft_pagesorter($a, $b){ function ft_pagesorter($a, $b){
$ac = count(explode(':',$a)); $ac = count(explode(':',$a));
@ -295,6 +321,10 @@ function ft_pagesorter($a, $b){
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @triggers FULLTEXT_SNIPPET_CREATE * @triggers FULLTEXT_SNIPPET_CREATE
*
* @param string $id page id
* @param array $highlight
* @return mixed
*/ */
function ft_snippet($id,$highlight){ function ft_snippet($id,$highlight){
$text = rawWiki($id); $text = rawWiki($id);
@ -389,6 +419,9 @@ function ft_snippet($id,$highlight){
/** /**
* Wraps a search term in regex boundary checks. * Wraps a search term in regex boundary checks.
*
* @param string $term
* @return string
*/ */
function ft_snippet_re_preprocess($term) { function ft_snippet_re_preprocess($term) {
// do not process asian terms where word boundaries are not explicit // do not process asian terms where word boundaries are not explicit
@ -432,6 +465,7 @@ function ft_snippet_re_preprocess($term) {
* based upon PEAR's PHP_Compat function for array_intersect_key() * based upon PEAR's PHP_Compat function for array_intersect_key()
* *
* @param array $args An array of page arrays * @param array $args An array of page arrays
* @return array
*/ */
function ft_resultCombine($args){ function ft_resultCombine($args){
$array_count = count($args); $array_count = count($args);
@ -461,6 +495,8 @@ function ft_resultCombine($args){
* based upon ft_resultCombine() function * based upon ft_resultCombine() function
* *
* @param array $args An array of page arrays * @param array $args An array of page arrays
* @return array
*
* @author Kazutaka Miyasaka <kazmiya@gmail.com> * @author Kazutaka Miyasaka <kazmiya@gmail.com>
*/ */
function ft_resultUnite($args) { function ft_resultUnite($args) {
@ -484,6 +520,8 @@ function ft_resultUnite($args) {
* nearly identical to PHP5's array_diff_key() * nearly identical to PHP5's array_diff_key()
* *
* @param array $args An array of page arrays * @param array $args An array of page arrays
* @return array
*
* @author Kazutaka Miyasaka <kazmiya@gmail.com> * @author Kazutaka Miyasaka <kazmiya@gmail.com>
*/ */
function ft_resultComplement($args) { function ft_resultComplement($args) {
@ -506,6 +544,10 @@ function ft_resultComplement($args) {
* *
* @author Andreas Gohr <andi@splitbrain.org> * @author Andreas Gohr <andi@splitbrain.org>
* @author Kazutaka Miyasaka <kazmiya@gmail.com> * @author Kazutaka Miyasaka <kazmiya@gmail.com>
*
* @param Doku_Indexer $Indexer
* @param string $query search query
* @return array of search formulas
*/ */
function ft_queryParser($Indexer, $query){ function ft_queryParser($Indexer, $query){
/** /**
@ -736,6 +778,12 @@ function ft_queryParser($Indexer, $query){
* This function is used in ft_queryParser() and not for general purpose use. * This function is used in ft_queryParser() and not for general purpose use.
* *
* @author Kazutaka Miyasaka <kazmiya@gmail.com> * @author Kazutaka Miyasaka <kazmiya@gmail.com>
*
* @param Doku_Indexer $Indexer
* @param string $term
* @param bool $consider_asian
* @param bool $phrase_mode
* @return string
*/ */
function ft_termParser($Indexer, $term, $consider_asian = true, $phrase_mode = false) { function ft_termParser($Indexer, $term, $consider_asian = true, $phrase_mode = false) {
$parsed = ''; $parsed = '';

File diff suppressed because it is too large Load diff

View file

@ -1,139 +0,0 @@
<?php
/*************************************************************************************
* 4cs.php
* ------
* Author: Jason Curl (jason.curl@continental-corporation.com)
* Copyright: (c) 2009 Jason Curl
* Release Version: 1.0.8.11
* 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(
)
);
?>

View file

@ -1,230 +0,0 @@
<?php
/*************************************************************************************
* 6502acme.php
* -------
* Author: Warren Willmey
* Copyright: (c) 2010 Warren Willmey.
* Release Version: 1.0.8.11
* Date Started: 2010/05/26
*
* MOS 6502 (more specifically 6510) ACME Cross Assembler 0.93 by Marco Baye language file for GeSHi.
*
* CHANGES
* -------
* 2010/07/22
* - First Release
*
* TODO (updated 2010/07/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' => 'MOS 6502 (6510) ACME Cross Assembler format',
'COMMENT_SINGLE' => array(1 => ';'),
'COMMENT_MULTI' => array(),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
/* 6502/6510 Opcodes. */
1 => array(
'adc', 'and', 'asl', 'bcc', 'bcs', 'beq', 'bit', 'bmi',
'bne', 'bpl', 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli',
'clv', 'cmp', 'cpx', 'cpy', 'dec', 'dex', 'dey', 'eor',
'inc', 'inx', 'iny', 'jmp', 'jsr', 'lda', 'ldx', 'ldy',
'lsr', 'nop', 'ora', 'pha', 'php', 'pla', 'plp', 'rol',
'ror', 'rti', 'rts', 'sbc', 'sec', 'sed', 'sei', 'sta',
'stx', 'sty', 'tax', 'tay', 'tsx', 'txa', 'txs', 'tya',
),
/* Index Registers, yes the 6502 has other registers by they are only
* accessable by specific opcodes. The 65816 also has access to the stack pointer S. */
2 => array(
'x', 'y', 's'
),
/* Directives or "pseudo opcodes" as defined by ACME 0.93 file AllPOs.txt. */
3 => array(
'!8', '!08', '!by', '!byte',
'!16', '!wo', '!word',
'!24', '!32',
'!fi', '!fill',
'!align',
'!ct', '!convtab',
'!tx', '!text',
'!pet',
'!raw',
'!scrxor',
'!to',
'!source',
'!bin', '!binary',
'!zn', '!zone',
'!sl',
'!svl',
'!sal',
'!if', '!ifdef',
'!for',
'!set',
'!do', 'while', 'until',
'!eof', '!endoffile',
'!warn', '!error', '!serious',
'!macro',
// , '*=' // Not a valid keyword (uses both * and = signs) moved to symbols instead.
'!initmem',
'!pseudopc',
'!cpu',
'!al', '!as', '!rl', '!rs',
),
/* 6502/6510 undocumented opcodes (often referred to as illegal instructions).
* These are present in the 6502/6510 but NOT in the newer CMOS revisions of the 65C02 or 65816.
* As they are undocumented instructions there are no "official" names for them, there are also
* several more that mainly perform various forms of crash and are not supported by ACME 0.93.
*/
4 => array(
'anc', 'arr', 'asr', 'dcp', 'dop', 'isc', 'jam', 'lax',
'rla', 'rra', 'sax', 'sbx', 'slo', 'sre', 'top',
),
/* 65c02 instructions, MOS added a few (much needed) instructions in the CMOS version of the 6502, but stupidly removed the undocumented/illegal opcodes.
* ACME 0.93 does not support the rmb0-7 and smb0-7 instructions (they are currently rem'ed out). */
5 => array(
'bra', 'phx', 'phy', 'plx', 'ply', 'stz', 'trb', 'tsb'
),
/* 65816 instructions. */
6 => array(
'brl', 'cop', 'jml', 'jsl', 'mvn', 'mvp', 'pea', 'pei',
'per', 'phb', 'phd', 'phk', 'plb', 'pld', 'rep', 'rtl',
'sep', 'tcd', 'tcs', 'tdc', 'tsc', 'txy', 'tyx', 'wdm',
'xba', 'xce',
),
/* Deprecated directives or "pseudo opcodes" as defined by ACME 0.93 file AllPOs.txt. */
7 => array(
'!cbm',
'!sz', '!subzone',
'!realpc',
),
/* Math functions, some are aliases for the symbols. */
8 => array(
'not', 'div', 'mod', 'xor', 'or', 'sin', 'cos', 'tan',
'arcsin', 'arccos', 'arctan', 'int', 'float',
),
),
'SYMBOLS' => array(
// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS.
'*=', '#', '!', '^', '-', '*', '/',
'%', '+', '-', '<<', '>>', '>>>',
'<', '>', '^', '<=', '<', '>=', '>', '!=',
'=', '&', '|', '<>',
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => false,
5 => false,
6 => false,
7 => false,
8 => false,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #00f; font-weight:bold;',
2 => 'color: #00f; font-weight:bold;',
3 => 'color: #080; font-weight:bold;',
4 => 'color: #f00; font-weight:bold;',
5 => 'color: #80f; font-weight:bold;',
6 => 'color: #f08; font-weight:bold;',
7 => 'color: #a04; font-weight:bold; font-style: italic;',
8 => 'color: #000;',
),
'COMMENTS' => array(
1 => 'color: #999; font-style: italic;',
),
'ESCAPE_CHAR' => array(
0 => 'color: #009; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #000;'
),
'STRINGS' => array(
0 => 'color: #080;'
),
'NUMBERS' => array(
GESHI_NUMBER_INT_BASIC => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX => 'color: #f00;',
GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;',
GESHI_NUMBER_FLT_NONSCI => 'color: #f00;',
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #080;'
),
'REGEXPS' => array(
0 => 'color: #f00;'
, 1 => 'color: #933;'
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
5 => '',
6 => '',
7 => '',
8 => '',
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC |
GESHI_NUMBER_FLT_NONSCI |
GESHI_NUMBER_HEX_PREFIX_DOLLAR |
GESHI_NUMBER_HEX_PREFIX |
GESHI_NUMBER_BIN_PREFIX_PERCENT,
// AMCE Octal format not support and gets picked up as Decimal unfortunately.
'REGEXPS' => array(
//ACME .# Binary number format. e.g. %..##..##..##
0 => '\%[\.\#]{1,64}',
//ACME Local Labels
1 => '\.[_a-zA-Z][_a-zA-Z0-9]*',
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 8,
'PARSER_CONTROL' => array(
'NUMBERS' => array(
'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/'
)
)
);
?>

View file

@ -1,241 +0,0 @@
<?php
/*************************************************************************************
* 6502kickass.php
* -------
* Author: Warren Willmey
* Copyright: (c) 2010 Warren Willmey.
* Release Version: 1.0.8.11
* Date Started: 2010/06/07
*
* MOS 6502 (6510) Kick Assembler 3.13 language file for GeSHi.
*
* CHANGES
* -------
* 2010/07/22
* - First Release
*
* TODO (updated 2010/07/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' => 'MOS 6502 (6510) Kick Assembler format',
'COMMENT_SINGLE' => array(1 => '//'),
'COMMENT_MULTI' => array('/*' => '*/'),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
/* 6502/6510 Opcodes including undocumented opcodes as Kick Assembler 3.13 does not make a distinction - they are ALL valid. */
1 => array(
'adc', 'ahx', 'alr', 'anc', 'anc2', 'and', 'arr', 'asl',
'axs', 'bcc', 'bcs', 'beq', 'bit', 'bmi', 'bne', 'bpl',
'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli', 'clv', 'cmp',
'cpx', 'cpy', 'dcp', 'dec', 'dex', 'dey', 'eor', 'inc',
'inx', 'iny', 'isc', 'jmp', 'jsr', 'las', 'lax', 'lda',
'ldx', 'ldy', 'lsr', 'nop', 'ora', 'pha', 'php', 'pla',
'plp', 'rla', 'rol', 'ror', 'rra', 'rti', 'rts', 'sax',
'sbc', 'sbc2', 'sec', 'sed', 'sei', 'shx', 'shy', 'slo',
'sre', 'sta', 'stx', 'sty', 'tas', 'tax', 'tay', 'tsx',
'txa', 'txs', 'tya', 'xaa',
),
/* DTV additional Opcodes. */
2 => array(
'bra', 'sac', 'sir'
),
/* Index Registers, yes the 6502 has other registers by they are only
* accessable by specific opcodes. */
3 => array(
'x', 'y'
),
/* Directives. */
4 => array(
'.pc', '.pseudopc', 'virtual', '.align', '.byte', '.word', '.text', '.fill',
'.import source', '.import binary', '.import c64', '.import text', '.import', '.print', '.printnow',
'.error', '.var', '.eval', '.const', '.eval const', '.enum', '.label', '.define', '.struct',
'if', '.for', '.macro', '.function', '.return', '.pseudocommand', '.namespace', '.filenamespace',
'.assert', '.asserterror',
),
/* Kick Assembler 3.13 Functions/Operators. */
5 => array(
'size', 'charAt', 'substring', 'asNumber', 'asBoolean', 'toIntString', 'toBinaryString', 'toOctalString',
'toHexString', 'lock', // String functions/operators.
'get', 'set', 'add', 'remove', 'shuffle', // List functions.
'put', 'keys', // Hashtable functions.
'getType', 'getValue', 'CmdArgument', // Pseudo Commands functions.
'asmCommandSize', // Opcode Constants functions.
'LoadBinary', 'getSize',
'LoadSid', 'getData',
'LoadPicture', 'width', 'height', 'getPixel', 'getSinglecolorByte', 'getMulticolorByte',
'createFile', 'writeln',
'cmdLineVars',
'getX', 'getY', 'getZ', // Vector functions.
'RotationMatrix', 'ScaleMatrix', 'MoveMatrix', 'PerspectiveMatrix', // Matrix functions.
),
/* Kick Assembler 3.13 Math Functions. */
6 => array(
'abs', 'acos', 'asin', 'atan', 'atan2', 'cbrt', 'ceil', 'cos', 'cosh',
'exp', 'expm1', 'floor', 'hypot', 'IEEEremainder', 'log', 'log10',
'log1p', 'max', 'min', 'pow', 'mod', 'random', 'round', 'signum',
'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'toDegrees', 'toRadians',
),
/* Kick Assembler 3.13 Objects/Data Types. */
7 => array(
'List', // List() Object.
'Hashtable', // Hashtable() Object.
'Vector', // Vector() Object.
'Matrix', // Matrix() Object.
),
/* Kick Assembler 3.13 Constants. */
8 => array(
'PI', 'E', // Math Constants.
'AT_ABSOLUTE' , 'AT_ABSOLUTEX' , 'AT_ABSOLUTEY' , 'AT_IMMEDIATE', // Pseudo Commands Constants.
'AT_INDIRECT' , 'AT_IZEROPAGEX' , 'AT_IZEROPAGEY' , 'AT_NONE',
'BLACK', 'WHITE', 'RED', 'CYAN', 'PURPLE', 'GREEN', 'BLUE', // Colour Constants.
'YELLOW', 'ORANGE', 'BROWN', 'LIGHT_RED', 'DARK_GRAY', 'GRAY',
'LIGHT_GREEN', 'LIGHT_BLUE', 'LIGHT_GRAY',
'C64FILE', // Template Tag names.
'BF_C64FILE', 'BF_BITMAP_SINGLECOLOR', 'BF_KOALA' , 'BF_FLI', // Binary format constant
),
),
'SYMBOLS' => array(
// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS.
'-', '+', '-', '*', '/', '>', '<', '<<', '>>', '&', '|', '^', '=', '==',
'!=', '>=', '<=', '!', '&&', '||', '#',
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => true,
5 => true,
6 => true,
7 => true,
8 => true,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #00f; font-weight:bold;',
2 => 'color: #00f; font-weight:bold;',
3 => 'color: #00f; font-weight:bold;',
4 => 'color: #080; font-weight:bold;',
5 => 'color: #80f; font-weight:bold;',
6 => 'color: #f08; font-weight:bold;',
7 => 'color: #a04; font-weight:bold; font-style: italic;',
8 => 'color: #f08; font-weight:bold;',
),
'COMMENTS' => array(
1 => 'color: #999; font-style: italic;',
),
'ESCAPE_CHAR' => array(
0 => 'color: #009; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #000;'
),
'STRINGS' => array(
0 => 'color: #080;'
),
'NUMBERS' => array(
GESHI_NUMBER_INT_BASIC => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;',
GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;',
GESHI_NUMBER_FLT_NONSCI => 'color: #f00;',
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #080;'
),
'REGEXPS' => array(
0 => 'color: #933;',
1 => 'color: #933;',
2 => 'color: #933;',
3 => 'color: #00f; font-weight:bold;',
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
5 => '',
6 => '',
7 => '',
8 => '',
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC |
GESHI_NUMBER_FLT_NONSCI |
GESHI_NUMBER_HEX_PREFIX_DOLLAR |
GESHI_NUMBER_BIN_PREFIX_PERCENT,
// AMCE Octal format not support and gets picked up as Decimal unfortunately.
'REGEXPS' => array(
//Labels end with a collon.
0 => '[!]{0,1}[_a-zA-Z][_a-zA-Z0-9]*\:',
//Multi Labels (local labels) references start with ! and end with + or - for forward/backward reference.
1 => '![_a-zA-Z][_a-zA-Z0-9]*[+-]',
//Macros start with a colon :Macro.
2 => ':[_a-zA-Z][_a-zA-Z0-9]*',
// Opcode Constants, such as LDA_IMM, STA_IZPY are basically all 6502 opcodes
// in UPPER case followed by _underscore_ and the ADDRESS MODE.
// As you might imagine that is rather a lot ( 78 supported Opcodes * 12 Addressing modes = 936 variations)
// So I thought it better and easier to maintain as a regular expression.
// NOTE: The order of the Address Modes must be maintained or it wont work properly (eg. place ZP first and find out!)
3 => '[A-Z]{3}[2]?_(?:IMM|IND|IZPX|IZPY|ZPX|ZPY|ABSX|ABSY|REL|ABS|ZP)',
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 8,
'PARSER_CONTROL' => array(
'NUMBERS' => array(
'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/'
),
'KEYWORDS' => array(
5 => array (
'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\;>|^&'\"])"
),
6 => array (
'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\;>|^&'\"])"
),
8 => array (
'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\;>|^&'\"])"
)
)
),
);
?>

View file

@ -1,189 +0,0 @@
<?php
/*************************************************************************************
* 6502tasm.php
* -------
* Author: Warren Willmey
* Copyright: (c) 2010 Warren Willmey.
* Release Version: 1.0.8.11
* Date Started: 2010/06/02
*
* MOS 6502 (6510) TASM/64TASS (64TASS being the super set of TASM) language file for GeSHi.
*
* CHANGES
* -------
* 2010/07/22
* - First Release
*
* TODO (updated 2010/07/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' => 'MOS 6502 (6510) TASM/64TASS 1.46 Assembler format',
'COMMENT_SINGLE' => array(1 => ';'),
'COMMENT_MULTI' => array(),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
/* 6502/6510 Opcodes. */
1 => array(
'adc', 'and', 'asl', 'bcc', 'bcs', 'beq', 'bit', 'bmi',
'bne', 'bpl', 'brk', 'bvc', 'bvs', 'clc', 'cld', 'cli',
'clv', 'cmp', 'cpx', 'cpy', 'dec', 'dex', 'dey', 'eor',
'inc', 'inx', 'iny', 'jmp', 'jsr', 'lda', 'ldx', 'ldy',
'lsr', 'nop', 'ora', 'pha', 'php', 'pla', 'plp', 'rol',
'ror', 'rti', 'rts', 'sbc', 'sec', 'sed', 'sei', 'sta',
'stx', 'sty', 'tax', 'tay', 'tsx', 'txa', 'txs', 'tya',
),
/* Index Registers, yes the 6502 has other registers by they are only
* accessable by specific opcodes. The 65816 also has access to the stack pointer S. */
2 => array(
'x', 'y', 's'
),
/* Directives. */
3 => array(
'.al', '.align', '.as', '.assert', '.binary', '.byte', '.cerror', '.char',
'.comment', '.cpu', '.cwarn', '.databank', '.dpage', '.else', '.elsif',
'.enc', '.endc', '.endif', '.endm', '.endp', '.error', '.fi', '.fill',
'.for', '.here', '.if', '.ifeq', '.ifmi', '.ifne', '.ifpl',
'.include', '.int', '.logical', '.long', '.macro', '.next', '.null', '.offs',
'.page', '.pend', '.proc', '.rept', '.rta', '.shift', '.text', '.warn', '.word',
'.xl', '.xs',
// , '*=' // Not a valid keyword (uses both * and = signs) moved to symbols instead.
),
/* 6502/6510 undocumented opcodes (often referred to as illegal instructions).
* These are present in the 6502/6510 but NOT in the newer CMOS revisions of the 65C02 or 65816.
* As they are undocumented instructions there are no "official" names for them, these are the names
* used by 64TASS V1.46.
*/
4 => array(
'ahx', 'alr', 'anc', 'ane', 'arr', 'asr', 'axs', 'dcm',
'dcp', 'ins', 'isb', 'isc', 'jam', 'lae', 'las', 'lax',
'lds', 'lxa', 'rla', 'rra', 'sax', 'sbx', 'sha', 'shs',
'shx', 'shy', 'slo', 'sre', 'tas', 'xaa',
),
/* 65c02 instructions, MOS added a few (much needed) instructions in the
* CMOS version of the 6502, but stupidly removed the undocumented/illegal opcodes. */
5 => array(
'bra', 'dea', 'gra', 'ina', 'phx', 'phy', 'plx', 'ply',
'stz', 'trb', 'tsb',
),
/* 65816 instructions. */
6 => array(
'brl', 'cop', 'jml', 'jsl', 'mvn', 'mvp', 'pea', 'pei',
'per', 'phb', 'phd', 'phk', 'plb', 'pld', 'rep', 'rtl',
'sep', 'stp', 'swa', 'tad', 'tcd', 'tcs', 'tda',
'tdc', 'tsa', 'tsc', 'txy', 'tyx', 'wai', 'xba', 'xce',
),
/* Deprecated directives (or yet to be implemented). */
7 => array(
'.global', '.check'
),
),
'SYMBOLS' => array(
// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS.
'*=', '#', '<', '>', '`', '=', '<', '>',
'!=', '>=', '<=', '+', '-', '*', '/', '//', '|',
'^', '&', '<<', '>>', '-', '~', '!',
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => false,
5 => false,
6 => false,
7 => false,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #00f; font-weight:bold;',
2 => 'color: #00f; font-weight:bold;',
3 => 'color: #080; font-weight:bold;',
4 => 'color: #f00; font-weight:bold;',
5 => 'color: #80f; font-weight:bold;',
6 => 'color: #f08; font-weight:bold;',
7 => 'color: #a04; font-weight:bold; font-style: italic;',
),
'COMMENTS' => array(
1 => 'color: #999; font-style: italic;',
),
'ESCAPE_CHAR' => array(
0 => 'color: #009; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #000;'
),
'STRINGS' => array(
0 => 'color: #080;'
),
'NUMBERS' => array(
GESHI_NUMBER_INT_BASIC => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;',
GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;',
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #080;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
5 => '',
6 => '',
7 => '',
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC |
GESHI_NUMBER_HEX_PREFIX_DOLLAR |
GESHI_NUMBER_BIN_PREFIX_PERCENT,
// AMCE Octal format not support and gets picked up as Decimal unfortunately.
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 8,
'PARSER_CONTROL' => array(
'NUMBERS' => array(
'PRECHECK_RX' => '/[\da-fA-F\.\$\%]/'
)
)
);
?>

View file

@ -1,168 +0,0 @@
<?php
/*************************************************************************************
* 68000devpac.php
* -------
* Author: Warren Willmey
* Copyright: (c) 2010 Warren Willmey.
* Release Version: 1.0.8.11
* Date Started: 2010/06/09
*
* Motorola 68000 - HiSoft Devpac ST 2 Assembler language file for GeSHi.
*
* CHANGES
* -------
* 2010/07/22
* - First Release
*
* TODO (updated 2010/07/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' => 'Motorola 68000 - HiSoft Devpac ST 2 Assembler format',
'COMMENT_SINGLE' => array(1 => ';'),
'COMMENT_MULTI' => array(),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
/* Directives. */
1 => array(
'end', 'include', 'incbin', 'opt', 'even', 'cnop', 'dc.b', 'dc.w',
'dc.l', 'ds.b', 'ds.w', 'ds.l', 'dcb.b', 'dcb.w', 'dcb.l',
'fail', 'output', '__g2', 'rept', 'endr', 'list', 'nolist', 'plen',
'llen', 'ttl', 'subttl', 'spc', 'page', 'listchar', 'format',
'equ', 'equr', 'set', 'reg', 'rs.b', 'rs.w', 'rs.l', 'rsreset',
'rsset', '__rs', 'ifeq', 'ifne', 'ifgt', 'ifge', 'iflt', 'ifle', 'endc',
'ifd', 'ifnd', 'ifc', 'ifnc', 'elseif', 'iif', 'macro', 'endm', 'mexit',
'narg', '\@', 'section', 'text', 'data', 'bss', 'xdef', 'xref', 'org',
'offset', '__lk', 'comment',
),
/* 68000 Opcodes. */
2 => array(
'abcd', 'add', 'adda', 'addi', 'addq', 'addx', 'and', 'andi',
'asl', 'asr', 'bcc', 'bchg', 'bclr', 'bcs', 'beq', 'bge',
'bgt', 'bhi', 'ble', 'bls', 'blt', 'bmi', 'bne', 'bpl',
'bra', 'bset', 'bsr', 'btst', 'bvc', 'bvs', 'chk', 'clr',
'cmp', 'cmpa', 'cmpi', 'cmpm', 'dbcc', 'dbcs', 'dbeq', 'dbf',
'dbge', 'dbgt', 'dbhi', 'dble', 'dbls', 'dblt', 'dbmi', 'dbne',
'dbpl', 'dbra', 'dbt', 'dbvc', 'dbvs', 'divs', 'divu', 'eor',
'eori', 'exg', 'ext','illegal','jmp', 'jsr', 'lea', 'link',
'lsl', 'lsr', 'move','movea','movem','movep','moveq', 'muls',
'mulu', 'nbcd', 'neg', 'negx', 'nop', 'not', 'or', 'ori',
'pea', 'reset', 'rol', 'ror', 'roxl', 'roxr', 'rte', 'rtr',
'rts', 'sbcd', 'scc', 'scs', 'seq', 'sf', 'sge', 'sgt',
'shi', 'sle', 'sls', 'slt', 'smi', 'sne', 'spl', 'st',
'stop', 'sub', 'suba', 'subi', 'subq', 'subx', 'svc', 'svs',
'swap', 'tas', 'trap','trapv', 'tst', 'unlk',
),
/* oprand sizes. */
3 => array(
'b', 'w', 'l' , 's'
),
/* 68000 Registers. */
4 => array(
'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7',
'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'sp', 'usp', 'ssp',
'pc', 'ccr', 'sr',
),
),
'SYMBOLS' => array(
// '[', ']', '(', ')', '{', '}', // These are already defined by GeSHi as BRACKETS.
'+', '-', '~', '<<', '>>', '&',
'!', '^', '*', '/', '=', '<', '>',
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => false,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #f08; font-weight:bold;',
2 => 'color: #00f; font-weight:bold;',
3 => 'color: #00f; font-weight:bold;',
4 => 'color: #080; font-weight:bold;',
),
'COMMENTS' => array(
1 => 'color: #999; font-style: italic;',
),
'ESCAPE_CHAR' => array(
0 => 'color: #009; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #000;'
),
'STRINGS' => array(
0 => 'color: #080;'
),
'NUMBERS' => array(
GESHI_NUMBER_INT_BASIC => 'color: #f00;',
GESHI_NUMBER_HEX_PREFIX_DOLLAR => 'color: #f00;',
GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;',
GESHI_NUMBER_OCT_PREFIX_AT => 'color: #f00;',
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #080;'
),
'REGEXPS' => array(
0 => 'color: #933;'
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC |
GESHI_NUMBER_HEX_PREFIX_DOLLAR |
GESHI_NUMBER_OCT_PREFIX_AT |
GESHI_NUMBER_BIN_PREFIX_PERCENT,
'REGEXPS' => array(
//Labels may end in a colon.
0 => '(?<=\A\x20|\r|\n|^)[\._a-zA-Z][\._a-zA-Z0-9]*[\:]?[\s]'
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 8,
'PARSER_CONTROL' => array(
'NUMBERS' => array(
'PRECHECK_RX' => '/[\da-fA-F\.\$\%\@]/'
)
)
);
?>

File diff suppressed because it is too large Load diff

View file

@ -1,957 +0,0 @@
<?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.7.9
* CVS Revision Version: $Revision: 1.9 $
* Date Started: 2004/06/20
* Last Modified: $Date: 2006/04/23 01:14:41 $
*
* Actionscript language file for GeSHi.
*
* CHANGES
* -------
* 2005/08/25 (1.0.2)
* Author [ NikO ] - http://niko.informatif.org
* - add full link for myInstance.methods to http://wiki.media-box.net/documentation/flash
* 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',
'if',
'elseif',
'else',
'while',
'do',
'dowhile',
'endwhile',
'endif',
'switch',
'case',
'endswitch',
'break',
'continue',
'in',
'null',
'false',
'true',
'var',
'default',
'new',
'_global',
'undefined',
'super'
),
2 => array(
'static',
'private',
'public',
'class',
'extends',
'implements',
'import',
'return',
'trace',
'_quality',
'_root',
'set',
'setInterval',
'setProperty',
'stopAllSounds',
'targetPath',
'this',
'typeof',
'unescape',
'updateAfterEvent'
),
3 => array (
'Accessibility',
'Array',
'Boolean',
'Button',
'Camera',
'Color',
'ContextMenuItem',
'ContextMenu',
'Cookie',
'Date',
'Error',
'function',
'FWEndCommand',
'FWJavascript',
'Key',
'LoadMovieNum',
'LoadMovie',
'LoadVariablesNum',
'LoadVariables',
'LoadVars',
'LocalConnection',
'Math',
'Microphone',
'MMExecute',
'MMEndCommand',
'MMSave',
'Mouse',
'MovieClipLoader',
'MovieClip',
'NetConnexion',
'NetStream',
'Number',
'Object',
'printAsBitmapNum',
'printNum',
'printAsBitmap',
'printJob',
'print',
'Selection',
'SharedObject',
'Sound',
'Stage',
'String',
'System',
'TextField',
'TextFormat',
'Tween',
'Video',
'XMLUI',
'XMLNode',
'XMLSocket',
'XML'
),
4 => array (
'isactive',
'updateProperties'
),
5 => array (
'callee',
'caller',
),
6 => array (
'concat',
'join',
'pop',
'push',
'reverse',
'shift',
'slice',
'sort',
'sortOn',
'splice',
'toString',
'unshift'
),
7 => array (
'valueOf'
),
8 => array (
'onDragOut',
'onDragOver',
'onKeyUp',
'onKillFocus',
'onPress',
'onRelease',
'onReleaseOutside',
'onRollOut',
'onRollOver',
'onSetFocus'
),
9 => array (
'setMode',
'setMotionLevel',
'setQuality',
'activityLevel',
'bandwidth',
'currentFps',
'fps',
'index',
'motionLevel',
'motionTimeOut',
'muted',
'names',
'quality',
'onActivity',
'onStatus'
),
10 => array (
'getRGB',
'setRGB',
'getTransform',
'setTransform'
),
11 => array (
'caption',
'enabled',
'separatorBefore',
'visible',
'onSelect'
),
12 => array (
'setCookie',
'getcookie'
),
13 => array (
'hideBuiltInItems',
'builtInItems',
'customItems',
'onSelect'
),
14 => array (
'CustomActions.get',
'CustomActions.install',
'CustomActions.list',
'CustomActions.uninstall',
),
15 => array (
'getDate',
'getDay',
'getFullYear',
'getHours',
'getMilliseconds',
'getMinutes',
'getMonth',
'getSeconds',
'getTime',
'getTimezoneOffset',
'getUTCDate',
'getUTCDay',
'getUTCFullYear',
'getUTCHours',
'getUTCMinutes',
'getUTCMilliseconds',
'getUTCMonth',
'getUTCSeconds',
'getYear',
'setDate',
'setFullYear',
'setHours',
'setMilliseconds',
'setMinutes',
'setMonth',
'setSeconds',
'setTime',
'setUTCDate',
'setUTCDay',
'setUTCFullYear',
'setUTCHours',
'setUTCMinutes',
'setUTCMilliseconds',
'setUTCMonth',
'setUTCSeconds',
'setYear',
'UTC'
),
16 => array (
'message',
'name',
'throw',
'try',
'catch',
'finally'
),
17 => array (
'apply',
'call'
),
18 => array (
'BACKSPACE',
'CAPSLOCK',
'CONTROL',
'DELETEKEY',
'DOWN',
'END',
'ENTER',
'ESCAPE',
'getAscii',
'getCode',
'HOME',
'INSERT',
'isDown',
'isToggled',
'LEFT',
'onKeyDown',
'onKeyUp',
'PGDN',
'PGUP',
'RIGHT',
'SPACE',
'TAB',
'UP'
),
19 => array (
'addRequestHeader',
'contentType',
'decode'
),
20 => array (
'allowDomain',
'allowInsecureDomain',
'close',
'domain'
),
21 => array (
'abs',
'acos',
'asin',
'atan',
'atan2',
'ceil',
'cos',
'exp',
'floor',
'log',
'LN2',
'LN10',
'LOG2E',
'LOG10E',
'max',
'min',
'PI',
'pow',
'random',
'sin',
'SQRT1_2',
'sqrt',
'tan',
'round',
'SQRT2'
),
22 => array (
'activityLevel',
'muted',
'names',
'onActivity',
'onStatus',
'setRate',
'setGain',
'gain',
'rate',
'setSilenceLevel',
'setUseEchoSuppression',
'silenceLevel',
'silenceTimeOut',
'useEchoSuppression'
),
23 => array (
'hide',
'onMouseDown',
'onMouseMove',
'onMouseUp',
'onMouseWeel',
'show'
),
24 => array (
'_alpha',
'attachAudio',
'attachMovie',
'beginFill',
'beginGradientFill',
'clear',
'createEmptyMovieClip',
'createTextField',
'_current',
'curveTo',
'_dropTarget',
'duplicateMovieClip',
'endFill',
'focusEnabled',
'enabled',
'_focusrec',
'_framesLoaded',
'getBounds',
'getBytesLoaded',
'getBytesTotal',
'getDepth',
'getInstanceAtDepth',
'getNextHighestDepth',
'getSWFVersion',
'getTextSnapshot',
'getURL',
'globalToLocal',
'gotoAndPlay',
'gotoAndStop',
'_height',
'hitArea',
'hitTest',
'lineStyle',
'lineTo',
'localToGlobal',
'_lockroot',
'menu',
'onUnload',
'_parent',
'play',
'prevFrame',
'_quality',
'removeMovieClip',
'_rotation',
'setMask',
'_soundbuftime',
'startDrag',
'stopDrag',
'stop',
'swapDepths',
'tabChildren',
'_target',
'_totalFrames',
'trackAsMenu',
'unloadMovie',
'useHandCursor',
'_visible',
'_width',
'_xmouse',
'_xscale',
'_x',
'_ymouse',
'_yscale',
'_y'
),
25 => array (
'getProgress',
'loadClip',
'onLoadComplete',
'onLoadError',
'onLoadInit',
'onLoadProgress',
'onLoadStart'
),
26 => array (
'bufferLength',
'currentFps',
'seek',
'setBufferTime',
'bufferTime',
'time',
'pause'
),
27 => array (
'MAX_VALUE',
'MIN_VALUE',
'NEGATIVE_INFINITY',
'POSITIVE_INFINITY'
),
28 => array (
'addProperty',
'constructor',
'__proto__',
'registerClass',
'__resolve',
'unwatch',
'watch',
'onUpDate'
),
29 => array (
'addPage'
),
30 => array (
'getBeginIndex',
'getCaretIndex',
'getEndIndex',
'setSelection'
),
31 => array (
'flush',
'getLocal',
'getSize'
),
32 => array (
'attachSound',
'duration',
'getPan',
'getVolume',
'onID3',
'loadSound',
'id3',
'onSoundComplete',
'position',
'setPan',
'setVolume'
),
33 => array (
'getBeginIndex',
'getCaretIndex',
'getEndIndex',
'setSelection'
),
34 => array (
'getEndIndex',
),
35 => array (
'align',
'height',
'width',
'onResize',
'scaleMode',
'showMenu'
),
36 => array (
'charAt',
'charCodeAt',
'concat',
'fromCharCode',
'indexOf',
'lastIndexOf',
'substr',
'substring',
'toLowerCase',
'toUpperCase'
),
37 => array (
'avHardwareDisable',
'hasAccessibility',
'hasAudioEncoder',
'hasAudio',
'hasEmbeddedVideo',
'hasMP3',
'hasPrinting',
'hasScreenBroadcast',
'hasScreenPlayback',
'hasStreamingAudio',
'hasStreamingVideo',
'hasVideoEncoder',
'isDebugger',
'language',
'localFileReadDisable',
'manufacturer',
'os',
'pixelAspectRatio',
'playerType',
'screenColor',
'screenDPI',
'screenResolutionX',
'screenResolutionY',
'serverString',
'version'
),
38 => array (
'allowDomain',
'allowInsecureDomain',
'loadPolicyFile'
),
39 => array (
'exactSettings',
'setClipboard',
'showSettings',
'useCodepage'
),
40 => array (
'getStyle',
'getStyleNames',
'parseCSS',
'setStyle',
'transform'
),
41 => array (
'autoSize',
'background',
'backgroundColor',
'border',
'borderColor',
'bottomScroll',
'condenseWhite',
'embedFonts',
'getFontList',
'getNewTextFormat',
'getTextFormat',
'hscroll',
'htmlText',
'html',
'maxChars',
'maxhscroll',
'maxscroll',
'mouseWheelEnabled',
'multiline',
'onScroller',
'password',
'removeTextField',
'replaceSel',
'replaceText',
'restrict',
'scroll',
'selectable',
'setNewTextFormat',
'setTextFormat',
'styleSheet',
'tabEnabled',
'tabIndex',
'textColor',
'textHeight',
'textWidth',
'text',
'type',
'_url',
'variable',
'wordWrap'
),
42 => array (
'blockIndent',
'bold',
'bullet',
'font',
'getTextExtent',
'indent',
'italic',
'leading',
'leftMargin',
'rightMargin',
'size',
'tabStops',
'underline'
),
43 => array (
'findText',
'getCount',
'getSelected',
'getSelectedText',
'getText',
'hitTestTextNearPos',
'setSelectColor',
'setSelected'
),
44 => array (
'begin',
'change',
'continueTo',
'fforward',
'finish',
'func',
'FPS',
'getPosition',
'isPlaying',
'looping',
'obj',
'onMotionChanged',
'onMotionFinished',
'onMotionLooped',
'onMotionStarted',
'onMotionResumed',
'onMotionStopped',
'prop',
'rewind',
'resume',
'setPosition',
'time',
'userSeconds',
'yoyo'
),
45 => array (
'attachVideo',
'deblocking',
'smoothing'
),
46 => array (
'addRequestHeader',
'appendChild',
'attributes',
'childNodes',
'cloneNode',
'contentType',
'createElement',
'createTextNode',
'docTypeDecl',
'firstChild',
'hasChildNodes',
'ignoreWhite',
'insertBefore',
'lastChild',
'nextSibling',
'nodeName',
'nodeType',
'nodeValue',
'parentNode',
'parseXML',
'previousSibling',
'removeNode',
'xmlDecl'
),
47 => array (
'onClose',
'onXML'
),
48 => array (
'add',
'and',
'_highquality',
'chr',
'eq',
'ge',
'ifFrameLoaded',
'int',
'le',
'it',
'mbchr',
'mblength',
'mbord',
'ne',
'not',
'or',
'ord',
'tellTarget',
'toggleHighQuality'
),
49 => array (
'ASSetPropFlags',
'ASnative',
'ASconstructor',
'AsSetupError',
'FWEndCommand',
'FWJavascript',
'MMEndCommand',
'MMSave',
'XMLUI'
),
50 => array (
'System.capabilities'
),
51 => array (
'System.security'
),
52 => array (
'TextField.StyleSheet'
)
),
'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,
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
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #0000ff;',
2 => 'color: #006600;',
3 => 'color: #000080;',
4 => 'color: #006600;',
5 => 'color: #006600;',
6 => 'color: #006600;',
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;',
17 => 'color: #006600;',
18 => 'color: #006600;',
19 => 'color: #006600;',
20 => 'color: #006600;',
21 => 'color: #006600;',
22 => 'color: #006600;',
23 => 'color: #006600;',
24 => 'color: #006600;',
25 => 'color: #006600;',
26 => 'color: #006600;',
27 => 'color: #006600;',
28 => 'color: #006600;',
29 => 'color: #006600;',
30 => 'color: #006600;',
31 => 'color: #006600;',
32 => 'color: #006600;',
33 => 'color: #006600;',
34 => 'color: #006600;',
35 => 'color: #006600;',
36 => 'color: #006600;',
37 => 'color: #006600;',
38 => 'color: #006600;',
39 => 'color: #006600;',
40 => 'color: #006600;',
41 => 'color: #006600;',
42 => 'color: #006600;',
43 => 'color: #006600;',
44 => 'color: #006600;',
45 => 'color: #006600;',
46 => 'color: #006600;',
47 => 'color: #006600;',
48 => 'color: #CC0000;',
49 => 'color: #5700d1;',
50 => 'color: #006600;',
51 => 'color: #006600;',
52 => 'color: #CC0000;'
),
'COMMENTS' => array(
1 => 'color: #ff8000; font-style: italic;',
2 => 'color: #ff8000; font-style: italic;',
'MULTI' => 'color: #ff8000; font-style: italic;'
),
'ESCAPE_CHAR' => array(
0 => 'color: #000099; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #333333;'
),
'STRINGS' => array(
0 => 'color: #333333; background-color: #eeeeee;'
),
'NUMBERS' => array(
0 => 'color: #c50000;'
),
'SYMBOLS' => array(
0 => 'color: #000000;'
),
'METHODS' => array(
1 => 'color: #006600;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => 'http://wiki.media-box.net/documentation/flash/{FNAME}',
2 => 'http://wiki.media-box.net/documentation/flash/{FNAME}',
3 => 'http://wiki.media-box.net/documentation/flash/{FNAME}',
4 => 'http://wiki.media-box.net/documentation/flash/accessibility/{FNAME}',
5 => 'http://wiki.media-box.net/documentation/flash/arguments/{FNAME}',
6 => 'http://wiki.media-box.net/documentation/flash/array/{FNAME}',
7 => 'http://wiki.media-box.net/documentation/flash/boolean/{FNAME}',
8 => 'http://wiki.media-box.net/documentation/flash/button/{FNAME}',
9 => 'http://wiki.media-box.net/documentation/flash/camera/{FNAME}',
10 => 'http://wiki.media-box.net/documentation/flash/color/{FNAME}',
11 => 'http://wiki.media-box.net/documentation/flash/contextmenuitem/{FNAME}',
12 => 'http://wiki.media-box.net/documentation/flash/contextmenu/{FNAME}',
13 => 'http://wiki.media-box.net/documentation/flash/cookie/{FNAME}',
14 => 'http://wiki.media-box.net/documentation/flash/customactions/{FNAME}',
15 => 'http://wiki.media-box.net/documentation/flash/date/{FNAME}',
16 => 'http://wiki.media-box.net/documentation/flash/error/{FNAME}',
17 => 'http://wiki.media-box.net/documentation/flash/function/{FNAME}',
18 => 'http://wiki.media-box.net/documentation/flash/key/{FNAME}',
19 => 'http://wiki.media-box.net/documentation/flash/loadvars/{FNAME}',
20 => 'http://wiki.media-box.net/documentation/flash/localconnection/{FNAME}',
21 => 'http://wiki.media-box.net/documentation/flash/math/{FNAME}',
22 => 'http://wiki.media-box.net/documentation/flash/microphone/{FNAME}',
23 => 'http://wiki.media-box.net/documentation/flash/mouse/{FNAME}',
24 => 'http://wiki.media-box.net/documentation/flash/movieclip/{FNAME}',
25 => 'http://wiki.media-box.net/documentation/flash/moviecliploader/{FNAME}',
26 => 'http://wiki.media-box.net/documentation/flash/netstream/{FNAME}',
27 => 'http://wiki.media-box.net/documentation/flash/number/{FNAME}',
28 => 'http://wiki.media-box.net/documentation/flash/object/{FNAME}',
29 => 'http://wiki.media-box.net/documentation/flash/printJob/{FNAME}',
30 => 'http://wiki.media-box.net/documentation/flash/selection/{FNAME}',
31 => 'http://wiki.media-box.net/documentation/flash/sharedobject/{FNAME}',
32 => 'http://wiki.media-box.net/documentation/flash/sound/{FNAME}',
33 => 'http://wiki.media-box.net/documentation/flash/selection/{FNAME}',
34 => 'http://wiki.media-box.net/documentation/flash/sharedobject/{FNAME}',
35 => 'http://wiki.media-box.net/documentation/flash/stage/{FNAME}',
36 => 'http://wiki.media-box.net/documentation/flash/string/{FNAME}',
37 => 'http://wiki.media-box.net/documentation/flash/system/capabilities/{FNAME}',
38 => 'http://wiki.media-box.net/documentation/flash/system/security/{FNAME}',
39 => 'http://wiki.media-box.net/documentation/flash/system/{FNAME}',
40 => 'http://wiki.media-box.net/documentation/flash/textfield/stylesheet/{FNAME}',
41 => 'http://wiki.media-box.net/documentation/flash/textfield/{FNAME}',
42 => 'http://wiki.media-box.net/documentation/flash/textformat/{FNAME}',
43 => 'http://wiki.media-box.net/documentation/flash/textsnapshot/{FNAME}',
44 => 'http://wiki.media-box.net/documentation/flash/tween/{FNAME}',
45 => 'http://wiki.media-box.net/documentation/flash/video/{FNAME}',
46 => 'http://wiki.media-box.net/documentation/flash/xml/{FNAME}',
47 => 'http://wiki.media-box.net/documentation/flash/xmlsocket/{FNAME}',
48 => 'http://wiki.media-box.net/documentation/flash/{FNAME}',
49 => 'http://wiki.media-box.net/documentation/flash/{FNAME}',
50 => 'http://wiki.media-box.net/documentation/flash/system/capabilities',
51 => 'http://wiki.media-box.net/documentation/flash/system/security',
52 => 'http://wiki.media-box.net/documentation/flash/textfield/stylesheet'
),
'OOLANG' => true,
'OBJECT_SPLITTERS' => array(
1 => '.'
),
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(),
'HIGHLIGHT_STRICT_BLOCK' => array()
);
?>

View file

@ -1,197 +0,0 @@
<?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.11
* 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()
);
?>

View file

@ -1,473 +0,0 @@
<?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.11
* 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)\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(?<!\s)\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])*(?<!\s)\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?!\s)(?:\\\\.|(?!\n)[^\\/\\\\])+(?<!\s)\\/[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', 'override'
),
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()
);
?>

View file

@ -1,135 +0,0 @@
<?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.11
* 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(
)
);
?>

View file

@ -1,329 +0,0 @@
<?php
/*************************************************************************************
* algol68.php
* --------
* Author: Neville Dempsey (NevilleD.sourceforge@sgr-a.net)
* Copyright: (c) 2010 Neville Dempsey (https://sourceforge.net/projects/algol68/files/)
* Release Version: 1.0.8.11
* Date Started: 2010/04/24
*
* ALGOL 68 language file for GeSHi.
*
* CHANGES
* -------
* 2010/04/24 (1.0.8.8.0)
* - First Release - machine generated by http://rosettacode.org/geshi/
* 2010/05/24 (1.0.8.8.1)
* - #2324 - converted comment detection to RegEx
* 2010/06/16 (1.0.8.8.2)
* - separate symbols from keywords - quick fix
* 2010/06/16 (1.0.8.8.3)
* - reverse length order symbols
* - Add RegEx for BITS and REAL literals (INT to do)
* - recognise LONG and SHORT prefixes to literals
* 2010/07/23 (1.0.8.8.4)
* - fix errors detected by langcheck.php, eg rm tab, fix indenting, rm duplicate keywords, fix symbols as keywords etc
* - removed bulk of local variables from name space.
* - unfolded arrays
*
* TODO (updated yyyy/mm/dd)
* -------------------------
* - Use "Parser Control" to fix KEYWORD parsing, eg: (INT minus one= -1; print(ABSminus one))
* - Parse $FORMATS$ more fully - if possible.
* - Pull reserved words from the source of A68G and A68RS
* - Pull stdlib PROC/OP/MODE symbols from the soruce of A68G and A68RS
* - Pull PROC/OP/MODE extensions from the soruce of A68G and A68RS
* - Use RegEx to detect extended precision PROC names, eg 'long long sin' etc
* - Use RegEx to detect white space std PROC names, eg 'new line'
* - Use RegEx to detect white space ext PROC names, eg 'cgs speed of light'
* - Use RegEx to detect BOLD symbols, eg userdefined MODEs and OPs
* - Add REgEx for INT literals - Adding INT breaks formatting...
* - Adding PIPE as a key word breaks formatting of "|" symbols!!
*
*************************************************************************************
*
* 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
*
************************************************************************************/
if(!function_exists('geshi_langfile_algol68_vars')) {
function geshi_langfile_algol68_vars(){
$pre='(?<![0-9a-z_\.])';
$post='?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)';
$post=""; # assuming the RegEx is greedy #
$_="\s*";
$srad="Rr"; $rrad="[".$srad."]"; # either one digit, OR opt-space in digits #
$sbin="0-1"; $rbin="[".$sbin."]"; $_bin=$rbin."(?:[".$sbin."\s]*".$rbin."|)";
$snib="0-3"; $rnib="[".$snib."]"; $_nib=$rnib."(?:[".$snib."\s]*".$rnib."|)";
$soct="0-7"; $roct="[".$soct."]"; $_oct=$roct."(?:[".$soct."\s]*".$roct."|)";
$sdec="0-9"; $rdec="[".$sdec."]"; $_dec=$rdec."(?:[".$sdec."\s]*".$rdec."|)";
$shex="0-9A-Fa-f"; $rhex="[".$shex."]"; $_hex=$rhex."(?:[".$shex."\s]*".$rhex."|)";
# Define BITS: #
$prebits=$pre; $postbits=$post;
$bl="2".$_.$rrad.$_.$_bin;
$bl=$bl."|"."2".$_.$rrad.$_.$_bin;
$bl=$bl."|"."4".$_.$rrad.$_.$_nib;
$bl=$bl."|"."8".$_.$rrad.$_.$_oct;
$bl=$bl."|"."1".$_."0".$_.$rrad.$_.$_dec;
$bl=$bl."|"."1".$_."6".$_.$rrad.$_.$_hex;
# Define INT: #
$preint=$pre; $postint=$post;
# for some reason ".0 e - 2" is not recognised, but ".0 e + 2" IS!
# work around: remove spaces between sign and digits! Maybe because
# of the Unary '-' Operator
$sign_="(?:-|\-|[-]|[\-]|\+|)"; # attempts #
$sign_="(?:-\s*|\+\s*|)"; # n.b. sign is followed by white space #
$_int=$sign_.$_dec;
$il= $_int; # +_9 #
$GESHI_NUMBER_INT_BASIC='(?:(?<![0-9a-z_\.%])|(?<=\.\.))(?<![\d\.]e[+\-])([1-9]\d*?|0)(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)';
# Define REAL: #
$prereal=$pre; $postreal=$post;
$sexp="Ee\\\\"; $_exp="(?:⏨|[".$sexp."])".$_.$_int;
$_decimal="[.]".$_.$_dec;
# Add permitted permutations of various parts #
$rl= $_int.$_.$_decimal.$_.$_exp; # +_9_._9_e_+_9 #
$rl=$rl."|".$_int.$_."[.]".$_.$_exp; # +_9_.___e_+_9 #
$rl=$rl."|".$_int.$_.$_exp; # +_9_____e_+_9 #
$rl=$rl."|".$sign_.$_decimal.$_.$_exp; # +___._9_e_+_9 #
$rl=$rl."|".$_int.$_.$_decimal; # +_9_._9 #
$rl=$rl."|".$sign_.$_decimal; # +___._9 #
# The following line damaged formatting...
#$rl=$rl."|".$_int; # +_9 #
# Apparently Algol68 does not support '2.', c.f. Algol 68G
#$rl=$rl."|".$_int.$_."[.]"; # +_9_. #
# Literal prefixes are overridden by KEYWORDS :-(
$LONGS="(?:(?:(LONG\s+)*|(SHORT\s+))*|)";
return array(
"BITS" => $prebits.$LONGS."(?:".$bl.")".$postbits,
"INT" => $preint.$LONGS."(?:".$il.")".$postint,
"REAL" => $prereal.$LONGS."(?:".$rl.")".$postreal,
"BOLD" => 'color: #b1b100; font-weight: bold;',
"ITALIC" => 'color: #b1b100;', # procedures traditionally italic #
"NONSTD" => 'color: #FF0000; font-weight: bold;', # RED #
"COMMENT" => 'color: #666666; font-style: italic;'
);
}
}
$a68=geshi_langfile_algol68_vars();
$language_data = array(
'LANG_NAME' => 'ALGOL 68',
'COMMENT_SINGLE' => array(),
'COMMENT_MULTI' => array(
'¢' => '¢',
'£' => '£',
'#' => '#',
),
'COMMENT_REGEXP' => array(
1 => '/\bCO((?:MMENT)?)\b.*?\bCO\\1\b/i',
2 => '/\bPR((?:AGMAT)?)\b.*?\bPR\\1\b/i',
3 => '/\bQUOTE\b.*?\bQUOTE\b/i'
),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array('"'),
'ESCAPE_CHAR' => '"',
'NUMBERS' => GESHI_NUMBER_HEX_SUFFIX, # Warning: Feature!! #
# GESHI_NUMBER_HEX_SUFFIX, # Attempt ignore default #
'KEYWORDS' => array(
# Extensions
1 => array('KEEP', 'FINISH', 'USE', 'SYSPROCS', 'IOSTATE', 'USING', 'ENVIRON', 'PROGRAM', 'CONTEXT'),
# 2 => array('CASE', 'IN', 'OUSE', 'IN', 'OUT', 'ESAC', '(', '|', '|:', ')', 'FOR', 'FROM', 'TO', 'BY', 'WHILE', 'DO', 'OD', 'IF', 'THEN', 'ELIF', 'THEN', 'ELSE', 'FI', 'PAR', 'BEGIN', 'EXIT', 'END', 'GO', 'GOTO', 'FORALL', 'UPTO', 'DOWNTO', 'FOREACH', 'ASSERT'), #
2 => array('CASE', 'IN', 'OUSE', /* 'IN',*/ 'OUT', 'ESAC', 'PAR', 'BEGIN', 'EXIT', 'END', 'GO TO', 'GOTO', 'FOR', 'FROM', 'TO', 'BY', 'WHILE', 'DO', 'OD', 'IF', 'THEN', 'ELIF', /* 'THEN',*/ 'ELSE', 'FI' ),
3 => array('BITS', 'BOOL', 'BYTES', 'CHAR', 'COMPL', 'INT', 'REAL', 'SEMA', 'STRING', 'VOID'),
4 => array('MODE', 'OP', 'PRIO', 'PROC', 'FLEX', 'HEAP', 'LOC', 'REF', 'LONG', 'SHORT', 'EITHER'),
# Extensions or deprecated keywords
# 'PIPE': keyword somehow interferes with the internal operation of GeSHi
5 => array('FORALL', 'UPTO', 'DOWNTO', 'FOREACH', 'ASSERT', 'CTB', 'CT', 'CTAB', 'COMPLEX', 'VECTOR', 'SOUND' /*, 'PIPE'*/),
6 => array('CHANNEL', 'FILE', 'FORMAT', 'STRUCT', 'UNION', 'OF'),
# '(', '|', '|:', ')', #
# 7 => array('OF', 'AT', '@', 'IS', ':=:', 'ISNT', ':/=:', ':≠:', 'CTB', 'CT', '::', 'CTAB', '::=', 'TRUE', 'FALSE', 'EMPTY', 'NIL', '○', 'SKIP', '~'),
7 => array('AT', 'IS', 'ISNT', 'TRUE', 'FALSE', 'EMPTY', 'NIL', 'SKIP'),
8 => array('NOT', 'UP', 'DOWN', 'LWB', 'UPB', /* '-',*/ 'ABS', 'ARG', 'BIN', 'ENTIER', 'LENG', 'LEVEL', 'ODD', 'REPR', 'ROUND', 'SHORTEN', 'CONJ', 'SIGN'),
# OPERATORS ordered roughtly by PRIORITY #
# 9 => array('¬', '↑', '↓', '⌊', '⌈', '~', '⎩', '⎧'),
# 10 => array('+*', 'I', '+×', '⊥', '!', '⏨'),
10 => array('I'),
# 11 => array('SHL', 'SHR', '**', 'UP', 'DOWN', 'LWB', 'UPB', '↑', '↓', '⌊', '⌈', '⎩', '⎧'),
11 => array('SHL', 'SHR', /*'UP', 'DOWN', 'LWB', 'UPB'*/),
# 12 => array('*', '/', '%', 'OVER', '%*', 'MOD', 'ELEM', '×', '÷', '÷×', '÷*', '%×', '□', '÷:'),
12 => array('OVER', 'MOD', 'ELEM'),
# 13 => array('-', '+'),
# 14 => array('<', 'LT', '<=', 'LE', '>=', 'GE', '>', 'GT', '≤', '≥'),
14 => array('LT', 'LE', 'GE', 'GT'),
# 15 => array('=', 'EQ', '/=', 'NE', '≠', '~='),
15 => array('EQ', 'NE'),
# 16 => array('&', 'AND', '∧', 'OR', '', '/\\', '\\/'),
16 => array('AND', 'OR'),
17 => array('MINUSAB', 'PLUSAB', 'TIMESAB', 'DIVAB', 'OVERAB', 'MODAB', 'PLUSTO'),
# 18 => array('-:=', '+:=', '*:=', '/:=', '%:=', '%*:=', '+=:', '×:=', '÷:=', '÷×:=', '÷*:=', '%×:=', '÷::=', 'MINUS', 'PLUS', 'DIV', 'MOD', 'PRUS'),
# Extensions or deprecated keywords
18 => array('MINUS', 'PLUS', 'DIV', /* 'MOD',*/ 'PRUS', 'IS NOT'),
# Extensions or deprecated keywords
19 => array('THEF', 'ANDF', 'ORF', 'ANDTH', 'OREL', 'ANDTHEN', 'ORELSE'),
# Built in procedures - from standard prelude #
20 => array('int lengths', 'intlengths', 'int shorths', 'intshorths', 'max int', 'maxint', 'real lengths', 'reallengths', 'real shorths', 'realshorths', 'bits lengths', 'bitslengths', 'bits shorths', 'bitsshorths', 'bytes lengths', 'byteslengths', 'bytes shorths', 'bytesshorths', 'max abs char', 'maxabschar', 'int width', 'intwidth', 'long int width', 'longintwidth', 'long long int width', 'longlongintwidth', 'real width', 'realwidth', 'long real width', 'longrealwidth', 'long long real width', 'longlongrealwidth', 'exp width', 'expwidth', 'long exp width', 'longexpwidth', 'long long exp width', 'longlongexpwidth', 'bits width', 'bitswidth', 'long bits width', 'longbitswidth', 'long long bits width', 'longlongbitswidth', 'bytes width', 'byteswidth', 'long bytes width', 'longbyteswidth', 'max real', 'maxreal', 'small real', 'smallreal', 'long max int', 'longmaxint', 'long long max int', 'longlongmaxint', 'long max real', 'longmaxreal', 'long small real', 'longsmallreal', 'long long max real', 'longlongmaxreal', 'long long small real', 'longlongsmallreal', 'long max bits', 'longmaxbits', 'long long max bits', 'longlongmaxbits', 'null character', 'nullcharacter', 'blank', 'flip', 'flop', 'error char', 'errorchar', 'exp char', 'expchar', 'newline char', 'newlinechar', 'formfeed char', 'formfeedchar', 'tab char', 'tabchar'),
21 => array('stand in channel', 'standinchannel', 'stand out channel', 'standoutchannel', 'stand back channel', 'standbackchannel', 'stand draw channel', 'standdrawchannel', 'stand error channel', 'standerrorchannel'),
22 => array('put possible', 'putpossible', 'get possible', 'getpossible', 'bin possible', 'binpossible', 'set possible', 'setpossible', 'reset possible', 'resetpossible', 'reidf possible', 'reidfpossible', 'draw possible', 'drawpossible', 'compressible', 'on logical file end', 'onlogicalfileend', 'on physical file end', 'onphysicalfileend', 'on line end', 'onlineend', 'on page end', 'onpageend', 'on format end', 'onformatend', 'on value error', 'onvalueerror', 'on open error', 'onopenerror', 'on transput error', 'ontransputerror', 'on format error', 'onformaterror', 'open', 'establish', 'create', 'associate', 'close', 'lock', 'scratch', 'space', 'new line', 'newline', 'print', 'write f', 'writef', 'print f', 'printf', 'write bin', 'writebin', 'print bin', 'printbin', 'read f', 'readf', 'read bin', 'readbin', 'put f', 'putf', 'get f', 'getf', 'make term', 'maketerm', 'make device', 'makedevice', 'idf', 'term', 'read int', 'readint', 'read long int', 'readlongint', 'read long long int', 'readlonglongint', 'read real', 'readreal', 'read long real', 'readlongreal', 'read long long real', 'readlonglongreal', 'read complex', 'readcomplex', 'read long complex', 'readlongcomplex', 'read long long complex', 'readlonglongcomplex', 'read bool', 'readbool', 'read bits', 'readbits', 'read long bits', 'readlongbits', 'read long long bits', 'readlonglongbits', 'read char', 'readchar', 'read string', 'readstring', 'print int', 'printint', 'print long int', 'printlongint', 'print long long int', 'printlonglongint', 'print real', 'printreal', 'print long real', 'printlongreal', 'print long long real', 'printlonglongreal', 'print complex', 'printcomplex', 'print long complex', 'printlongcomplex', 'print long long complex', 'printlonglongcomplex', 'print bool', 'printbool', 'print bits', 'printbits', 'print long bits', 'printlongbits', 'print long long bits', 'printlonglongbits', 'print char', 'printchar', 'print string', 'printstring', 'whole', 'fixed', 'float'),
23 => array('pi', 'long pi', 'longpi', 'long long pi', 'longlongpi'),
24 => array('sqrt', 'curt', 'cbrt', 'exp', 'ln', 'log', 'sin', 'arc sin', 'arcsin', 'cos', 'arc cos', 'arccos', 'tan', 'arc tan', 'arctan', 'long sqrt', 'longsqrt', 'long curt', 'longcurt', 'long cbrt', 'longcbrt', 'long exp', 'longexp', 'long ln', 'longln', 'long log', 'longlog', 'long sin', 'longsin', 'long arc sin', 'longarcsin', 'long cos', 'longcos', 'long arc cos', 'longarccos', 'long tan', 'longtan', 'long arc tan', 'longarctan', 'long long sqrt', 'longlongsqrt', 'long long curt', 'longlongcurt', 'long long cbrt', 'longlongcbrt', 'long long exp', 'longlongexp', 'long long ln', 'longlongln', 'long long log', 'longlonglog', 'long long sin', 'longlongsin', 'long long arc sin', 'longlongarcsin', 'long long cos', 'longlongcos', 'long long arc cos', 'longlongarccos', 'long long tan', 'longlongtan', 'long long arc tan', 'longlongarctan'),
25 => array('first random', 'firstrandom', 'next random', 'nextrandom', 'long next random', 'longnextrandom', 'long long next random', 'longlongnextrandom'),
26 => array('real', 'bits pack', 'bitspack', 'long bits pack', 'longbitspack', 'long long bits pack', 'longlongbitspack', 'bytes pack', 'bytespack', 'long bytes pack', 'longbytespack', 'char in string', 'charinstring', 'last char in string', 'lastcharinstring', 'string in string', 'stringinstring'),
27 => array('utc time', 'utctime', 'local time', 'localtime', 'argc', 'argv', 'get env', 'getenv', 'reset errno', 'reseterrno', 'errno', 'strerror'),
28 => array('sinh', 'long sinh', 'longsinh', 'long long sinh', 'longlongsinh', 'arc sinh', 'arcsinh', 'long arc sinh', 'longarcsinh', 'long long arc sinh', 'longlongarcsinh', 'cosh', 'long cosh', 'longcosh', 'long long cosh', 'longlongcosh', 'arc cosh', 'arccosh', 'long arc cosh', 'longarccosh', 'long long arc cosh', 'longlongarccosh', 'tanh', 'long tanh', 'longtanh', 'long long tanh', 'longlongtanh', 'arc tanh', 'arctanh', 'long arc tanh', 'longarctanh', 'long long arc tanh', 'longlongarctanh', 'arc tan2', 'arctan2', 'long arc tan2', 'longarctan2', 'long long arc tan2', 'longlongarctan2'),
29 => array('complex sqrt', 'complexsqrt', 'long complex sqrt', 'longcomplexsqrt', 'long long complex sqrt', 'longlongcomplexsqrt', 'complex exp', 'complexexp', 'long complex exp', 'longcomplexexp', 'long long complex exp', 'longlongcomplexexp', 'complex ln', 'complexln', 'long complex ln', 'longcomplexln', 'long long complex ln', 'longlongcomplexln', 'complex sin', 'complexsin', 'long complex sin', 'longcomplexsin', 'long long complex sin', 'longlongcomplexsin', 'complex arc sin', 'complexarcsin', 'long complex arc sin', 'longcomplexarcsin', 'long long complex arc sin', 'longlongcomplexarcsin', 'complex cos', 'complexcos', 'long complex cos', 'longcomplexcos', 'long long complex cos', 'longlongcomplexcos', 'complex arc cos', 'complexarccos', 'long complex arc cos', 'longcomplexarccos', 'long long complex arc cos', 'longlongcomplexarccos', 'complex tan', 'complextan', 'long complex tan', 'longcomplextan', 'long long complex tan', 'longlongcomplextan', 'complex arc tan', 'complexarctan', 'long complex arc tan', 'longcomplexarctan', 'long long complex arc tan', 'longlongcomplexarctan', 'complex sinh', 'complexsinh', 'complex arc sinh', 'complexarcsinh', 'complex cosh', 'complexcosh', 'complex arc cosh', 'complexarccosh', 'complex tanh', 'complextanh', 'complex arc tanh', 'complexarctanh')
),
'SYMBOLS' => array(
1 => array( /* reverse length sorted... */ '÷×:=', '%×:=', ':≠:', '÷*:=', '÷::=', '%*:=', ':/=:', '×:=', '÷:=', '÷×', '%:=', '%×', '*:=', '+:=', '+=:', '+×', '-:=', '/:=', '::=', ':=:', '÷*', '÷:', '↑', '↓', '∧', '', '≠', '≤', '≥', '⊥', '⌈', '⌊', '⎧', '⎩', /* '⏨', */ '□', '○', '%*', '**', '+*', '/=', '::', '/\\', '\\/', '<=', '>=', '|:', '~=', '¬', '×', '÷', '!', '%', '&', '(', ')', '*', '+', ',', '-', '/', ':', ';', '<', '=', '>', '?', '@', '[', ']', '^', '{', '|', '}', '~')
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => true,
2 => true,
3 => true,
4 => true,
5 => true,
6 => true,
7 => true,
8 => true,
# 9 => true,
10 => true,
11 => true,
12 => true,
# 13 => true,
14 => true,
15 => true,
16 => true,
17 => true,
18 => true,
19 => true,
20 => true,
21 => true,
22 => true,
23 => true,
24 => true,
25 => true,
26 => true,
27 => true,
28 => true,
29 => true
),
'STYLES' => array(
'KEYWORDS' => array(
1 => $a68['NONSTD'], 2 => $a68['BOLD'], 3 => $a68['BOLD'], 4 => $a68['BOLD'],
5 => $a68['NONSTD'], 6 => $a68['BOLD'], 7 => $a68['BOLD'], 8 => $a68['BOLD'],
/* 9 => $a68['BOLD'],*/ 10 => $a68['BOLD'], 11 => $a68['BOLD'], 12 => $a68['BOLD'],
/* 13 => $a68['BOLD'],*/ 14 => $a68['BOLD'], 15 => $a68['BOLD'], 16 => $a68['BOLD'], 17 => $a68['BOLD'],
18 => $a68['NONSTD'], 19 => $a68['NONSTD'],
20 => $a68['ITALIC'], 21 => $a68['ITALIC'], 22 => $a68['ITALIC'], 23 => $a68['ITALIC'],
24 => $a68['ITALIC'], 25 => $a68['ITALIC'], 26 => $a68['ITALIC'], 27 => $a68['ITALIC'],
28 => $a68['ITALIC'], 29 => $a68['ITALIC']
),
'COMMENTS' => array(
1 => $a68['COMMENT'], 2 => $a68['COMMENT'], 3 => $a68['COMMENT'], /* 4 => $a68['COMMENT'],
5 => $a68['COMMENT'],*/ 'MULTI' => $a68['COMMENT']
),
'ESCAPE_CHAR' => array(
0 => 'color: #000099; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #009900;'
),
'STRINGS' => array(
0 => 'color: #0000ff;'
),
'NUMBERS' => array(
0 => 'color: #cc66cc;',
),
'METHODS' => array(
0 => 'color: #004000;',
1 => 'color: #004000;'
),
'SYMBOLS' => array(
0 => 'color: #339933;',
1 => 'color: #339933;'
),
'REGEXPS' => array(
0 => 'color: #cc66cc;', # BITS #
1 => 'color: #cc66cc;', # REAL #
/* 2 => 'color: #cc66cc;', # INT # */
),
'SCRIPT' => array()
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
5 => '',
6 => '',
7 => '',
8 => '',
# 9 => '',
10 => '',
11 => '',
12 => '',
# 13 => '',
14 => '',
15 => '',
16 => '',
17 => '',
18 => '',
19 => '',
20 => '',
21 => '',
22 => '',
23 => '',
24 => '',
25 => '',
26 => '',
27 => '',
28 => '',
29 => ''
),
'OOLANG' => true,
'OBJECT_SPLITTERS' => array(
0 => '→',
1 => 'OF'
),
'REGEXPS' => array(
0 => $a68['BITS'],
1 => $a68['REAL']
# 2 => $a68['INT'], # Breaks formatting for some reason #
# 2 => $GESHI_NUMBER_INT_BASIC # Also breaks formatting #
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(),
'HIGHLIGHT_STRICT_BLOCK' => array()
);
unset($a68);
?>

View file

@ -1,483 +0,0 @@
<?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.11
* 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_upload_progress
'ReportUploads', 'TrackUploads', 'UploadProgressSharedMemorySize',
//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;)',
)
)
)
);
?>

View file

@ -1,157 +0,0 @@
<?php
/*************************************************************************************
* applescript.php
* --------
* Author: Stephan Klimek (http://www.initware.org)
* Copyright: Stephan Klimek (http://www.initware.org)
* Release Version: 1.0.8.11
* 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(
')','+','-','^','*','/','&','<','>=','<','<=','=','<27>'
),
'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
)
)
);
?>

View file

@ -1,148 +0,0 @@
<?php
/*************************************************************************************
* apt_sources.php
* ----------
* Author: Milian Wolff (mail@milianw.de)
* Copyright: (c) 2008 Milian Wolff (http://milianw.de)
* Release Version: 1.0.8.11
* 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', 'wheezy', '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',
'jaunty', 'jaunty-updates', 'jaunty-security', 'jaunty-proposed', 'jaunty-backports',
'karmic', 'karmic-updates', 'karmic-security', 'karmic-proposed', 'karmic-backports',
'lucid', 'lucid-updates', 'lucid-security', 'lucid-proposed', 'lucid-backports',
'maverick', 'maverick-updates', 'maverick-security', 'maverick-proposed', 'maverick-backports'
),
3 => array(
'main', 'restricted', 'preview', 'contrib', 'non-free',
'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
);
?>

File diff suppressed because it is too large Load diff

View file

@ -1,603 +0,0 @@
<?php
/*************************************************************************************
* asm.php
* -------
* Author: Tux (tux@inmail.cz)
* Copyright: (c) 2004 Tux (http://tux.a4.cz/),
* 2004-2009 Nigel McNie (http://qbnz.com/highlighter),
* 2009-2011 Benny Baumann (http://qbnz.com/highlighter),
* 2011 Dennis Yurichev (dennis@conus.info),
* 2011 Marat Dukhan (mdukhan3.at.gatech.dot.edu)
* Release Version: 1.0.8.11
* Date Started: 2004/07/27
*
* x86 Assembler language file for GeSHi.
* Based on the following documents:
* - "Intel64 and IA-32 Architectures Programmer's Reference Manual
* Volume 2 (2A & 2B): Instructions Set Reference, A-Z",
* Order Number 25383-039US, May 2011
* - "Intel Advanced Vector Extensions Programming Reference",
* Order Number 319433-011, June 2011
* - "AMD64 Architecture Programmer's Manual Volume 3:
* General-Purpose and System Instructions", Publication No. 24594,
* Revision 3.15, November 2009
* - "AMD64 Architecture Programmer's Manual Volume 4:
* 128-Bit and 256-Bit Media Instructions", Publication No. 26568,
* Revision 3.12, May 2011
* - "AMD64 Architecture Programmer's Manual Volume 5:
* 64-Bit Media and x87 Floating-Point Instructions",
* Publication No. 26569, Revision 3.11, December 2009
* - "AMD64 Technology Lightweight Profiling Specification",
* Publication No. 43724, Revision 3.08, August 2010
* - "Application Note 108: Cyrix Extended MMX Instruction Set"
* - "VIA Padlock Programming Guide", 3rd May 2005
* - http://en.wikipedia.org/wiki/X86_instruction_listings
* - NASM 2.10rc8 Online Documenation at
* http://www.nasm.us/xdoc/2.10rc8/html/nasmdoc0.html
* Color scheme is taken from SciTE. Previous versions of this file
* also used words from SciTE configuration file (based on NASM syntax)
*
* CHANGES
* -------
* 2011/10/07
* - Rearranged instructions and registers into groups
* - Updated to support the following extensions
* - CMOV, BMI1, BMI2, TBM, FSGSBASE
* - LZCNT, TZCNT, POPCNT, MOVBE, CRC32
* - MMX, MMX+, EMMX
* - 3dnow!, 3dnow!+, 3dnow! Geode, 3dnow! Prefetch
* - SSE, SSE2, SSE3, SSSE3, SSE4A, SSE4.1, SSE4.2
* - AVX, AVX2, XOP, FMA3, FMA4, CVT16
* - VMX, SVM
* - AES, PCLMULQDQ, Padlock, RDRAND
* - Updated NASM macros and directives
* 2010/07/01 (1.0.8.11)
* - Added MMX/SSE/new x86-64 registers, MMX/SSE (up to 4.2) instructions
* 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(
/* General-Purpose */
1 => array(
/* BCD instructions */
'aaa','aad','aam','aas','daa','das',
/* Control flow instructions */
'ja','jae','jb','jbe','jc','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','jcxz','jecxz','jrcxz','loop','loope','loopne',
'call','ret','enter','leave','syscall','sysenter','int','into',
/* Predicate instructions */
'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','salc',
/* Conditional move instructions */
'cmovo','cmovno','cmovb','cmovc','cmovnae','cmovae','cmovnb','cmovnc','cmove','cmovz',
'cmovne','cmovnz','cmovbe','cmovna','cmova','cmovnbe','cmovs','cmovns','cmovp','cmovpe',
'cmovnp','cmovpo','cmovl','cmovnge','cmovge','cmovnl','cmovle','cmovng','cmovg','cmovnle',
/* ALU instructions */
'add','sub','adc','sbb','neg','cmp','inc','dec','and','or','xor','not','test',
'shl','shr','sal','sar','shld','shrd','rol','ror','rcl','rcr',
'cbw','cwd','cwde','cdq','cdqe','cqo','bsf','bsr','bt','btc','btr','bts',
'idiv','imul','div','mul','bswap','nop',
/* Memory instructions */
'lea','mov','movsx','movsxd','movzx','xlatb','bound','xchg','xadd','cmpxchg','cmpxchg8b','cmpxchg16b',
/* Stack instructions */
'push','pop','pusha','popa','pushad','popad','pushf','popf','pushfd','popfd','pushfq','popfq',
/* EFLAGS manipulations instructions */
'clc','cld','stc','std','cmc','lahf','sahf',
/* Prefix instructions */
'lock','rep','repe','repz','repne','repnz',
/* String instructions */
'cmps','cmpsb','cmpsw',/*'cmpsd',*/ 'cmpsq', /*CMPSD conflicts with the SSE2 instructions of the same name*/
'movs','movsb','movsw',/*'movsd',*/ 'movsq', /*MOVSD conflicts with the SSE2 instructions of the same name*/
'scas','scasb','scasw','scasd','scasq',
'stos','stosb','stosw','stosd','stosq',
'lods','lodsb','lodsw','lodsd','lodsq',
/* Information instructions */
'cpuid','rdtsc','rdtscp','rdpmc','xgetbv',
'sgdt','sidt','sldt','smsw','str','lar',
/* LWP instructions */
'llwpcb','slwpcb','lwpval','lwpins',
/* Instructions from miscellaneous extensions */
'crc32','popcnt','lzcnt','tzcnt','movbe','pclmulqdq','rdrand',
/* FSGSBASE instructions */
'rdfsbase','rdgsbase','wrfsbase','wrgsbase',
/* BMI1 instructions */
'andn','bextr','blsi','blsmk','blsr',
/* BMI2 instructions */
'bzhi','mulx','pdep','pext','rorx','sarx','shlx','shrx',
/* TBM instructions */
'blcfill','blci','blcic','blcmsk','blcs','blsfill','blsic','t1mskc','tzmsk',
/* Legacy instructions */
'arpl','ud2','lds','les','lfs','lgs','lss','lsl','verr','verw',
/* Privileged instructions */
'cli','sti','clts','hlt','rsm','in','insb','insw','insd',
'out','outsb','outsw','outsd','clflush','invd','invlpg','invpcid','wbinvd',
'iret','iretd','iretq','sysexit','sysret','lidt','lgdt','lldt','lmsw','ltr',
'monitor','mwait','rdmsr','wrmsr','swapgs',
'fxsave','fxsave64','fxrstor','fxrstor64',
'xsave','xsaveopt','xrstor','xsetbv','getsec',
/* VMX instructions */
'invept','invvpid','vmcall','vmclear','vmlaunch','vmresume',
'vmptrld','vmptrst','vmread','vmwrite','vmxoff','vmxon',
/* SVM (AMD-V) instructions */
'invlpga','skinit','clgi','stgi','vmload','vmsave','vmmcall','vmrun'
),
/*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','ffreep',
/* FCMOV instructions */
'fcomi','fcomip','fucomi','fucomip',
'fcmovb','fcmove','fcmovbe','fcmovu','fcmovnb','fcmovne','fcmovnbe','fcmovnu',
/* SSE3 instructions */
'fisttp'
),
/*SIMD*/
3 => array(
/* MMX instructions */
'movd','movq',
'paddb','paddw','paddd','paddsb','paddsw','paddusb','paddusw',
'psubb','psubw','psubd','psubsb','psubsw','psubusb','psubusw',
'pand','pandn','por','pxor',
'pcmpeqb','pcmpeqd','pcmpeqw','pcmpgtb','pcmpgtd','pcmpgtw',
'pmaddwd','pmulhw','pmullw',
'psllw','pslld','psllq','psrlw','psrld','psrlq','psraw','psrad',
'packuswb','packsswb','packssdw',
'punpcklbw','punpcklwd','punpckldq','punpckhbw','punpckhwd','punpckhdq',
'emms',
/* MMX+ instructions */
'pavgb','pavgw',
'pextrw','pinsrw','pmovmskb',
'pmaxsw','pmaxub','pminsw','pminub',
'pmulhuw','psadbw','pshufw',
'prefetchnta','prefetcht0','prefetcht1','prefetcht2',
'maskmovq','movntq','sfence',
/* EMMX instructions (only available on Cyrix MediaGXm) */
'paddsiw','psubsiw',
/*'pmulhrw',*/'pmachriw','pmulhriw', /* PMULHRW conflicts with the 3dnow! instruction of the same name */
'pmagw','pdistib','paveb',
'pmvzb','pmvnzb','pmvlzb','pmvgezb',
/* 3dnow! instructions! */
'pfacc','pfadd','pfsub','pfsubr','pfmul',
'pfcmpeq','pfcmpge','pfcmpgt',
'pfmax','pfmin',
'pfrcp','pfrcpit1','pfrcpit2','pfrsqit1','pfrsqrt',
'pi2fd','pf2id',
'pavgusb','pmulhrw',
'femms',
/* 3dnow!+ instructions */
'pfnacc','pfpnacc','pi2fw','pf2iw','pswapd',
/* 3dnow! Geode instructions */
'pfrsqrtv','pfrcpv',
/* 3dnow! Prefetch instructions */
'prefetch','prefetchw',
/* SSE instructions */
'addss','addps','subss','subps',
'mulss','mulps','divss','divps','sqrtss','sqrtps',
'rcpss','rcpps','rsqrtss','rsqrtps',
'maxss','maxps','minss','minps',
'cmpss','comiss','ucomiss','cmpps',
'cmpeqss','cmpltss','cmpless','cmpunordss','cmpneqss','cmpnltss','cmpnless','cmpordss',
'cmpeqps','cmpltps','cmpleps','cmpunordps','cmpneqps','cmpnltps','cmpnleps','cmpordps',
'andnps','andps','orps','xorps',
'cvtsi2ss','cvtss2si','cvttss2si',
'cvtpi2ps','cvtps2pi','cvttps2pi',
'movss','movlps','movhps','movlhps','movhlps','movaps','movups','movntps','movmskps',
'shufps','unpckhps','unpcklps',
'ldmxcsr','stmxcsr',
/* SSE2 instructions */
'addpd','addsd','subpd','subsd',
'mulsd','mulpd','divsd','divpd','sqrtsd','sqrtpd',
'maxsd','maxpd','minsd','minpd',
'cmpsd','comisd','ucomisd','cmppd',
'cmpeqsd','cmpltsd','cmplesd','cmpunordsd','cmpneqsd','cmpnltsd','cmpnlesd','cmpordsd',
'cmpeqpd','cmpltpd','cmplepd','cmpunordpd','cmpneqpd','cmpnltpd','cmpnlepd','cmpordpd',
'andnpd','andpd','orpd','xorpd',
'cvtsd2ss','cvtpd2ps','cvtss2sd','cvtps2pd',
'cvtdq2ps','cvtps2dq','cvttps2dq',
'cvtdq2pd','cvtpd2dq','cvttpd2dq',
'cvtsi2sd','cvtsd2si','cvttsd2si',
'cvtpi2pd','cvtpd2pi','cvttpd2pi',
'movsd','movlpd','movhpd','movapd','movupd','movntpd','movmskpd',
'shufpd','unpckhpd','unpcklpd',
'movnti','movdqa','movdqu','movntdq','maskmovdqu',
'movdq2q','movq2dq',
'paddq','psubq','pmuludq',
'pslldq','psrldq',
'punpcklqdq','punpckhqdq',
'pshufhw','pshuflw','pshufd',
'lfence','mfence',
/* SSE3 instructions */
'addsubps','addsubpd',
'haddps','haddpd','hsubps','hsubpd',
'movsldup','movshdup','movddup',
'lddqu',
/* SSSE3 instructions */
'psignb','psignw','psignd',
'pabsb','pabsw','pabsd',
'palignr','pshufb',
'pmulhrsw','pmaddubsw',
'phaddw','phaddd','phaddsw',
'phsubw','phsubd','phsubsw',
/* SSE4A instructions */
'extrq','insertq','movntsd','movntss',
/* SSE4.1 instructions */
'mpsadbw','phminposuw',
'pmuldq','pmulld',
'dpps','dppd',
'blendps','blendpd','blendvps','blendvpd','pblendvb','pblendw',
'pmaxsb','pmaxuw','pmaxsd','pmaxud','pminsb','pminuw','pminsd','pminud',
'roundps','roundss','roundpd','roundsd',
'insertps','pinsrb','pinsrd','pinsrq',
'extractps','pextrb','pextrd','pextrq',
'pmovsxbw','pmovsxbd','pmovsxbq','pmovsxwd','pmovsxwq','pmovsxdq',
'pmovzxbw','pmovzxbd','pmovzxbq','pmovzxwd','pmovzxwq','pmovzxdq',
'ptest',
'pcmpeqq',
'packusdw',
'movntdqa',
/* SSE4.2 instructions */
'pcmpgtq',
'pcmpestri','pcmpestrm','pcmpistri','pcmpistrm',
/* AES instructions */
'aesenc','aesenclast','aesdec','aesdeclast','aeskeygenassist','aesimc',
/* VIA Padlock instructions */
'xcryptcbc','xcryptcfb','xcryptctr','xcryptecb','xcryptofb',
'xsha1','xsha256','montmul','xstore',
/* AVX instructions */
'vaddss','vaddps','vaddsd','vaddpd','vsubss','vsubps','vsubsd','vsubpd',
'vaddsubps','vaddsubpd',
'vhaddps','vhaddpd','vhsubps','vhsubpd',
'vmulss','vmulps','vmulsd','vmulpd',
'vmaxss','vmaxps','vmaxsd','vmaxpd','vminss','vminps','vminsd','vminpd',
'vandps','vandpd','vandnps','vandnpd','vorps','vorpd','vxorps','vxorpd',
'vblendps','vblendpd','vblendvps','vblendvpd',
'vcmpss','vcomiss','vucomiss','vcmpsd','vcomisd','vucomisd','vcmpps','vcmppd',
'vcmpeqss','vcmpltss','vcmpless','vcmpunordss','vcmpneqss','vcmpnltss','vcmpnless','vcmpordss',
'vcmpeq_uqss','vcmpngess','vcmpngtss','vcmpfalsess','vcmpneq_oqss','vcmpgess','vcmpgtss','vcmptruess',
'vcmpeq_osss','vcmplt_oqss','vcmple_oqss','vcmpunord_sss','vcmpneq_usss','vcmpnlt_uqss','vcmpnle_uqss','vcmpord_sss',
'vcmpeq_usss','vcmpnge_uqss','vcmpngt_uqss','vcmpfalse_osss','vcmpneq_osss','vcmpge_oqss','vcmpgt_oqss','vcmptrue_usss',
'vcmpeqps','vcmpltps','vcmpleps','vcmpunordps','vcmpneqps','vcmpnltps','vcmpnleps','vcmpordps',
'vcmpeq_uqps','vcmpngeps','vcmpngtps','vcmpfalseps','vcmpneq_oqps','vcmpgeps','vcmpgtps','vcmptrueps',
'vcmpeq_osps','vcmplt_oqps','vcmple_oqps','vcmpunord_sps','vcmpneq_usps','vcmpnlt_uqps','vcmpnle_uqps','vcmpord_sps',
'vcmpeq_usps','vcmpnge_uqps','vcmpngt_uqps','vcmpfalse_osps','vcmpneq_osps','vcmpge_oqps','vcmpgt_oqps','vcmptrue_usps',
'vcmpeqsd','vcmpltsd','vcmplesd','vcmpunordsd','vcmpneqsd','vcmpnltsd','vcmpnlesd','vcmpordsd',
'vcmpeq_uqsd','vcmpngesd','vcmpngtsd','vcmpfalsesd','vcmpneq_oqsd','vcmpgesd','vcmpgtsd','vcmptruesd',
'vcmpeq_ossd','vcmplt_oqsd','vcmple_oqsd','vcmpunord_ssd','vcmpneq_ussd','vcmpnlt_uqsd','vcmpnle_uqsd','vcmpord_ssd',
'vcmpeq_ussd','vcmpnge_uqsd','vcmpngt_uqsd','vcmpfalse_ossd','vcmpneq_ossd','vcmpge_oqsd','vcmpgt_oqsd','vcmptrue_ussd',
'vcmpeqpd','vcmpltpd','vcmplepd','vcmpunordpd','vcmpneqpd','vcmpnltpd','vcmpnlepd','vcmpordpd',
'vcmpeq_uqpd','vcmpngepd','vcmpngtpd','vcmpfalsepd','vcmpneq_oqpd','vcmpgepd','vcmpgtpd','vcmptruepd',
'vcmpeq_ospd','vcmplt_oqpd','vcmple_oqpd','vcmpunord_spd','vcmpneq_uspd','vcmpnlt_uqpd','vcmpnle_uqpd','vcmpord_spd',
'vcmpeq_uspd','vcmpnge_uqpd','vcmpngt_uqpd','vcmpfalse_ospd','vcmpneq_ospd','vcmpge_oqpd','vcmpgt_oqpd','vcmptrue_uspd',
'vcvtsd2ss','vcvtpd2ps','vcvtss2sd','vcvtps2pd',
'vcvtsi2ss','vcvtss2si','vcvttss2si',
'vcvtpi2ps','vcvtps2pi','vcvttps2pi',
'vcvtdq2ps','vcvtps2dq','vcvttps2dq',
'vcvtdq2pd','vcvtpd2dq','vcvttpd2dq',
'vcvtsi2sd','vcvtsd2si','vcvttsd2si',
'vcvtpi2pd','vcvtpd2pi','vcvttpd2pi',
'vdivss','vdivps','vdivsd','vdivpd','vsqrtss','vsqrtps','vsqrtsd','vsqrtpd',
'vdpps','vdppd',
'vmaskmovps','vmaskmovpd',
'vmovss','vmovsd','vmovaps','vmovapd','vmovups','vmovupd','vmovntps','vmovntpd',
'vmovhlps','vmovlhps','vmovlps','vmovlpd','vmovhps','vmovhpd',
'vmovsldup','vmovshdup','vmovddup',
'vmovmskps','vmovmskpd',
'vroundss','vroundps','vroundsd','vroundpd',
'vrcpss','vrcpps','vrsqrtss','vrsqrtps',
'vunpcklps','vunpckhps','vunpcklpd','vunpckhpd',
'vbroadcastss','vbroadcastsd','vbroadcastf128',
'vextractps','vinsertps','vextractf128','vinsertf128',
'vshufps','vshufpd','vpermilps','vpermilpd','vperm2f128',
'vtestps','vtestpd',
'vpaddb','vpaddusb','vpaddsb','vpaddw','vpaddusw','vpaddsw','vpaddd','vpaddq',
'vpsubb','vpsubusb','vpsubsb','vpsubw','vpsubusw','vpsubsw','vpsubd','vpsubq',
'vphaddw','vphaddsw','vphaddd','vphsubw','vphsubsw','vphsubd',
'vpsllw','vpslld','vpsllq','vpsrlw','vpsrld','vpsrlq','vpsraw','vpsrad',
'vpand','vpandn','vpor','vpxor',
'vpblendwb','vpblendw',
'vpsignb','vpsignw','vpsignd',
'vpavgb','vpavgw',
'vpabsb','vpabsw','vpabsd',
'vmovd','vmovq','vmovdqa','vmovdqu','vlddqu','vmovntdq','vmovntdqa','vmaskmovdqu',
'vpmovsxbw','vpmovsxbd','vpmovsxbq','vpmovsxwd','vpmovsxwq','vpmovsxdq',
'vpmovzxbw','vpmovzxbd','vpmovzxbq','vpmovzxwd','vpmovzxwq','vpmovzxdq',
'vpackuswb','vpacksswb','vpackusdw','vpackssdw',
'vpcmpeqb','vpcmpeqw','vpcmpeqd','vpcmpeqq','vpcmpgtb','vpcmpgtw','vpcmpgtd','vpcmpgtq',
'vpmaddubsw','vpmaddwd',
'vpmullw','vpmulhuw','vpmulhw','vpmulhrsw','vpmulld','vpmuludq','vpmuldq',
'vpmaxub','vpmaxsb','vpmaxuw','vpmaxsw','vpmaxud','vpmaxsd',
'vpminub','vpminsb','vpminuw','vpminsw','vpminud','vpminsd',
'vpmovmskb','vptest',
'vpunpcklbw','vpunpcklwd','vpunpckldq','vpunpcklqdq',
'vpunpckhbw','vpunpckhwd','vpunpckhdq','vpunpckhqdq',
'vpslldq','vpsrldq','vpalignr',
'vpshufb','vpshuflw','vpshufhw','vpshufd',
'vpextrb','vpextrw','vpextrd','vpextrq','vpinsrb','vpinsrw','vpinsrd','vpinsrq',
'vpsadbw','vmpsadbw','vphminposuw',
'vpcmpestri','vpcmpestrm','vpcmpistri','vpcmpistrm',
'vpclmulqdq','vaesenc','vaesenclast','vaesdec','vaesdeclast','vaeskeygenassist','vaesimc',
'vldmxcsr','vstmxcsr','vzeroall','vzeroupper',
/* AVX2 instructions */
'vbroadcasti128','vpbroadcastb','vpbroadcastw','vpbroadcastd','vpbroadcastq',
'vpblendd',
'vpermd','vpermq','vperm2i128',
'vextracti128','vinserti128',
'vpmaskmovd','vpmaskmovq',
'vpsllvd','vpsllvq','vpsravd','vpsrlvd',
'vpgatherdd','vpgatherqd','vgatherdq','vgatherqq',
'vpermps','vpermpd',
'vgatherdpd','vgatherqpd','vgatherdps','vgatherqps',
/* XOP instructions */
'vfrczss','vfrczps','vfrczsd','vfrczpd',
'vpermil2ps','vperlil2pd',
'vpcomub','vpcomb','vpcomuw','vpcomw','vpcomud','vpcomd','vpcomuq','vpcomq',
'vphaddubw','vphaddbw','vphaddubd','vphaddbd','vphaddubq','vphaddbq',
'vphadduwd','vphaddwd','vphadduwq','vphaddwq','vphaddudq','vphadddq',
'vphsubbw','vphsubwd','vphsubdq',
'vpmacsdd','vpmacssdd','vpmacsdql','vpmacssdql','vpmacsdqh','vpmacssdqh',
'vpmacsww','vpmacssww','vpmacswd','vpmacsswd',
'vpmadcswd','vpmadcsswd',
'vpcmov','vpperm',
'vprotb','vprotw','vprotd','vprotq',
'vpshab','vpshaw','vpshad','vpshaq',
'vpshlb','vpshlw','vpshld','vpshlq',
/* CVT16 instructions */
'vcvtph2ps','vcvtps2ph',
/* FMA4 instructions */
'vfmaddss','vfmaddps','vfmaddsd','vfmaddpd',
'vfmsubss','vfmsubps','vfmsubsd','vfmsubpd',
'vnfmaddss','vnfmaddps','vnfmaddsd','vnfmaddpd',
'vnfmsubss','vnfmsubps','vnfmsubsd','vnfmsubpd',
'vfmaddsubps','vfmaddsubpd','vfmsubaddps','vfmsubaddpd',
/* FMA3 instructions */
'vfmadd132ss','vfmadd213ss','vfmadd231ss',
'vfmadd132ps','vfmadd213ps','vfmadd231ps',
'vfmadd132sd','vfmadd213sd','vfmadd231sd',
'vfmadd132pd','vfmadd213pd','vfmadd231pd',
'vfmaddsub132ps','vfmaddsub213ps','vfmaddsub231ps',
'vfmaddsub132pd','vfmaddsub213pd','vfmaddsub231pd',
'vfmsubadd132ps','vfmsubadd213ps','vfmsubadd231ps',
'vfmsubadd132pd','vfmsubadd213pd','vfmsubadd231pd',
'vfmsub132ss','vfmsub213ss','vfmsub231ss',
'vfmsub132ps','vfmsub213ps','vfmsub231ps',
'vfmsub132sd','vfmsub213sd','vfmsub231sd',
'vfmsub132pd','vfmsub213pd','vfmsub231pd',
'vfnmadd132ss','vfnmadd213ss','vfnmadd231ss',
'vfnmadd132ps','vfnmadd213ps','vfnmadd231ps',
'vfnmadd132sd','vfnmadd213sd','vfnmadd231sd',
'vfnmadd132pd','vfnmadd213pd','vfnmadd231pd',
'vfnmsub132ss','vfnmsub213ss','vfnmsub231ss',
'vfnmsub132ps','vfnmsub213ps','vfnmsub231ps',
'vfnmsub132sd','vfnmsub213sd','vfnmsub231sd',
'vfnmsub132pd','vfnmsub213pd','vfnmsub231pd'
),
/*registers*/
4 => array(
/* General-Purpose Registers */
'al','ah','bl','bh','cl','ch','dl','dh','sil','dil','bpl','spl',
'r8b','r9b','r10b','r11b','r12b','r13b','r14b','r15b',
'ax','bx','cx','dx','si','di','bp','sp',
'r8w','r9w','r10w','r11w','r12w','r13w','r14w','r15w',
'eax','ebx','ecx','edx','esi','edi','ebp','esp',
'r8d','r9d','r10d','r11d','r12d','r13d','r14d','r15d',
'rax','rcx','rdx','rbx','rsp','rbp','rsi','rdi',
'r8','r9','r10','r11','r12','r13','r14','r15',
/* Debug Registers */
'dr0','dr1','dr2','dr3','dr6','dr7',
/* Control Registers */
'cr0','cr2','cr3','cr4','cr8',
/* Test Registers (Supported on Intel 486 only) */
'tr3','tr4','tr5','tr6','tr7',
/* Segment Registers */
'cs','ds','es','fs','gs','ss',
/* FPU Registers */
'st','st0','st1','st2','st3','st4','st5','st6','st7',
/* MMX Registers */
'mm0','mm1','mm2','mm3','mm4','mm5','mm6','mm7',
/* SSE Registers */
'xmm0','xmm1','xmm2','xmm3','xmm4','xmm5','xmm6','xmm7',
'xmm8','xmm9','xmm10','xmm11','xmm12','xmm13','xmm14','xmm15',
/* AVX Registers */
'ymm0','ymm1','ymm2','ymm3','ymm4','ymm5','ymm6','ymm7',
'ymm8','ymm9','ymm10','ymm11','ymm12','ymm13','ymm14','ymm15'
),
/*Directive*/
5 => array(
'db','dw','dd','dq','dt','do','dy',
'resb','resw','resd','resq','rest','reso','resy','incbin','equ','times','safeseh',
'__utf16__','__utf32__',
'default','cpu','float','start','imagebase','osabi',
'..start','..imagebase','..gotpc','..gotoff','..gottpoff','..got','..plt','..sym','..tlsie',
'section','segment','__sect__','group','absolute',
'.bss','.comment','.data','.lbss','.ldata','.lrodata','.rdata','.rodata','.tbss','.tdata','.text',
'alloc','bss','code','exec','data','noalloc','nobits','noexec','nowrite','progbits','rdata','tls','write',
'private','public','common','stack','overlay','class',
'extern','global','import','export',
'%define','%idefine','%xdefine','%ixdefine','%assign','%undef',
'%defstr','%idefstr','%deftok','%ideftok',
'%strcat','%strlen','%substr',
'%macro','%imacro','%rmacro','%exitmacro','%endmacro','%unmacro',
'%if','%ifn','%elif','%elifn','%else','%endif',
'%ifdef','%ifndef','%elifdef','%elifndef',
'%ifmacro','%ifnmacro','%elifmacro','%elifnmacro',
'%ifctx','%ifnctx','%elifctx','%elifnctx',
'%ifidn','%ifnidn','%elifidn','%elifnidn',
'%ifidni','%ifnidni','%elifidni','%elifnidni',
'%ifid','%ifnid','%elifid','%elifnid',
'%ifnum','%ifnnum','%elifnum','%elifnnum',
'%ifstr','%ifnstr','%elifstr','%elifnstr',
'%iftoken','%ifntoken','%eliftoken','%elifntoken',
'%ifempty','%ifnempty','%elifempty','%elifnempty',
'%ifenv','%ifnenv','%elifenv','%elifnenv',
'%rep','%exitrep','%endrep',
'%while','%exitwhile','%endwhile',
'%include','%pathsearch','%depend','%use',
'%push','%pop','%repl','%arg','%local','%stacksize','flat','flat64','large','small',
'%error','%warning','%fatal',
'%00','.nolist','%rotate','%line','%!','%final','%clear',
'struc','endstruc','istruc','at','iend',
'align','alignb','sectalign',
'bits','use16','use32','use64',
'__nasm_major__','__nasm_minor__','__nasm_subminor__','___nasm_patchlevel__',
'__nasm_version_id__','__nasm_ver__',
'__file__','__line__','__pass__','__bits__','__output_format__',
'__date__','__time__','__date_num__','__time_num__','__posix_time__',
'__utc_date__','__utc_time__','__utc_date_num__','__utc_time_num__',
'__float_daz__','__float_round__','__float__',
/* Keywords from standard packages */
'__use_altreg__',
'__use_smartalign__','smartalign','__alignmode__',
'__use_fp__','__infinity__','__nan__','__qnan__','__snan__',
'__float8__','__float16__','__float32__','__float64__','__float80m__','__float80e__','__float128l__','__float128h__'
),
/*Operands*/
6 => array(
'a16','a32','a64','o16','o32','o64','strict',
'byte','word','dword','qword','tword','oword','yword','nosplit',
'%0','%1','%2','%3','%4','%5','%6','%7','%8','%9',
'abs','rel',
'seg','wrt'
)
),
'SYMBOLS' => array(
1 => array(
'[', ']', '(', ')',
'+', '-', '*', '/', '%',
'.', ',', ';', ':'
),
2 => 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: #00007f; font-weight: bold;',
2 => 'color: #0000ff;',
3 => 'color: #b00040;',
4 => 'color: #46aa03; font-weight: bold;',
5 => 'color: #0000ff; font-weight: bold;',
6 => 'color: #0000ff; 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: #ff0000;'
),
'METHODS' => array(
),
'SYMBOLS' => array(
1 => 'color: #339933;',
2 => 'color: #0000ff; font-weight: bold;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => '',
5 => '',
6 => ''
),
'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(
),
'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_<\|%])"
)
)
);
?>

View file

@ -1,164 +0,0 @@
<?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.11
* 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
)
);
?>

View file

@ -1,194 +0,0 @@
<?php
/*************************************************************************************
* asymptote.php
* -------------
* Author: Manuel Yguel (manuel.yguel.robotics@gmail.com)
* Copyright: (c) 2012 Manuel Yguel (http://manuelyguel.eu)
* Release Version: 1.0.8.11
* Date Started: 2012/05/24
*
* asymptote language file for GeSHi.
*
* CHANGES
* -------
* 2012/05/24 (1.0.0.0)
* - First Release
*
* TODO (updated 2012/05/24)
* -------------------------
* * 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' => 'asymptote',
'COMMENT_SINGLE' => array(1 => '//'),
'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(
'and','controls','tension','atleast','curl','if','else','while','for','do','return','break','continue','struct','typedef','new','access','import','unravel','from','include','quote','static','public','private','restricted','this','explicit','true','false','null','cycle','newframe','operator'
),
2 => array(
'Braid','FitResult','Label','Legend','Segment','Solution','TreeNode','abscissa','arc','arrowhead','binarytree','binarytreeNode','block','bool','bool3','bounds','bqe','circle','conic','coord','coordsys','cputime','ellipse','file','filltype','frame','grid3','guide','horner','hsv','hyperbola','indexedTransform','int','inversion','key','light','line','linefit','marginT','marker','mass','object','pair','parabola','path','path3','pen','picture','point','position','projection','real','revolution','scaleT','scientific','segment','side','slice','solution','splitface','string','surface','tensionSpecifier','ticklocate','ticksgridT','tickvalues','transform','transformation','tree','triangle','trilinear','triple','vector','vertex','void'),
3 => array(
'AND','Arc','ArcArrow','ArcArrows','Arrow','Arrows','Automatic','AvantGarde','BBox','BWRainbow','BWRainbow2','Bar','Bars','BeginArcArrow','BeginArrow','BeginBar','BeginDotMargin','BeginMargin','BeginPenMargin','Blank','Bookman','Bottom','BottomTop','Bounds','Break','Broken','BrokenLog','CLZ','CTZ','Ceil','Circle','CircleBarIntervalMarker','Cos','Courier','CrossIntervalMarker','DOSendl','DOSnewl','DefaultFormat','DefaultLogFormat','Degrees','Dir','DotMargin','DotMargins','Dotted','Draw','Drawline','Embed','EndArcArrow','EndArrow','EndBar','EndDotMargin','EndMargin','EndPenMargin','Fill','FillDraw','Floor','Format','Full','Gaussian','Gaussrand','Gaussrandpair',
'Gradient','Grayscale','Helvetica','Hermite','HookHead','InOutTicks','InTicks','Jn','Label','Landscape','Left','LeftRight','LeftTicks','Legend','Linear','Link','Log','LogFormat','Margin','Margins','Mark','MidArcArrow','MidArrow','NOT','NewCenturySchoolBook','NoBox','NoMargin','NoModifier','NoTicks','NoTicks3','NoZero','NoZeroFormat','None','OR','OmitFormat','OmitTick','OmitTickInterval','OmitTickIntervals','OutTicks','Ox','Oy','Palatino','PaletteTicks','Pen','PenMargin','PenMargins','Pentype','Portrait','RadialShade','RadialShadeDraw','Rainbow','Range','Relative','Right','RightTicks','Rotate','Round','SQR','Scale','ScaleX','ScaleY','ScaleZ','Seascape','Segment','Shift','Sin','Slant','Spline','StickIntervalMarker','Straight','Symbol','Tan','TeXify','Ticks','Ticks3','TildeIntervalMarker','TimesRoman','Top','TrueMargin','UnFill','UpsideDown','Wheel','X','XEquals','XOR','XY','XYEquals','XYZero','XYgrid','XZEquals','XZZero','XZero','XZgrid','Y','YEquals','YXgrid','YZ','YZEquals','YZZero','YZero','YZgrid','Yn','Z','ZX','ZXgrid','ZYgrid','ZapfChancery','ZapfDingbats','_begingroup3','_cputime','_draw','_eval','_image','_labelpath','_projection','_strokepath','_texpath','aCos','aSin','aTan','abort','abs','accel','acos','acosh','acot','acsc','activatequote','add',
'addArrow','addMargins','addSaveFunction','addpenarc','addpenline','adjust','alias','align','all','altitude','angabscissa','angle','angpoint','animate','annotate','anticomplementary','antipedal','apply','approximate','arc','arcarrowsize','arccircle','arcdir','arcfromcenter','arcfromfocus','arclength','arcnodesnumber','arcpoint','arcsubtended','arcsubtendedcenter','arctime','arctopath','array','arrow','arrow2','arrowbase','arrowbasepoints','arrowsize','asec','asin','asinh','ask','assert','asy','asycode','asydir','asyfigure','asyfilecode','asyinclude','asywrite','atan','atan2','atanh','atbreakpoint','atexit','attach','attract','atupdate','autoformat','autoscale','autoscale3','axes','axes3','axialshade','axis','axiscoverage','azimuth','babel','background','bangles','bar','barmarksize','barsize','basealign','baseline','bbox','beep','begin','beginclip','begingroup','beginpoint','between','bevel','bezier','bezierP','bezierPP','bezierPPP','bezulate','bibliography','bibliographystyle','binarytree','binarytreeNode','binomial','binput','bins','bisector','bisectorpoint','bispline','blend','blockconnector','boutput','box','bqe','breakpoint','breakpoints','brick','buildRestoreDefaults','buildRestoreThunk','buildcycle','bulletcolor','byte','calculateScaling','canonical','canonicalcartesiansystem','cartesiansystem','case1','case2','case3','case4','cbrt','cd','ceil','center','centerToFocus',
'centroid','cevian','change2','changecoordsys','checkSegment','checkconditionlength','checker','checkincreasing','checklengths','checkposition','checktriangle','choose','circle','circlebarframe','circlemarkradius','circlenodesnumber','circumcenter','circumcircle','clamped','clear','clip','clipdraw','close','cmyk','code','colatitude','collect','collinear','color','colorless','colors','colorspace','comma','compassmark','complement','complementary','concat','concurrent','cone','conic','conicnodesnumber','conictype','conj','connect','connected','connectedindex','containmentTree','contains','contour','contour3','contouredges','controlSpecifier','convert','coordinates','coordsys','copy','copyPairOrTriple','cos','cosh','cot','countIntersections','cputime','crop','cropcode','cross',
'crossframe','crosshatch','crossmarksize','csc','cubicroots','curabscissa','curlSpecifier','curpoint','currentarrow','currentexitfunction','currentmomarrow','currentpolarconicroutine','curve','cut','cutafter','cutbefore','cyclic','cylinder','deactivatequote','debugger','deconstruct','defaultdir','defaultformat','defaultpen','defined','degenerate','degrees','delete','deletepreamble','determinant','diagonal','diamond','diffdiv','dir','dirSpecifier','dirtime','display','distance',
'divisors','do_overpaint','dot','dotframe','dotsize','downcase','draw','drawAll','drawDoubleLine','drawFermion','drawGhost','drawGluon','drawMomArrow','drawPRCcylinder','drawPRCdisk','drawPRCsphere','drawPRCtube','drawPhoton','drawScalar','drawVertex','drawVertexBox','drawVertexBoxO','drawVertexBoxX','drawVertexO','drawVertexOX','drawVertexTriangle','drawVertexTriangleO','drawVertexX','drawarrow','drawarrow2','drawline','drawpixel','drawtick','duplicate','elle','ellipse','ellipsenodesnumber','embed','embed3','empty','enclose','end','endScript','endclip','endgroup','endgroup3','endl','endpoint','endpoints','eof','eol','equation','equations','erase','erasestep','erf','erfc','error','errorbar','errorbars','eval','excenter','excircle','exit','exitXasyMode','exitfunction','exp','expfactors','expi','expm1','exradius','extend','extension','extouch','fabs','factorial','fermat','fft','fhorner','figure','file','filecode','fill','filldraw','filloutside','fillrule','filltype','find','finite','finiteDifferenceJacobian','firstcut','firstframe','fit','fit2','fixedscaling','floor','flush','fmdefaults','fmod','focusToCenter','font','fontcommand','fontsize','foot','format','frac','frequency','fromCenter','fromFocus','fspline','functionshade','gamma','generate_random_backtrace','generateticks','gergonne','getc','getint','getpair','getreal','getstring','gettriple','gluon','gouraudshade','graph','graphic','gray','grestore','grid','grid3','gsave','halfbox','hatch','hdiffdiv','hermite','hex','histogram','history','hline','hprojection',
'hsv','hyperbola','hyperbolanodesnumber','hyperlink','hypot','identity','image','incenter','incentral','incircle','increasing','incrementposition','indexedTransform','indexedfigure','initXasyMode','initdefaults','input','inradius','insert','inside','integrate','interactive','interior','interp','interpolate','intersect','intersection','intersectionpoint','intersectionpoints','intersections','intouch','inverse','inversion','invisible','is3D','isCCW','isDuplicate','isogonal','isogonalconjugate','isotomic','isotomicconjugate','isparabola','italic','item','jobname','key','kurtosis','kurtosisexcess','label','labelaxis','labelmargin','labelpath','labels','labeltick','labelx','labelx3','labely','labely3','labelz','labelz3','lastcut','latex','latitude','latticeshade','layer','layout','ldexp','leastsquares','legend','legenditem','length','lexorder','lift','light','limits','line','linear','linecap','lineinversion','linejoin','linemargin','lineskip','linetype','linewidth','link','list','lm_enorm','lm_evaluate_default','lm_lmdif','lm_lmpar','lm_minimize','lm_print_default','lm_print_quiet','lm_qrfac','lm_qrsolv','locale','locate',
'locatefile','location','log','log10','log1p','logaxiscoverage','longitude','lookup','makeNode','makedraw','makepen','map','margin','markangle','markangleradius','markanglespace','markarc','marker','markinterval','marknodes','markrightangle','markuniform','mass','masscenter','massformat','math','max','max3','maxAfterTransform','maxbezier','maxbound','maxcoords','maxlength','maxratio','maxtimes','mean','medial','median','midpoint','min','min3','minAfterTransform','minbezier','minbound','minipage','minratio','mintimes','miterlimit','mktemp','momArrowPath','momarrowsize','monotonic','multifigure','nativeformat','natural','needshipout','newl','newpage','newslide','newton','newtree','nextframe','nextnormal','nextpage','nib','nodabscissa','none','norm','normalvideo','notaknot','nowarn','numberpage','nurb','object','offset','onpath','opacity','opposite','orientation','origin','orthic','orthocentercenter','outformat','outline','outname','outprefix','output','overloadedMessage','overwrite','pack','pad','pairs','palette','parabola','parabolanodesnumber','parallel','parallelogram','partialsum','path','path3','pattern','pause','pdf','pedal','periodic','perp','perpendicular','perpendicularmark','phantom','phi1','phi2','phi3','photon','piecewisestraight','point','polar','polarconicroutine','polargraph','polygon','postcontrol','postscript','pow10','ppoint','prc','prc0','precision','precontrol','prepend','printBytecode','print_random_addresses','project','projection','purge','pwhermite','quadrant','quadraticroots','quantize','quarticroots','quotient','radialshade','radians','radicalcenter','radicalline','radius','rand','randompath','rd','readline','realmult','realquarticroots','rectangle','rectangular','rectify','reflect','relabscissa','relative','relativedistance','reldir','relpoint','reltime','remainder','remark','removeDuplicates','rename','replace','report','resetdefaultpen','restore','restoredefaults','reverse','reversevideo','rf','rfind','rgb','rgba','rgbint','rms',
'rotate','rotateO','rotation','round','roundbox','roundedpath','roundrectangle','same','samecoordsys','sameside','sample','save','savedefaults','saveline','scale','scale3','scaleO','scaleT','scaleless','scientific','search','searchindex','searchtree','sec','secondaryX','secondaryY','seconds','section','sector','seek','seekeof','segment','sequence','setcontour','setpens','sgn','sgnd','sharpangle','sharpdegrees','shift','shiftless','shipout','shipout3','show','side','simeq','simpson','sin','sinh','size','size3','skewness','skip','slant','sleep','slope','slopefield','solve','solveBVP','sort','sourceline','sphere','split','sqrt','square','srand','standardizecoordsys','startScript','stdev','step','stickframe','stickmarksize','stickmarkspace','stop','straight','straightness','string','stripdirectory','stripextension','stripfile','stripsuffix','strokepath','subdivide','subitem','subpath','substr','sum','surface','symmedial','symmedian','system',
'tab','tableau','tan','tangent','tangential','tangents','tanh','tell','tensionSpecifier','tensorshade','tex','texcolor','texify','texpath','texpreamble','texreset','texshipout','texsize','textpath','thick','thin','tick','tickMax','tickMax3','tickMin','tickMin3','ticklabelshift','ticklocate','tildeframe','tildemarksize','tile','tiling','time','times','title','titlepage','topbox','transform','transformation','transpose','trembleFuzz','triangle','triangleAbc','triangleabc','triangulate','tricoef','tridiagonal','trilinear','trim','truepoint','tube','uncycle','unfill','uniform','unique','unit','unitrand','unitsize','unityroot','unstraighten','upcase','updatefunction','uperiodic','upscale','uptodate','usepackage','usersetting','usetypescript','usleep','value','variance','variancebiased','vbox','vector','vectorfield','verbatim','view','vline','vperiodic','vprojection','warn','warning','windingnumber','write','xaxis','xaxis3','xaxis3At','xaxisAt','xequals','xinput','xlimits','xoutput','xpart','xscale','xscaleO','xtick','xtick3','xtrans','yaxis','yaxis3','yaxis3At','yaxisAt','yequals','ylimits','ypart','yscale','yscaleO','ytick','ytick3','ytrans','zaxis3','zaxis3At','zero','zero3','zlimits','zpart','ztick','ztick3','ztrans'
),
4 => array(
'AliceBlue','Align','Allow','AntiqueWhite','Apricot','Aqua','Aquamarine','Aspect','Azure','BeginPoint','Beige','Bisque','Bittersweet','Black','BlanchedAlmond','Blue','BlueGreen','BlueViolet','Both','Break','BrickRed','Brown','BurlyWood','BurntOrange','CCW','CW','CadetBlue','CarnationPink','Center','Centered','Cerulean','Chartreuse','Chocolate','Coeff','Coral','CornflowerBlue','Cornsilk','Crimson','Crop','Cyan','Dandelion','DarkBlue','DarkCyan','DarkGoldenrod','DarkGray','DarkGreen','DarkKhaki','DarkMagenta','DarkOliveGreen','DarkOrange','DarkOrchid','DarkRed','DarkSalmon','DarkSeaGreen','DarkSlateBlue','DarkSlateGray','DarkTurquoise','DarkViolet','DeepPink','DeepSkyBlue','DefaultHead','DimGray','DodgerBlue','Dotted','Down','Draw','E','ENE','EPS','ESE','E_Euler','E_PC','E_RK2','E_RK3BS','Emerald','EndPoint','Euler','Fill','FillDraw','FireBrick','FloralWhite','ForestGreen','Fuchsia','Gainsboro','GhostWhite','Gold','Goldenrod','Gray','Green','GreenYellow','Honeydew','HookHead','Horizontal','HotPink','I','IgnoreAspect','IndianRed','Indigo','Ivory','JOIN_IN','JOIN_OUT','JungleGreen','Khaki','LM_DWARF','LM_MACHEP','LM_SQRT_DWARF','LM_SQRT_GIANT','LM_USERTOL','Label','Lavender','LavenderBlush','LawnGreen','Left','LeftJustified','LeftSide','LemonChiffon','LightBlue','LightCoral','LightCyan','LightGoldenrodYellow',
'LightGreen','LightGrey','LightPink','LightSalmon','LightSeaGreen','LightSkyBlue','LightSlateGray','LightSteelBlue','LightYellow','Lime','LimeGreen','Linear','Linen','Log','Logarithmic','Magenta','Mahogany','Mark','MarkFill','Maroon','Max','MediumAquamarine','MediumBlue','MediumOrchid','MediumPurple','MediumSeaGreen','MediumSlateBlue','MediumSpringGreen','MediumTurquoise','MediumVioletRed','Melon','MidPoint','MidnightBlue','Min','MintCream','MistyRose','Moccasin','Move','MoveQuiet','Mulberry','N','NE','NNE','NNW','NW','NavajoWhite','Navy','NavyBlue','NoAlign','NoCrop','NoFill','NoSide','OldLace','Olive','OliveDrab','OliveGreen','Orange','OrangeRed','Orchid','Ox','Oy','PC','PaleGoldenrod','PaleGreen','PaleTurquoise','PaleVioletRed','PapayaWhip','Peach','PeachPuff','Periwinkle','Peru','PineGreen','Pink','Plum','PowderBlue','ProcessBlue','Purple','RK2','RK3','RK3BS','RK4','RK5','RK5DP','RK5F','RawSienna','Red','RedOrange','RedViolet','Rhodamine','Right','RightJustified','RightSide','RosyBrown','RoyalBlue','RoyalPurple','RubineRed','S','SE','SSE','SSW','SW','SaddleBrown','Salmon','SandyBrown','SeaGreen','Seashell','Sepia','Sienna','Silver','SimpleHead','SkyBlue','SlateBlue','SlateGray','Snow','SpringGreen','SteelBlue','Suppress','SuppressQuiet','Tan','TeXHead','Teal','TealBlue','Thistle','Ticksize','Tomato',
'Turquoise','UnFill','Up','VERSION','Value','Vertical','Violet','VioletRed','W','WNW','WSW','Wheat','White','WhiteSmoke','WildStrawberry','XYAlign','YAlign','Yellow','YellowGreen','YellowOrange','addpenarc','addpenline','align','allowstepping','angularsystem','animationdelay','appendsuffix','arcarrowangle','arcarrowfactor','arrow2sizelimit','arrowangle','arrowbarb','arrowdir','arrowfactor','arrowhookfactor','arrowlength','arrowsizelimit','arrowtexfactor','authorpen','axis','axiscoverage','axislabelfactor','background','backgroundcolor','backgroundpen','barfactor','barmarksizefactor','basealign','baselinetemplate','beveljoin','bigvertexpen','bigvertexsize','black','blue','bm','bottom','bp','brown','bullet','byfoci','byvertices','camerafactor','chartreuse','circlemarkradiusfactor','circlenodesnumberfactor','circleprecision','circlescale','cm','codefile','codepen','codeskip','colorPen','coloredNodes','coloredSegments',
'conditionlength','conicnodesfactor','count','cputimeformat','crossmarksizefactor','currentcoordsys','currentlight','currentpatterns','currentpen','currentpicture','currentposition','currentprojection','curvilinearsystem','cuttings','cyan','darkblue','darkbrown','darkcyan','darkgray','darkgreen','darkgrey','darkmagenta','darkolive','darkred','dashdotted','dashed','datepen','dateskip','debuggerlines','debugging','deepblue','deepcyan','deepgray','deepgreen','deepgrey','deepmagenta','deepred','default','defaultControl','defaultS','defaultbackpen','defaultcoordsys','defaultexcursion','defaultfilename','defaultformat','defaultmassformat','defaultpen','diagnostics','differentlengths','dot','dotfactor','dotframe','dotted','doublelinepen','doublelinespacing','down','duplicateFuzz','edge','ellipsenodesnumberfactor','eps','epsgeo','epsilon','evenodd','expansionfactor','extendcap','exterior','fermionpen','figureborder','figuremattpen','file3','firstnode','firststep','foregroundcolor','fuchsia','fuzz','gapfactor','ghostpen','gluonamplitude','gluonpen','gluonratio','gray','green','grey','hatchepsilon','havepagenumber','heavyblue','heavycyan','heavygray','heavygreen','heavygrey','heavymagenta','heavyred','hline','hwratio','hyperbola','hyperbolanodesnumberfactor','identity4','ignore','inXasyMode','inch','inches','includegraphicscommand','inf','infinity','institutionpen','intMax','intMin','interior','invert','invisible','itempen','itemskip','itemstep','labelmargin','landscape','lastnode','left','legendhskip','legendlinelength',
'legendmargin','legendmarkersize','legendmaxrelativewidth','legendvskip','lightblue','lightcyan','lightgray','lightgreen','lightgrey','lightmagenta','lightolive','lightred','lightyellow','line','linemargin','lm_infmsg','lm_shortmsg','longdashdotted','longdashed','magenta','magneticRadius','mantissaBits','markangleradius','markangleradiusfactor','markanglespace','markanglespacefactor','mediumblue','mediumcyan','mediumgray','mediumgreen','mediumgrey','mediummagenta','mediumred','mediumyellow','middle','minDistDefault','minblockheight','minblockwidth','mincirclediameter','minipagemargin','minipagewidth','minvertexangle','miterjoin','mm','momarrowfactor','momarrowlength','momarrowmargin','momarrowoffset','momarrowpen','monoPen','morepoints','nCircle','newbulletcolor','ngraph','nil','nmesh','nobasealign','nodeMarginDefault','nodesystem','nomarker','nopoint','noprimary','nullpath','nullpen','numarray','ocgindex','oldbulletcolor','olive','orange','origin','overpaint','page','pageheight','pagemargin','pagenumberalign','pagenumberpen','pagenumberposition','pagewidth','paleblue','palecyan','palegray','palegreen','palegrey',
'palemagenta','palered','paleyellow','parabolanodesnumberfactor','perpfactor','phi','photonamplitude','photonpen','photonratio','pi','pink','plain','plain_bounds','plain_scaling','plus','preamblenodes','pt','purple','r3','r4a','r4b','randMax','realDigits','realEpsilon','realMax','realMin','red','relativesystem','reverse','right','roundcap','roundjoin','royalblue','salmon','saveFunctions','scalarpen','sequencereal','settings','shipped','signedtrailingzero','solid','springgreen','sqrtEpsilon','squarecap','squarepen','startposition','stdin','stdout','stepfactor','stepfraction','steppagenumberpen','stepping','stickframe','stickmarksizefactor','stickmarkspacefactor','swap','textpen','ticksize','tildeframe','tildemarksizefactor','tinv','titlealign','titlepagepen','titlepageposition','titlepen','titleskip','top','trailingzero','treeLevelStep','treeMinNodeWidth','treeNodeStep','trembleAngle','trembleFrequency','trembleRandom','undefined','unitcircle','unitsquare','up','urlpen','urlskip','version','vertexpen','vertexsize','viewportmargin','viewportsize','vline','white','wye','xformStack','yellow','ylabelwidth','zerotickfuzz','zerowinding'
)
),
'SYMBOLS' => array(
0 => array(
'(', ')', '{', '}', '[', ']'
),
1 => array('<', '>','='),
2 => array('+', '-', '*', '/', '%'),
3 => array('!', '^', '&', '|'),
4 => array('?', ':', ';'),
5 => 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: #990000;',
4 => 'color: #009900; font-weight: bold;'
),
'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;',
5 => 'color: #009080;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => ''
),
'OOLANG' => true,
'OBJECT_SPLITTERS' => array(
1 => '.',
2 => '::'
),
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_MAYBE,
'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_\|%\\-])"
)
)
);
?>

View file

@ -1,512 +0,0 @@
<?php
/*************************************************************************************
* autoconf.php
* -----
* Author: Mihai Vasilian (grayasm@gmail.com)
* Copyright: (c) 2010 Mihai Vasilian
* Release Version: 1.0.8.11
* Date Started: 2010/01/25
*
* autoconf 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' => 'Autoconf',
'COMMENT_SINGLE' => array(2 => '#'),
'COMMENT_MULTI' => array(),
'COMMENT_REGEXP' => array(
//Multiline-continued single-line comments
1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
//Multiline-continued preprocessor define
2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m',
//Single Line comment started by dnl
3 => '/(?<!\$)\bdnl\b.*$/m',
),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'ESCAPE_REGEXP' => array(),
'NUMBERS' =>
GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
'KEYWORDS' => array(
1 => array(
'AC_ACT_IFELSE',
'AC_AIX',
'AC_ALLOCA',
'AC_ARG_ARRAY',
'AC_ARG_ENABLE',
'AC_ARG_PROGRAM',
'AC_ARG_VAR',
'AC_ARG_WITH',
'AC_AUTOCONF_VERSION',
'AC_BEFORE',
'AC_C_BACKSLASH_A',
'AC_C_BIGENDIAN',
'AC_C_CHAR_UNSIGNED',
'AC_C_CONST',
'AC_C_CROSS',
'AC_C_FLEXIBLE_ARRAY_MEMBER',
'AC_C_INLINE',
'AC_C_LONG_DOUBLE',
'AC_C_PROTOTYPES',
'AC_C_RESTRICT',
'AC_C_STRINGIZE',
'AC_C_TYPEOF',
'AC_C_VARARRAYS',
'AC_C_VOLATILE',
'AC_CACHE_CHECK',
'AC_CACHE_LOAD',
'AC_CACHE_SAVE',
'AC_CACHE_VAL',
'AC_CANONICAL_BUILD',
'AC_CANONICAL_HOST',
'AC_CANONICAL_SYSTEM',
'AC_CANONICAL_TARGET',
'AC_CHAR_UNSIGNED',
'AC_CHECK_ALIGNOF',
'AC_CHECK_DECL',
'AC_CHECK_DECLS',
'AC_CHECK_DECLS_ONCE',
'AC_CHECK_FILE',
'AC_CHECK_FILES',
'AC_CHECK_FUNC',
'AC_CHECK_FUNCS',
'AC_CHECK_FUNCS_ONCE',
'AC_CHECK_HEADER',
'AC_CHECK_HEADERS',
'AC_CHECK_HEADERS_ONCE',
'AC_CHECK_LIB',
'AC_CHECK_MEMBER',
'AC_CHECK_MEMBERS',
'AC_CHECK_PROG',
'AC_CHECK_PROGS',
'AC_CHECK_SIZEOF',
'AC_CHECK_TARGET_TOOL',
'AC_CHECK_TARGET_TOOLS',
'AC_CHECK_TOOL',
'AC_CHECK_TOOLS',
'AC_CHECK_TYPE',
'AC_CHECK_TYPES',
'AC_CHECKING',
'AC_COMPILE_CHECK',
'AC_COMPILE_IFELSE',
'AC_COMPUTE_INT',
'AC_CONFIG_AUX_DIR',
'AC_CONFIG_COMMANDS',
'AC_CONFIG_COMMANDS_POST',
'AC_CONFIG_COMMANDS_PRE',
'AC_CONFIG_FILES',
'AC_CONFIG_HEADERS',
'AC_CONFIG_ITEMS',
'AC_CONFIG_LIBOBJ_DIR',
'AC_CONFIG_LINKS',
'AC_CONFIG_MACRO_DIR',
'AC_CONFIG_SRCDIR',
'AC_CONFIG_SUBDIRS',
'AC_CONFIG_TESTDIR',
'AC_CONST',
'AC_COPYRIGHT',
'AC_CROSS_CHECK',
'AC_CYGWIN',
'AC_DATAROOTDIR_CHECKED',
'AC_DECL_SYS_SIGLIST',
'AC_DECL_YYTEXT',
'AC_DEFINE',
'AC_DEFINE_UNQUOTED',
'AC_DEFUN',
'AC_DEFUN_ONCE',
'AC_DIAGNOSE',
'AC_DIR_HEADER',
'AC_DISABLE_OPTION_CHECKING',
'AC_DYNIX_SEQ',
'AC_EGREP_CPP',
'AC_EGREP_HEADER',
'AC_EMXOS2',
'AC_ENABLE',
'AC_ERLANG_CHECK_LIB',
'AC_ERLANG_NEED_ERL',
'AC_ERLANG_NEED_ERLC',
'AC_ERLANG_PATH_ERL',
'AC_ERLANG_PATH_ERLC',
'AC_ERLANG_SUBST_ERTS_VER',
'AC_ERLANG_SUBST_INSTALL_LIB_DIR',
'AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR',
'AC_ERLANG_SUBST_LIB_DIR',
'AC_ERLANG_SUBST_ROOT_DIR',
'AC_ERROR',
'AC_EXEEXT',
'AC_F77_DUMMY_MAIN',
'AC_F77_FUNC',
'AC_F77_LIBRARY_LDFLAGS',
'AC_F77_MAIN',
'AC_F77_WRAPPERS',
'AC_FATAL',
'AC_FC_FREEFORM',
'AC_FC_FUNC',
'AC_FC_LIBRARY_LDFLAGS',
'AC_FC_MAIN',
'AC_FC_SRCEXT',
'AC_FC_WRAPPERS',
'AC_FIND_X',
'AC_FIND_XTRA',
'AC_FOREACH',
'AC_FUNC_ALLOCA',
'AC_FUNC_CHECK',
'AC_FUNC_CHOWN',
'AC_FUNC_CLOSEDIR_VOID',
'AC_FUNC_ERROR_AT_LINE',
'AC_FUNC_FNMATCH',
'AC_FUNC_FNMATCH_GNU',
'AC_FUNC_FORK',
'AC_FUNC_FSEEKO',
'AC_FUNC_GETGROUPS',
'AC_FUNC_GETLOADAVG',
'AC_FUNC_GETMNTENT',
'AC_FUNC_GETPGRP',
'AC_FUNC_LSTAT',
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK',
'AC_FUNC_MALLOC',
'AC_FUNC_MBRTOWC',
'AC_FUNC_MEMCMP',
'AC_FUNC_MKTIME',
'AC_FUNC_MMAP',
'AC_FUNC_OBSTACK',
'AC_FUNC_REALLOC',
'AC_FUNC_SELECT_ARGTYPES',
'AC_FUNC_SETPGRP',
'AC_FUNC_SETVBUF_REVERSED',
'AC_FUNC_STAT',
'AC_FUNC_STRCOLL',
'AC_FUNC_STRERROR_R',
'AC_FUNC_STRFTIME',
'AC_FUNC_STRNLEN',
'AC_FUNC_STRTOD',
'AC_FUNC_STRTOLD',
'AC_FUNC_UTIME_NULL',
'AC_FUNC_VPRINTF',
'AC_FUNC_WAIT3',
'AC_GCC_TRADITIONAL',
'AC_GETGROUPS_T',
'AC_GETLOADAVG',
'AC_GNU_SOURCE',
'AC_HAVE_FUNCS',
'AC_HAVE_HEADERS',
'AC_HAVE_LIBRARY',
'AC_HAVE_POUNDBANG',
'AC_HEADER_ASSERT',
'AC_HEADER_CHECK',
'AC_HEADER_DIRENT',
'AC_HEADER_EGREP',
'AC_HEADER_MAJOR',
'AC_HEADER_RESOLV',
'AC_HEADER_STAT',
'AC_HEADER_STDBOOL',
'AC_HEADER_STDC',
'AC_HEADER_SYS_WAIT',
'AC_HEADER_TIME',
'AC_HEADER_TIOCGWINSZ',
'AC_HELP_STRING',
'AC_INCLUDES_DEFAULT',
'AC_INIT',
'AC_INLINE',
'AC_INT_16_BITS',
'AC_IRIX_SUN',
'AC_ISC_POSIX',
'AC_LANG_ASSERT',
'AC_LANG_C',
'AC_LANG_CALL',
'AC_LANG_CONFTEST',
'AC_LANG_CPLUSPLUS',
'AC_LANG_FORTRAN77',
'AC_LANG_FUNC_LINK_TRY',
'AC_LANG_POP',
'AC_LANG_PROGRAM',
'AC_LANG_PUSH',
'AC_LANG_RESTORE',
'AC_LANG_SAVE',
'AC_LANG_SOURCE',
'AC_LANG_WERROR',
'AC_LIBOBJ',
'AC_LIBSOURCE',
'AC_LIBSOURCES',
'AC_LINK_FILES',
'AC_LINK_IFELSE',
'AC_LN_S',
'AC_LONG_64_BITS',
'AC_LONG_DOUBLE',
'AC_LONG_FILE_NAMES',
'AC_MAJOR_HEADER',
'AC_MEMORY_H',
'AC_MINGW32',
'AC_MINIX',
'AC_MINUS_C_MINUS_O',
'AC_MMAP',
'AC_MODE_T',
'AC_MSG_CHECKING',
'AC_MSG_ERROR',
'AC_MSG_FAILURE',
'AC_MSG_NOTICE',
'AC_MSG_RESULT',
'AC_MSG_WARN',
'AC_OBJEXT',
'AC_OBSOLETE',
'AC_OFF_T',
'AC_OPENMP',
'AC_OUTPUT',
'AC_OUTPUT_COMMANDS',
'AC_PACKAGE_BUGREPORT',
'AC_PACKAGE_NAME',
'AC_PACKAGE_STRING',
'AC_PACKAGE_TARNAME',
'AC_PACKAGE_URL',
'AC_PACKAGE_VERSION',
'AC_PATH_PROG',
'AC_PATH_PROGS',
'AC_PATH_PROGS_FEATURE_CHECK',
'AC_PATH_TARGET_TOOL',
'AC_PATH_TOOL',
'AC_PATH_X',
'AC_PATH_XTRA',
'AC_PID_T',
'AC_PREFIX',
'AC_PREFIX_DEFAULT',
'AC_PREFIX_PROGRAM',
'AC_PREPROC_IFELSE',
'AC_PREREQ',
'AC_PRESERVE_HELP_ORDER',
'AC_PROG_AWK',
'AC_PROG_CC',
'AC_PROG_CC_C89',
'AC_PROG_CC_C99',
'AC_PROG_CC_C_O',
'AC_PROG_CC_STDC',
'AC_PROG_CPP',
'AC_PROG_CPP_WERROR',
'AC_PROG_CXX',
'AC_PROG_CXX_C_O',
'AC_PROG_CXXCPP',
'AC_PROG_EGREP',
'AC_PROG_F77',
'AC_PROG_F77_C_O',
'AC_PROG_FC',
'AC_PROG_FC_C_O',
'AC_PROG_FGREP',
'AC_PROG_GCC_TRADITIONAL',
'AC_PROG_GREP',
'AC_PROG_INSTALL',
'AC_PROG_LEX',
'AC_PROG_LN_S',
'AC_PROG_MAKE_SET',
'AC_PROG_MKDIR_P',
'AC_PROG_OBJC',
'AC_PROG_OBJCPP',
'AC_PROG_OBJCXX',
'AC_PROG_OBJCXXCPP',
'AC_PROG_RANLIB',
'AC_PROG_SED',
'AC_PROG_YACC',
'AC_PROGRAM_CHECK',
'AC_PROGRAM_EGREP',
'AC_PROGRAM_PATH',
'AC_PROGRAMS_CHECK',
'AC_PROGRAMS_PATH',
'AC_REMOTE_TAPE',
'AC_REPLACE_FNMATCH',
'AC_REPLACE_FUNCS',
'AC_REQUIRE',
'AC_REQUIRE_AUX_FILE',
'AC_REQUIRE_CPP',
'AC_RESTARTABLE_SYSCALLS',
'AC_RETSIGTYPE',
'AC_REVISION',
'AC_RSH',
'AC_RUN_IFELSE',
'AC_SCO_INTL',
'AC_SEARCH_LIBS',
'AC_SET_MAKE',
'AC_SETVBUF_REVERSED',
'AC_SIZE_T',
'AC_SIZEOF_TYPE',
'AC_ST_BLKSIZE',
'AC_ST_BLOCKS',
'AC_ST_RDEV',
'AC_STAT_MACROS_BROKEN',
'AC_STDC_HEADERS',
'AC_STRCOLL',
'AC_STRUCT_DIRENT_D_INO',
'AC_STRUCT_DIRENT_D_TYPE',
'AC_STRUCT_ST_BLKSIZE',
'AC_STRUCT_ST_BLOCKS',
'AC_STRUCT_ST_RDEV',
'AC_STRUCT_TIMEZONE',
'AC_STRUCT_TM',
'AC_SUBST',
'AC_SUBST_FILE',
'AC_SYS_INTERPRETER',
'AC_SYS_LARGEFILE',
'AC_SYS_LONG_FILE_NAMES',
'AC_SYS_POSIX_TERMIOS',
'AC_SYS_RESTARTABLE_SYSCALLS',
'AC_SYS_SIGLIST_DECLARED',
'AC_TEST_CPP',
'AC_TEST_PROGRAM',
'AC_TIME_WITH_SYS_TIME',
'AC_TIMEZONE',
'AC_TRY_ACT',
'AC_TRY_COMPILE',
'AC_TRY_CPP',
'AC_TRY_LINK',
'AC_TRY_LINK_FUNC',
'AC_TRY_RUN',
'AC_TYPE_GETGROUPS',
'AC_TYPE_INT16_T',
'AC_TYPE_INT32_T',
'AC_TYPE_INT64_T',
'AC_TYPE_INT8_T',
'AC_TYPE_INTMAX_T',
'AC_TYPE_INTPTR_T',
'AC_TYPE_LONG_DOUBLE',
'AC_TYPE_LONG_DOUBLE_WIDER',
'AC_TYPE_LONG_LONG_INT',
'AC_TYPE_MBSTATE_T',
'AC_TYPE_MODE_T',
'AC_TYPE_OFF_T',
'AC_TYPE_PID_T',
'AC_TYPE_SIGNAL',
'AC_TYPE_SIZE_T',
'AC_TYPE_SSIZE_T',
'AC_TYPE_UID_T',
'AC_TYPE_UINT16_T',
'AC_TYPE_UINT32_T',
'AC_TYPE_UINT64_T',
'AC_TYPE_UINT8_T',
'AC_TYPE_UINTMAX_T',
'AC_TYPE_UINTPTR_T',
'AC_TYPE_UNSIGNED_LONG_LONG_INT',
'AC_UID_T',
'AC_UNISTD_H',
'AC_USE_SYSTEM_EXTENSIONS',
'AC_USG',
'AC_UTIME_NULL',
'AC_VALIDATE_CACHED_SYSTEM_TUPLE',
'AC_VERBOSE',
'AC_VFORK',
'AC_VPRINTF',
'AC_WAIT3',
'AC_WARN',
'AC_WARNING',
'AC_WITH',
'AC_WORDS_BIGENDIAN',
'AC_XENIX_DIR',
'AC_YYTEXT_POINTER',
'AH_BOTTOM',
'AH_HEADER',
'AH_TEMPLATE',
'AH_TOP',
'AH_VERBATIM',
'AU_ALIAS',
'AU_DEFUN'),
),
'SYMBOLS' => array('(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`'),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => true,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #00ffff;',
),
'COMMENTS' => array(
1 => 'color: #666666;',
2 => 'color: #339900;',
3 => 'color: #666666;',
'MULTI' => 'color: #ff0000; font-style: italic;'
),
'ESCAPE_CHAR' => array(
0 => 'color: #000099;',
1 => 'color: #000099;',
2 => 'color: #660099;',
3 => 'color: #660099;',
4 => 'color: #660099;',
5 => 'color: #006699;',
'HARD' => '',
),
'BRACKETS' => array(
0 => 'color: #008000;'
),
'STRINGS' => array(
0 => 'color: #996600;'
),
'NUMBERS' => array(
0 => 'color: #0000dd;',
GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
),
'METHODS' => array(
1 => 'color: #202020;',
2 => 'color: #202020;'
),
'SYMBOLS' => array(
0 => 'color: #008000;',
1 => 'color: #000080;',
2 => 'color: #000040;',
3 => 'color: #000040;',
4 => 'color: #008080;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 4,
'PARSER_CONTROL' => array(
'COMMENTS' => array(
'DISALLOWED_BEFORE' => '$'
),
'KEYWORDS' => array(
'DISALLOWED_BEFORE' => "(?<![\.\-a-zA-Z0-9_\$\#])",
'DISALLOWED_AFTER' => "(?![\.\-a-zA-Z0-9_%\\/])"
)
)
);
?>

View file

@ -1,373 +0,0 @@
<?php
/*************************************************************************************
* autohotkey.php
* --------
* Author: Naveen Garg (naveen.garg@gmail.com)
* Copyright: (c) 2009 Naveen Garg and GeSHi
* Release Version: 1.0.8.11
* 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)\#'
)
)
)
);
?>

File diff suppressed because it is too large Load diff

View file

@ -1,194 +0,0 @@
<?php
/*************************************************************************************
* avisynth.php
* --------
* Author: Ryan Jones (sciguyryan@gmail.com)
* Copyright: (c) 2008 Ryan Jones
* Release Version: 1.0.8.11
* 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
);
?>

View file

@ -1,158 +0,0 @@
<?php
/************************************************
* awk.php
* -------
* Author: George Pollard (porges@porg.es)
* Copyright: (c) 2009 George Pollard
* Release Version: 1.0.8.11
* 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()
);
?>

View file

@ -1,185 +0,0 @@
<?php
/*************************************************************************************
* bascomavr.php
* ---------------------------------
* Author: aquaticus.info
* Copyright: (c) 2008 aquaticus.info
* Release Version: 1.0.8.11
* Date Started: 2008/01/09
*
* BASCOM AVR language file for GeSHi.
*
* You can find the BASCOM AVR Website at (www.mcselec.com/bascom-avr.htm)
*
* CHANGES
* -------
* 2008/01/09 (1.0.8.10)
* - First Release
*
*************************************************************************************
*
* This file is part of GeSHi.
*
* GeSHi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GeSHi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GeSHi; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
************************************************************************************/
$language_data = array (
'LANG_NAME' => 'BASCOM AVR',
'COMMENT_SINGLE' => array(1 => "'"),
'COMMENT_MULTI' => array(),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array('"'),
'ESCAPE_CHAR' => '',
'KEYWORDS' => array(
1 => array(
// Navy Blue Bold Keywords
'1WRESET' , '1WREAD' , '1WWRITE' , '1WSEARCHFIRST' , '1WSEARCHNEXT' ,'1WVERIFY' , '1WIRECOUNT',
'CONFIG' , 'ACI' , 'ADC' , 'BCCARD' , 'CLOCK' , 'COM1' ,
'COM2' , 'PS2EMU' , 'ATEMU' , 'I2CSLAVE' ,
'INPUT', 'OUTPUT', 'GRAPHLCD' , 'KEYBOARD' , 'TIMER0' , 'TIMER1' ,
'LCDBUS' , 'LCDMODE' , '1WIRE' , 'LCD' , 'SERIALOUT' ,
'SERIALIN' , 'SPI' , 'LCDPIN' , 'SDA' , 'SCL' ,
'WATCHDOG' , 'PORT' , 'COUNTER0', 'COUNTER1' , 'TCPIP' , 'TWISLAVE' ,
'X10' , 'XRAM' , 'USB',
'BCD' , 'GRAY2BIN' , 'BIN2GRAY' , 'BIN' , 'MAKEBCD' , 'MAKEDEC' , 'MAKEINT' , 'FORMAT' , 'FUSING' , 'BINVAL' ,
'CRC8' , 'CRC16' , 'CRC16UNI' , 'CRC32' , 'HIGH' , 'HIGHW' , 'LOW',
'DATE' , 'TIME' , 'DATE$' , 'TIME$' , 'DAYOFWEEK' , 'DAYOFYEAR' , 'SECOFDAY' , 'SECELAPSED' , 'SYSDAY' , 'SYSSEC' , 'SYSSECELAPSED',
'WAIT' , 'WAITMS' , 'WAITUS' , 'DELAY',
'BSAVE' , 'BLOAD' , 'GET' , 'VER' , 'DISKFREE' , 'DIR' , 'DriveReset' , 'DriveInit' , 'LINE' , 'INITFILESYSTEM' ,
'EOF' , 'WRITE' , 'FLUSH' , 'FREEFILE' , 'FILEATTR' , 'FILEDATE' , 'FILETIME' , 'FILEDATETIME' , 'FILELEN' , 'SEEK' ,
'KILL' , 'DriveGetIdentity' , 'DriveWriteSector' , 'DriveReadSector' , 'LOC' , 'LOF' , 'PUT' , 'OPEN' , 'CLOSE',
'GLCDCMD' , 'GLCDDATA' , 'SETFONT' , 'PSET' , 'SHOWPIC' , 'SHOWPICE' , 'CIRCLE' , 'BOX',
'I2CINIT' , 'I2CRECEIVE' , 'I2CSEND' , 'I2CSTART','I2CSTOP','I2CRBYTE','I2CWBYTE',
'ALIAS' , 'BITWAIT' , 'TOGGLE' , 'RESET' , 'SET' , 'SHIFTIN' , 'SHIFTOUT' , 'DEBOUNCE' , 'PULSEIN' , 'PULSEOUT',
'IDLE' , 'POWERDOWN' , 'POWERSAVE' , 'ON', 'INTERRUPT' , 'ENABLE' , 'DISABLE' , 'START' , 'VERSION' , 'CLOCKDIVISION' , 'CRYSTAL' , 'STOP',
'ADR' , 'ADR2' , 'WRITEEEPROM' , 'CPEEK' , 'CPEEKH' , 'PEEK' , 'POKE' , 'OUT' , 'READEEPROM' , 'DATA' , 'INP' , 'READ' , 'RESTORE' , 'LOOKDOWN' , 'LOOKUP' , 'LOOKUPSTR' , 'LOAD' , 'LOADADR' , 'LOADLABEL' , 'LOADWORDADR' , 'MEMCOPY',
'RC5SEND' , 'RC6SEND' , 'GETRC5' , 'SONYSEND',
'BAUD' , 'BAUD1', 'BUFSPACE' , 'CLEAR', 'ECHO' , 'WAITKEY' , 'ISCHARWAITING' , 'INKEY' , 'INPUTBIN' , 'INPUTHEX' , 'PRINT', 'PRINT1','PRINT0', 'PRINTBIN' , 'SERIN' , 'SEROUT' , 'SPC' , 'MAKEMODBUS',
'SPIIN' , 'SPIINIT' , 'SPIMOVE' , 'SPIOUT', 'SINGLE',
'ASC' , 'UCASE' , 'LCASE' , 'TRIM' , 'SPLIT' , 'LTRIM' , 'INSTR' , 'SPACE' , 'RTRIM' , 'LEFT' , 'LEN' , 'MID' , 'RIGHT' , 'VAL' , 'STR' , 'CHR' , 'CHECKSUM' , 'HEX' , 'HEXVAL',
'BASE64DEC' , 'BASE64ENC' , 'IP2STR' , 'UDPREAD' , 'UDPWRITE' , 'UDPWRITESTR' , 'TCPWRITE' , 'TCPWRITESTR' , 'TCPREAD' , 'GETDSTIP' , 'GETDSTPORT' , 'SOCKETSTAT' , 'SOCKETCONNECT' , 'SOCKETLISTEN' , 'GETSOCKET' , 'CLOSESOCKET' ,
'SETTCP' , 'GETTCPREGS' , 'SETTCPREGS' , 'SETIPPROTOCOL' , 'TCPCHECKSUM',
'HOME' , 'CURSOR' , 'UPPERLINE' , 'THIRDLINE' , 'INITLCD' , 'LOWERLINE' , 'LCDAT' , 'FOURTHLINE' , 'DISPLAY' , 'LCDCONTRAST' , 'LOCATE' , 'SHIFTCURSOR' , 'DEFLCDCHAR' , 'SHIFTLCD' , 'CLS',
'ACOS' , 'ASIN' , 'ATN' , 'ATN2' , 'EXP' , 'RAD2DEG' , 'FRAC' , 'TAN' , 'TANH' , 'COS' , 'COSH' , 'LOG' , 'LOG10' , 'ROUND' , 'ABS' , 'INT' , 'MAX' , 'MIN' , 'SQR' , 'SGN' , 'POWER' , 'SIN' , 'SINH' , 'FIX' , 'INCR' , 'DECR' , 'DEG2RAD',
'DBG' , 'DEBUG', 'DTMFOUT' , 'ENCODER' , 'GETADC' , 'GETKBD' , 'GETATKBD' , 'GETRC' , 'VALUE' , 'POPALL' , 'PS2MOUSEXY' , 'PUSHALL' ,
'RETURN' , 'RND' , 'ROTATE' , 'SENDSCAN' , 'SENDSCANKBD' , 'SHIFT' , 'SOUND' , 'STCHECK' , 'SWAP' , 'VARPTR' , 'X10DETECT' , 'X10SEND' , 'READMAGCARD' , 'REM' , 'BITS' , 'BYVAL' , 'CALL' , 'READHITAG',
'Buffered', 'Size', 'Dummy', 'Parity', 'None', 'Stopbits', 'Databits', 'Clockpol', 'Synchrone', 'Prescaler', 'Reference', 'int0', 'int1', 'Interrupts',
'Auto', 'avcc', 'ack', 'nack', 'Pin', 'Db4', 'Db3', 'Db2', 'Db1', 'Db7', 'Db6', 'Db5', 'Db0', 'e', 'rs', 'twi',
),
2 => array(
// Red Lowercase Keywords
'$ASM' , '$BAUD' , '$BAUD1' , '$BGF' , '$BOOT' , '$CRYSTAL' , '$DATA' , '$DBG' , '$DEFAULT' , '$EEPLEAVE' , '$EEPROM' ,
'$EEPROMHEX' , '$EXTERNAL' , '$HWSTACK' , '$INC' , '$INCLUDE' , '$INITMICRO' , '$LCD' , '$LCDRS' , '$LCDPUTCTRL' ,
'$LCDPUTDATA' , '$LCDVFO' , '$LIB' , '$LOADER' , '$LOADERSIZE' , '$MAP' , '$NOCOMPILE' , '$NOINIT' , '$NORAMCLEAR' ,
'$PROG' , '$PROGRAMMER' , '$REGFILE' , '$RESOURCE' , '$ROMSTART', '$SERIALINPUT', '$SERIALINPUT1' , '$SERIALINPUT2LCD' ,
'$SERIALOUTPUT' , '$SERIALOUTPUT1' , '$SIM' , '$SWSTACK' , '$TIMEOUT' , '$TINY' , '$WAITSTATE' , '$XRAMSIZE' , '$XRAMSTART', '$XA',
'#IF' , '#ELSE' , '#ENDIF', '$framesize'
),
3 => array(
// Blue Lowercase Keywords
'IF', 'THEN', 'ELSE', 'END', 'WHILE', 'WEND', 'DO', 'LOOP', 'SELECT', 'CASE', 'FOR', 'NEXT',
'GOSUB' , 'GOTO' , 'LOCAL' , 'SUB' , 'DEFBIT', 'DEFBYTE', 'DEFINT', 'DEFWORD', 'DEFLNG', 'DEFSNG', 'DEFDBL',
'CONST', 'DECLARE', 'FUNCTION', 'DIM', 'EXIT', 'LONG', 'INTEGER', 'BYTE', 'AS', 'STRING', 'WORD'
),
4 => array(
//light blue
'PINA.0', 'PINA.1', 'PINA.2', 'PINA.3', 'PINA.4', 'PINA.5', 'PINA.6', 'PINA.7',
'PINB.0', 'PINB.1', 'PINB.2', 'PINB.3', 'PINB.4', 'PINB.5', 'PINB.6', 'PINB.7',
'PINC.0', 'PINC.1', 'PINC.2', 'PINC.3', 'PINC.4', 'PINC.5', 'PINC.6', 'PINC.7',
'PIND.0', 'PIND.1', 'PIND.2', 'PIND.3', 'PIND.4', 'PIND.5', 'PIND.6', 'PIND.7',
'PINE.0', 'PINE.1', 'PINE.2', 'PINE.3', 'PINE.4', 'PINE.5', 'PINE.6', 'PINE.7',
'PINF.0', 'PINF.1', 'PINF.2', 'PINF.3', 'PINF.4', 'PINF.5', 'PINF.6', 'PINF.7',
'PORTA.0', 'PORTA.1', 'PORTA.2', 'PORTA.3', 'PORTA.4', 'PORTA.5', 'PORTA.6', 'PORTA.7',
'PORTB.0', 'PORTB.1', 'PORTB.2', 'PORTB.3', 'PORTB.4', 'PORTB.5', 'PORTB.6', 'PORTB.7',
'PORTC.0', 'PORTC.1', 'PORTC.2', 'PORTC.3', 'PORTC.4', 'PORTC.5', 'PORTC.6', 'PORTC.7',
'PORTD.0', 'PORTD.1', 'PORTD.2', 'PORTD.3', 'PORTD.4', 'PORTD.5', 'PORTD.6', 'PORTD.7',
'PORTE.0', 'PORTE.1', 'PORTE.2', 'PORTE.3', 'PORTE.4', 'PORTE.5', 'PORTE.6', 'PORTE.7',
'PORTF.0', 'PORTF.1', 'PORTF.2', 'PORTF.3', 'PORTF.4', 'PORTF.5', 'PORTF.6', 'PORTF.7',
'DDRA.0', 'DDRA.1', 'DDRA.2', 'DDRA.3', 'DDRA.4', 'DDRA.5', 'DDRA.6', 'DDRA.7',
'DDRB.0', 'DDRB.1', 'DDRB.2', 'DDRB.3', 'DDRB.4', 'DDRB.5', 'DDRB.6', 'DDRB.7',
'DDRC.0', 'DDRC.1', 'DDRC.2', 'DDRC.3', 'DDRC.4', 'DDRC.5', 'DDRC.6', 'DDRC.7',
'DDRD.0', 'DDRD.1', 'DDRD.2', 'DDRD.3', 'DDRD.4', 'DDRD.5', 'DDRD.6', 'DDRD.7',
'DDRE.0', 'DDRE.1', 'DDRE.2', 'DDRE.3', 'DDRE.4', 'DDRE.5', 'DDRE.6', 'DDRE.7',
'DDRF.0', 'DDRF.1', 'DDRF.2', 'DDRF.3', 'DDRF.4', 'DDRF.5', 'DDRF.6', 'DDRF.7',
'DDRA','DDRB','DDRC','DDRD','DDRE','DDRF',
'PORTA','PORTB','PORTC','PORTD','PORTE','PORTF',
'PINA','PINB','PINC','PIND','PINE','PINF',
)
),
'SYMBOLS' => array(
'=', '<', '>', '>=', '<=', '+', '-', '*', '/', '%', '(', ')', '{', '}', '[', ']', ';', ':', '$', '&H'
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false,
4 => false,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #000080; font-weight: bold;',
2 => 'color: #FF0000;',
3 => 'color: #0000FF;',
4 => 'color: #0080FF;',
),
'COMMENTS' => array(
1 => 'color: #657CC4; font-style: italic;'
),
'BRACKETS' => array(
0 => 'color: #000080;'
),
'STRINGS' => array(
0 => 'color: #008000;'
),
'NUMBERS' => array(
0 => 'color: #000080; font-weight: bold;'
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #0000FF;'
),
'ESCAPE_CHAR' => array(
),
'SCRIPT' => array(
),
'REGEXPS' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => ''
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 4
);
?>

View file

@ -1,440 +0,0 @@
<?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.11
* 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",
// Single-Line Shell usage: Hide the prompt at the beginning
/* 4 => "/\A(?!#!)\s*(?>[\w:@\\/\\-\\._~]*[$#]\s?)?(?=[^\n]+\n?\Z)|^(?!#!)(\w+@)?[\w\\-\\.]+(:~?)[\w\\/\\-\\._]*?[$#]\s?/ms" */
4 => "/\A(?!#!)(?:(?>[\w:@\\/\\-\\._~]*)[$#]\s?)(?=(?>[^\n]+)\n?\Z)|^(?!#!)(?:\w+@)?(?>[\w\\-\\.]+)(?>:~?[\w\\/\\-\\._]*?)?[$#]\s?/sm"
),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array('"'),
'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', 'apachectl', 'apache2ctl', 'aplay', 'apm',
'apmsleep', 'apropos', 'apt-cache', 'apt-cdrom', 'apt-config',
'apt-file', 'apt-ftparchive', 'apt-get', 'apt-key', 'apt-listbugs',
'apt-listchanges', 'apt-mark', 'apt-mirror', 'apt-sortpkgs',
'apt-src', 'apticron', 'aptitude', 'aptsh', 'apxs', 'apxs2', 'ar',
'arch', 'arecord', 'as', 'as86', 'ash', 'autoconf', 'autoheader',
'automake', 'awk',
'apachectl start', 'apachectl stop', 'apachectl restart',
'apachectl graceful', 'apachectl graceful-stop',
'apachectl configtest', 'apachectl status', 'apachectl fullstatus',
'apachectl help', 'apache2ctl start', 'apache2ctl stop',
'apache2ctl restart', 'apache2ctl graceful',
'apache2ctl graceful-stop', 'apache2ctl configtest',
'apache2ctl status', 'apache2ctl fullstatus', 'apache2ctl help',
'apt-cache add', 'apt-cache depends', 'apt-cache dotty',
'apt-cache dump', 'apt-cache dumpavail', 'apt-cache gencaches',
'apt-cache pkgnames', 'apt-cache policy', 'apt-cache rdepends',
'apt-cache search', 'apt-cache show', 'apt-cache showauto',
'apt-cache showpkg', 'apt-cache showsrc', 'apt-cache stats',
'apt-cache unmet', 'apt-cache xvcg', 'apt-cdrom add',
'apt-cdrom ident', 'apt-config dump', 'apt-config shell',
'apt-file find', 'apt-file list', 'apt-file purge',
'apt-file search', 'apt-file shot', 'apt-file update',
'apt-get autoclean', 'apt-get autoremove', 'apt-get build-dep',
'apt-get check', 'apt-get clean', 'apt-get dist-upgrade',
'apt-get dselect-upgrade', 'apt-get install', 'apt-get markauto',
'apt-get purge', 'apt-get remove', 'apt-get source',
'apt-get unmarkauto', 'apt-get update', 'apt-get upgrade',
'apt-key add', 'apt-key adv', 'apt-key del', 'apt-key export',
'apt-key exportall', 'apt-key finger', 'apt-key list',
'apt-key net-update', 'apt-key update', 'apt-listbugs apt',
'apt-listbugs list', 'apt-listbugs rss', 'apt-src build',
'apt-src clean', 'apt-src import', 'apt-src install',
'apt-src list', 'apt-src location', 'apt-src name',
'apt-src remove', 'apt-src update', 'apt-src upgrade',
'apt-src version',
'basename', 'bash', 'bc', 'bison', 'bunzip2', 'bzcat',
'bzcmp', 'bzdiff', 'bzegrep', 'bzfgrep', 'bzgrep',
'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',
'cvs add', 'cvs admin', 'cvs annotate', 'cvs checkout',
'cvs commit', 'cvs diff', 'cvs edit', 'cvs editors', 'cvs export',
'cvs history', 'cvs import', 'cvs init', 'cvs log', 'cvs login',
'cvs logout', 'cvs ls', 'cvs pserver', 'cvs rannotate',
'cvs rdiff', 'cvs release', 'cvs remove', 'cvs rlog', 'cvs rls',
'cvs rtag', 'cvs server', 'cvs status', 'cvs tag', 'cvs unedit',
'cvs update', 'cvs version', 'cvs watch', 'cvs watchers',
'dash', 'date', 'dc', 'dch', 'dcop', 'dd', 'ddate', 'ddd',
'deallocvt', 'debconf', 'defoma', 'depmod', 'df', 'dh',
'dialog', 'diff', 'diff3', 'dig', 'dir', 'dircolors', 'directomatic',
'dirname', 'dmesg', 'dnsdomainname', 'domainname', 'dpkg',
'dselect', 'du', 'dumpkeys',
'ed', 'egrep', 'env', 'expr',
'false', 'fbset', 'fdisk', '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', 'git add', 'git add--interactive', 'git am', 'git annotate',
'git apply', 'git archive', 'git bisect', 'git bisect--helper',
'git blame', 'git branch', 'git bundle', 'git cat-file',
'git check-attr', 'git checkout', 'git checkout-index',
'git check-ref-format', 'git cherry', 'git cherry-pick',
'git clean', 'git clone', 'git commit', 'git commit-tree',
'git config', 'git count-objects', 'git daemon', 'git describe',
'git diff', 'git diff-files', 'git diff-index', 'git difftool',
'git difftool--helper', 'git diff-tree', 'git fast-export',
'git fast-import', 'git fetch', 'git fetch-pack',
'git filter-branch', 'git fmt-merge-msg', 'git for-each-ref',
'git format-patch', 'git fsck', 'git fsck-objects', 'git gc',
'git get-tar-commit-id', 'git grep', 'git hash-object', 'git help',
'git http-backend', 'git http-fetch', 'git http-push',
'git imap-send', 'git index-pack', 'git init', 'git init-db',
'git instaweb', 'git log', 'git lost-found', 'git ls-files',
'git ls-remote', 'git ls-tree', 'git mailinfo', 'git mailsplit',
'git merge', 'git merge-base', 'git merge-file', 'git merge-index',
'git merge-octopus', 'git merge-one-file', 'git merge-ours',
'git merge-recursive', 'git merge-resolve', 'git merge-subtree',
'git mergetool', 'git merge-tree', 'git mktag', 'git mktree',
'git mv', 'git name-rev', 'git notes', 'git pack-objects',
'git pack-redundant', 'git pack-refs', 'git patch-id',
'git peek-remote', 'git prune', 'git prune-packed', 'git pull',
'git push', 'git quiltimport', 'git read-tree', 'git rebase',
'git rebase--interactive', 'git receive-pack', 'git reflog',
'git relink', 'git remote', 'git remote-ftp', 'git remote-ftps',
'git remote-http', 'git remote-https', 'git remote-testgit',
'git repack', 'git replace', 'git repo-config', 'git request-pull',
'git rerere', 'git reset', 'git revert', 'git rev-list',
'git rev-parse', 'git rm', 'git send-pack', 'git shell',
'git shortlog', 'git show', 'git show-branch', 'git show-index',
'git show-ref', 'git stage', 'git stash', 'git status',
'git stripspace', 'git submodule', 'git symbolic-ref', 'git tag',
'git tar-tree', 'git unpack-file', 'git unpack-objects',
'git update-index', 'git update-ref', 'git update-server-info',
'git upload-archive', 'git upload-pack', 'git var',
'git verify-pack', 'git verify-tag', 'git web--browse',
'git whatchanged', 'git write-tree',
'gitaction', 'git-add', 'git-add--interactive', 'git-am',
'git-annotate', 'git-apply', 'git-archive', 'git-bisect',
'git-bisect--helper', 'git-blame', 'git-branch', 'git-bundle',
'git-cat-file', 'git-check-attr', 'git-checkout',
'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',
'ip', 'ip addr', 'ip addrlabel', 'ip link', 'ip maddr', 'ip mroute',
'ip neigh', 'ip route', 'ip rule', 'ip tunnel', 'ip xfrm',
'join',
'kbd_mode','kbdrate', 'kdialog', 'kfile', 'kill', 'killall',
'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',
'svn add', 'svn ann', 'svn annotate', 'svn blame', 'svn cat',
'svn changelist', 'svn checkout', 'svn ci', 'svn cl', 'svn cleanup',
'svn co', 'svn commit', 'svn copy', 'svn cp', 'svn del',
'svn delete', 'svn di', 'svn diff', 'svn export', 'svn h',
'svn help', 'svn import', 'svn info', 'svn list', 'svn lock',
'svn log', 'svn ls', 'svn merge', 'svn mergeinfo', 'svn mkdir',
'svn move', 'svn mv', 'svn pd', 'svn pdel', 'svn pe', 'svn pedit',
'svn pg', 'svn pget', 'svn pl', 'svn plist', 'svn praise',
'svn propdel', 'svn propedit', 'svn propget', 'svn proplist',
'svn propset', 'svn ps', 'svn pset', 'svn remove', 'svn ren',
'svn rename', 'svn resolve', 'svn resolved', 'svn revert', 'svn rm',
'svn st', 'svn stat', 'svn status', 'svn sw', 'svn switch',
'svn unlock', 'svn up', 'svn update',
'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'tree',
'true',
'umount', 'uname', 'unicode_start', 'unicode_stop', 'uniq',
'unlink', 'unzip', 'updatedb', 'updmap', 'uptime', 'users',
'utmpdump', 'uuidgen',
'valgrind', 'vdir', 'vi', 'vim', 'vmstat',
'w', 'wall', 'watch', 'wc', 'wget', 'whatis', 'whereis',
'which', 'whiptail', 'who', 'whoami', 'whois', 'wine', 'wineboot',
'winebuild', 'winecfg', 'wineconsole', 'winedbg', 'winedump',
'winefile', 'wodim', 'write',
'xargs', 'xhost', 'xmodmap', 'xset',
'yacc', 'yes', 'ypdomainname', 'yum',
'yum check-update', 'yum clean', 'yum deplist', 'yum erase',
'yum groupinfo', 'yum groupinstall', 'yum grouplist',
'yum groupremove', 'yum groupupdate', 'yum info', 'yum install',
'yum list', 'yum localinstall', 'yum localupdate', 'yum makecache',
'yum provides', 'yum remove', 'yum resolvedep', 'yum search',
'yum shell', 'yum update', 'yum upgrade', 'yum whatprovides',
'zcat', 'zcmp', 'zdiff', 'zdump', 'zegrep', 'zfgrep', 'zforce',
'zgrep', 'zip', 'zipgrep', 'zipinfo', 'zless', 'zmore', 'znew',
'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;',
4 => 'color: #666666;'
),
'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=]|<(?:SEMI|PIPE)>|$)"
),
'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_%=\\/:])",
2 => array(
'SPACE_AS_WHITESPACE' => false
)
)
)
);
?>

View file

@ -1,341 +0,0 @@
<?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.11
* 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
);
?>

View file

@ -1,115 +0,0 @@
<?php
/*************************************************************************************
* bf.php
* ----------
* Author: Benny Baumann (BenBE@geshi.org)
* Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
* Release Version: 1.0.8.11
* 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: #660000;'
),
'STRINGS' => array(
0 => 'color: #ff0000;'
),
'NUMBERS' => array(
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #006600;',
1 => 'color: #660000;',
2 => 'color: #000066;',
3 => 'color: #666600;',
4 => 'color: #660066;'
),
'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,
'BRACKETS' => GESHI_NEVER
),
'KEYWORDS' => array(
'DISALLOW_BEFORE' => '',
'DISALLOW_AFTER' => ''
)
)
);
?>

View file

@ -1,183 +0,0 @@
<?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.11
* 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*=)'
),
)
)
);
?>

View file

@ -1,185 +0,0 @@
<?php
/*************************************************************************************
* blitzbasic.php
* --------------
* Author: P<EFBFBD>draig O`Connel (info@moonsword.info)
* Copyright: (c) 2005 P<EFBFBD>draig O`Connel (http://moonsword.info)
* Release Version: 1.0.8.11
* 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','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
)
);
?>

View file

@ -1,119 +0,0 @@
<?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.11
* 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(
0 => array('(', ')'),
1 => array('<', '>'),
2 => array('[', ']'),
3 => array('{', '}'),
4 => array('=', '*', '/', '|', ':'),
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false
),
'STYLES' => array(
'KEYWORDS' => array(),
'COMMENTS' => array(
0 => 'color: #666666; font-style: italic;', // Single Line comments
),
'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;', // Round brackets
1 => 'color: #000066; font-weight: bold;', // Angel Brackets
2 => 'color: #000066; font-weight: bold;', // Square Brackets
3 => 'color: #000066; font-weight: bold;', // BRaces
4 => 'color: #006600; font-weight: bold;', // Other operator symbols
),
'REGEXPS' => array(
0 => 'color: #007;',
),
'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(
)
);
?>

View file

@ -1,217 +0,0 @@
<?php
/*************************************************************************************
* boo.php
* --------
* Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
* Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
* Release Version: 1.0.8.11
* 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
);
?>

View file

@ -1,281 +0,0 @@
<?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.11
* 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(
// assert.h
'assert',
//complex.h
'cabs', 'cacos', 'cacosh', 'carg', 'casin', 'casinh', 'catan',
'catanh', 'ccos', 'ccosh', 'cexp', 'cimag', 'cis', 'clog', 'conj',
'cpow', 'cproj', 'creal', 'csin', 'csinh', 'csqrt', 'ctan', 'ctanh',
//ctype.h
'digittoint', 'isalnum', 'isalpha', 'isascii', 'isblank', 'iscntrl',
'isdigit', 'isgraph', 'islower', 'isprint', 'ispunct', 'isspace',
'isupper', 'isxdigit', 'toascii', 'tolower', 'toupper',
//inttypes.h
'imaxabs', 'imaxdiv', 'strtoimax', 'strtoumax', 'wcstoimax',
'wcstoumax',
//locale.h
'localeconv', 'setlocale',
//math.h
'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'exp',
'fabs', 'floor', 'frexp', 'ldexp', 'log', 'log10', 'modf', 'pow',
'sin', 'sinh', 'sqrt', 'tan', 'tanh',
//setjmp.h
'longjmp', 'setjmp',
//signal.h
'raise',
//stdarg.h
'va_arg', 'va_copy', 'va_end', 'va_start',
//stddef.h
'offsetof',
//stdio.h
'clearerr', 'fclose', 'fdopen', 'feof', 'ferror', 'fflush', 'fgetc',
'fgetpos', 'fgets', 'fopen', 'fprintf', 'fputc', 'fputchar',
'fputs', 'fread', 'freopen', 'fscanf', 'fseek', 'fsetpos', 'ftell',
'fwrite', 'getc', 'getch', 'getchar', 'gets', 'perror', 'printf',
'putc', 'putchar', 'puts', 'remove', 'rename', 'rewind', 'scanf',
'setbuf', 'setvbuf', 'snprintf', 'sprintf', 'sscanf', 'tmpfile',
'tmpnam', 'ungetc', 'vfprintf', 'vfscanf', 'vprintf', 'vscanf',
'vsprintf', 'vsscanf',
//stdlib.h
'abort', 'abs', 'atexit', 'atof', 'atoi', 'atol', 'bsearch',
'calloc', 'div', 'exit', 'free', 'getenv', 'itoa', 'labs', 'ldiv',
'ltoa', 'malloc', 'qsort', 'rand', 'realloc', 'srand', 'strtod',
'strtol', 'strtoul', 'system',
//string.h
'memchr', 'memcmp', 'memcpy', 'memmove', 'memset', 'strcat',
'strchr', 'strcmp', 'strcoll', 'strcpy', 'strcspn', 'strerror',
'strlen', 'strncat', 'strncmp', 'strncpy', 'strpbrk', 'strrchr',
'strspn', 'strstr', 'strtok', 'strxfrm',
//time.h
'asctime', 'clock', 'ctime', 'difftime', 'gmtime', 'localtime',
'mktime', 'strftime', 'time',
//wchar.h
'btowc', 'fgetwc', 'fgetws', 'fputwc', 'fputws', 'fwide',
'fwprintf', 'fwscanf', 'getwc', 'getwchar', 'mbrlen', 'mbrtowc',
'mbsinit', 'mbsrtowcs', 'putwc', 'putwchar', 'swprintf', 'swscanf',
'ungetwc', 'vfwprintf', 'vswprintf', 'vwprintf', 'wcrtomb',
'wcscat', 'wcschr', 'wcscmp', 'wcscoll', 'wcscpy', 'wcscspn',
'wcsftime', 'wcslen', 'wcsncat', 'wcsncmp', 'wcsncpy', 'wcspbrk',
'wcsrchr', 'wcsrtombs', 'wcsspn', 'wcsstr', 'wcstod', 'wcstok',
'wcstol', 'wcstoul', 'wcsxfrm', 'wctob', 'wmemchr', 'wmemcmp',
'wmemcpy', 'wmemmove', 'wmemset', 'wprintf', 'wscanf',
//wctype.h
'iswalnum', 'iswalpha', 'iswcntrl', 'iswctype', 'iswdigit',
'iswgraph', 'iswlower', 'iswprint', 'iswpunct', 'iswspace',
'iswupper', 'iswxdigit', 'towctrans', 'towlower', 'towupper',
'wctrans', 'wctype'
),
4 => array(
'auto', 'char', 'const', 'double', 'float', 'int', 'long',
'register', 'short', 'signed', 'sizeof', 'static', 'struct',
'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t',
'int8', 'int16', 'int32', 'int64',
'uint8', 'uint16', 'uint32', 'uint64',
'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
'int8_t', 'int16_t', 'int32_t', 'int64_t',
'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t',
'size_t', 'off_t'
),
),
'SYMBOLS' => array(
'(', ')', '{', '}', '[', ']',
'+', '-', '*', '/', '%',
'=', '<', '>',
'!', '^', '&', '|',
'?', ':',
';', ','
),
'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
);
?>

View file

@ -1,323 +0,0 @@
<?php
/*************************************************************************************
* c_loadrunner.php
* ---------------------------------
* Author: Stuart Moncrieff (stuart at myloadtest dot com)
* Copyright: (c) 2010 Stuart Moncrieff (http://www.myloadtest.com/loadrunner-syntax-highlighter/)
* Release Version: 1.0.8.11
* Date Started: 2010-07-25
*
* C (for LoadRunner) language file for GeSHi.
*
* Based on LoadRunner 9.52.
*
* CHANGES
* -------
* 2010-08-01 (1.0.8.9)
* - Added highlighting support for LoadRunner {parameters}.
* 2010-07-25 (1.0.8.8)
* - First Release. Syntax highlighting support for lr_, web_, and sapgui_ functions only.
*
* TODO (updated 2010-07-25)
* -------------------------
* - Add support for other vuser types: MMS, FTP, 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 (
// The First Indices
'LANG_NAME' => 'C (LoadRunner)',
'COMMENT_SINGLE' => array(1 => '//'),
'COMMENT_MULTI' => array('/*' => '*/'),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
// Escape characters within strings (like \\) are not highlighted differently in LoadRunner, so
// I am using GeSHi escape characters (or regular expressions) to highlight LoadRunner {parameters}.
// LoadRunner {parameters} must begin with a letter and contain only alphanumeric characters and '_'
'ESCAPE_REGEXP' => array(
0 => "#\{[a-zA-Z]{1}[a-zA-Z_]{0,}\}#",
),
// Keywords
'KEYWORDS' => array(
// Keywords from http://en.wikipedia.org/wiki/C_syntax
1 => array(
'auto', 'break', 'case', 'char', 'const', 'continue', 'default',
'do', 'double', 'else', 'enum', 'extern', 'float', 'for', 'goto',
'if', 'inline', 'int', 'long', 'register', 'restrict', 'return',
'short', 'signed', 'sizeof', 'static', 'struct', 'switch',
'typedef', 'union', 'unsigned', 'void', 'volatile', 'while',
'_Bool', '_Complex', '_Imaginary'
),
// C preprocessor directives from http://en.wikipedia.org/wiki/C_preprocessor
2 => array(
'#define', '#if', '#ifdef', '#ifndef', '#include', '#else', '#elif', '#endif', '#pragma', '#undef'
),
// Functions from lrun.h
3 => array(
'lr_start_transaction', 'lr_start_sub_transaction', 'lr_start_transaction_instance', 'lr_end_transaction',
'lr_end_sub_transaction', 'lr_end_transaction_instance', 'lr_stop_transaction', 'lr_stop_transaction_instance',
'lr_resume_transaction', 'lr_resume_transaction_instance', 'lr_wasted_time', 'lr_set_transaction', 'lr_user_data_point',
'lr_user_data_point_instance', 'lr_user_data_point_ex', 'lr_user_data_point_instance_ex', 'lr_get_transaction_duration',
'lr_get_trans_instance_duration', 'lr_get_transaction_think_time', 'lr_get_trans_instance_think_time',
'lr_get_transaction_wasted_time', 'lr_get_trans_instance_wasted_time', 'lr_get_transaction_status',
'lr_get_trans_instance_status', 'lr_set_transaction_status', 'lr_set_transaction_status_by_name',
'lr_set_transaction_instance_status', 'lr_start_timer', 'lr_end_timer', 'lr_rendezvous', 'lr_rendezvous_ex',
'lr_get_vuser_ip', 'lr_whoami', 'lr_get_host_name', 'lr_get_master_host_name', 'lr_get_attrib_long',
'lr_get_attrib_string', 'lr_get_attrib_double', 'lr_paramarr_idx', 'lr_paramarr_random', 'lr_paramarr_len',
'lr_param_unique', 'lr_param_sprintf', 'lr_load_dll', 'lr_continue_on_error', 'lr_decrypt', 'lr_abort', 'lr_exit',
'lr_peek_events', 'lr_think_time', 'lr_debug_message', 'lr_log_message', 'lr_message', 'lr_error_message',
'lr_output_message', 'lr_vuser_status_message', 'lr_fail_trans_with_error', 'lr_next_row', 'lr_advance_param',
'lr_eval_string', 'lr_eval_string_ext', 'lr_eval_string_ext_free', 'lr_param_increment', 'lr_save_var',
'lr_save_string', 'lr_save_int', 'lr_save_datetime', 'lr_save_searched_string', 'lr_set_debug_message',
'lr_get_debug_message', 'lr_enable_ip_spoofing', 'lr_disable_ip_spoofing', 'lr_convert_string_encoding'
),
// Constants from lrun.h
4 => array(
'DP_FLAGS_NO_LOG', 'DP_FLAGS_STANDARD_LOG', 'DP_FLAGS_EXTENDED_LOG', 'merc_timer_handle_t', 'LR_EXIT_VUSER',
'LR_EXIT_ACTION_AND_CONTINUE', 'LR_EXIT_ITERATION_AND_CONTINUE', 'LR_EXIT_VUSER_AFTER_ITERATION',
'LR_EXIT_VUSER_AFTER_ACTION', 'LR_EXIT_MAIN_ITERATION_AND_CONTINUE', 'LR_MSG_CLASS_DISABLE_LOG',
'LR_MSG_CLASS_STANDARD_LOG', 'LR_MSG_CLASS_RETURNED_DATA', 'LR_MSG_CLASS_PARAMETERS', 'LR_MSG_CLASS_ADVANCED_TRACE',
'LR_MSG_CLASS_EXTENDED_LOG', 'LR_MSG_CLASS_SENT_DATA', 'LR_MSG_CLASS_JIT_LOG_ON_ERROR', 'LR_SWITCH_OFF', 'LR_SWITCH_ON',
'LR_SWITCH_DEFAULT', 'ONE_DAY', 'ONE_HOUR', 'ONE_MIN', 'DATE_NOW', 'TIME_NOW', 'LR_MSG_CLASS_BRIEF_LOG',
'LR_MSG_CLASS_RESULT_DATA', 'LR_MSG_CLASS_FULL_TRACE', 'LR_MSG_CLASS_AUTO_LOG', 'LR_MSG_OFF', 'LR_MSG_ON',
'LR_MSG_DEFAULT'
),
// Functions from web_api.h
5 => array(
'web_reg_add_cookie', 'web_report_data_point', 'web_text_link', 'web_element', 'web_image_link', 'web_static_image',
'web_image_submit', 'web_button', 'web_edit_field', 'web_radio_group', 'web_check_box', 'web_list', 'web_text_area',
'web_map_area', 'web_eval_java_script', 'web_reg_dialog', 'web_reg_cross_step_download', 'web_browser',
'web_set_rts_key', 'web_save_param_length', 'web_save_timestamp_param', 'web_load_cache', 'web_dump_cache',
'web_add_cookie_ex'
),
// Constants from web_api.h
6 => array(
'DESCRIPTION', 'ACTION', 'VERIFICATION', 'LR_NOT_FOUND', 'HTTP_INFO_TOTAL_REQUEST_STAT',
'HTTP_INFO_TOTAL_RESPONSE_STAT', 'LRW_OPT_STOP_VUSER_ON_ERROR', 'LRW_OPT_DISPLAY_IMAGE_BODY'
),
// Functions from as_web.h
7 => array(
'web_add_filter', 'web_add_auto_filter', 'web_add_auto_header', 'web_add_header', 'web_add_cookie',
'web_cleanup_auto_headers', 'web_cleanup_cookies', 'web_concurrent_end', 'web_concurrent_start', 'web_create_html_param',
'web_create_html_param_ex', 'web_custom_request', 'web_disable_keep_alive', 'web_enable_keep_alive', 'web_find',
'web_get_int_property', 'web_image', 'web_image_check', 'web_link', 'web_global_verification', 'web_reg_find',
'web_reg_save_param', 'web_convert_param', 'web_remove_auto_filter', 'web_remove_auto_header', 'web_revert_auto_header',
'web_remove_cookie', 'web_save_header', 'web_set_certificate', 'web_set_certificate_ex', 'web_set_connections_limit',
'web_set_max_html_param_len', 'web_set_max_retries', 'web_set_proxy', 'web_set_proxy_bypass', 'web_set_secure_proxy',
'web_set_sockets_option', 'web_set_option', 'web_set_timeout', 'web_set_user', 'web_sjis_to_euc_param',
'web_submit_data', 'web_submit_form', 'web_url', 'web_set_proxy_bypass_local', 'web_cache_cleanup',
'web_create_html_query', 'web_create_radio_button_param', 'web_switch_net_layer'
),
// Constants from as_web.h
8 => array(
'ENDFORM', 'LAST', 'ENDITEM', 'EXTRARES', 'ITEMDATA', 'STARTHIDDENS', 'ENDHIDDENS', 'CONNECT', 'RECEIVE', 'RESOLVE',
'STEP', 'REQUEST', 'RESPONSE', 'STARTQUERY', 'ENDQUERY', 'INPROPS', 'OUTPROPS', 'ENDPROPS', 'RAW_BODY_START',
'RAW_BODY_END', 'HTTP_INFO_RETURN_CODE', 'HTTP_INFO_DOWNLOAD_SIZE', 'HTTP_INFO_DOWNLOAD_TIME',
'LRW_NET_SOCKET_OPT_LOAD_VERIFY_FILE', 'LRW_NET_SOCKET_OPT_DEFAULT_VERIFY_PATH', 'LRW_NET_SOCKET_OPT_SSL_VERSION',
'LRW_NET_SOCKET_OPT_SSL_CIPHER_LIST', 'LRW_NET_SOCKET_OPT_SO_REUSE_ADDRESS', 'LRW_NET_SOCKET_OPT_USER_IP_ADDRESS',
'LRW_NET_SOCKET_OPT_IP_ADDRESS_BY_INDEX', 'LRW_NET_SOCKET_OPT_HELP', 'LRW_NET_SOCKET_OPT_PRINT_USER_IP_ADDRESS_LIST',
'LRW_OPT_HTML_CHAR_REF_BACKWARD_COMPATIBILITY', 'LRW_OPT_VALUE_YES', 'LRW_OPT_VALUE_NO'
),
// Functions from as_sapgui.h
9 => array(
'sapgui_open_connection', 'sapgui_open_connection_ex', 'sapgui_logon', 'sapgui_create_session',
'sapgui_create_new_session', 'sapgui_call_method', 'sapgui_call_method_ex', 'sapgui_set_property',
'sapgui_get_property', 'sapgui_set_collection_property', 'sapgui_active_object_from_parent_method',
'sapgui_active_object_from_parent_property', 'sapgui_call_method_of_active_object',
'sapgui_call_method_of_active_object_ex', 'sapgui_set_property_of_active_object', 'sapgui_get_property_of_active_object',
'sapgui_select_active_connection', 'sapgui_select_active_session', 'sapgui_select_active_window ',
'sapgui_status_bar_get_text', 'sapgui_status_bar_get_param', 'sapgui_status_bar_get_type', 'sapgui_get_status_bar_text',
'sapgui_get_active_window_title', 'sapgui_is_object_available', 'sapgui_is_tab_selected', 'sapgui_is_object_changeable',
'sapgui_set_ok_code', 'sapgui_send_vkey', 'sapgui_resize_window', 'sapgui_window_resize', 'sapgui_window_maximize',
'sapgui_window_close', 'sapgui_window_restore', 'sapgui_window_scroll_to_row', 'sapgui_press_button',
'sapgui_select_radio_button', 'sapgui_set_password', 'sapgui_set_text', 'sapgui_select_menu', 'sapgui_select_tab',
'sapgui_set_checkbox', 'sapgui_set_focus', 'sapgui_select_combobox_entry', 'sapgui_get_ok_code',
'sapgui_is_radio_button_selected', 'sapgui_get_text', 'sapgui_is_checkbox_selected', 'sapgui_table_set_focus',
'sapgui_table_press_button', 'sapgui_table_select_radio_button', 'sapgui_table_set_password', 'sapgui_table_set_text',
'sapgui_table_set_checkbox', 'sapgui_table_select_combobox_entry', 'sapgui_table_set_row_selected',
'sapgui_table_set_column_selected', 'sapgui_table_set_column_width', 'sapgui_table_reorder', 'sapgui_table_fill_data',
'sapgui_table_get_text', 'sapgui_table_is_radio_button_selected', 'sapgui_table_is_checkbox_selected',
'sapgui_table_is_row_selected', 'sapgui_table_is_column_selected', 'sapgui_table_get_column_width',
'sapgui_grid_clear_selection', 'sapgui_grid_select_all', 'sapgui_grid_selection_changed',
'sapgui_grid_press_column_header', 'sapgui_grid_select_cell', 'sapgui_grid_select_rows', 'sapgui_grid_select_column',
'sapgui_grid_deselect_column', 'sapgui_grid_select_columns', 'sapgui_grid_select_cells', 'sapgui_grid_select_cell_row',
'sapgui_grid_select_cell_column', 'sapgui_grid_set_column_order', 'sapgui_grid_set_column_width',
'sapgui_grid_scroll_to_row', 'sapgui_grid_double_click', 'sapgui_grid_click', 'sapgui_grid_press_button',
'sapgui_grid_press_total_row', 'sapgui_grid_set_cell_data', 'sapgui_grid_set_checkbox',
'sapgui_grid_double_click_current_cell', 'sapgui_grid_click_current_cell', 'sapgui_grid_press_button_current_cell',
'sapgui_grid_press_total_row_current_cell', 'sapgui_grid_press_F1', 'sapgui_grid_press_F4', 'sapgui_grid_press_ENTER',
'sapgui_grid_press_toolbar_button', 'sapgui_grid_press_toolbar_context_button', 'sapgui_grid_open_context_menu',
'sapgui_grid_select_context_menu', 'sapgui_grid_select_toolbar_menu', 'sapgui_grid_fill_data',
'sapgui_grid_get_current_cell_row', 'sapgui_grid_get_current_cell_column', 'sapgui_grid_get_rows_count',
'sapgui_grid_get_columns_count', 'sapgui_grid_get_cell_data', 'sapgui_grid_is_checkbox_selected',
'sapgui_tree_scroll_to_node', 'sapgui_tree_set_hierarchy_header_width', 'sapgui_tree_set_selected_node',
'sapgui_tree_double_click_node', 'sapgui_tree_press_key', 'sapgui_tree_press_button', 'sapgui_tree_set_checkbox',
'sapgui_tree_double_click_item', 'sapgui_tree_click_link', 'sapgui_tree_open_default_context_menu',
'sapgui_tree_open_node_context_menu', 'sapgui_tree_open_header_context_menu', 'sapgui_tree_open_item_context_menu',
'sapgui_tree_select_context_menu', 'sapgui_tree_select_item', 'sapgui_tree_select_node', 'sapgui_tree_unselect_node',
'sapgui_tree_unselect_all', 'sapgui_tree_select_column', 'sapgui_tree_unselect_column', 'sapgui_tree_set_column_order',
'sapgui_tree_collapse_node', 'sapgui_tree_expand_node', 'sapgui_tree_scroll_to_item', 'sapgui_tree_set_column_width',
'sapgui_tree_press_header', 'sapgui_tree_is_checkbox_selected', 'sapgui_tree_get_node_text', 'sapgui_tree_get_item_text',
'sapgui_calendar_scroll_to_date', 'sapgui_calendar_focus_date', 'sapgui_calendar_select_interval',
'sapgui_apogrid_select_all', 'sapgui_apogrid_clear_selection', 'sapgui_apogrid_select_cell',
'sapgui_apogrid_deselect_cell', 'sapgui_apogrid_select_row', 'sapgui_apogrid_deselect_row',
'sapgui_apogrid_select_column', 'sapgui_apogrid_deselect_column', 'sapgui_apogrid_scroll_to_row',
'sapgui_apogrid_scroll_to_column', 'sapgui_apogrid_double_click', 'sapgui_apogrid_set_cell_data',
'sapgui_apogrid_get_cell_data', 'sapgui_apogrid_is_cell_changeable', 'sapgui_apogrid_get_cell_format',
'sapgui_apogrid_get_cell_tooltip', 'sapgui_apogrid_press_ENTER', 'sapgui_apogrid_open_cell_context_menu',
'sapgui_apogrid_select_context_menu_item', 'sapgui_text_edit_scroll_to_line', 'sapgui_text_edit_set_selection_indexes',
'sapgui_text_edit_set_unprotected_text_part', 'sapgui_text_edit_get_first_visible_line',
'sapgui_text_edit_get_selection_index_start', 'sapgui_text_edit_get_selection_index_end',
'sapgui_text_edit_get_number_of_unprotected_text_parts', 'sapgui_text_edit_double_click',
'sapgui_text_edit_single_file_dropped', 'sapgui_text_edit_multiple_files_dropped', 'sapgui_text_edit_press_F1',
'sapgui_text_edit_press_F4', 'sapgui_text_edit_open_context_menu', 'sapgui_text_edit_select_context_menu',
'sapgui_text_edit_modified_status_changed', 'sapgui_htmlviewer_send_event', 'sapgui_htmlviewer_dom_get_property',
'sapgui_toolbar_press_button', 'sapgui_toolbar_press_context_button', 'sapgui_toolbar_select_menu_item',
'sapgui_toolbar_select_menu_item_by_text', 'sapgui_toolbar_select_context_menu_item',
'sapgui_toolbar_select_context_menu_item_by_text'
),
// Constants from as_sapgui.h
10 => array(
'BEGIN_OPTIONAL', 'END_OPTIONAL', 'al-keys', 'ENTER', 'HELP', 'F2', 'BACK', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9',
'F10', 'F11', 'ESC', 'SHIFT_F1', 'SHIFT_F2', 'SHIFT_F3', 'SHIFT_F4', 'SHIFT_F5', 'SHIFT_F6', 'SHIFT_F7', 'SHIFT_F8',
'SHIFT_F9', 'SHIFT_F10', 'SHIFT_F11', 'SHIFT_F12', 'CTRL_F1', 'CTRL_F2', 'CTRL_F3', 'CTRL_F4', 'CTRL_F5', 'CTRL_F6',
'CTRL_F7', 'CTRL_F8', 'CTRL_F9', 'CTRL_F10', 'CTRL_F11', 'CTRL_F12', 'CTRL_SHIFT_F1', 'CTRL_SHIFT_F2', 'CTRL_SHIFT_F3',
'CTRL_SHIFT_F4', 'CTRL_SHIFT_F5', 'CTRL_SHIFT_F6', 'CTRL_SHIFT_F7', 'CTRL_SHIFT_F8', 'CTRL_SHIFT_F9', 'CTRL_SHIFT_F10',
'CTRL_SHIFT_F11', 'CTRL_SHIFT_F12', 'CANCEL', 'CTRL_F', 'CTRL_PAGE_UP', 'PAGE_UP', 'PAGE_DOWN', 'CTRL_PAGE_DOWN',
'CTRL_G', 'CTRL_P'
),
),
// Symbols and Case Sensitivity
// Symbols from: http://en.wikipedia.org/wiki/C_syntax
'SYMBOLS' => array(
'(', ')', '{', '}', '[', ']',
'+', '-', '*', '/', '%',
'=', '<', '>', '!', '^', '&', '|', '?', ':', ';', ','
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => true, // Standard C reserved keywords
2 => true, // C preprocessor directives
3 => true, // Functions from lrun.h
4 => true, // Constants from lrun.h
5 => true, // Functions from web_api.h
6 => true, // Constants from web_api.h
7 => true, // Functions from as_web.h
8 => true, // Constants from as_web.h
9 => true, // Functions from as_sapgui.h
10 => true, // Constants from as_sapgui.h
),
// Styles
'STYLES' => array(
'KEYWORDS' => array(
// Functions are brown, constants and reserved words are blue
1 => 'color: #0000ff;', // Standard C reserved keywords
2 => 'color: #0000ff;', // C preprocessor directives
3 => 'color: #8a0000;', // Functions from lrun.h
4 => 'color: #0000ff;', // Constants from lrun.h
5 => 'color: #8a0000;', // Functions from web_api.h
6 => 'color: #0000ff;', // Constants from web_api.h
7 => 'color: #8a0000;', // Functions from as_web.h
8 => 'color: #0000ff;', // Constants from as_web.h
9 => 'color: #8a0000;', // Functions from as_sapgui.h
10 => 'color: #0000ff;', // Constants from as_sapgui.h
),
'COMMENTS' => array(
// Comments are grey
1 => 'color: #9b9b9b;',
'MULTI' => 'color: #9b9b9b;'
),
'ESCAPE_CHAR' => array(
// GeSHi cannot define a separate style for ESCAPE_REGEXP. The style for ESCAPE_CHAR also applies to ESCAPE_REGEXP.
// This is used for LoadRunner {parameters}
// {parameters} are pink
0 => 'color: #c000c0;'
),
'BRACKETS' => array(
0 => 'color: #000000;'
),
'STRINGS' => array(
// Strings are green
0 => 'color: #008080;'
),
'NUMBERS' => array(
// Numbers are green
0 => 'color: #008080;',
GESHI_NUMBER_BIN_PREFIX_0B => 'color: #008080;',
GESHI_NUMBER_OCT_PREFIX => 'color: #008080;',
GESHI_NUMBER_HEX_PREFIX => 'color: #008080;',
GESHI_NUMBER_FLT_SCI_SHORT => 'color:#008080;',
GESHI_NUMBER_FLT_SCI_ZERO => 'color:#008080;',
GESHI_NUMBER_FLT_NONSCI_F => 'color:#008080;',
GESHI_NUMBER_FLT_NONSCI => 'color:#008080;'
),
'METHODS' => array(
1 => 'color: #000000;'
),
'SYMBOLS' => array(
0 => 'color: #000000;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
)
),
// URLs for Functions
'URLS' => array(
1 => '', // Standard C reserved keywords
2 => '', // C preprocessor directives
3 => '', // Functions from lrun.h
4 => '', // Constants from lrun.h
5 => '', // Functions from web_api.h
6 => '', // Constants from web_api.h
7 => '', // Functions from as_web.h
8 => '', // Constants from as_web.h
9 => '', // Functions from as_sapgui.h
10 => '', // Constants from as_sapgui.h
),
// Object Orientation
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
// Regular Expressions
// Note that REGEXPS are not applied within strings.
'REGEXPS' => array(
),
// Contextual Highlighting and Strict Mode
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
// Tabs
// Note that if you are using <pre> tags for your code, then the browser chooses how many spaces your tabs will translate to.
'TAB_WIDTH' => 4
);
?>

View file

@ -1,227 +0,0 @@
<?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.11
* 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', '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', 'wchar_t',
'int8', 'int16', 'int32', 'int64',
'uint8', 'uint16', 'uint32', 'uint64',
'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
'int8_t', 'int16_t', 'int32_t', 'int64_t',
'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t',
// Mac-specific types:
'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
'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
);
?>

View file

@ -1,126 +0,0 @@
<?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.11
* 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(
)
);
?>

View file

@ -1,186 +0,0 @@
<?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.11
* 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(
)
);
?>

View file

@ -1,124 +0,0 @@
<?php
/*************************************************************************************
* cfdg.php
* --------
* Author: John Horigan <john@glyphic.com>
* Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/
* Release Version: 1.0.8.11
* 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(
)
);
?>

View file

@ -1,299 +0,0 @@
<?php
/*************************************************************************************
* cfm.php
* -------
* Author: Diego
* Copyright: (c) 2006 Diego
* Release Version: 1.0.8.11
* 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
)
)
)
);
?>

View file

@ -1,140 +0,0 @@
<?php
/*************************************************************************************
* chaiscript.php
* --------------
* Author: Jason Turner & Jonathan Turner
* Copyright: (c) 2010 Jason Turner (lefticus@gmail.com),
* (c) 2009 Jonathan Turner,
* (c) 2004 Ben Keen (ben.keen@gmail.com), Benny Baumann (http://qbnz.com/highlighter)
* Release Version: 1.0.8.11
* Date Started: 2009/07/03
*
* ChaiScript language file for GeSHi.
*
* Based on JavaScript by Ben Keen (ben.keen@gmail.com)
*
* CHANGES
* -------
* 2010/03/30 (1.0.8.8)
* - Updated to include more language features
* - Removed left over pieces from JavaScript
* 2009/07/03 (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' => 'ChaiScript',
'COMMENT_SINGLE' => array(1 => '//'),
'COMMENT_MULTI' => array('/*' => '*/'),
//Regular Expressions
'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '\\',
'KEYWORDS' => array(
1 => array(
'break', 'else', 'elseif', 'eval', 'for', 'if', 'return', 'while', 'try', 'catch', 'finally',
),
2 => array(
'def', 'false', 'fun', 'true', 'var', 'attr',
),
3 => array(
// built in functions
'throw',
)
),
'SYMBOLS' => array(
'(', ')', '[', ']', '{', '}',
'+', '-', '*', '/', '%',
'!', '@', '&', '|', '^',
'<', '>', '=',
',', ';', '?', ':'
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #000066; font-weight: bold;',
2 => 'color: #003366; font-weight: bold;',
3 => 'color: #000066;'
),
'COMMENTS' => array(
1 => 'color: #006600; font-style: italic;',
2 => 'color: #009966; font-style: italic;',
'MULTI' => 'color: #006600; font-style: italic;'
),
'ESCAPE_CHAR' => array(
0 => 'color: #000099; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #009900;'
),
'STRINGS' => array(
0 => 'color: #3366CC;'
),
'NUMBERS' => array(
0 => 'color: #CC0000;'
),
'METHODS' => array(
1 => 'color: #660066;'
),
'SYMBOLS' => array(
0 => 'color: #339933;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
0 => '',
1 => '',
2 => '',
3 => ''
)
),
'URLS' => array(
1 => '',
2 => '',
3 => ''
),
'OOLANG' => true,
'OBJECT_SPLITTERS' => array(
1 => '.'
),
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_MAYBE,
'SCRIPT_DELIMITERS' => array(
0 => array(
),
1 => array(
)
),
'HIGHLIGHT_STRICT_BLOCK' => array(
0 => true,
1 => true
)
);
?>

View file

@ -1,196 +0,0 @@
<?php
/*************************************************************************************
* cil.php
* --------
* Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
* Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
* Release Version: 1.0.8.11
* 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
);
?>

View file

@ -1,134 +0,0 @@
<?php
/*************************************************************************************
* clojure.php
* --------
* Author: Jess Johnson (jess@grok-code.com)
* Copyright: (c) 2009 Jess Johnson (http://grok-code.com)
* Release Version: 1.0.8.11
* 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','not','aget','aset',
'dosync', 'doseq', 'dotimes', 'dorun', 'doall',
'load', 'import', 'unimport', 'ns', 'in-ns', 'refer', 'print',
'try', 'catch', 'finally', 'throw', 'fn', 'update-in',
'with-open', 'with-local-vars', 'binding',
'gen-class', 'gen-and-load-class', 'gen-and-save-class',
'implement', 'proxy', 'lazy-cons', 'with-meta',
'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', 'dec', '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(
)
);
?>

View file

@ -1,181 +0,0 @@
<?php
/*************************************************************************************
* cmake.php
* -------
* Author: Daniel Nelson (danieln@eng.utah.edu)
* Copyright: (c) 2009 Daniel Nelson
* Release Version: 1.0.8.11
* 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
)
)
);
?>

View file

@ -1,244 +0,0 @@
<?php
/*************************************************************************************
* cobol.php
* ----------
* Author: BenBE (BenBE@omorphia.org)
* Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/)
* Release Version: 1.0.8.11
* 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
);
?>

View file

@ -1,146 +0,0 @@
<?php
/*************************************************************************************
* coffeescript.php
* ----------
* Author: Trevor Burnham (trevorburnham@gmail.com)
* Copyright: (c) 2010 Trevor Burnham (http://iterative.ly)
* Release Version: 1.0.8.11
* Date Started: 2010/06/08
*
* CoffeeScript language file for GeSHi.
*
* CHANGES
* -------
* 2010/06/08 (1.0.8.9)
* - 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' => 'CoffeeScript',
'COMMENT_SINGLE' => array(1 => '#'),
'COMMENT_MULTI' => array('###' => '###'),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
//Longest quotemarks ALWAYS first
'QUOTEMARKS' => array('"""', "'''", '"', "'"),
'ESCAPE_CHAR' => '\\',
'KEYWORDS' => array(
/*
** Set 1: control keywords
*/
1 => array(
'break', 'by', 'catch', 'continue', 'else', 'finally', 'for', 'in', 'of', 'if',
'return', 'switch', 'then', 'throw', 'try', 'unless', 'when', 'while', 'until'
),
/*
** Set 2: logic keywords
*/
2 => array(
'and', 'or', 'is', 'isnt', 'not'
),
/*
** Set 3: other keywords
*/
3 => array(
'instanceof', 'new', 'delete', 'typeof',
'class', 'super', 'this', 'extends'
),
/*
** Set 4: constants
*/
4 => array(
'true', 'false', 'on', 'off', 'yes', 'no',
'Infinity', 'NaN', 'undefined', 'null'
)
),
'SYMBOLS' => array(
'(', ')', '[', ']', '{', '}', '*', '&', '|', '%', '!', ',', ';', '<', '>', '?', '`',
'+', '-', '*', '/', '->', '=>', '<<', '>>', '@', ':', '^'
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => true,
2 => true,
3 => true,
4 => true
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #ff7700;font-weight:bold;',
2 => 'color: #008000;',
3 => 'color: #dc143c;',
4 => 'color: #0000cd;'
),
'COMMENTS' => array(
1 => 'color: #808080; font-style: italic;',
'MULTI' => 'color: #808080; font-style: italic;'
),
'ESCAPE_CHAR' => array(
0 => 'color: #000099; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: black;'
),
'STRINGS' => array(
0 => 'color: #483d8b;'
),
'NUMBERS' => array(
0 => 'color: #ff4500;'
),
'METHODS' => array(
1 => 'color: black;'
),
'SYMBOLS' => array(
0 => 'color: #66cc66;'
),
'REGEXPS' => array(
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => '',
4 => ''
),
'OOLANG' => true,
'OBJECT_SPLITTERS' => array(
1 => '.'
),
'REGEXPS' => array(
),
'STRICT_MODE_APPLIES' => GESHI_MAYBE,
'SCRIPT_DELIMITERS' => array(
0 => array(
'<script type="text/coffeescript">' => '</script>'
)
),
'HIGHLIGHT_STRICT_BLOCK' => array(
0 => true
)
);
?>

View file

@ -1,564 +0,0 @@
<?php
/*************************************************************************************
* cpp.php
* -------
* Author: Iulian M
* Copyright: (c) 2006 Iulian M
* Release Version: 1.0.8.11
* 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', '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', 'wchar_t',
'int8', 'int16', 'int32', 'int64',
'uint8', 'uint16', 'uint32', 'uint64',
'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
'int8_t', 'int16_t', 'int32_t', 'int64_t',
'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
),
5 => array(
"Q_UINT16", "Q_UINT32", "Q_UINT64", "Q_UINT8", "Q_ULLONG",
"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_]*',
)
)
);
?>

View file

@ -1,240 +0,0 @@
<?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.11
* 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', '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', 'wchar_t',
'int8', 'int16', 'int32', 'int64',
'uint8', 'uint16', 'uint32', 'uint64',
'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
'int8_t', 'int16_t', 'int32_t', 'int64_t',
'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
),
),
'SYMBOLS' => array(
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_\|%\\-])"
)
)
);
?>

View file

@ -1,256 +0,0 @@
<?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.11
* Date Started: 2004/06/04
*
* C# language file for GeSHi.
*
* CHANGES
* -------
* 2012/06/18 (1.0.8.11)
* - Added missing keywords (Christian Stelzmann)
* 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(
'abstract', 'add', 'as', 'base', 'break', 'by', 'case', 'catch', 'const', 'continue',
'default', 'do', 'else', 'event', 'explicit', 'extern', 'false',
'finally', 'fixed', 'for', 'foreach', 'from', 'get', 'goto', 'group', 'if',
'implicit', 'in', 'into', 'internal', 'join', 'lock', 'namespace', 'null',
'operator', 'out', 'override', 'params', 'partial', 'private',
'protected', 'public', 'readonly', 'remove', 'ref', 'return', 'sealed',
'select', 'set', 'stackalloc', 'static', 'switch', 'this', 'throw', 'true',
'try', 'unsafe', 'using', 'var', 'value', 'virtual', 'volatile', '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',
'dynamic', '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_%\\-])"
)
)
);
?>

View file

@ -1,226 +0,0 @@
<?php
/*************************************************************************************
* css.php
* -------
* Author: Nigel McNie (nigel@geshi.org)
* Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
* Release Version: 1.0.8.11
* 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' => '',
'ESCAPE_REGEXP' => array(
//Simple Single Char Escapes
//1 => "#\\\\[nfrtv\$\"\n\\\\]#i",
//Hexadecimal Char Specs
2 => "#\\\\[\da-fA-F]{1,6}\s?#i",
//Unicode Char Specs
//3 => "#\\\\u[\da-fA-F]{1,8}#i",
),
'KEYWORDS' => array(
1 => array(
'aqua', 'azimuth', 'background-attachment', 'background-color',
'background-image', 'background-position', 'background-repeat',
'background', 'black', 'blue', 'border-bottom-color',
'border-radius', 'border-top-left-radius', 'border-top-right-radius',
'border-bottom-right-radius', 'border-bottom-left-radius',
'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;',
//1 => 'color: #000099; font-weight: bold;',
2 => 'color: #000099; font-weight: bold;'
//3 => '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_\|%\\-&\.])',
'DISALLOWED_BEFORE' => '(?<![\-a-zA-Z0-9_\|%\\~&\.])'
)
)
);
?>

View file

@ -1,138 +0,0 @@
<?php
/*************************************************************************************
* cuesheet.php
* ----------
* Author: Benny Baumann (benbe@geshi.org)
* Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/)
* Release Version: 1.0.8.11
* 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\.])',
)
)
);
?>

View file

@ -1,252 +0,0 @@
<?php
/*************************************************************************************
* d.php
* -----
* Author: Thomas Kuehne (thomas@kuehne.cn)
* Contributors:
* - Jimmy Cao
* Copyright: (c) 2005 Thomas Kuehne (http://thomas.kuehne.cn/)
* Release Version: 1.0.8.11
* Date Started: 2005/04/22
*
* D language file for GeSHi.
*
* CHANGES
* -------
* 2011/06/28 (0.0.3) (Jimmy Cao)
* - added D2 features
* 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', 'foreach_reverse'
),
2 => array(
'alias', 'asm', 'assert', 'body', 'cast',
'catch', 'default', 'delegate', 'delete',
'extern', 'false', 'finally', 'function',
'import', 'in', 'inout',
'invariant', 'is', 'lazy', 'mixin', 'module', 'new',
'null', 'out', 'pragma', 'ref', 'super', 'this',
'throw', 'true', 'try', 'typeid',
'typeof', 'union', 'with', 'scope'
),
3 => array(
'ClassInfo', 'Error', 'Exception',
'Interface', 'Object', 'IMonitor',
'OffsetTypeInfo', 'Throwable',
'TypeInfo_Class', 'TypeInfo', '__traits',
'__EOF__', '__FILE__', '__LINE__',
),
4 => array(
'abstract', 'align', 'auto', 'bit', 'bool',
'byte', 'cdouble', 'cfloat', 'char',
'class', 'const', 'creal', 'dchar', 'dstring', 'debug',
'deprecated', 'double', 'enum', 'export',
'final', 'float', 'idouble', 'ifloat', 'immutable', 'int',
'interface', 'ireal', 'long', 'nothrow', 'override',
'package', 'private', 'protected', 'ptrdiff_t',
'public', 'real', 'short', 'shared', 'size_t',
'static', 'string', 'struct', 'synchronized',
'template', 'ubyte', 'ucent', 'uint',
'ulong', 'unittest', 'ushort', 'version',
'void', 'volatile', 'wchar', 'wstring',
'__gshared', '@disable', '@property', 'pure', 'safe'
)
),
'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(
)
);
?>

View file

@ -1,192 +0,0 @@
<?php
/*************************************************************************************
* dcl.php
* --------
* Author: Petr Hendl (petr@hendl.cz)
* Copyright: (c) 2011 Petr Hendl http://hendl.cz/geshi/
* Release Version: 1.0.8.11
* Date Started: 2011/02/17
*
* DCL language file for GeSHi.
*
* CHANGES
* -------
* 2011-02-17 (1.0.8.11)
* - 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' => 'DCL',
'COMMENT_SINGLE' => array('$!', '!'),
'COMMENT_MULTI' => array(),
'COMMENT_REGEXP' => array(
2 => '/(?<=\$)\s*sql\s+.*?(?:quit|exit);?\s*?$/sim' // do not highlight inline sql
),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array('"'),
'HARDESCAPE' => array(),
'ESCAPE_CHAR' => '',
'ESCAPE_REGEXP' => array(
1 => "/''[a-zA-Z\\-_]+'/"
),
'KEYWORDS' => array(
1 => array( // commands
'ACCOUNTING', 'ALLOCATE', 'ANALYZE', 'APPEND', 'ASSIGN', 'ATTACH', 'BACKUP',
'CALL', 'CANCEL', 'CHECKSUM', 'CLOSE', 'CONNECT', 'CONTINUE', 'CONVERT',
'COPY', 'CREATE', 'DEALLOCATE', 'DEASSIGN', 'DEBUG', 'DECK',
'DECRYPT', 'DEFINE', 'DELETE', 'DEPOSIT', 'DIFFERENCES', 'DIRECTORY',
'DISABLE', 'AUTOSTART', 'DISCONNECT', 'DISMOUNT', 'DUMP', 'EDIT', 'ENABLE',
'ENCRYPT', 'ENDSUBROUTINE', 'EOD', 'EOJ', 'EXAMINE', 'EXCHANGE',
'EXIT', 'FONT', 'GOSUB', 'GOTO', 'HELP', 'IF', 'THEN', 'ELSE', 'ENDIF', 'INITIALIZE', 'INQUIRE',
'INSTALL', 'JAVA', 'JOB', 'LIBRARY', 'LICENSE', 'LINK', 'LOGIN', 'LOGOUT',
'MACRO', 'MAIL', 'MERGE', 'MESSAGE', 'MONITOR', 'MOUNT', 'NCS', 'ON', 'OPEN',
'PASSWORD', 'PATCH', 'PHONE', 'PIPE', 'PPPD', 'PRINT', 'PRODUCT', 'PURGE',
'READ', 'RECALL', 'RENAME', 'REPLY', 'REQUEST', 'RETURN', 'RMU', 'RUN', 'RUNOFF',
'SEARCH', 'SET', 'SET AUDIT', 'SET BOOTBLOCK', 'SET BROADCAST',
'SET CACHE', 'SET CARD_READER', 'SET CLUSTER', 'SET COMMAND', 'SET CONTROL',
'SET CPU', 'SET DAY', 'SET DEFAULT', 'SET DEVICE', 'SET DIRECTORY',
'SET DISPLAY', 'SET ENTRY', 'SET FILE', 'SET HOST', 'SET IMAGE', 'SET KEY',
'SET LOGINS', 'SET MAGTAPE', 'SET MESSAGE', 'SET NETWORK', 'SET ON', 'SET OUTPUT_RATE',
'SET PASSWORD', 'SET PREFERRED_PATH', 'SET PREFIX', 'SET PRINTER', 'SET PROCESS',
'SET PROMPT', 'SET PROTECTION', 'SET QUEUE', 'SET RESTART_VALUE',
'SET RIGHTS_LIST', 'SET RMS_DEFAULT', 'SET ROOT', 'SET SECURITY',
'SET SERVER ACME_SERVER', 'SET SERVER REGISTRY_SERVER', 'SET SERVER SECURITY_SERVER',
'SET SHADOW', 'SET SYMBOL', 'SET TERMINAL', 'SET TIME', 'SET VERIFY',
'SET VOLUME', 'SET WORKING_SET', 'SHOW', 'SHOW AUDIT',
'SHOW BROADCAST', 'SHOW CLUSTER', 'SHOW CPU', 'SHOW DEFAULT', 'SHOW DEVICES',
'SHOW DISPLAY', 'SHOW ENTRY', 'SHOW ERROR', 'SHOW FASTPATH', 'SHOW IMAGE',
'SHOW INTRUSION', 'SHOW KEY', 'SHOW LICENSE', 'SHOW LOGICAL', 'SHOW MEMORY',
'SHOW NETWORK', 'SHOW PRINTER', 'SHOW PROCESS', 'SHOW PROTECTION', 'SHOW QUEUE',
'SHOW QUOTA', 'SHOW RMS_DEFAULT', 'SHOW ROOT', 'SHOW SECURITY',
'SHOW SERVER ACME_SERVER', 'SHOW SERVER REGISTRY_SERVER', 'SHOW SHADOW',
'SHOW STATUS', 'SHOW SYMBOL', 'SHOW SYSTEM', 'SHOW TERMINAL', 'SHOW TIME',
'SHOW TRANSLATION', 'SHOW USERS', 'SHOW WORKING_SET', 'SHOW ZONE', 'SORT',
'SPAWN', 'START', 'STOP', 'SUBMIT', 'SUBROUTINE', 'SYNCHRONIZE', 'TYPE',
'UNLOCK', 'VIEW', 'WAIT', 'WRITE', 'XAUTH'
),
2 => array( // lexical functions
'F$CONTEXT', 'F$CSID', 'F$CUNITS', 'F$CVSI', 'F$CVTIME', 'F$CVUI',
'F$DELTA_TIME', 'F$DEVICE', 'F$DIRECTORY', 'F$EDIT', 'F$ELEMENT',
'F$ENVIRONMENT', 'F$EXTRACT', 'F$FAO', 'F$FID_TO_NAME', 'F$FILE_ATTRIBUTES',
'F$GETDVI', 'F$GETENV', 'F$GETJPI', 'F$GETQUI', 'F$GETSYI', 'F$IDENTIFIER',
'F$INTEGER', 'F$LENGTH', 'F$LICENSE', 'F$LOCATE', 'F$MATCH_WILD', 'F$MESSAGE',
'F$MODE', 'F$MULTIPATH', 'F$PARSE', 'F$PID', 'F$PRIVILEGE', 'F$PROCESS',
'F$SEARCH', 'F$SETPRV', 'F$STRING', 'F$TIME', 'F$TRNLNM', 'F$TYPE', 'F$UNIQUE',
'F$USER', 'F$VERIFY'
),
3 => array( // special variables etc
'sql$database', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9',
'$status', '$severity', 'sys$login', 'sys$system',
'sys$input', 'sys$output', 'sys$pipe'
)
),
'SYMBOLS' => array(
'(', ')', '[', ']', '@', '&', '|', '<', '>', '-',
'.eqs.', '.eq.', '.lt.', '.lts.', '.gt.', '.gts.', '.ne.', '.nes.',
'.le.', '.ge.', '.ges.', '.les.',
'.EQS.', '.EQ.', '.LT.', '.LTS.', '.GT.', '.GTS.', '.NE.', '.NES.',
'.LE.', '.GE.', '.GES.', '.LES.',
'.and.', '.or.', '.not.',
'.AND.', '.OR.', '.NOT.',
'==', ':==', '=', ':='
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
3 => false
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #000099; font-weight: bold;',
2 => 'color: #0066FF;',
3 => 'color: #993300;'
),
'COMMENTS' => array(
0 => 'color: #666666; font-style: italic;',
1 => 'color: #666666; font-style: italic;',
2 => 'color: #9999FF; font-style: italic;'
),
'ESCAPE_CHAR' => array(
0 => 'color: #006666;',
1 => 'color: #0099FF;',
2 => 'color: red;',
3 => 'color: #007800;',
4 => 'color: #007800;',
5 => 'color: #780078;'
),
'BRACKETS' => array(
0 => 'color: #7a0874; font-weight: bold;'
),
'STRINGS' => array(
0 => 'color: #009900;'
),
'NUMBERS' => array(
0 => 'color: #000000;'
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #000000; font-weight: bold;'
),
'REGEXPS' => array(
0 => 'color: #0099FF;', // variables
1 => 'color: #0000FF;', // qualifiers
2 => 'color: #FF6600; font-weight: bold;' // labels
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => '',
2 => '',
3 => ''
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(
),
'REGEXPS' => array(
// variables
0 => "'[a-zA-Z_\\-$]+'",
// qualifiers and parameters
1 => "(?:\/[a-zA-Z_\/]+)[\s=]",
// labels
2 => '(?<=\$)\s*[a-zA-Z\-_]+:'
),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
),
'TAB_WIDTH' => 4,
'PARSER_CONTROL' => array(
'COMMENTS' => array(
),
'KEYWORDS' => array(
)
)
);
?>

View file

@ -1,131 +0,0 @@
<?php
/*************************************************************************************
* dcpu16.php
* -------
* Author: Benny Baumann (BenBE@omorphia.de)
* Copyright: (c) 2007-2012 Benny Baumann (http://geshi.org/)
* Release Version: 1.0.8.11
* Date Started: 2012/04/12
*
* DCPU/16 Assembly language file for GeSHi.
* Syntax definition based on http://0x10c.com/doc/dcpu-16.txt
*
* CHANGES
* -------
* 2012/04/12 (1.0.0)
* - First Release
*
* TODO (updated 2012/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' => 'DCPU-16 Assembly',
'COMMENT_SINGLE' => array(1 => ';'),
'COMMENT_MULTI' => array(),
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '',
'NUMBERS' => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_HEX_PREFIX,
'KEYWORDS' => array(
/*CPU*/
1 => array(
'set','add','sub','mul','div','mod','shl','shr','and','bor','xor',
'ife','ifn','ifg','ifb',
'jsr'
),
/*registers*/
2 => array(
'a','b','c','x','y','z','i','j',
'pc','sp','o',
'pop','peek','push' //Special cases with DCPU-16
),
),
'SYMBOLS' => array(
'[', ']', '+', '-', ','
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => false,
2 => false,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #000088; font-weight:bold;',
2 => 'color: #0000ff;'
),
'COMMENTS' => array(
1 => 'color: #adadad; font-style: italic;',
),
'ESCAPE_CHAR' => array(
0 => 'color: #000099; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #000088;'
),
'STRINGS' => array(
0 => 'color: #7f007f;'
),
'NUMBERS' => array(
0 => 'color: #880000;'
),
'METHODS' => array(
),
'SYMBOLS' => array(
0 => 'color: #008000;'
),
'REGEXPS' => array(
2 => 'color: #993333;'
),
'SCRIPT' => array(
)
),
'URLS' => array(
1 => 'http://0x10c.com/doc/dcpu-16.txt',
2 => ''
),
'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]?(?=\s|$)'
),
'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_\|%\\-])"
)
)
);
?>

Some files were not shown because too many files have changed in this diff Show more