Merge remote-tracking branch 'upstream/dev' into dev
This commit is contained in:
commit
e25bd28b73
@ -264,6 +264,8 @@ class Apps {
|
||||
if(! $papp['photo'])
|
||||
$papp['photo'] = z_root() . '/' . get_default_profile_photo(80);
|
||||
|
||||
self::translate_system_apps($papp);
|
||||
|
||||
$papp['papp'] = self::papp_encode($papp);
|
||||
|
||||
if(! strstr($papp['url'],'://'))
|
||||
|
@ -52,8 +52,8 @@ class Block extends \Zotlabs\Web\Controller {
|
||||
require_once('include/security.php');
|
||||
$sql_options = item_permissions_sql($u[0]['channel_id']);
|
||||
|
||||
$r = q("select item.* from item left join item_id on item.id = item_id.iid
|
||||
where item.uid = %d and sid = '%s' and service = 'BUILDBLOCK' and
|
||||
$r = q("select item.* from item left join iconfig on item.id = iconfig.iid
|
||||
where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and iconfig.k = 'BUILDBLOCK' and
|
||||
item_type = %d $sql_options $revision limit 1",
|
||||
intval($u[0]['channel_id']),
|
||||
dbesc($page_id),
|
||||
@ -64,8 +64,8 @@ class Block extends \Zotlabs\Web\Controller {
|
||||
|
||||
// Check again with no permissions clause to see if it is a permissions issue
|
||||
|
||||
$x = q("select item.* from item left join item_id on item.id = item_id.iid
|
||||
where item.uid = %d and sid = '%s' and service = 'BUILDBLOCK' and
|
||||
$x = q("select item.* from item left join iconfig on item.id = iconfig.iid
|
||||
where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and iconfig.k = 'BUILDBLOCK' and
|
||||
item_type = %d $revision limit 1",
|
||||
intval($u[0]['channel_id']),
|
||||
dbesc($page_id),
|
||||
|
@ -111,8 +111,11 @@ class Blocks extends \Zotlabs\Web\Controller {
|
||||
|
||||
$editor = status_editor($a,$x);
|
||||
|
||||
$r = q("select iid, sid, mid, title, body, mimetype, created, edited from item_id left join item on item_id.iid = item.id
|
||||
where item_id.uid = %d and service = 'BUILDBLOCK' and item_type = %d order by item.created desc",
|
||||
|
||||
$r = q("select iconfig.iid, iconfig.k, iconfig.v, mid, title, body, mimetype, created, edited from iconfig
|
||||
left join item on iconfig.iid = item.id
|
||||
where uid = %d and iconfig.cat = 'system' and iconfig.k = 'BUILDBLOCK'
|
||||
and item_type = %d order by item.created desc",
|
||||
intval($owner),
|
||||
intval(ITEM_TYPE_BLOCK)
|
||||
);
|
||||
@ -129,12 +132,12 @@ class Blocks extends \Zotlabs\Web\Controller {
|
||||
'created' => $rr['created'],
|
||||
'edited' => $rr['edited'],
|
||||
'mimetype' => $rr['mimetype'],
|
||||
'pagetitle' => $rr['sid'],
|
||||
'pagetitle' => $rr['v'],
|
||||
'mid' => $rr['mid']
|
||||
);
|
||||
$pages[$rr['iid']][] = array(
|
||||
'url' => $rr['iid'],
|
||||
'name' => $rr['sid'],
|
||||
'name' => $rr['v'],
|
||||
'title' => $rr['title'],
|
||||
'created' => $rr['created'],
|
||||
'edited' => $rr['edited'],
|
||||
|
@ -16,14 +16,14 @@ require_once('include/zot.php');
|
||||
require_once('include/widgets.php');
|
||||
require_once('include/photos.php');
|
||||
|
||||
|
||||
class Connedit extends \Zotlabs\Web\Controller {
|
||||
|
||||
/* @brief Initialize the connection-editor
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class Connedit extends \Zotlabs\Web\Controller {
|
||||
|
||||
function init() {
|
||||
|
||||
if(! local_channel())
|
||||
@ -418,6 +418,12 @@ class Connedit extends \Zotlabs\Web\Controller {
|
||||
goaway(z_root() . '/connedit/' . $contact_id);
|
||||
|
||||
}
|
||||
if($cmd === 'resetphoto') {
|
||||
q("update xchan set xchan_photo_date = '2001-01-01 00:00:00' where xchan_hash = '%s' limit 1",
|
||||
dbesc($orig_record[0]['xchan_hash'])
|
||||
);
|
||||
$cmd = 'refresh';
|
||||
}
|
||||
|
||||
if($cmd === 'refresh') {
|
||||
if($orig_record[0]['xchan_network'] === 'zot') {
|
||||
|
@ -106,12 +106,13 @@ class Display extends \Zotlabs\Web\Controller {
|
||||
$x = q("select * from channel where channel_id = %d limit 1",
|
||||
intval($target_item['uid'])
|
||||
);
|
||||
$y = q("select * from item_id where uid = %d and service = 'WEBPAGE' and iid = %d limit 1",
|
||||
$y = q("select * from iconfig left join item on iconfig.iid = item.id
|
||||
where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' and item.id = %d limit 1",
|
||||
intval($target_item['uid']),
|
||||
intval($target_item['id'])
|
||||
);
|
||||
if($x && $y) {
|
||||
goaway(z_root() . '/page/' . $x[0]['channel_address'] . '/' . $y[0]['sid']);
|
||||
goaway(z_root() . '/page/' . $x[0]['channel_address'] . '/' . $y[0]['v']);
|
||||
}
|
||||
else {
|
||||
notice( t('Page not found.') . EOL);
|
||||
|
@ -85,11 +85,11 @@ class Editblock extends \Zotlabs\Web\Controller {
|
||||
intval($owner)
|
||||
);
|
||||
if($itm) {
|
||||
$item_id = q("select * from item_id where service = 'BUILDBLOCK' and iid = %d limit 1",
|
||||
$item_id = q("select * from iconfig where cat = 'system' and k = 'BUILDBLOCK' and iid = %d limit 1",
|
||||
intval($itm[0]['id'])
|
||||
);
|
||||
if($item_id)
|
||||
$block_title = $item_id[0]['sid'];
|
||||
$block_title = $item_id[0]['v'];
|
||||
}
|
||||
else {
|
||||
notice( t('Item not found') . EOL);
|
||||
|
@ -96,11 +96,12 @@ class Editlayout extends \Zotlabs\Web\Controller {
|
||||
intval($owner)
|
||||
);
|
||||
|
||||
$item_id = q("select * from item_id where service = 'PDL' and iid = %d limit 1",
|
||||
$item_id = q("select * from iconfig where cat = 'system' and k = 'PDL' and iid = %d limit 1",
|
||||
intval($itm[0]['id'])
|
||||
);
|
||||
if($item_id)
|
||||
$layout_title = $item_id[0]['sid'];
|
||||
$layout_title = $item_id[0]['v'];
|
||||
|
||||
|
||||
$rp = 'layouts/' . $which;
|
||||
|
||||
|
@ -114,11 +114,11 @@ class Editwebpage extends \Zotlabs\Web\Controller {
|
||||
$itm[0]['body'] = crypto_unencapsulate(json_decode_plus($itm[0]['body']),$key);
|
||||
}
|
||||
|
||||
$item_id = q("select * from item_id where service = 'WEBPAGE' and iid = %d limit 1",
|
||||
$item_id = q("select * from iconfig where cat = 'system' and k = 'WEBPAGE' and iid = %d limit 1",
|
||||
intval($itm[0]['id'])
|
||||
);
|
||||
if($item_id)
|
||||
$page_title = $item_id[0]['sid'];
|
||||
$page_title = $item_id[0]['v'];
|
||||
|
||||
$mimetype = $itm[0]['mimetype'];
|
||||
|
||||
|
@ -138,8 +138,6 @@ class Impel extends \Zotlabs\Web\Controller {
|
||||
$pagetitle = strtolower(\URLify::transliterate($j['pagetitle']));
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Verify ability to use html or php!!!
|
||||
|
||||
$execflag = false;
|
||||
@ -154,21 +152,14 @@ class Impel extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
}
|
||||
|
||||
$remote_id = 0;
|
||||
|
||||
$z = q("select * from item_id where sid = '%s' and service = '%s' and uid = %d limit 1",
|
||||
dbesc($pagetitle),
|
||||
dbesc($namespace),
|
||||
intval(local_channel())
|
||||
);
|
||||
|
||||
$i = q("select id, edited, item_deleted from item where mid = '%s' and uid = %d limit 1",
|
||||
dbesc($arr['mid']),
|
||||
intval(local_channel())
|
||||
);
|
||||
|
||||
if($z && $i) {
|
||||
$remote_id = $z[0]['id'];
|
||||
\Zotlabs\Lib\IConfig::Set($arr,'system',$namespace,(($pagetitle) ? $pagetitle : substr($arr['mid'],0,16)),true);
|
||||
|
||||
if($i) {
|
||||
$arr['id'] = $i[0]['id'];
|
||||
// don't update if it has the same timestamp as the original
|
||||
if($arr['edited'] > $i[0]['edited'])
|
||||
@ -182,12 +173,12 @@ class Impel extends \Zotlabs\Web\Controller {
|
||||
intval(local_channel())
|
||||
);
|
||||
}
|
||||
else
|
||||
$x = item_store($arr,$execflag);
|
||||
}
|
||||
|
||||
if($x['success']) {
|
||||
if($x && $x['success']) {
|
||||
$item_id = $x['item_id'];
|
||||
update_remote_id($channel,$item_id,$arr['item_type'],$pagetitle,$namespace,$remote_id,$arr['mid']);
|
||||
}
|
||||
}
|
||||
|
||||
@ -200,6 +191,7 @@ class Impel extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
|
||||
//??? should perhaps return ret?
|
||||
|
||||
json_return_and_die(true);
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace Zotlabs\Module;
|
||||
|
||||
/**
|
||||
@ -229,7 +230,7 @@ class Item extends \Zotlabs\Web\Controller {
|
||||
|
||||
if($namespace && $remote_id) {
|
||||
// It wasn't an internally generated post - see if we've got an item matching this remote service id
|
||||
$i = q("select iid from item_id where service = '%s' and sid = '%s' limit 1",
|
||||
$i = q("select iid from iconfig where cat = 'system' and k = '%s' and v = '%s' limit 1",
|
||||
dbesc($namespace),
|
||||
dbesc($remote_id)
|
||||
);
|
||||
@ -880,13 +881,21 @@ class Item extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
}
|
||||
|
||||
if($webpage) {
|
||||
Zlib\IConfig::Set($datarray,'system', webpage_to_namespace($webpage),
|
||||
(($pagetitle) ? $pagetitle : substr($datarray['mid'],0,16)),true);
|
||||
}
|
||||
elseif($namespace) {
|
||||
Zlib\IConfig::Set($datarray,'system', $namespace,
|
||||
(($remote_id) ? $remote_id : substr($datarray['mid'],0,16)),true);
|
||||
}
|
||||
|
||||
|
||||
if($orig_post) {
|
||||
$datarray['id'] = $post_id;
|
||||
|
||||
item_store_update($datarray,$execflag);
|
||||
|
||||
update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid);
|
||||
|
||||
if(! $parent) {
|
||||
$r = q("select * from item where id = %d",
|
||||
intval($post_id)
|
||||
@ -894,10 +903,7 @@ class Item extends \Zotlabs\Web\Controller {
|
||||
if($r) {
|
||||
xchan_query($r);
|
||||
$sync_item = fetch_post_tags($r);
|
||||
$rid = q("select * from item_id where iid = %d",
|
||||
intval($post_id)
|
||||
);
|
||||
build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true)),'item_id' => $rid));
|
||||
build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true))));
|
||||
}
|
||||
}
|
||||
if(! $nopush)
|
||||
@ -979,9 +985,6 @@ class Item extends \Zotlabs\Web\Controller {
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
|
||||
update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid);
|
||||
|
||||
if(($parent) && ($parent != $post_id)) {
|
||||
// Store the comment signature information in case we need to relay to Diaspora
|
||||
//$ditem = $datarray;
|
||||
@ -995,10 +998,7 @@ class Item extends \Zotlabs\Web\Controller {
|
||||
if($r) {
|
||||
xchan_query($r);
|
||||
$sync_item = fetch_post_tags($r);
|
||||
$rid = q("select * from item_id where iid = %d",
|
||||
intval($post_id)
|
||||
);
|
||||
build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true)),'item_id' => $rid));
|
||||
build_sync_packet($uid,array('item' => array(encode_item($sync_item[0],true))));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,10 +93,11 @@ class Layouts extends \Zotlabs\Web\Controller {
|
||||
// This feature is not exposed in redbasic ui since it is not clear why one would want to
|
||||
// download a json encoded pdl file - we dont have a possibility to import it.
|
||||
// Use the buildin share/install feature instead.
|
||||
|
||||
if((argc() > 3) && (argv(2) === 'share') && (argv(3))) {
|
||||
$r = q("select sid, service, mimetype, title, body from item_id
|
||||
left join item on item.id = item_id.iid
|
||||
where item_id.uid = %d and item.mid = '%s' and service = 'PDL' order by sid asc",
|
||||
$r = q("select iconfig.v, iconfig.k, mimetype, title, body from iconfig
|
||||
left join item on item.id = iconfig.iid
|
||||
where uid = %d and mid = '%s' and iconfig.cat = 'system' and iconfig.k = 'PDL' order by iconfig.v asc",
|
||||
intval($owner),
|
||||
dbesc(argv(3))
|
||||
);
|
||||
@ -141,8 +142,9 @@ class Layouts extends \Zotlabs\Web\Controller {
|
||||
|
||||
$editor = status_editor($a,$x);
|
||||
|
||||
$r = q("select iid, sid, mid, title, body, mimetype, created, edited, item_type from item_id left join item on item_id.iid = item.id
|
||||
where item_id.uid = %d and service = 'PDL' and item_type = %d order by item.created desc",
|
||||
$r = q("select iconfig.iid, iconfig.v, mid, title, body, mimetype, created, edited, item_type from iconfig
|
||||
left join item on iconfig.iid = item.id
|
||||
where uid = %d and iconfig.cat = 'system' and iconfig.k = 'PDL' and item_type = %d order by item.created desc",
|
||||
intval($owner),
|
||||
intval(ITEM_TYPE_PDL)
|
||||
);
|
||||
@ -164,7 +166,7 @@ class Layouts extends \Zotlabs\Web\Controller {
|
||||
);
|
||||
$pages[$rr['iid']][] = array(
|
||||
'url' => $rr['iid'],
|
||||
'title' => $rr['sid'],
|
||||
'title' => $rr['v'],
|
||||
'descr' => $rr['title'],
|
||||
'mid' => $rr['mid'],
|
||||
'created' => $rr['created'],
|
||||
|
@ -65,9 +65,10 @@ class Page extends \Zotlabs\Web\Controller {
|
||||
require_once('include/security.php');
|
||||
$sql_options = item_permissions_sql($u[0]['channel_id']);
|
||||
|
||||
$r = q("select item.* from item left join item_id on item.id = item_id.iid
|
||||
where item.uid = %d and sid = '%s' and item.item_delayed = 0 and (( service = 'WEBPAGE' and item_type = %d )
|
||||
OR ( service = 'PDL' AND item_type = %d )) $sql_options $revision limit 1",
|
||||
$r = q("select item.* from item left join iconfig on item.id = iconfig.iid
|
||||
where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0
|
||||
and (( iconfig.k = 'WEBPAGE' and item_type = %d )
|
||||
OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1",
|
||||
intval($u[0]['channel_id']),
|
||||
dbesc($page_id),
|
||||
intval(ITEM_TYPE_WEBPAGE),
|
||||
@ -77,9 +78,9 @@ class Page extends \Zotlabs\Web\Controller {
|
||||
|
||||
// Check again with no permissions clause to see if it is a permissions issue
|
||||
|
||||
$x = q("select item.* from item left join item_id on item.id = item_id.iid
|
||||
where item.uid = %d and sid = '%s' and item.item_delayed = 0 and service = 'WEBPAGE' and
|
||||
item_type = %d $revision limit 1",
|
||||
$x = q("select item.* from item left join iconfig on item.id = iconfig.iid
|
||||
where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0
|
||||
and iconfig.k = 'WEBPAGE' and item_type = %d $revision limit 1",
|
||||
intval($u[0]['channel_id']),
|
||||
dbesc($page_id),
|
||||
intval(ITEM_TYPE_WEBPAGE)
|
||||
@ -120,9 +121,6 @@ class Page extends \Zotlabs\Web\Controller {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function get() {
|
||||
|
||||
$r = \App::$data['webpage'];
|
||||
|
80
Zotlabs/Module/README.md
Normal file
80
Zotlabs/Module/README.md
Normal file
@ -0,0 +1,80 @@
|
||||
Zotlabs/Module
|
||||
==============
|
||||
|
||||
|
||||
This directory contains controller modules for handling web requests. The
|
||||
lowercase class name indicates the head of the URL path which this module
|
||||
handles. There are other methods of attaching (routing) URL paths to
|
||||
controllers, but this is the primary method used in this project.
|
||||
|
||||
Module controllers MUST reside in this directory and namespace to be
|
||||
autoloaded (unless other specific routing methods are employed). They
|
||||
typically use and extend the class definition in Zotlabs/Web/Controller
|
||||
as a template.
|
||||
|
||||
Template:
|
||||
|
||||
<?php
|
||||
|
||||
namespace Zotlabs\Web;
|
||||
|
||||
|
||||
class Controller {
|
||||
|
||||
function init() {}
|
||||
function post() {}
|
||||
function get() {}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Typical Module declaration for the '/foo' URL route:
|
||||
|
||||
|
||||
<?php
|
||||
namespace Zotlabs\Module;
|
||||
|
||||
class Foo extends \Zotlabs\Web\Controller {
|
||||
|
||||
function init() {
|
||||
// init() handler goes here
|
||||
}
|
||||
|
||||
function post() {
|
||||
// post handler goes here
|
||||
}
|
||||
|
||||
function get() {
|
||||
return 'Hello world.' . EOL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
This model provides callbacks for public functions named init(), post(),
|
||||
and get(). init() is always called. post() is called if $_POST variables
|
||||
are present, and get() is called if none of the prior functions terminated
|
||||
the handler. The get() method typically retuns a string which represents
|
||||
the contents of the content region of the resulting page. Modules which emit
|
||||
json, xml or other machine-readable formats typically emit their contents
|
||||
inside the init() function and call 'killme()' to terminate the Module.
|
||||
|
||||
Modules are passed the URL path as argc,argv arguments. For a path such as
|
||||
|
||||
https://mysite.something/foo/bar/baz
|
||||
|
||||
The app will typically invoke the Module class 'Foo' and pass it
|
||||
|
||||
$x = argc(); // $x = 3
|
||||
|
||||
$x = argv(0); // $x = 'foo'
|
||||
$x = argv(1); // $x = 'bar'
|
||||
$x = argv(2); // $x = 'baz'
|
||||
|
||||
These are handled in a similar fashion to their counterparts in the Unix shell
|
||||
or C/C++ languages. Do not confuse the argc(),argv() functions with the
|
||||
global variables $argc,$argv which are passed to command line programs. These
|
||||
are handled separately by command line and Zotlabs/Daemon class functions.
|
||||
|
||||
|
||||
|
||||
|
@ -138,12 +138,20 @@ class Webpages extends \Zotlabs\Web\Controller {
|
||||
|
||||
$sql_extra = item_permissions_sql($owner);
|
||||
|
||||
$r = q("select * from item_id left join item on item_id.iid = item.id
|
||||
where item_id.uid = %d and service = 'WEBPAGE' and item_type = %d $sql_extra order by item.created desc",
|
||||
|
||||
$r = q("select * from iconfig left join item on iconfig.iid = item.id
|
||||
where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' and item_type = %d
|
||||
$sql_extra order by item.created desc",
|
||||
intval($owner),
|
||||
intval(ITEM_TYPE_WEBPAGE)
|
||||
);
|
||||
|
||||
// $r = q("select * from item_id left join item on item_id.iid = item.id
|
||||
// where item_id.uid = %d and service = 'WEBPAGE' and item_type = %d $sql_extra order by item.created desc",
|
||||
// intval($owner),
|
||||
// intval(ITEM_TYPE_WEBPAGE)
|
||||
// );
|
||||
|
||||
$pages = null;
|
||||
|
||||
if($r) {
|
||||
@ -160,13 +168,13 @@ class Webpages extends \Zotlabs\Web\Controller {
|
||||
'created' => $rr['created'],
|
||||
'edited' => $rr['edited'],
|
||||
'mimetype' => $rr['mimetype'],
|
||||
'pagetitle' => $rr['sid'],
|
||||
'pagetitle' => $rr['v'],
|
||||
'mid' => $rr['mid'],
|
||||
'layout_mid' => $rr['layout_mid']
|
||||
);
|
||||
$pages[$rr['iid']][] = array(
|
||||
'url' => $rr['iid'],
|
||||
'pagetitle' => $rr['sid'],
|
||||
'pagetitle' => $rr['v'],
|
||||
'title' => $rr['title'],
|
||||
'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),
|
||||
'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']),
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
<?php /** @file */
|
||||
|
||||
namespace Zotlabs\Module;/** @file */
|
||||
namespace Zotlabs\Module;
|
||||
|
||||
class Wiki extends \Zotlabs\Web\Controller {
|
||||
|
||||
@ -72,7 +72,8 @@ class Wiki extends \Zotlabs\Web\Controller {
|
||||
switch (argc()) {
|
||||
case 2:
|
||||
// Configure page template
|
||||
$wikiheader = t('Wiki Sandbox');
|
||||
$wikiheaderName = t('Wiki');
|
||||
$wikiheaderPage = t('Sandbox');
|
||||
$content = '"# Wiki Sandbox\n\nContent you **edit** and **preview** here *will not be saved*."';
|
||||
$hide_editor = false;
|
||||
$showPageControls = false;
|
||||
@ -113,7 +114,8 @@ class Wiki extends \Zotlabs\Web\Controller {
|
||||
} else {
|
||||
$wiki_editor = true;
|
||||
}
|
||||
$wikiheader = urldecode($wikiUrlName) . ': ' . urldecode($pageUrlName); // show wiki name and page
|
||||
$wikiheaderName = urldecode($wikiUrlName);
|
||||
$wikiheaderPage = urldecode($pageUrlName);
|
||||
$p = wiki_get_page_content(array('resource_id' => $resource_id, 'pageUrlName' => $pageUrlName));
|
||||
if(!$p['success']) {
|
||||
notice('Error retrieving page content' . EOL);
|
||||
@ -135,7 +137,8 @@ class Wiki extends \Zotlabs\Web\Controller {
|
||||
require_once('library/markdown.php');
|
||||
|
||||
$o .= replace_macros(get_markup_template('wiki.tpl'),array(
|
||||
'$wikiheader' => $wikiheader,
|
||||
'$wikiheaderName' => $wikiheaderName,
|
||||
'$wikiheaderPage' => $wikiheaderPage,
|
||||
'$hideEditor' => $hide_editor,
|
||||
'$showPageControls' => $showPageControls,
|
||||
'$showNewWikiButton'=> $showNewWikiButton,
|
||||
@ -152,6 +155,7 @@ class Wiki extends \Zotlabs\Web\Controller {
|
||||
'$renderedContent' => Markdown(json_decode($content)),
|
||||
'$wikiName' => array('wikiName', t('Enter the name of your new wiki:'), '', ''),
|
||||
'$pageName' => array('pageName', t('Enter the name of the new page:'), '', ''),
|
||||
'$pageRename' => array('pageRename', t('Enter the new name:'), '', ''),
|
||||
'$commitMsg' => array('commitMsg', '', '', '', '', 'placeholder="(optional) Enter a custom message when saving the page..."'),
|
||||
'$pageHistory' => $pageHistory['history']
|
||||
));
|
||||
@ -377,7 +381,7 @@ class Wiki extends \Zotlabs\Web\Controller {
|
||||
if($deleted['success']) {
|
||||
$ob = \App::get_observer();
|
||||
$commit = wiki_git_commit(array(
|
||||
'commit_msg' => 'Deleted ' . $pageHtmlName,
|
||||
'commit_msg' => 'Deleted ' . $pageUrlName,
|
||||
'resource_id' => $resource_id,
|
||||
'observer' => $ob,
|
||||
'files' => null
|
||||
@ -416,6 +420,48 @@ class Wiki extends \Zotlabs\Web\Controller {
|
||||
}
|
||||
}
|
||||
|
||||
// Rename a page
|
||||
if ((argc() === 4) && (argv(2) === 'rename') && (argv(3) === 'page')) {
|
||||
$resource_id = $_POST['resource_id'];
|
||||
$pageUrlName = $_POST['oldName'];
|
||||
$pageNewName = $_POST['newName'];
|
||||
if ($pageUrlName === 'Home') {
|
||||
json_return_and_die(array('message' => 'Cannot rename Home','success' => false));
|
||||
}
|
||||
if(urlencode(escape_tags($pageNewName)) === '') {
|
||||
json_return_and_die(array('message' => 'Error renaming page. Invalid name.', 'success' => false));
|
||||
}
|
||||
// Determine if observer has permission to rename pages
|
||||
$nick = argv(1);
|
||||
$channel = get_channel_by_nick($nick);
|
||||
if (local_channel() !== intval($channel['channel_id'])) {
|
||||
$observer_hash = get_observer_hash();
|
||||
$perms = wiki_get_permissions($resource_id, intval($channel['channel_id']), $observer_hash);
|
||||
if(!$perms['write']) {
|
||||
logger('Wiki write permission denied. ' . EOL);
|
||||
json_return_and_die(array('success' => false));
|
||||
}
|
||||
}
|
||||
$renamed = wiki_rename_page(array('resource_id' => $resource_id, 'pageUrlName' => $pageUrlName, 'pageNewName' => $pageNewName));
|
||||
logger('$renamed: ' . json_encode($renamed));
|
||||
if($renamed['success']) {
|
||||
$ob = \App::get_observer();
|
||||
$commit = wiki_git_commit(array(
|
||||
'commit_msg' => 'Renamed ' . urldecode($pageUrlName) . ' to ' . $renamed['page']['htmlName'],
|
||||
'resource_id' => $resource_id,
|
||||
'observer' => $ob,
|
||||
'files' => array($pageUrlName . '.md', $renamed['page']['fileName']),
|
||||
'all' => true
|
||||
));
|
||||
if($commit['success']) {
|
||||
json_return_and_die(array('name' => $renamed['page'], 'message' => 'Wiki git repo commit made', 'success' => true));
|
||||
} else {
|
||||
json_return_and_die(array('message' => 'Error making git commit','success' => false));
|
||||
}
|
||||
} else {
|
||||
json_return_and_die(array('message' => 'Error renaming page', 'success' => false));
|
||||
}
|
||||
}
|
||||
|
||||
//notice('You must be authenticated.');
|
||||
json_return_and_die(array('message' => 'You must be authenticated.', 'success' => false));
|
||||
|
@ -179,7 +179,8 @@ class Comanche {
|
||||
$channel_id = $this->get_channel_id();
|
||||
|
||||
if($channel_id) {
|
||||
$r = q("select * from item inner join item_id on iid = item.id and item_id.uid = item.uid and item.uid = %d and service = 'BUILDBLOCK' and sid = '%s' limit 1",
|
||||
$r = q("select * from item inner join iconfig on iconfig.iid = item.id and item.uid = %d
|
||||
and iconfig.cat = 'system' and iconfig.k = 'BUILDBLOCK' and iconfig.v = '%s' limit 1",
|
||||
intval($channel_id),
|
||||
dbesc($name)
|
||||
);
|
||||
@ -282,12 +283,12 @@ class Comanche {
|
||||
|
||||
|
||||
/**
|
||||
* Widgets will have to get any operational arguments from the session, the
|
||||
* global app environment, or config storage until we implement argument passing
|
||||
* Render a widget
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $text
|
||||
*/
|
||||
|
||||
function widget($name, $text) {
|
||||
$vars = array();
|
||||
$matches = array();
|
||||
|
@ -3,6 +3,8 @@
|
||||
namespace Zotlabs\Storage;
|
||||
|
||||
use Sabre\DAV;
|
||||
use Sabre\HTTP\RequestInterface;
|
||||
use Sabre\HTTP\ResponseInterface;
|
||||
|
||||
/**
|
||||
* @brief Authentication backend class for DAV.
|
||||
@ -145,6 +147,57 @@ class BasicAuth extends DAV\Auth\Backend\AbstractBasic {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* When this method is called, the backend must check if authentication was
|
||||
* successful.
|
||||
*
|
||||
* The returned value must be one of the following
|
||||
*
|
||||
* [true, "principals/username"]
|
||||
* [false, "reason for failure"]
|
||||
*
|
||||
* If authentication was successful, it's expected that the authentication
|
||||
* backend returns a so-called principal url.
|
||||
*
|
||||
* Examples of a principal url:
|
||||
*
|
||||
* principals/admin
|
||||
* principals/user1
|
||||
* principals/users/joe
|
||||
* principals/uid/123457
|
||||
*
|
||||
* If you don't use WebDAV ACL (RFC3744) we recommend that you simply
|
||||
* return a string such as:
|
||||
*
|
||||
* principals/users/[username]
|
||||
*
|
||||
* @param RequestInterface $request
|
||||
* @param ResponseInterface $response
|
||||
* @return array
|
||||
*/
|
||||
function check(RequestInterface $request, ResponseInterface $response) {
|
||||
|
||||
if(local_channel()) {
|
||||
return [ true, $this->principalPrefix . $this->channel_name ];
|
||||
}
|
||||
|
||||
$auth = new \Sabre\HTTP\Auth\Basic(
|
||||
$this->realm,
|
||||
$request,
|
||||
$response
|
||||
);
|
||||
|
||||
$userpass = $auth->getCredentials();
|
||||
if (!$userpass) {
|
||||
return [false, "No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured"];
|
||||
}
|
||||
if (!$this->validateUserPass($userpass[0], $userpass[1])) {
|
||||
return [false, "Username or password was incorrect"];
|
||||
}
|
||||
return [true, $this->principalPrefix . $userpass[0]];
|
||||
|
||||
}
|
||||
|
||||
protected function check_module_access($channel_id) {
|
||||
if($channel_id && \App::$module === 'cdav') {
|
||||
$x = get_pconfig($channel_id,'cdav','enabled');
|
||||
|
@ -10,3 +10,4 @@ class Controller {
|
||||
function get() {}
|
||||
|
||||
}
|
||||
|
||||
|
2
boot.php
2
boot.php
@ -48,7 +48,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
|
||||
define ( 'STD_VERSION', '1.9' );
|
||||
define ( 'ZOT_REVISION', 1.1 );
|
||||
|
||||
define ( 'DB_UPDATE_VERSION', 1176 );
|
||||
define ( 'DB_UPDATE_VERSION', 1177 );
|
||||
|
||||
|
||||
/**
|
||||
|
10
doc/context/de/wiki/help.html
Normal file
10
doc/context/de/wiki/help.html
Normal file
@ -0,0 +1,10 @@
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Allgemein</dt>
|
||||
<dd>Jedes Wiki ist eine Sammlung aus mit Markdown formatierten Seiten.</dd>
|
||||
<dt><a href="#" onclick='contextualHelpFocus("#wiki_list", 1); return false;' title="Click to highlight element...">Wiki Liste</a></dt>
|
||||
<dd>Wikis die dem eigenen Kanal gehören und <i>mit der Berechtigung zum Anschauen</i>, sind in der Seitenleiste gelistet.</dd>
|
||||
<dt><a href="#" onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Click to highlight element...">Seiten Versionen</a></dt>
|
||||
<dd>Jede Änderung einer Seite wird gespeichert, um eine schnelle Berichtigung zu ermöglichen. Klick auf das <b>Versionsgeschichte</b> Tab um den Verlauf der Seitenbearbeitung zu sehen, einschließlich Datum und Autor. Der Zurück-Knopf lädt die ausgewählte Änderung, aber ohne die Seite automatisch zu spreichern.</dd>
|
||||
<dt><a href="#" onclick='contextualHelpFocus("#wiki_page_list", 1); return false;' title="Click to highlight element...">Seiten</a></dt>
|
||||
<dd>Die Seiten des Wikis werden in <b>Wiki Seiten</b> gelistet. Vor dem Speichern einer Seite über das <b>Seiten</b> Dropdown Menu, hast Du die Möglichkeit eine <a href="#" onclick='contextualHelpFocus("#id_commitMsg", 0); return false;' title="Click to highlight element...">Zusammenfassung der Änderungen</a> einzutragen. Dieser Text wird anschließend unter <a href="#" onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Click to highlight element..."><b>Seiten Versionen</b></a> in der Versionsgeschichte angezeigt.</dd>
|
||||
</dl>
|
1
doc/context/es
Symbolic link
1
doc/context/es
Symbolic link
@ -0,0 +1 @@
|
||||
es-es
|
@ -1 +0,0 @@
|
||||
es
|
10
doc/context/es-es/wiki/help.html
Normal file
10
doc/context/es-es/wiki/help.html
Normal file
@ -0,0 +1,10 @@
|
||||
<dl class="dl-horizontal">
|
||||
<dt>General</dt>
|
||||
<dd>Cada wiki es una colección de páginas, compuestas como ficheros de texto formateados en Markdown.</dd>
|
||||
<dt><a href='#' onclick='contextualHelpFocus("#wiki_list", 1); return false;' title="Pulsar para resaltar el elemento...">Lista de wikis</a></dt>
|
||||
<dd>Las páginas wiki propiedad del canal <i>que esté autorizado a ver</i> aparecen en el panel lateral.</dd>
|
||||
<dt><a href='#' onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Pulsar para resaltar el elemento...">Historial de la página</a></dt>
|
||||
<dd>Cada revisión de una página se salva para permitir su rápida recuperación. Pulsar en la pestaña <b>Historial</b> para ver las revisiones de la página, incluyendo la fecha y el autor de cada una. El botón de reversión cargará la revisión seleccionada, pero no salvará automáticamente la página.</dd>
|
||||
<dt><a href='#' onclick='contextualHelpFocus("#wiki_page_list", 1); return false;' title="Pulsar para resaltar el elemento...">Páginas</a></dt>
|
||||
<dd>La lista de páginas en el wiki aparece en el panel <b>Páginas del wiki</b>. Antes de salvar las páginas editadas usando el control <b>Página</b> en el menú desplegable, puede <a href='#' onclick='contextualHelpFocus("#id_commitMsg", 0); return false;' title="Pulsar para resaltar el elemento...">escribir un mensaje personalizado</a> que se verá en el visor <a href='#' onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Pulsar para resaltar el elemento..."><b>Historial de la página</b></a> junto con la revisión.</dd>
|
||||
</dl>
|
10
doc/context/it/wiki/help.html
Normal file
10
doc/context/it/wiki/help.html
Normal file
@ -0,0 +1,10 @@
|
||||
<dl class="dl-horizontal">
|
||||
<dt>General</dt>
|
||||
<dd>Ogni wiki è una raccolta di pagine, composta di file di testo formattati con Markdown.</dd>
|
||||
<dt><a href="#" onclick='contextualHelpFocus("#wiki_list", 1); return false;' title="Fai click per evidenziare l'elemento...">Elenco dei Wiki</a></dt>
|
||||
<dd>I Wiki del canale <i>che sei abilitato a vedere</i> sono elencati nel pannello laterale.</dd>
|
||||
<dt><a href="#" onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Fai click per evidenziare l'elemento...">Cronologia della pagina</a></dt>
|
||||
<dd>Le revisioni di ogni pagina vengono salvate per rendere possibile un ripristino veloce. Fai click sulla tab <b>Cronologia</b> per vedere l'elenco delle revisioni, con autore e data delle stesse. Il bottone di ripristino riporterà alla revisione selezionata, senza salvare automaticamente la pagina.</dd>
|
||||
<dt><a href="#" onclick='contextualHelpFocus("#wiki_page_list", 1); return false;' title="Fai click per evidenziare l'elemento...">Pagine</a></dt>
|
||||
<dd>L'elenco delle pagine del wiki si trova nel pannello <b>Pagine del wiki</b>. Prima di salvare le modifiche con il menu a discela <b>Pagina</b>, puoi <a href="#" onclick='contextualHelpFocus("#id_commitMsg", 0); return false;' title="Fai click per evidenziare l'elemento...">inserire un messaggio</a> che verrà visualizzato nella visualizzazione della <a href="#" onclick='contextualHelpFocus("#wiki-get-history", 0); return false;' title="Fai click per evidenziare l'elemento..."><b>storia della pagina</b></a> insieme alla revisione.</dd>
|
||||
</dl>
|
@ -839,7 +839,7 @@ require_once('include/api_auth.php');
|
||||
$_REQUEST['parent_mid'] = $parent;
|
||||
|
||||
if($_REQUEST['namespace'] && $parent) {
|
||||
$x = q("select iid from item_id where service = '%s' and sid = '%s' limit 1",
|
||||
$x = q("select iid from iconfig where cat = 'system' and k = '%s' and v = '%s' limit 1",
|
||||
dbesc($_REQUEST['namespace']),
|
||||
dbesc($parent)
|
||||
);
|
||||
@ -967,20 +967,10 @@ require_once('include/api_auth.php');
|
||||
|
||||
$ret = array();
|
||||
$tmp = array();
|
||||
$str = '';
|
||||
foreach($i as $ii) {
|
||||
$tmp[] = encode_item($ii,true);
|
||||
if($str)
|
||||
$str .= ',';
|
||||
$str .= $ii['id'];
|
||||
}
|
||||
$ret['item'] = $tmp;
|
||||
if($str) {
|
||||
$r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item.id in ( $str ) ");
|
||||
|
||||
if($r)
|
||||
$ret['item_id'] = $r;
|
||||
}
|
||||
|
||||
json_return_and_die($ret);
|
||||
}
|
||||
@ -1462,7 +1452,8 @@ require_once('include/api_auth.php');
|
||||
}
|
||||
else {
|
||||
if($_REQUEST['namespace'] && $_REQUEST['remote_id']) {
|
||||
$r = q("select * from item_id where service = '%s' and sid = '%s' and uid = %d limit 1",
|
||||
$r = q("select * from iconfig left join item on iconfig.iid = item.id
|
||||
where cat = 'system' and k = '%s' and v = '%s' and item.uid = %d limit 1",
|
||||
dbesc($_REQUEST['namespace']),
|
||||
dbesc($_REQUEST['remote_id']),
|
||||
intval($user_info['uid'])
|
||||
@ -1472,7 +1463,7 @@ require_once('include/api_auth.php');
|
||||
$id = $r[0]['iid'];
|
||||
}
|
||||
if($_REQUEST['namespace'] && $_REQUEST['comment_id']) {
|
||||
$r = q("select * from item_id left join item on item.id = item_id.iid where service = '%s' and sid = '%s' and uid = %d and item.id != item.parent limit 1",
|
||||
$r = q("select * from iconfig left join item on item.id = iconfig.iid where cat = 'system' and k = '%s' and v = '%s' and uid = %d and item.id != item.parent limit 1",
|
||||
dbesc($_REQUEST['namespace']),
|
||||
dbesc($_REQUEST['comment_id']),
|
||||
intval($user_info['uid'])
|
||||
|
@ -242,6 +242,13 @@ function bb_ShareAttributes($match) {
|
||||
if ($matches[1] != "")
|
||||
$message_id = $matches[1];
|
||||
|
||||
if(! $message_id) {
|
||||
preg_match("/guid='(.*?)'/ism", $attributes, $matches);
|
||||
if ($matches[1] != "")
|
||||
$message_id = $matches[1];
|
||||
}
|
||||
|
||||
|
||||
$reldate = '<span class="autotime" title="' . datetime_convert('UTC', date_default_timezone_get(), $posted, 'c') . '" >' . datetime_convert('UTC', date_default_timezone_get(), $posted, 'r') . '</span>';
|
||||
|
||||
$headline = '<div class="shared_container"> <div class="shared_header">';
|
||||
@ -484,6 +491,12 @@ function bb_code($match) {
|
||||
return '<code class="inline-code">' . trim($match[1]) . '</code>';
|
||||
}
|
||||
|
||||
function bb_highlight($match) {
|
||||
if(in_array(strtolower($match[1]),['php','css','mysql','sql','abap','diff','html','perl','ruby',
|
||||
'vbscript','avrc','dtd','java','xml','cpp','python','javascript','js','sh']))
|
||||
return text_highlight($match[2],strtolower($match[1]));
|
||||
return $match[0];
|
||||
}
|
||||
|
||||
|
||||
// BBcode 2 HTML was written by WAY2WEB.net
|
||||
@ -559,6 +572,15 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
|
||||
$Text = str_replace(">", ">", $Text);
|
||||
|
||||
|
||||
// Check for [code] text here, before the linefeeds are messed with.
|
||||
// The highlighter will unescape and re-escape the content.
|
||||
|
||||
if (strpos($Text,'[code=') !== false) {
|
||||
$Text = preg_replace_callback("/\[code=(.*?)\](.*?)\[\/code\]/ism", 'bb_highlight', $Text);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Convert new line chars to html <br /> tags
|
||||
|
||||
// nlbr seems to be hopelessly messed up
|
||||
|
@ -16,7 +16,7 @@ require_once('include/menu.php');
|
||||
* @param int $account_id
|
||||
* Account_id used for this request
|
||||
*
|
||||
* @returns assoziative array with:
|
||||
* @returns associative array with:
|
||||
* * \e boolean \b success boolean true if creating a new channel is allowed for this account
|
||||
* * \e string \b message (optional) if success is false, optional error text
|
||||
* * \e int \b total_identities
|
||||
@ -676,14 +676,6 @@ function identity_basic_export($channel_id, $items = false) {
|
||||
$ret['mail'] = $m;
|
||||
}
|
||||
|
||||
$r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item_id.uid = %d",
|
||||
intval($channel_id)
|
||||
);
|
||||
|
||||
if($r)
|
||||
$ret['item_id'] = $r;
|
||||
|
||||
//$key = get_config('system','prvkey');
|
||||
|
||||
/** @warning this may run into memory limits on smaller systems */
|
||||
|
||||
@ -746,17 +738,6 @@ function identity_export_year($channel_id,$year,$month = 0) {
|
||||
$ret['item'][] = encode_item($rr,true);
|
||||
}
|
||||
|
||||
$r = q("select item_id.*, item.mid from item_id left join item on item_id.iid = item.id where item_id.uid = %d
|
||||
and item.created >= '%s' and item.created < '%s' order by created ",
|
||||
intval($channel_id),
|
||||
dbesc($mindate),
|
||||
dbesc($maxdate)
|
||||
);
|
||||
|
||||
if($r)
|
||||
$ret['item_id'] = $r;
|
||||
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
@ -283,18 +283,30 @@ function channel_remove($channel_id, $local = true, $unset_session=false) {
|
||||
Zotlabs\Daemon\Master::Summon(array('Notifier','purge_all',$channel_id));
|
||||
}
|
||||
|
||||
|
||||
$r = q("select * from iconfig left join item on item.id = iconfig.iid
|
||||
where item.uid = %d",
|
||||
intval($channel_id)
|
||||
);
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
q("delete from iconfig where iid = %d",
|
||||
intval($rr['iid'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
q("DELETE FROM `groups` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `group_member` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `event` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `item` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `item_id` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `mail` WHERE `channel_id` = %d", intval($channel_id));
|
||||
q("DELETE FROM `notify` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `photo` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `attach` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `profile` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `pconfig` WHERE `uid` = %d", intval($channel_id));
|
||||
q("DELETE FROM `spam` WHERE `uid` = %d", intval($channel_id));
|
||||
|
||||
// @FIXME At this stage we need to remove the file resources located under /store/$nickname
|
||||
|
||||
|
@ -403,9 +403,12 @@ function count_descendants($item) {
|
||||
* @return boolean
|
||||
*/
|
||||
function visible_activity($item) {
|
||||
$hidden_activities = array(ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_AGREE, ACTIVITY_DISAGREE, ACTIVITY_ABSTAIN, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE);
|
||||
$hidden_activities = [ ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_AGREE, ACTIVITY_DISAGREE, ACTIVITY_ABSTAIN, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE ];
|
||||
|
||||
$post_types = array(ACTIVITY_OBJ_NOTE,ACTIVITY_OBJ_COMMENT,basename(ACTIVITY_OBJ_NOTE),basename(ACTIVITY_OBJ_COMMENT));
|
||||
$post_types = [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT, basename(ACTIVITY_OBJ_NOTE), basename(ACTIVITY_OBJ_COMMENT)];
|
||||
|
||||
if(intval($item['item_notshown']))
|
||||
return false;
|
||||
|
||||
foreach ($hidden_activities as $act) {
|
||||
if ((activity_match($item['verb'], $act)) && ($item['mid'] != $item['parent_mid'])) {
|
||||
|
@ -275,7 +275,7 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
|
||||
|
||||
call_hooks('follow', $arr);
|
||||
|
||||
/** If there is a default group for this channel, add this member to it */
|
||||
/** If there is a default group for this channel, add this connection to it */
|
||||
|
||||
if($default_group) {
|
||||
require_once('include/group.php');
|
||||
|
@ -30,7 +30,8 @@ function search_doc_files($s) {
|
||||
|
||||
$regexop = db_getfunc('REGEXP');
|
||||
|
||||
$r = q("select item_id.sid, item.* from item left join item_id on item.id = item_id.iid where service = 'docfile' and
|
||||
$r = q("select iconfig.v, item.* from item left join iconfig on item.id = iconfig.iid
|
||||
where iconfig.cat = 'system' and iconfig.k = 'docfile' and
|
||||
body $regexop '%s' and item_type = %d $pager_sql",
|
||||
dbesc($s),
|
||||
intval(ITEM_TYPE_DOC)
|
||||
@ -50,7 +51,7 @@ function search_doc_files($s) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if(stristr($r[$x]['sid'],$s))
|
||||
if(stristr($r[$x]['v'],$s))
|
||||
$r[$x]['rank'] ++;
|
||||
$r[$x]['rank'] += substr_count(strtolower($r[$x]['text']),strtolower($s));
|
||||
// bias the results to the observer's native language
|
||||
@ -123,12 +124,15 @@ function store_doc_file($s) {
|
||||
$item['owner_xchan'] = $item['author_xchan'] = $sys['channel_hash'];
|
||||
$item['item_type'] = ITEM_TYPE_DOC;
|
||||
|
||||
$r = q("select item.* from item left join item_id on item.id = item_id.iid where service = 'docfile' and
|
||||
sid = '%s' and item_type = %d limit 1",
|
||||
$r = q("select item.* from item left join iconfig on item.id = iconfig.iid
|
||||
where iconfig.cat = 'system' and iconfig.k = 'docfile' and
|
||||
iconfig.v = '%s' and item_type = %d limit 1",
|
||||
dbesc($s),
|
||||
intval(ITEM_TYPE_DOC)
|
||||
);
|
||||
|
||||
\Zotlabs\Lib\IConfig::Set($item,'system','docfile',$s);
|
||||
|
||||
if($r) {
|
||||
$item['id'] = $r[0]['id'];
|
||||
$item['mid'] = $item['parent_mid'] = $r[0]['mid'];
|
||||
@ -139,10 +143,7 @@ function store_doc_file($s) {
|
||||
$x = item_store($item);
|
||||
}
|
||||
|
||||
if($x['success']) {
|
||||
update_remote_id($sys,$x['item_id'],ITEM_TYPE_DOC,$s,'docfile',0,$item['mid']);
|
||||
}
|
||||
|
||||
return $x;
|
||||
|
||||
}
|
||||
|
||||
|
@ -624,19 +624,14 @@ function import_item_ids($channel,$itemids) {
|
||||
);
|
||||
if(! $r)
|
||||
continue;
|
||||
$z = q("select * from item_id where service = '%s' and sid = '%s' and iid = %d and uid = %d limit 1",
|
||||
$z = q("select * from iconfig where iconfig.cat = 'system' and iconfig.k = '%s'
|
||||
and iconfig.v = '%s' and iid = %d limit 1",
|
||||
dbesc($i['service']),
|
||||
dbesc($i['sid']),
|
||||
intval($r[0]['id']),
|
||||
intval($channel['channel_id'])
|
||||
intval($r[0]['id'])
|
||||
);
|
||||
if(! $z) {
|
||||
q("insert into item_id (iid,uid,sid,service) values(%d,%d,'%s','%s')",
|
||||
intval($r[0]['id']),
|
||||
intval($channel['channel_id']),
|
||||
dbesc($i['sid']),
|
||||
dbesc($i['service'])
|
||||
);
|
||||
\Zotlabs\Lib\IConfig::Set($r[0]['id'],'system',$i['service'],$i['sid'],true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -677,14 +677,24 @@ function get_item_elements($x,$allow_code = false) {
|
||||
|
||||
$arr['item_flags'] = 0;
|
||||
|
||||
if(array_key_exists('flags',$x) && in_array('consensus',$x['flags']))
|
||||
if(array_key_exists('flags',$x)) {
|
||||
|
||||
if(in_array('consensus',$x['flags']))
|
||||
$arr['item_consensus'] = 1;
|
||||
|
||||
if(array_key_exists('flags',$x) && in_array('deleted',$x['flags']))
|
||||
if(in_array('deleted',$x['flags']))
|
||||
$arr['item_deleted'] = 1;
|
||||
if(array_key_exists('flags',$x) && in_array('hidden',$x['flags']))
|
||||
|
||||
if(in_array('notshown',$x['flags']))
|
||||
$arr['item_notshown'] = 1;
|
||||
|
||||
// hidden item are no longer propagated - notshown may be a suitable alternative
|
||||
|
||||
if(in_array('hidden',$x['flags']))
|
||||
$arr['item_hidden'] = 1;
|
||||
|
||||
}
|
||||
|
||||
// Here's the deal - the site might be down or whatever but if there's a new person you've never
|
||||
// seen before sending stuff to your stream, we MUST be able to look them up and import their data from their
|
||||
// hub and verify that they are legit - or else we're going to toss the post. We only need to do this
|
||||
@ -1339,6 +1349,8 @@ function encode_item_flags($item) {
|
||||
$ret[] = 'deleted';
|
||||
if(intval($item['item_hidden']))
|
||||
$ret[] = 'hidden';
|
||||
if(intval($item['item_notshown']))
|
||||
$ret[] = 'notshown';
|
||||
if(intval($item['item_thread_top']))
|
||||
$ret[] = 'thread_parent';
|
||||
if(intval($item['item_nsfw']))
|
||||
@ -3537,9 +3549,8 @@ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) {
|
||||
intval($item['id'])
|
||||
);
|
||||
|
||||
q("delete from item_id where iid = %d and uid = %d",
|
||||
intval($item['id']),
|
||||
intval($item['uid'])
|
||||
q("delete from iconfig where iid = %d",
|
||||
intval($item['id'])
|
||||
);
|
||||
|
||||
q("delete from term where oid = %d and otype = %d",
|
||||
@ -4105,6 +4116,23 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
|
||||
return $items;
|
||||
}
|
||||
|
||||
function webpage_to_namespace($webpage) {
|
||||
|
||||
if($webpage == ITEM_TYPE_WEBPAGE)
|
||||
$page_type = 'WEBPAGE';
|
||||
elseif($webpage == ITEM_TYPE_BLOCK)
|
||||
$page_type = 'BUILDBLOCK';
|
||||
elseif($webpage == ITEM_TYPE_PDL)
|
||||
$page_type = 'PDL';
|
||||
elseif($webpage == ITEM_TYPE_DOC)
|
||||
$page_type = 'docfile';
|
||||
else
|
||||
$page_type = 'unknown';
|
||||
return $page_type;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid) {
|
||||
|
||||
|
@ -21,15 +21,16 @@ function get_capath() {
|
||||
* TRUE if asked to return binary results (file download)
|
||||
* @param int $redirects default 0
|
||||
* internal use, recursion counter
|
||||
* @param array $opts (optional parameters) assoziative array with:
|
||||
* @param array $opts (optional parameters) associative array with:
|
||||
* * \b accept_content => supply Accept: header with 'accept_content' as the value
|
||||
* * \b timeout => int seconds, default system config value or 60 seconds
|
||||
* * \b http_auth => username:password
|
||||
* * \b novalidate => do not validate SSL certs, default is to validate using our CA list
|
||||
* * \b nobody => only return the header
|
||||
* * \b filep => stream resource to write body to. header and body are not returned when using this option.
|
||||
* * \b custom => custom request method: e.g. 'PUT', 'DELETE'
|
||||
*
|
||||
* @return array an assoziative array with:
|
||||
* @return array an associative array with:
|
||||
* * \e int \b return_code => HTTP return code or 0 if timeout or failure
|
||||
* * \e boolean \b success => boolean true (if HTTP 2xx result) or false
|
||||
* * \e string \b header => HTTP headers
|
||||
@ -65,6 +66,9 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
|
||||
if(x($opts,'nobody'))
|
||||
@curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']);
|
||||
|
||||
if(x($opts,'custom'))
|
||||
@curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $opts['custom']);
|
||||
|
||||
if(x($opts,'timeout') && intval($opts['timeout'])) {
|
||||
@curl_setopt($ch, CURLOPT_TIMEOUT, $opts['timeout']);
|
||||
}
|
||||
@ -165,7 +169,9 @@ function z_fetch_url($url, $binary = false, $redirects = 0, $opts = array()) {
|
||||
* 'http_auth' => username:password
|
||||
* 'novalidate' => do not validate SSL certs, default is to validate using our CA list
|
||||
* 'filep' => stream resource to write body to. header and body are not returned when using this option.
|
||||
* @return array an assoziative array with:
|
||||
* 'custom' => custom request method: e.g. 'PUT', 'DELETE'
|
||||
*
|
||||
* @return array an associative array with:
|
||||
* * \e int \b return_code => HTTP return code or 0 if timeout or failure
|
||||
* * \e boolean \b success => boolean true (if HTTP 2xx result) or false
|
||||
* * \e string \b header => HTTP headers
|
||||
@ -205,6 +211,10 @@ logger('headers: ' . print_r($opts['headers'],true) . 'redir: ' . $redirects);
|
||||
if(x($opts,'nobody'))
|
||||
@curl_setopt($ch, CURLOPT_NOBODY, $opts['nobody']);
|
||||
|
||||
if(x($opts,'custom'))
|
||||
@curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $opts['custom']);
|
||||
|
||||
|
||||
if(x($opts,'timeout') && intval($opts['timeout'])) {
|
||||
@curl_setopt($ch, CURLOPT_TIMEOUT, $opts['timeout']);
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
// A basic toolbar for observers with write_pages permissions
|
||||
|
||||
function writepages_widget ($who,$which) {
|
||||
return replace_macros(get_markup_template('write_pages.tpl'), array(
|
||||
'$new' => t('New Page'),
|
||||
@ -13,9 +14,11 @@ function writepages_widget ($who,$which){
|
||||
|
||||
|
||||
// Chan is channel_id, $which is channel_address - we'll need to pass observer later too.
|
||||
|
||||
function pagelist_widget ($owner,$which) {
|
||||
|
||||
$r = q("select * from item_id left join item on item_id.iid = item.id where item_id.uid = %d and service = 'WEBPAGE' order by item.created desc",
|
||||
$r = q("select * from iconfig left join item on iconfig.iid = item.id where item_id.uid = %d
|
||||
and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' order by item.created desc",
|
||||
intval($owner)
|
||||
);
|
||||
|
||||
@ -24,7 +27,7 @@ function pagelist_widget ($owner,$which){
|
||||
if($r) {
|
||||
$pages = array();
|
||||
foreach($r as $rr) {
|
||||
$pages[$rr['iid']][] = array('url' => $rr['iid'],'pagetitle' => $rr['sid'],'title' => $rr['title'],'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']));
|
||||
$pages[$rr['iid']][] = array('url' => $rr['iid'],'pagetitle' => $rr['v'],'title' => $rr['title'],'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1743,7 +1743,8 @@ function unamp($s) {
|
||||
}
|
||||
|
||||
function layout_select($channel_id, $current = '') {
|
||||
$r = q("select mid,sid from item left join item_id on iid = item.id where service = 'PDL' and item.uid = item_id.uid and item_id.uid = %d and item_type = %d ",
|
||||
$r = q("select mid, v from item left join iconfig on iconfig.iid = item.id
|
||||
where iconfig.cat = 'system' and iconfig.k = 'PDL' and item.uid = %d and item_type = %d ",
|
||||
intval($channel_id),
|
||||
intval(ITEM_TYPE_PDL)
|
||||
);
|
||||
@ -1753,7 +1754,7 @@ function layout_select($channel_id, $current = '') {
|
||||
$options .= '<option value="" ' . $empty_selected . '>' . t('default') . '</option>';
|
||||
foreach($r as $rr) {
|
||||
$selected = (($rr['mid'] == $current) ? ' selected="selected" ' : '');
|
||||
$options .= '<option value="' . $rr['mid'] . '"' . $selected . '>' . $rr['sid'] . '</option>';
|
||||
$options .= '<option value="' . $rr['mid'] . '"' . $selected . '>' . $rr['v'] . '</option>';
|
||||
}
|
||||
}
|
||||
|
||||
@ -2821,13 +2822,16 @@ function expand_acl($s) {
|
||||
// If it has a pdl we'll load it as we know the mid and pass the body through comanche_parser() which will generate the
|
||||
// page layout from the given description
|
||||
|
||||
// @FIXME - there is apparently a very similar function called layout_select; this one should probably take precedence
|
||||
// and the other should be checked for compatibility and removed
|
||||
|
||||
function pdl_selector($uid, $current="") {
|
||||
$o = '';
|
||||
|
||||
$sql_extra = item_permissions_sql($uid);
|
||||
|
||||
$r = q("select item_id.*, mid from item_id left join item on iid = item.id where item_id.uid = %d and item_id.uid = item.uid and service = 'PDL' $sql_extra order by sid asc",
|
||||
$r = q("select iconfig.*, mid from item_id left join item on iconfig.iid = item.id
|
||||
where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'PDL' $sql_extra order by v asc",
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
@ -2841,7 +2845,7 @@ function pdl_selector($uid, $current="") {
|
||||
$entries[] = array('title' => t('Default'), 'mid' => '');
|
||||
foreach($entries as $selection) {
|
||||
$selected = (($selection == $current) ? ' selected="selected" ' : '');
|
||||
$o .= "<option value=\"{$selection['mid']}\" $selected >{$selection['sid']}</option>";
|
||||
$o .= "<option value=\"{$selection['mid']}\" $selected >{$selection['v']}</option>";
|
||||
}
|
||||
|
||||
$o .= '</select>';
|
||||
@ -2877,3 +2881,43 @@ function flatten_array_recursive($arr) {
|
||||
}
|
||||
return($ret);
|
||||
}
|
||||
|
||||
function text_highlight($s,$lang) {
|
||||
|
||||
if($lang === 'js')
|
||||
$lang = 'javascript';
|
||||
|
||||
if(! strpos('Text_Highlighter',get_include_path())) {
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . 'library/Text_Highlighter');
|
||||
}
|
||||
require_once('library/Text_Highlighter/Text/Highlighter.php');
|
||||
require_once('library/Text_Highlighter/Text/Highlighter/Renderer/Html.php');
|
||||
$options = array(
|
||||
'numbers' => HL_NUMBERS_LI,
|
||||
'tabsize' => 4,
|
||||
);
|
||||
$tag_added = false;
|
||||
$s = trim(html_entity_decode($s,ENT_COMPAT));
|
||||
$s = str_replace(" ","\t",$s);
|
||||
if($lang === 'php') {
|
||||
if(strpos('<?php',$s) !== 0) {
|
||||
$s = '<?php' . "\n" . $s;
|
||||
$tag_added = true;
|
||||
}
|
||||
|
||||
}
|
||||
$renderer = new Text_Highlighter_Renderer_HTML($options);
|
||||
$hl = Text_Highlighter::factory($lang);
|
||||
$hl->setRenderer($renderer);
|
||||
$o = $hl->highlight($s);
|
||||
$o = str_replace([" ","\n"],[" ",''],$o);
|
||||
|
||||
if($tag_added) {
|
||||
$b = substr($o,0,strpos($o,'<li>'));
|
||||
$e = substr($o,strpos($o,'</li>'));
|
||||
$o = $b . $e;
|
||||
}
|
||||
|
||||
return('<code>' . $o . '</code>');
|
||||
}
|
||||
|
||||
|
@ -994,8 +994,9 @@ function widget_item($arr) {
|
||||
$sql_extra = item_permissions_sql($channel_id);
|
||||
|
||||
if($arr['title']) {
|
||||
$r = q("select item.* from item left join item_id on item.id = item_id.iid
|
||||
where item.uid = %d and sid = '%s' and service = 'WEBPAGE' and item_type = %d $sql_options $revision limit 1",
|
||||
$r = q("select item.* from item left join iconfig on item.id = iconfig.iid
|
||||
where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s'
|
||||
and iconfig.k = 'WEBPAGE' and item_type = %d $sql_options $revision limit 1",
|
||||
intval($channel_id),
|
||||
dbesc($arr['title']),
|
||||
intval(ITEM_TYPE_WEBPAGE)
|
||||
@ -1253,8 +1254,8 @@ function widget_random_block($arr) {
|
||||
|
||||
$randfunc = db_getfunc('RAND');
|
||||
|
||||
$r = q("select item.* from item left join item_id on item.id = item_id.iid
|
||||
where item.uid = %d and sid like '%s' and service = 'BUILDBLOCK' and
|
||||
$r = q("select item.* from item left join iconfig on item.id = iconfig.iid
|
||||
where item.uid = %d and iconfig.cat = 'system' and iconfig.v like '%s' and iconfig.k = 'BUILDBLOCK' and
|
||||
item_type = %d $sql_options order by $randfunc limit 1",
|
||||
intval($channel_id),
|
||||
dbesc('%' . $contains . '%'),
|
||||
|
@ -231,6 +231,34 @@ function wiki_create_page($name, $resource_id) {
|
||||
|
||||
}
|
||||
|
||||
function wiki_rename_page($arr) {
|
||||
$pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
|
||||
$pageNewName = ((array_key_exists('pageNewName',$arr)) ? $arr['pageNewName'] : '');
|
||||
$resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
|
||||
$w = wiki_get_wiki($resource_id);
|
||||
if (!$w['path']) {
|
||||
return array('message' => 'Wiki not found.', 'success' => false);
|
||||
}
|
||||
$page_path_old = $w['path'].'/'.$pageUrlName.'.md';
|
||||
logger('$page_path_old: ' . $page_path_old);
|
||||
if (!is_readable($page_path_old) === true) {
|
||||
return array('message' => 'Cannot read wiki page: ' . $page_path_old, 'success' => false);
|
||||
}
|
||||
$page = array('rawName' => $pageNewName, 'htmlName' => escape_tags($pageNewName), 'urlName' => urlencode(escape_tags($pageNewName)), 'fileName' => urlencode(escape_tags($pageNewName)).'.md');
|
||||
$page_path_new = $w['path'] . '/' . $page['fileName'] ;
|
||||
logger('$page_path_new: ' . $page_path_new);
|
||||
if (is_file($page_path_new)) {
|
||||
return array('message' => 'Page already exists.', 'success' => false);
|
||||
}
|
||||
// Rename the page file in the wiki repo
|
||||
if(!rename($page_path_old, $page_path_new)) {
|
||||
return array('message' => 'Error renaming page file.', 'success' => false);
|
||||
} else {
|
||||
return array('page' => $page, 'message' => '', 'success' => true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function wiki_get_page_content($arr) {
|
||||
$pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : '');
|
||||
$resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : '');
|
||||
@ -342,7 +370,7 @@ function wiki_revert_page($arr) {
|
||||
}
|
||||
}
|
||||
} catch (\PHPGit\Exception\GitException $e) {
|
||||
json_return_and_die(array('content' => $content, 'message' => 'GitRepo error thrown', 'success' => false));
|
||||
return array('content' => $content, 'message' => 'GitRepo error thrown', 'success' => false);
|
||||
}
|
||||
return array('content' => $content, 'message' => '', 'success' => true);
|
||||
} else {
|
||||
@ -352,9 +380,18 @@ function wiki_revert_page($arr) {
|
||||
|
||||
function wiki_git_commit($arr) {
|
||||
$files = ((array_key_exists('files', $arr)) ? $arr['files'] : null);
|
||||
$all = ((array_key_exists('all', $arr)) ? $arr['all'] : false);
|
||||
$commit_msg = ((array_key_exists('commit_msg', $arr)) ? $arr['commit_msg'] : 'Repo updated');
|
||||
$resource_id = ((array_key_exists('resource_id', $arr)) ? $arr['resource_id'] : json_return_and_die(array('message' => 'Wiki resource_id required for git commit', 'success' => false)));
|
||||
$observer = ((array_key_exists('observer', $arr)) ? $arr['observer'] : json_return_and_die(array('message' => 'Observer required for git commit', 'success' => false)));
|
||||
if(array_key_exists('resource_id', $arr)) {
|
||||
$resource_id = $arr['resource_id'];
|
||||
} else {
|
||||
return array('message' => 'Wiki resource_id required for git commit', 'success' => false);
|
||||
}
|
||||
if(array_key_exists('observer', $arr)) {
|
||||
$observer = $arr['observer'];
|
||||
} else {
|
||||
return array('message' => 'Observer required for git commit', 'success' => false);
|
||||
}
|
||||
$w = wiki_get_wiki($resource_id);
|
||||
if (!$w['path']) {
|
||||
return array('message' => 'Error reading wiki', 'success' => false);
|
||||
@ -369,23 +406,23 @@ function wiki_git_commit($arr) {
|
||||
if ($files === null) {
|
||||
$options = array('all' => true); // git commit option to include all changes
|
||||
} else {
|
||||
$options = array(); // git commit options
|
||||
$options = array('all' => $all); // git commit options\
|
||||
foreach ($files as $file) {
|
||||
if (!$git->git->add($file)) { // add specified files to the git repo stage
|
||||
if (!$git->git->reset->hard()) {
|
||||
json_return_and_die(array('message' => 'Error adding file to git stage: ' . $file . '. Error resetting git repo.', 'success' => false));
|
||||
return array('message' => 'Error adding file to git stage: ' . $file . '. Error resetting git repo.', 'success' => false);
|
||||
}
|
||||
json_return_and_die(array('message' => 'Error adding file to git stage: ' . $file, 'success' => false));
|
||||
return array('message' => 'Error adding file to git stage: ' . $file, 'success' => false);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($git->commit($commit_msg, $options)) {
|
||||
json_return_and_die(array('message' => 'Wiki repo commit succeeded', 'success' => true));
|
||||
return array('message' => 'Wiki repo commit succeeded', 'success' => true);
|
||||
} else {
|
||||
json_return_and_die(array('message' => 'Wiki repo commit failed', 'success' => false));
|
||||
return array('message' => 'Wiki repo commit failed', 'success' => false);
|
||||
}
|
||||
} catch (\PHPGit\Exception\GitException $e) {
|
||||
json_return_and_die(array('message' => 'GitRepo error thrown', 'success' => false));
|
||||
return array('message' => 'GitRepo error thrown', 'success' => false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -538,6 +538,16 @@ function zot_refresh($them, $channel = null, $force = false) {
|
||||
Zotlabs\Daemon\Master::Summon(array('Onepoll',$new_connection[0]['abook_id']));
|
||||
}
|
||||
|
||||
|
||||
/** If there is a default group for this channel, add this connection to it */
|
||||
$default_group = $channel['channel_default_group'];
|
||||
if($default_group) {
|
||||
require_once('include/group.php');
|
||||
$g = group_rec_byhash($channel['channel_id'],$default_group);
|
||||
if($g)
|
||||
group_add_member($channel['channel_id'],'',$x['hash'],$g['id']);
|
||||
}
|
||||
|
||||
unset($new_connection[0]['abook_id']);
|
||||
unset($new_connection[0]['abook_account']);
|
||||
unset($new_connection[0]['abook_channel']);
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
define( 'UPDATE_VERSION' , 1176 );
|
||||
define( 'UPDATE_VERSION' , 1177 );
|
||||
|
||||
/**
|
||||
*
|
||||
@ -2254,3 +2254,16 @@ function update_r1175() {
|
||||
return UPDATE_FAILED;
|
||||
|
||||
}
|
||||
|
||||
|
||||
function update_r1176() {
|
||||
|
||||
$r = q("select * from item_id where true");
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
\Zotlabs\Lib\IConfig::Set($rr['iid'],'system',$rr['service'],$rr['sid'],true);
|
||||
}
|
||||
}
|
||||
return UPDATE_SUCCESS;
|
||||
|
||||
}
|
455
library/Text_Highlighter/README
Normal file
455
library/Text_Highlighter/README
Normal file
@ -0,0 +1,455 @@
|
||||
# $Id$
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
Text_Highlighter is a class for syntax highlighting. The main idea is to
|
||||
simplify creation of subclasses implementing syntax highlighting for
|
||||
particular language. Subclasses do not implement any new functioanality, they
|
||||
just provide syntax highlighting rules. The rules sources are in XML format.
|
||||
To create a highlighter for a language, there is no need to code a new class
|
||||
manually. Simply describe the rules in XML file and use Text_Highlighter_Generator
|
||||
to create a new class.
|
||||
|
||||
|
||||
This document does not contain a formal description of API - it is very
|
||||
simple, and I believe providing some examples of code is sufficient.
|
||||
|
||||
|
||||
Highlighter XML source
|
||||
======================
|
||||
|
||||
Basics
|
||||
------
|
||||
|
||||
Creating a new syntax highlighter begins with describing the highlighting
|
||||
rules. There are two basic elements: block and region. A block is just a
|
||||
portion of text matching a regular expression and highlighted with a single
|
||||
color. Keyword is an example of a block. A region is defined by two regular
|
||||
expressions: one for start of region, and another for the end. The main
|
||||
difference from a block is that a region can contain blocks and regions
|
||||
(including same-named regions). An example of a region is a group of
|
||||
statements enclosed in curly brackets (this is used in many languages, for
|
||||
example PHP and C). Also, characters matching start and end of a region may be
|
||||
highlighted with their own color, and region contents with another.
|
||||
|
||||
Blocks and regions may be declared as contained. Contained blocks and regions
|
||||
can only appear inside regions. If a region or a block is not declared as
|
||||
contained, it can appear both on top level and inside regions. Block or region
|
||||
declared as not-contained can only appear on top level.
|
||||
|
||||
For any region, a list of blocks and regions that can appear inside this
|
||||
region can be specified.
|
||||
|
||||
In this document, the term "color group" is used. Chunks of text assigned to
|
||||
same color group will be highlighted with same color. Note that in versions
|
||||
prior 0.5.0 color goups were refered as CSS classes, but since 0.5.0 not only
|
||||
HTML output is supported, so "color group" is more appropriate term.
|
||||
|
||||
Elements
|
||||
--------
|
||||
|
||||
The toplevel element is <highlight>. Attribute lang is required and denotes
|
||||
the name of the language. Its value is used as a part of generated class name,
|
||||
and must only contain letters, digits and underscores. Optional attribute
|
||||
case, when given value yes, makes the language case sensitive (default is case
|
||||
insensitive). Allowed subelements are:
|
||||
|
||||
* <authors>: Information about the authors of the file.
|
||||
<author>: Information about a single author of the file. (May be used
|
||||
multiple times, one per author.)
|
||||
- name="...": Author's name. Required.
|
||||
- email="...": Author's email address. Optional.
|
||||
|
||||
* <default>: Default color group.
|
||||
- innerGroup="...": color group name. Required.
|
||||
|
||||
* <region>: Region definition
|
||||
- name="...": Region name. Required.
|
||||
- innerGroup="...": Default color group of region contents. Required.
|
||||
- delimGroup="...": color group of start and end of region. Optional,
|
||||
defaults to value of innerGroup attribute.
|
||||
- start="...", end="...": Regular expression matching start and end
|
||||
of region. Required. Regular expression delimiters are optional, but
|
||||
if you need to specify delimiter, use /. The only case when the
|
||||
delimiters are needed, is specifying regular expression modifiers,
|
||||
such as m or U. Examples: \/\* or /$/m.
|
||||
- contained="yes": Marks region as contained.
|
||||
- never-contained="yes": Marks region as not-contained.
|
||||
- <contains>: Elements allowed inside this region.
|
||||
- all="yes" Region can contain any other region or block
|
||||
(except not-contained). May be used multiple times.
|
||||
- <but> Do not allow certain regions or blocks.
|
||||
- region="..." Name of region not allowed within
|
||||
current region.
|
||||
- block="..." Name of block not allowed within
|
||||
current region.
|
||||
- region="..." Name of region allowed within current region.
|
||||
- block="..." Name of block allowed within current region.
|
||||
- <onlyin> Only allow this region within certain regions. May be
|
||||
used multiple times.
|
||||
- block="..." Name of parent region
|
||||
|
||||
* <block>: Block definition
|
||||
- name="...": Block name. Required.
|
||||
- innerGroup="...": color group of block contents. Optional. If not
|
||||
specified, color group of parent region or default color group will be
|
||||
used. One would only want to omit this attribute if there are
|
||||
keyword groups (see below) inherited from this block, and no special
|
||||
highlighting should apply when the block does not match the keyword.
|
||||
- match="..." Regular expression matching the block. Required.
|
||||
Regular expression delimiters are optional, but if you need to
|
||||
specify delimiter, use /. The only case when the delimiters are
|
||||
needed, is specifying regular expression modifiers, such as m or U.
|
||||
Examples: #|\/\/ or /$/m.
|
||||
- contained="yes": Marks block as contained.
|
||||
- never-contained="yes": Marks block as not-contained.
|
||||
- <onlyin> Only allow this block within certain regions. May be used
|
||||
multiple times.
|
||||
- block="..." Name of parent region
|
||||
- multiline="yes": Marks block as multi-line. By default, whole
|
||||
blocks are assumed to reside in a single line. This make the things
|
||||
faster. If you need to declare a multi-line block, use this
|
||||
attribute.
|
||||
- <partgroup>: Assigns another color group to a part of the block that
|
||||
matched a subpattern.
|
||||
- index="n": Subpattern index. Required.
|
||||
- innerGroup="...": color group name. Required.
|
||||
|
||||
This is an example from CSS highlighter: the measure is matched as
|
||||
a whole, but the measurement units are highlighted with different
|
||||
color.
|
||||
|
||||
<block name="measure" match="\d*\.?\d+(\%|em|ex|pc|pt|px|in|mm|cm)"
|
||||
innerGroup="number" contained="yes">
|
||||
<onlyin region="property"/>
|
||||
<partGroup index="1" innerGroup="string" />
|
||||
</block>
|
||||
|
||||
* <keywords>: Keyword group definition. Keyword groups are useful when you
|
||||
want to highlight some words that match a condition for a block with a
|
||||
different color. Keywords are defined with literal match, not regular
|
||||
expressions. For example, you have a block named identifier matching a
|
||||
general identifier, and want to highlight reserved words (which match
|
||||
this block as well) with different color. You inherit a keyword group
|
||||
"reserved" from "identifier" block.
|
||||
- name="...": Keyword group. Required.
|
||||
- ifdef="...", ifndef="..." : Conditional declaration. See
|
||||
"Conditions" below.
|
||||
- inherits="...": Inherited block name. Required.
|
||||
- innerGroup="...": color group of keyword group. Required.
|
||||
- case="yes|no": Overrides case-sensitivity of the language.
|
||||
Optional, defaults to global value.
|
||||
- <keyword>: Single keyword definition.
|
||||
- match="..." The keyword. Note: this is not a regular
|
||||
expression, but literal match (possibly case insensitive).
|
||||
|
||||
Note that for BC reasons element partClass is alias for partGroup, and
|
||||
attributes innerClass and delimClass are aliases of innerGroup and
|
||||
delimGroup, respectively.
|
||||
|
||||
|
||||
Conditions
|
||||
----------
|
||||
|
||||
Conditional declarations allow enabling or disabling certain highlighting
|
||||
rules at runtime. For example, Java highlighter has a very big list of
|
||||
keywords matching Java standard classes. Finding a match in this list can take
|
||||
much time. For that reason, corresponding keyword group is declared with
|
||||
"ifdef" attribute :
|
||||
|
||||
<keywords name="builtin" inherits="identifier" innerClass="builtin"
|
||||
case="yes" ifdef="java.builtins">
|
||||
<keyword match="AbstractAction" />
|
||||
<keyword match="AbstractBorder" />
|
||||
<keyword match="AbstractButton" />
|
||||
...
|
||||
...
|
||||
<keyword match="_Remote_Stub" />
|
||||
<keyword match="_ServantActivatorStub" />
|
||||
<keyword match="_ServantLocatorStub" />
|
||||
</keywords>
|
||||
|
||||
This keyword group will be only enabled when "java.builtins" is passed as an
|
||||
element of "defines" option:
|
||||
|
||||
$options = array(
|
||||
'defines' => array(
|
||||
'java.builtins',
|
||||
),
|
||||
'numbers' => HL_NUMBERS_TABLE,
|
||||
);
|
||||
$highlighter = Text_Highlighter::factory('java', $options);
|
||||
|
||||
"ifndef" attribute has reverse meaning.
|
||||
|
||||
Currently, "ifdef" and "ifndef" attributes are only supported for <keywords>
|
||||
tag.
|
||||
|
||||
|
||||
|
||||
Class generation
|
||||
================
|
||||
|
||||
Creating XML description of highlighting rules is the most complicated part of
|
||||
the process. To generate the class, you need just few lines of code:
|
||||
|
||||
<?php
|
||||
require_once 'Text/Highlighter/Generator.php';
|
||||
$generator = new Text_Highlighter_Generator('php.xml');
|
||||
$generator->generate();
|
||||
$generator->saveCode('PHP.php');
|
||||
?>
|
||||
|
||||
|
||||
|
||||
Command-line class generation tool
|
||||
==================================
|
||||
|
||||
Example from previous section looks pretty simple, but it does not handle any
|
||||
errors which may occur during parsing of XML source. The package provides a
|
||||
command-line script to make generation of classes even more simple, and takes
|
||||
care of possible errors. It is called generate (on Unix/Linux) or generate.bat
|
||||
(on Windows). This script is able to process multiple files in one run, and
|
||||
also to process XML from standard input and write generated code to standard
|
||||
output.
|
||||
|
||||
Usage:
|
||||
generate options
|
||||
|
||||
Options:
|
||||
-x filename, --xml=filename
|
||||
source XML file. Multiple input files can be specified, in which
|
||||
case each -x option must be followed by -p unless -d is specified
|
||||
Defaults to stdin
|
||||
-p filename, --php=filename
|
||||
destination PHP file. Defaults to stdout. If specied multiple times,
|
||||
each -p must follow -x
|
||||
-d dirname, --dir=dirname
|
||||
Default destination directory. File names will be taken from XML input
|
||||
("lang" attribute of <highlight> tag)
|
||||
-h, --help
|
||||
This help
|
||||
|
||||
Examples
|
||||
|
||||
Read from php.xml, write to PHP.php
|
||||
|
||||
generate -x php.xml -p PHP.php
|
||||
|
||||
Read from php.xml, write to standard output
|
||||
|
||||
generate -x php.xml
|
||||
|
||||
Read from php.xml, write to PHP.php, read from xml.xml, write to XML.php
|
||||
|
||||
generate -x php.xml -p PHP.php -x xml.xml -p XML.php
|
||||
|
||||
Read from php.xml, write to /some/dir/PHP.php, read from xml.xml, write to
|
||||
/some/dir/XML.php (assuming that xml.xml contains <highlight lang="xml">, and
|
||||
php.xml contains <highlight lang="php">)
|
||||
|
||||
generate -x php.xml -x xml.xml -d /some/dir/
|
||||
|
||||
|
||||
|
||||
Renderers
|
||||
=========
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
Text_Highlighter supports renderes. Using renderers, you can get output in
|
||||
different formats. Two renderers are included in the package:
|
||||
|
||||
- HTML renderer. Generates HTML output. A style sheet should be linked to
|
||||
the document to display colored text
|
||||
|
||||
- Console renderer. Can be used to output highlighted text to
|
||||
color-capable terminals, either directly or trough less -r
|
||||
|
||||
|
||||
Renderers API
|
||||
-------------
|
||||
|
||||
Renderers are subclasses of Text_Highlighter_Renderer. Renderer should
|
||||
override at least two methods - acceptToken and getOutput. Overriding other
|
||||
methods is optional, depending on the nature of renderer's output and details
|
||||
of implementation.
|
||||
|
||||
string reset()
|
||||
resets renderer state. This method is called every time before a new
|
||||
source file is highlighted.
|
||||
|
||||
string preprocess(string $code)
|
||||
preprocesses code. Can be used, for example, to normalize whitespace
|
||||
before highlighting. Returns preprocessed string.
|
||||
|
||||
void acceptToken(string $group, string $content)
|
||||
the core method of the renderer. Highlighter passes chunks of text to
|
||||
this method in $content, and color group in $group
|
||||
|
||||
void finalize()
|
||||
signals the renderer that no more tokens are available.
|
||||
|
||||
mixed getOutput()
|
||||
returns generated output.
|
||||
|
||||
|
||||
Setting renderer options
|
||||
--------------------------------
|
||||
|
||||
Renderers accept an optional argument to their constructor - options array.
|
||||
Elements of this array are renderer-specific.
|
||||
|
||||
HTML renderer
|
||||
-------------
|
||||
|
||||
HTML renderer produces HTML output with optional line numbering. The renderer
|
||||
itself does not provide information about actual colors of highlighted text.
|
||||
Instead, <span class="hl-XXX"> is used, where XXX is replaced with color group
|
||||
name (hl-var, hl-string, etc.). It is up to you to create a CSS stylesheet.
|
||||
If 'use_language' option with value evaluating to true was passed, class names
|
||||
will be formatted as "LANG-hl-XXX", where LANG is language name as defined in
|
||||
highlighter XML source ("lang" attribute of <highlight> tag) in lower case.
|
||||
|
||||
There are 3 special CSS classes:
|
||||
|
||||
hl-main - this class applies to whole output or right table column,
|
||||
depending on 'numbers' option
|
||||
hl-gutter - applies to left column in table
|
||||
hl-table - applies to whole table
|
||||
|
||||
HTML renderer accepts following options (each being optional):
|
||||
|
||||
* numbers - line numbering style.
|
||||
0 - no numbering (default)
|
||||
HL_NUMBERS_LI - use <ol></ol> for line numbering
|
||||
HL_NUMBERS_TABLE - create a 2-column table, with line numbers in left
|
||||
column and highlighted text in right column
|
||||
|
||||
* tabsize - tabulation size. Defaults to 4
|
||||
|
||||
Example:
|
||||
|
||||
require_once 'Text/Highlighter/Renderer/Html.php';
|
||||
$options = array(
|
||||
'numbers' => HL_NUMBERS_LI,
|
||||
'tabsize' => 8,
|
||||
);
|
||||
$renderer = new Text_Highlighter_Renderer_HTML($options);
|
||||
|
||||
Console renderer
|
||||
----------------
|
||||
|
||||
Console renderer produces output for displaying on a color-capable terminal,
|
||||
either directly or through less -r, using ANSI escape sequences. By default,
|
||||
this renderer only highlights most common color groups. Additional colors
|
||||
can be specified using 'colors' option. This renderer also accepts 'numbers'
|
||||
option - a boolean value, and 'tabsize' option.
|
||||
|
||||
Example :
|
||||
|
||||
require_once 'Text/Highlighter/Renderer/Console.php';
|
||||
$colors = array(
|
||||
'prepro' => "\033[35m",
|
||||
'types' => "\033[32m",
|
||||
);
|
||||
$options = array(
|
||||
'numbers' => true,
|
||||
'tabsize' => 8,
|
||||
'colors' => $colors,
|
||||
);
|
||||
$renderer = new Text_Highlighter_Renderer_Console($options);
|
||||
|
||||
|
||||
ANSI color escape sequences have the following format:
|
||||
|
||||
ESC[#;#;....;#m
|
||||
|
||||
where ESC is character with ASCII code 27 (033 octal, 0x1B hexadecimal). # is
|
||||
one of the following:
|
||||
|
||||
0 for normal display
|
||||
1 for bold on
|
||||
4 underline (mono only)
|
||||
5 blink on
|
||||
7 reverse video on
|
||||
8 nondisplayed (invisible)
|
||||
30 black foreground
|
||||
31 red foreground
|
||||
32 green foreground
|
||||
33 yellow foreground
|
||||
34 blue foreground
|
||||
35 magenta foreground
|
||||
36 cyan foreground
|
||||
37 white foreground
|
||||
40 black background
|
||||
41 red background
|
||||
42 green background
|
||||
43 yellow background
|
||||
44 blue background
|
||||
45 magenta background
|
||||
46 cyan background
|
||||
47 white background
|
||||
|
||||
|
||||
How to use Text_Highlighter class
|
||||
=================================
|
||||
|
||||
Creating a highlighter object
|
||||
-----------------------------
|
||||
|
||||
To create a highlighter for a certain language, use Text_Highlighter::factory()
|
||||
static method:
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
$hl = Text_Highlighter::factory('php');
|
||||
|
||||
|
||||
Setting a renderer
|
||||
------------------
|
||||
|
||||
Actual output is produced by a renderer.
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
require_once 'Text/Highlighter/Renderer/Html.php';
|
||||
$options = array(
|
||||
'numbers' => HL_NUMBERS_LI,
|
||||
'tabsize' => 8,
|
||||
);
|
||||
$renderer = new Text_Highlighter_Renderer_HTML($options);
|
||||
$hl = Text_Highlighter::factory('php');
|
||||
$hl->setRenderer($renderer);
|
||||
|
||||
Note that for BC reasons, it is possible to use highlighter without setting a
|
||||
renderer. If no renderer is set, HTML renderer will be used by default. In
|
||||
this case, you should pass options as second parameter to factory method. The
|
||||
following example works exactly as previous one:
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
$options = array(
|
||||
'numbers' => HL_NUMBERS_LI,
|
||||
'tabsize' => 8,
|
||||
);
|
||||
$hl = Text_Highlighter::factory('php', $options);
|
||||
|
||||
|
||||
Getting output
|
||||
--------------
|
||||
|
||||
And finally, do the highlighting and get the output:
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
require_once 'Text/Highlighter/Renderer/Html.php';
|
||||
$options = array(
|
||||
'numbers' => HL_NUMBERS_LI,
|
||||
'tabsize' => 8,
|
||||
);
|
||||
$renderer = new Text_Highlighter_Renderer_HTML($options);
|
||||
$hl = Text_Highlighter::factory('php');
|
||||
$hl->setRenderer($renderer);
|
||||
$html = $hl->highlight(file_get_contents('example.php'));
|
||||
|
||||
# vim: set autoindent tabstop=4 shiftwidth=4 softtabstop=4 tw=78: */
|
||||
|
12
library/Text_Highlighter/TODO
Normal file
12
library/Text_Highlighter/TODO
Normal file
@ -0,0 +1,12 @@
|
||||
# $Id$
|
||||
|
||||
Major issues to solve (but I currently have no idea how) :
|
||||
|
||||
- speedup highlighting process
|
||||
|
||||
- switching between highlighters depending on context, for example :
|
||||
PHP code -> HTML -> (JavaScript|CSS)
|
||||
|
||||
|
||||
# vim: set autoindent tabstop=4 shiftwidth=4 softtabstop=4 tw=78: */
|
||||
|
398
library/Text_Highlighter/Text/Highlighter.php
Normal file
398
library/Text_Highlighter/Text/Highlighter.php
Normal file
@ -0,0 +1,398 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* Highlighter base class
|
||||
*
|
||||
* PHP versions 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
// require_once 'PEAR.php';
|
||||
|
||||
// {{{ BC constants
|
||||
|
||||
// BC trick : define constants related to default
|
||||
// renderer if needed
|
||||
if (!defined('HL_NUMBERS_LI')) {
|
||||
/**#@+
|
||||
* Constant for use with $options['numbers']
|
||||
* @see Text_Highlighter_Renderer_Html::_init()
|
||||
*/
|
||||
/**
|
||||
* use numbered list
|
||||
*/
|
||||
define ('HL_NUMBERS_LI' , 1);
|
||||
/**
|
||||
* Use 2-column table with line numbers in left column and code in right column.
|
||||
* Forces $options['tag'] = HL_TAG_PRE
|
||||
*/
|
||||
define ('HL_NUMBERS_TABLE' , 2);
|
||||
/**#@-*/
|
||||
}
|
||||
|
||||
// }}}
|
||||
// {{{ constants
|
||||
/**
|
||||
* for our purpose, it is infinity
|
||||
*/
|
||||
define ('HL_INFINITY', 1000000000);
|
||||
|
||||
// }}}
|
||||
|
||||
/**
|
||||
* Text highlighter base class
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
// {{{ Text_Highlighter
|
||||
|
||||
/**
|
||||
* Text highlighter base class
|
||||
*
|
||||
* This class implements all functions necessary for highlighting,
|
||||
* but it does not contain highlighting rules. Actual highlighting is
|
||||
* done using a descendent of this class.
|
||||
*
|
||||
* One is not supposed to manually create descendent classes.
|
||||
* Instead, describe highlighting rules in XML format and
|
||||
* use {@link Text_Highlighter_Generator} to create descendent class.
|
||||
* Alternatively, an instance of a descendent class can be created
|
||||
* directly.
|
||||
*
|
||||
* Use {@link Text_Highlighter::factory()} to create an
|
||||
* object for particular language highlighter
|
||||
*
|
||||
* Usage example
|
||||
* <code>
|
||||
*require_once 'Text/Highlighter.php';
|
||||
*$hlSQL = Text_Highlighter::factory('SQL',array('numbers'=>true));
|
||||
*echo $hlSQL->highlight('SELECT * FROM table a WHERE id = 12');
|
||||
* </code>
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @package Text_Highlighter
|
||||
* @access public
|
||||
*/
|
||||
|
||||
class Text_Highlighter
|
||||
{
|
||||
// {{{ members
|
||||
|
||||
/**
|
||||
* Syntax highlighting rules.
|
||||
* Auto-generated classes set this var
|
||||
*
|
||||
* @access protected
|
||||
* @see _init
|
||||
* @var array
|
||||
*/
|
||||
var $_syntax;
|
||||
|
||||
/**
|
||||
* Renderer object.
|
||||
*
|
||||
* @access private
|
||||
* @var array
|
||||
*/
|
||||
var $_renderer;
|
||||
|
||||
/**
|
||||
* Options. Keeped for BC
|
||||
*
|
||||
* @access protected
|
||||
* @var array
|
||||
*/
|
||||
var $_options = array();
|
||||
|
||||
/**
|
||||
* Conditionds
|
||||
*
|
||||
* @access protected
|
||||
* @var array
|
||||
*/
|
||||
var $_conditions = array();
|
||||
|
||||
/**
|
||||
* Disabled keywords
|
||||
*
|
||||
* @access protected
|
||||
* @var array
|
||||
*/
|
||||
var $_disabled = array();
|
||||
|
||||
/**
|
||||
* Language
|
||||
*
|
||||
* @access protected
|
||||
* @var string
|
||||
*/
|
||||
var $_language = '';
|
||||
|
||||
// }}}
|
||||
// {{{ _checkDefines
|
||||
|
||||
/**
|
||||
* Called by subclssses' constructors to enable/disable
|
||||
* optional highlighter rules
|
||||
*
|
||||
* @param array $defines Conditional defines
|
||||
*
|
||||
* @access protected
|
||||
*/
|
||||
function _checkDefines()
|
||||
{
|
||||
if (isset($this->_options['defines'])) {
|
||||
$defines = $this->_options['defines'];
|
||||
} else {
|
||||
$defines = array();
|
||||
}
|
||||
foreach ($this->_conditions as $name => $actions) {
|
||||
foreach($actions as $action) {
|
||||
$present = in_array($name, $defines);
|
||||
if (!$action[1]) {
|
||||
$present = !$present;
|
||||
}
|
||||
if ($present) {
|
||||
unset($this->_disabled[$action[0]]);
|
||||
} else {
|
||||
$this->_disabled[$action[0]] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// }}}
|
||||
// {{{ factory
|
||||
|
||||
/**
|
||||
* Create a new Highlighter object for specified language
|
||||
*
|
||||
* @param string $lang language, for example "SQL"
|
||||
* @param array $options Rendering options. This
|
||||
* parameter is only keeped for BC reasons, use
|
||||
* {@link Text_Highlighter::setRenderer()} instead
|
||||
*
|
||||
* @return mixed a newly created Highlighter object, or
|
||||
* a PEAR error object on error
|
||||
*
|
||||
* @static
|
||||
* @access public
|
||||
*/
|
||||
function &factory($lang, $options = array())
|
||||
{
|
||||
$lang = strtoupper($lang);
|
||||
@include_once 'Text/Highlighter/' . $lang . '.php';
|
||||
|
||||
$classname = 'Text_Highlighter_' . $lang;
|
||||
|
||||
if (!class_exists($classname)) {
|
||||
return PEAR::raiseError('Highlighter for ' . $lang . ' not found');
|
||||
}
|
||||
|
||||
$obj = new $classname($options);
|
||||
|
||||
return $obj;
|
||||
}
|
||||
|
||||
// }}}
|
||||
// {{{ setRenderer
|
||||
|
||||
/**
|
||||
* Set renderer object
|
||||
*
|
||||
* @param object $renderer Text_Highlighter_Renderer
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
function setRenderer(&$renderer)
|
||||
{
|
||||
$this->_renderer = $renderer;
|
||||
}
|
||||
|
||||
// }}}
|
||||
|
||||
/**
|
||||
* Helper function to find matching brackets
|
||||
*
|
||||
* @access private
|
||||
*/
|
||||
function _matchingBrackets($str)
|
||||
{
|
||||
return strtr($str, '()<>[]{}', ')(><][}{');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function _getToken()
|
||||
{
|
||||
if (!empty($this->_tokenStack)) {
|
||||
return array_pop($this->_tokenStack);
|
||||
}
|
||||
if ($this->_pos >= $this->_len) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if ($this->_state != -1 && preg_match($this->_endpattern, $this->_str, $m, PREG_OFFSET_CAPTURE, $this->_pos)) {
|
||||
$endpos = $m[0][1];
|
||||
$endmatch = $m[0][0];
|
||||
} else {
|
||||
$endpos = -1;
|
||||
}
|
||||
preg_match ($this->_regs[$this->_state], $this->_str, $m, PREG_OFFSET_CAPTURE, $this->_pos);
|
||||
$n = 1;
|
||||
|
||||
|
||||
foreach ($this->_counts[$this->_state] as $i=>$count) {
|
||||
if (!isset($m[$n])) {
|
||||
break;
|
||||
}
|
||||
if ($m[$n][1]>-1 && ($endpos == -1 || $m[$n][1] < $endpos)) {
|
||||
if ($this->_states[$this->_state][$i] != -1) {
|
||||
$this->_tokenStack[] = array($this->_delim[$this->_state][$i], $m[$n][0]);
|
||||
} else {
|
||||
$inner = $this->_inner[$this->_state][$i];
|
||||
if (isset($this->_parts[$this->_state][$i])) {
|
||||
$parts = array();
|
||||
$partpos = $m[$n][1];
|
||||
for ($j=1; $j<=$count; $j++) {
|
||||
if ($m[$j+$n][1] < 0) {
|
||||
continue;
|
||||
}
|
||||
if (isset($this->_parts[$this->_state][$i][$j])) {
|
||||
if ($m[$j+$n][1] > $partpos) {
|
||||
array_unshift($parts, array($inner, substr($this->_str, $partpos, $m[$j+$n][1]-$partpos)));
|
||||
}
|
||||
array_unshift($parts, array($this->_parts[$this->_state][$i][$j], $m[$j+$n][0]));
|
||||
}
|
||||
$partpos = $m[$j+$n][1] + strlen($m[$j+$n][0]);
|
||||
}
|
||||
if ($partpos < $m[$n][1] + strlen($m[$n][0])) {
|
||||
array_unshift($parts, array($inner, substr($this->_str, $partpos, $m[$n][1] - $partpos + strlen($m[$n][0]))));
|
||||
}
|
||||
$this->_tokenStack = array_merge($this->_tokenStack, $parts);
|
||||
} else {
|
||||
foreach ($this->_keywords[$this->_state][$i] as $g => $re) {
|
||||
if (isset($this->_disabled[$g])) {
|
||||
continue;
|
||||
}
|
||||
if (preg_match($re, $m[$n][0])) {
|
||||
$inner = $this->_kwmap[$g];
|
||||
break;
|
||||
}
|
||||
}
|
||||
$this->_tokenStack[] = array($inner, $m[$n][0]);
|
||||
}
|
||||
}
|
||||
if ($m[$n][1] > $this->_pos) {
|
||||
$this->_tokenStack[] = array($this->_lastinner, substr($this->_str, $this->_pos, $m[$n][1]-$this->_pos));
|
||||
}
|
||||
$this->_pos = $m[$n][1] + strlen($m[$n][0]);
|
||||
if ($this->_states[$this->_state][$i] != -1) {
|
||||
$this->_stack[] = array($this->_state, $this->_lastdelim, $this->_lastinner, $this->_endpattern);
|
||||
$this->_lastinner = $this->_inner[$this->_state][$i];
|
||||
$this->_lastdelim = $this->_delim[$this->_state][$i];
|
||||
$l = $this->_state;
|
||||
$this->_state = $this->_states[$this->_state][$i];
|
||||
$this->_endpattern = $this->_end[$this->_state];
|
||||
if ($this->_subst[$l][$i]) {
|
||||
for ($k=0; $k<=$this->_counts[$l][$i]; $k++) {
|
||||
if (!isset($m[$i+$k])) {
|
||||
break;
|
||||
}
|
||||
$quoted = preg_quote($m[$n+$k][0], '/');
|
||||
$this->_endpattern = str_replace('%'.$k.'%', $quoted, $this->_endpattern);
|
||||
$this->_endpattern = str_replace('%b'.$k.'%', $this->_matchingBrackets($quoted), $this->_endpattern);
|
||||
}
|
||||
}
|
||||
}
|
||||
return array_pop($this->_tokenStack);
|
||||
}
|
||||
$n += $count + 1;
|
||||
}
|
||||
|
||||
if ($endpos > -1) {
|
||||
$this->_tokenStack[] = array($this->_lastdelim, $endmatch);
|
||||
if ($endpos > $this->_pos) {
|
||||
$this->_tokenStack[] = array($this->_lastinner, substr($this->_str, $this->_pos, $endpos-$this->_pos));
|
||||
}
|
||||
list($this->_state, $this->_lastdelim, $this->_lastinner, $this->_endpattern) = array_pop($this->_stack);
|
||||
$this->_pos = $endpos + strlen($endmatch);
|
||||
return array_pop($this->_tokenStack);
|
||||
}
|
||||
$p = $this->_pos;
|
||||
$this->_pos = HL_INFINITY;
|
||||
return array($this->_lastinner, substr($this->_str, $p));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// {{{ highlight
|
||||
|
||||
/**
|
||||
* Highlights code
|
||||
*
|
||||
* @param string $str Code to highlight
|
||||
* @access public
|
||||
* @return string Highlighted text
|
||||
*
|
||||
*/
|
||||
|
||||
function highlight($str)
|
||||
{
|
||||
if (!($this->_renderer)) {
|
||||
include_once('Text/Highlighter/Renderer/Html.php');
|
||||
$this->_renderer = new Text_Highlighter_Renderer_Html($this->_options);
|
||||
}
|
||||
$this->_state = -1;
|
||||
$this->_pos = 0;
|
||||
$this->_stack = array();
|
||||
$this->_tokenStack = array();
|
||||
$this->_lastinner = $this->_defClass;
|
||||
$this->_lastdelim = $this->_defClass;
|
||||
$this->_endpattern = '';
|
||||
$this->_renderer->reset();
|
||||
$this->_renderer->setCurrentLanguage($this->_language);
|
||||
$this->_str = $this->_renderer->preprocess($str);
|
||||
$this->_len = strlen($this->_str);
|
||||
while ($token = $this->_getToken()) {
|
||||
$this->_renderer->acceptToken($token[0], $token[1]);
|
||||
}
|
||||
$this->_renderer->finalize();
|
||||
return $this->_renderer->getOutput();
|
||||
}
|
||||
|
||||
// }}}
|
||||
|
||||
}
|
||||
|
||||
// }}}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
|
||||
?>
|
519
library/Text_Highlighter/Text/Highlighter/ABAP.php
Normal file
519
library/Text_Highlighter/Text/Highlighter/ABAP.php
Normal file
@ -0,0 +1,519 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. ABAP syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: : abap.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. ABAP syntax highlighting
|
||||
*
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_ABAP extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'abap';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_ABAP($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)[a-z_\\-]\\w*)/',
|
||||
0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)[a-z_\\-]\\w*)/',
|
||||
1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)[a-z_\\-]\\w*)/',
|
||||
2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)^\\*|")|((?i)\')|((?i)0[xX][\\da-f]+)|((?i)\\d\\d*|\\b0\\b)|((?i)0[0-7]+)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)[a-z_\\-]\\w*)/',
|
||||
3 => '//',
|
||||
4 => '//',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'comment',
|
||||
4 => 'quotes',
|
||||
5 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'comment',
|
||||
4 => 'quotes',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => '',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'comment',
|
||||
4 => 'quotes',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => '',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'comment',
|
||||
4 => 'quotes',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => '',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'comment',
|
||||
4 => 'string',
|
||||
5 => 'identifier',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'comment',
|
||||
4 => 'string',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'identifier',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'comment',
|
||||
4 => 'string',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'identifier',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'comment',
|
||||
4 => 'string',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'identifier',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)\\}/',
|
||||
1 => '/(?i)\\)/',
|
||||
2 => '/(?i)\\]/',
|
||||
3 => '/(?mi)$/',
|
||||
4 => '/(?i)\'/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 =>
|
||||
array (
|
||||
'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
|
||||
'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
|
||||
'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
|
||||
'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
|
||||
'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
|
||||
),
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
|
||||
'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
|
||||
'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
|
||||
),
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
'sy' => '/^((?i)screen-name|screen-group1|screen-group2|screen-group3|screen-group4|screen-required|screen-input|screen-output|screen-intensified|screen-invisible|screen-length|screen-active|sy-index|sy-pagno|sy-tabix|sy-tfill|sy-tlopc|sy-tmaxl|sy-toccu|sy-ttabc|sy-tstis|sy-ttabi|sy-dbcnt|sy-fdpos|sy-colno|sy-linct|sy-linno|sy-linsz|sy-pagct|sy-macol|sy-marow|sy-tleng|sy-sfoff|sy-willi|sy-lilli|sy-subrc|sy-fleng|sy-cucol|sy-curow|sy-lsind|sy-listi|sy-stepl|sy-tpagi|sy-winx1|sy-winy1|sy-winx2|sy-winy2|sy-winco|sy-winro|sy-windi|sy-srows|sy-scols|sy-loopc|sy-folen|sy-fodec|sy-tzone|sy-dayst|sy-ftype|sy-appli|sy-fdayw|sy-ccurs|sy-ccurt|sy-debug|sy-ctype|sy-input|sy-langu|sy-modno|sy-batch|sy-binpt|sy-calld|sy-dynnr|sy-dyngr|sy-newpa|sy-pri40|sy-rstrt|sy-wtitl|sy-cpage|sy-dbnam|sy-mandt|sy-prefx|sy-fmkey|sy-pexpi|sy-prini|sy-primm|sy-prrel|sy-playo|sy-prbig|sy-playp|sy-prnew|sy-prlog|sy-pdest|sy-plist|sy-pauth|sy-prdsn|sy-pnwpa|sy-callr|sy-repi2|sy-rtitl|sy-prrec|sy-prtxt|sy-prabt|sy-lpass|sy-nrpag|sy-paart|sy-prcop|sy-batzs|sy-bspld|sy-brep4|sy-batzo|sy-batzd|sy-batzw|sy-batzm|sy-ctabl|sy-dbsys|sy-dcsys|sy-macdb|sy-sysid|sy-opsys|sy-pfkey|sy-saprl|sy-tcode|sy-ucomm|sy-cfwae|sy-chwae|sy-spono|sy-sponr|sy-waers|sy-cdate|sy-datum|sy-slset|sy-subty|sy-subcs|sy-group|sy-ffile|sy-uzeit|sy-dsnam|sy-repid|sy-tabid|sy-tfdsn|sy-uname|sy-lstat|sy-abcde|sy-marky|sy-sfnam|sy-tname|sy-msgli|sy-title|sy-entry|sy-lisel|sy-uline|sy-xcode|sy-cprog|sy-xprog|sy-xform|sy-ldbpg|sy-tvar0|sy-tvar1|sy-tvar2|sy-tvar3|sy-tvar4|sy-tvar5|sy-tvar6|sy-tvar7|sy-tvar8|sy-tvar9|sy-msgid|sy-msgty|sy-msgno|sy-msgv1|sy-msgv2|sy-msgv3|sy-msgv4|sy-oncom|sy-vline|sy-winsl|sy-staco|sy-staro|sy-datar|sy-host|sy-locdb|sy-locop|sy-datlo|sy-timlo|sy-zonlo|syst-index|syst-pagno|syst-tabix|syst-tfill|syst-tlopc|syst-tmaxl|syst-toccu|syst-ttabc|syst-tstis|syst-ttabi|syst-dbcnt|syst-fdpos|syst-colno|syst-linct|syst-linno|syst-linsz|syst-pagct|syst-macol|syst-marow|syst-tleng|syst-sfoff|syst-willi|syst-lilli|syst-subrc|syst-fleng|syst-cucol|syst-curow|syst-lsind|syst-listi|syst-stepl|syst-tpagi|syst-winx1|syst-winy1|syst-winx2|syst-winy2|syst-winco|syst-winro|syst-windi|syst-srows|syst-scols|syst-loopc|syst-folen|syst-fodec|syst-tzone|syst-dayst|syst-ftype|syst-appli|syst-fdayw|syst-ccurs|syst-ccurt|syst-debug|syst-ctype|syst-input|syst-langu|syst-modno|syst-batch|syst-binpt|syst-calld|syst-dynnr|syst-dyngr|syst-newpa|syst-pri40|syst-rstrt|syst-wtitl|syst-cpage|syst-dbnam|syst-mandt|syst-prefx|syst-fmkey|syst-pexpi|syst-prini|syst-primm|syst-prrel|syst-playo|syst-prbig|syst-playp|syst-prnew|syst-prlog|syst-pdest|syst-plist|syst-pauth|syst-prdsn|syst-pnwpa|syst-callr|syst-repi2|syst-rtitl|syst-prrec|syst-prtxt|syst-prabt|syst-lpass|syst-nrpag|syst-paart|syst-prcop|syst-batzs|syst-bspld|syst-brep4|syst-batzo|syst-batzd|syst-batzw|syst-batzm|syst-ctabl|syst-dbsys|syst-dcsys|syst-macdb|syst-sysid|syst-opsys|syst-pfkey|syst-saprl|syst-tcode|syst-ucomm|syst-cfwae|syst-chwae|syst-spono|syst-sponr|syst-waers|syst-cdate|syst-datum|syst-slset|syst-subty|syst-subcs|syst-group|syst-ffile|syst-uzeit|syst-dsnam|syst-repid|syst-tabid|syst-tfdsn|syst-uname|syst-lstat|syst-abcde|syst-marky|syst-sfnam|syst-tname|syst-msgli|syst-title|syst-entry|syst-lisel|syst-uline|syst-xcode|syst-cprog|syst-xprog|syst-xform|syst-ldbpg|syst-tvar0|syst-tvar1|syst-tvar2|syst-tvar3|syst-tvar4|syst-tvar5|syst-tvar6|syst-tvar7|syst-tvar8|syst-tvar9|syst-msgid|syst-msgty|syst-msgno|syst-msgv1|syst-msgv2|syst-msgv3|syst-msgv4|syst-oncom|syst-vline|syst-winsl|syst-staco|syst-staro|syst-datar|syst-host|syst-locdb|syst-locop|syst-datlo|syst-timlo|syst-zonlo)$/',
|
||||
'reserved' => '/^((?i)abs|acos|add|add-corresponding|adjacent|after|aliases|all|analyzer|and|any|append|as|ascending|asin|assign|assigned|assigning|at|atan|authority-check|avg|back|before|begin|binary|bit|bit-and|bit-not|bit-or|bit-xor|blank|block|break-point|buffer|by|c|call|case|catch|ceil|centered|chain|change|changing|check|checkbox|class|class-data|class-events|class-methods|class-pool|clear|client|close|cnt|code|collect|color|comment|commit|communication|compute|concatenate|condense|constants|context|contexts|continue|control|controls|convert|copy|corresponding|cos|cosh|count|country|create|currency|cursor|customer-function|data|database|dataset|delete|decimals|default|define|demand|descending|describe|dialog|distinct|div|divide|divide-corresponding|do|duplicates|dynpro|edit|editor-call|else|elseif|end|end-of-definition|end-of-page|end-of-selection|endat|endcase|endcatch|endchain|endclass|enddo|endexec|endform|endfunction|endif|endinterface|endloop|endmethod|endmodule|endon|endprovide|endselect|endwhile|entries|events|exec|exit|exit-command|exp|exponent|export|exporting|exceptions|extended|extract|fetch|field|field-groups|field-symbols|fields|floor|for|form|format|frac|frame|free|from|function|function-pool|generate|get|group|hashed|header|help-id|help-request|hide|hotspot|icon|id|if|import|importing|include|index|infotypes|initialization|inner|input|insert|intensified|interface|interface-pool|interfaces|into|inverse|join|key|language|last|leave|left|left-justified|like|line|line-count|line-selection|line-size|lines|list-processing|load|load-of-program|local|locale|log|log10|loop|m|margin|mask|matchcode|max|memory|message|message-id|messages|method|methods|min|mod|mode|modif|modify|module|move|move-corresponding|multiply|multiply-corresponding|new|new-line|new-page|next|no|no-gap|no-gaps|no-heading|no-scrolling|no-sign|no-title|no-zero|nodes|non-unique|o|object|obligatory|occurs|of|off|on|open|or|order|others|outer|output|overlay|pack|page|parameter|parameters|perform|pf-status|position|print|print-control|private|process|program|property|protected|provide|public|put|radiobutton|raise|raising|range|ranges|read|receive|refresh|reject|replace|report|requested|reserve|reset|right-justified|rollback|round|rows|rtti|run|scan|screen|search|separated|scroll|scroll-boundary|select|select-options|selection-screen|selection-table|set|shared|shift|sign|sin|single|sinh|size|skip|sort|sorted|split|sql|sqrt|stamp|standard|start-of-selection|statics|stop|string|strlen|structure|submit|subtract|subtract-corresponding|sum|supply|suppress|symbol|syntax-check|syntax-trace|system-call|system-exceptions|table|table_line|tables|tan|tanh|text|textpool|time|times|title|titlebar|to|top-of-page|transaction|transfer|translate|transporting|trunc|type|type-pool|type-pools|types|uline|under|unique|unit|unpack|up|update|user-command|using|value|value-request|values|vary|when|where|while|window|with|with-title|work|write|x|xstring|z|zone)$/',
|
||||
'constants' => '/^((?i)initial|null|space|col_background|col_heading|col_normal|col_total|col_key|col_positive|col_negative|col_group)$/',
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'sy' => 'reserved',
|
||||
'reserved' => 'reserved',
|
||||
'constants' => 'reserved',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
894
library/Text_Highlighter/Text/Highlighter/AVRC.php
Normal file
894
library/Text_Highlighter/Text/Highlighter/AVRC.php
Normal file
@ -0,0 +1,894 @@
|
||||
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. AVRC syntax highlighting
|
||||
*
|
||||
*
|
||||
* C/C++ highlighter specific to Atmel AVR microcontrollers
|
||||
*
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: avrc.xml
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. AVRC syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.7.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_AVRC extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'avrc';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_AVRC($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
0 => '/((?i)\\\\)/',
|
||||
1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
2 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
3 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
4 => '//',
|
||||
5 => '/((?i)")|((?i)<)/',
|
||||
6 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
7 => '/((?i)\\$\\w+\\s*:.+\\$)/',
|
||||
8 => '/((?i)\\$\\w+\\s*:.+\\$)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 2,
|
||||
8 => 0,
|
||||
9 => 0,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'brackets',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => 'prepro',
|
||||
10 => 'prepro',
|
||||
11 => '',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'brackets',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => 'prepro',
|
||||
10 => 'prepro',
|
||||
11 => '',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'brackets',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => 'prepro',
|
||||
10 => 'prepro',
|
||||
11 => '',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'brackets',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => 'prepro',
|
||||
10 => 'prepro',
|
||||
11 => '',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'quotes',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => '',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => 'mlcomment',
|
||||
9 => 'comment',
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'code',
|
||||
4 => 'identifier',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'prepro',
|
||||
10 => 'code',
|
||||
11 => 'number',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'code',
|
||||
4 => 'identifier',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'prepro',
|
||||
10 => 'code',
|
||||
11 => 'number',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'code',
|
||||
4 => 'identifier',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'prepro',
|
||||
10 => 'code',
|
||||
11 => 'number',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'code',
|
||||
4 => 'identifier',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'prepro',
|
||||
10 => 'code',
|
||||
11 => 'number',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'string',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'identifier',
|
||||
4 => 'number',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'mlcomment',
|
||||
9 => 'comment',
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => 'inlinedoc',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => 'inlinedoc',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)"/',
|
||||
1 => '/(?i)\\}/',
|
||||
2 => '/(?i)\\)/',
|
||||
3 => '/(?i)\\]/',
|
||||
4 => '/(?i)>/',
|
||||
5 => '/(?mi)(?<!\\\\)$/',
|
||||
6 => '/(?mi)(?<!\\\\)$/',
|
||||
7 => '/(?i)\\*\\//',
|
||||
8 => '/(?mi)$/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => 5,
|
||||
10 => 6,
|
||||
11 => -1,
|
||||
12 => 7,
|
||||
13 => 8,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => 5,
|
||||
10 => 6,
|
||||
11 => -1,
|
||||
12 => 7,
|
||||
13 => 8,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => 5,
|
||||
10 => 6,
|
||||
11 => -1,
|
||||
12 => 7,
|
||||
13 => 8,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => 5,
|
||||
10 => 6,
|
||||
11 => -1,
|
||||
12 => 7,
|
||||
13 => 8,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 4,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => 7,
|
||||
9 => 8,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'registers' => '/^(ACSR|ADCH|ADCL|ADCSRA|ADMUX|ASSR|DDRA|DDRB|DDRC|DDRD|DDRE|DDRF|DDRG|EEARH|EEARL|EECR|EEDR|EICRA|EICRB|EIFR|EIMSK|ETIFR|ETIMSK|GICR|GIFR|ICR1H|ICR1L|ICR3H|ICR3L|MCUCR|MCUCSR|OCDR|OCR0|OCR1AH|OCR1AL|OCR1BH|OCR1BL|OCR1CH|OCR1CL|OCR2|OCR3AH|OCR3AL|OCR3BH|OCR3BL|OCR3CH|OCR3CL|OSCCAL|PINA|PINB|PINC|PIND|PINE|PINF|PING|PORTA|PORTB|PORTC|PORTD|PORTE|PORTF|PORTG|RAMPZ|SFIOR|SPCR|SPDR|SPH|SPL|SPMCR|SPMCSR|SPSR|SREG|TCCR0|TCCR1A|TCCR1B|TCCR1C|TCCR2|TCCR3A|TCCR3B|TCCR3C|TCNT0|TCNT1H|TCNT1L|TCNT2|TCNT3H|TCNT3L|TIFR|TIMSK|TWAR|TWBR|TWCR|TWDR|TWSR|UBRR0H|UBRR0L|UBRR1H|UBRR1L|UBRRH|UBRRL|UCSR0A|UCSR0B|UCSR0C|UCSR1A|UCSR1B|UCSR1C|UCSRA|UCSRB|UCSRC|UDR|UDR0|UDR1|WDTCR|XDIV|XMCRA|XMCRB)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'reserved' => 'reserved',
|
||||
'registers' => 'reserved',
|
||||
'types' => 'types',
|
||||
'Common Macros' => 'prepro',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
891
library/Text_Highlighter/Text/Highlighter/CPP.php
Normal file
891
library/Text_Highlighter/Text/Highlighter/CPP.php
Normal file
@ -0,0 +1,891 @@
|
||||
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. CPP syntax highlighting
|
||||
*
|
||||
*
|
||||
* Thanks to Aaron Kalin for initial
|
||||
* implementation of this highlighter
|
||||
*
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: cpp.xml
|
||||
* @author Aaron Kalin
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. CPP syntax highlighting
|
||||
*
|
||||
* @author Aaron Kalin
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.7.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_CPP extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'cpp';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_CPP($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
0 => '/((?i)\\\\)/',
|
||||
1 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
2 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
3 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?mi)^[ \\t]*#include)|((?mii)^[ \\t]*#[ \\t]*[a-z]+)|((?i)\\d*\\.?\\d+)|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
4 => '//',
|
||||
5 => '/((?i)")|((?i)<)/',
|
||||
6 => '/((?i)")|((?i)\\{)|((?i)\\()|((?i)[a-z_]\\w*)|((?i)\\b0[xX][\\da-f]+)|((?i)\\b\\d\\d*|\\b0\\b)|((?i)\\b0[0-7]+)|((?i)\\b(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\/\\*)|((?i)\\/\\/.+)/',
|
||||
7 => '/((?i)\\$\\w+\\s*:.+\\$)/',
|
||||
8 => '/((?i)\\$\\w+\\s*:.+\\$)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 2,
|
||||
8 => 0,
|
||||
9 => 0,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'brackets',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => 'prepro',
|
||||
10 => 'prepro',
|
||||
11 => '',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'brackets',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => 'prepro',
|
||||
10 => 'prepro',
|
||||
11 => '',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'brackets',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => 'prepro',
|
||||
10 => 'prepro',
|
||||
11 => '',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'brackets',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => 'prepro',
|
||||
10 => 'prepro',
|
||||
11 => '',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'quotes',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => '',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => 'mlcomment',
|
||||
9 => 'comment',
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'code',
|
||||
4 => 'identifier',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'prepro',
|
||||
10 => 'code',
|
||||
11 => 'number',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'code',
|
||||
4 => 'identifier',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'prepro',
|
||||
10 => 'code',
|
||||
11 => 'number',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'code',
|
||||
4 => 'identifier',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'prepro',
|
||||
10 => 'code',
|
||||
11 => 'number',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'code',
|
||||
4 => 'identifier',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'prepro',
|
||||
10 => 'code',
|
||||
11 => 'number',
|
||||
12 => 'mlcomment',
|
||||
13 => 'comment',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'string',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'identifier',
|
||||
4 => 'number',
|
||||
5 => 'number',
|
||||
6 => 'number',
|
||||
7 => 'number',
|
||||
8 => 'mlcomment',
|
||||
9 => 'comment',
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => 'inlinedoc',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => 'inlinedoc',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)"/',
|
||||
1 => '/(?i)\\}/',
|
||||
2 => '/(?i)\\)/',
|
||||
3 => '/(?i)\\]/',
|
||||
4 => '/(?i)>/',
|
||||
5 => '/(?mi)(?<!\\\\)$/',
|
||||
6 => '/(?mi)(?<!\\\\)$/',
|
||||
7 => '/(?i)\\*\\//',
|
||||
8 => '/(?mi)$/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => 5,
|
||||
10 => 6,
|
||||
11 => -1,
|
||||
12 => 7,
|
||||
13 => 8,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => 5,
|
||||
10 => 6,
|
||||
11 => -1,
|
||||
12 => 7,
|
||||
13 => 8,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => 5,
|
||||
10 => 6,
|
||||
11 => -1,
|
||||
12 => 7,
|
||||
13 => 8,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => 5,
|
||||
10 => 6,
|
||||
11 => -1,
|
||||
12 => 7,
|
||||
13 => 8,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 4,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => 7,
|
||||
9 => 8,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 =>
|
||||
array (
|
||||
'reserved' => '/^(and|and_eq|asm|bitand|bitor|break|case|catch|compl|const_cast|continue|default|delete|do|dynamic_cast|else|for|fortran|friend|goto|if|new|not|not_eq|operator|or|or_eq|private|protected|public|reinterpret_cast|return|sizeof|static_cast|switch|this|throw|try|typeid|using|while|xor|xor_eq|false|true)$/',
|
||||
'types' => '/^(auto|bool|char|class|const|double|enum|explicit|export|extern|float|inline|int|long|mutable|namespace|register|short|signed|static|struct|template|typedef|typename|union|unsigned|virtual|void|volatile|wchar_t)$/',
|
||||
'Common Macros' => '/^(NULL|TRUE|FALSE|MAX|MIN|__LINE__|__DATA__|__FILE__|__TIME__|__STDC__)$/',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'reserved' => 'reserved',
|
||||
'types' => 'types',
|
||||
'Common Macros' => 'prepro',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
437
library/Text_Highlighter/Text/Highlighter/CSS.php
Normal file
437
library/Text_Highlighter/Text/Highlighter/CSS.php
Normal file
@ -0,0 +1,437 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. CSS syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: css.xml
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. CSS syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.7.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_CSS extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'css';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_CSS($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)\\/\\*)|((?i)(@[a-z\\d]+))|((?i)(((\\.|#)?[a-z]+[a-z\\d\\-]*(?![a-z\\d\\-]))|(\\*))(?!\\s*:\\s*[\\s\\{]))|((?i):[a-z][a-z\\d\\-]*)|((?i)\\[)|((?i)\\{)/',
|
||||
0 => '//',
|
||||
1 => '/((?i)\\d*\\.?\\d+(\\%|em|ex|pc|pt|px|in|mm|cm))|((?i)\\d*\\.?\\d+)|((?i)[a-z][a-z\\d\\-]*)|((?i)#([\\da-f]{6}|[\\da-f]{3})\\b)/',
|
||||
2 => '/((?i)\')|((?i)")|((?i)[\\w\\-\\:]+)/',
|
||||
3 => '/((?i)\\/\\*)|((?i)[a-z][a-z\\d\\-]*\\s*:)|((?i)(((\\.|#)?[a-z]+[a-z\\d\\-]*(?![a-z\\d\\-]))|(\\*))(?!\\s*:\\s*[\\s\\{]))|((?i)\\{)/',
|
||||
4 => '/((?i)\\\\[\\\\(\\\\)\\\\])/',
|
||||
5 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
|
||||
6 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`|\\\\t|\\\\n|\\\\r)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 4,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 1,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 4,
|
||||
3 => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => '',
|
||||
2 => '',
|
||||
3 => '',
|
||||
4 => 'brackets',
|
||||
5 => 'brackets',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => '',
|
||||
1 => '',
|
||||
2 => '',
|
||||
3 => '',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'quotes',
|
||||
2 => '',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'reserved',
|
||||
2 => '',
|
||||
3 => 'brackets',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'var',
|
||||
2 => 'identifier',
|
||||
3 => 'special',
|
||||
4 => 'code',
|
||||
5 => 'code',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'number',
|
||||
1 => 'number',
|
||||
2 => 'code',
|
||||
3 => 'var',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'string',
|
||||
2 => 'var',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'code',
|
||||
2 => 'identifier',
|
||||
3 => 'code',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)\\*\\//',
|
||||
1 => '/(?i)(?=;|\\})/',
|
||||
2 => '/(?i)\\]/',
|
||||
3 => '/(?i)\\}/',
|
||||
4 => '/(?i)\\)/',
|
||||
5 => '/(?i)\'/',
|
||||
6 => '/(?i)"/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => 2,
|
||||
5 => 3,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 5,
|
||||
1 => 6,
|
||||
2 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => -1,
|
||||
3 => 3,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'propertyValue' => '/^((?i)far-left|left|center-left|center-right|center|far-right|right-side|right|behind|leftwards|rightwards|inherit|scroll|fixed|transparent|none|repeat-x|repeat-y|repeat|no-repeat|collapse|separate|auto|top|bottom|both|open-quote|close-quote|no-open-quote|no-close-quote|crosshair|default|pointer|move|e-resize|ne-resize|nw-resize|n-resize|se-resize|sw-resize|s-resize|text|wait|help|ltr|rtl|inline|block|list-item|run-in|compact|marker|table|inline-table|table-row-group|table-header-group|table-footer-group|table-row|table-column-group|table-column|table-cell|table-caption|below|level|above|higher|lower|show|hide|caption|icon|menu|message-box|small-caption|status-bar|normal|wider|narrower|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|italic|oblique|small-caps|bold|bolder|lighter|inside|outside|disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-alpha|lower-latin|upper-alpha|upper-latin|hebrew|armenian|georgian|cjk-ideographic|hiragana|katakana|hiragana-iroha|katakana-iroha|crop|cross|invert|visible|hidden|always|avoid|x-low|low|medium|high|x-high|mix?|repeat?|static|relative|absolute|portrait|landscape|spell-out|once|digits|continuous|code|x-slow|slow|fast|x-fast|faster|slower|justify|underline|overline|line-through|blink|capitalize|uppercase|lowercase|embed|bidi-override|baseline|sub|super|text-top|middle|text-bottom|silent|x-soft|soft|loud|x-loud|pre|nowrap|serif|sans-serif|cursive|fantasy|monospace|empty|string|strict|loose|char|true|false|dotted|dashed|solid|double|groove|ridge|inset|outset|larger|smaller|xx-small|x-small|small|large|x-large|xx-large|all|newspaper|distribute|distribute-all-lines|distribute-center-last|inter-word|inter-ideograph|inter-cluster|kashida|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|keep-all|break-all|break-word|lr-tb|tb-rl|thin|thick|inline-block|w-resize|hand|distribute-letter|distribute-space|whitespace|male|female|child)$/',
|
||||
'namedcolor' => '/^((?i)aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow|activeborder|activecaption|appworkspace|background|buttonface|buttonhighlight|buttonshadow|buttontext|captiontext|graytext|highlight|highlighttext|inactiveborder|inactivecaption|inactivecaptiontext|infobackground|infotext|menu|menutext|scrollbar|threeddarkshadow|threedface|threedhighlight|threedlightshadow|threedshadow|window|windowframe|windowtext)$/',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 => -1,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
1 => 'string',
|
||||
),
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'propertyValue' => 'string',
|
||||
'namedcolor' => 'var',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
384
library/Text_Highlighter/Text/Highlighter/DIFF.php
Normal file
384
library/Text_Highlighter/Text/Highlighter/DIFF.php
Normal file
@ -0,0 +1,384 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. DIFF syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: : diff.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. DIFF syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_DIFF extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'diff';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_DIFF($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?m)^\\\\\\sNo\\snewline.+$)|((?m)^\\-\\-\\-$)|((?m)^(diff\\s+\\-|Only\\s+|Index).*$)|((?m)^(\\-\\-\\-|\\+\\+\\+)\\s.+$)|((?m)^\\*.*$)|((?m)^\\+.*$)|((?m)^!.*$)|((?m)^\\<\\s.*$)|((?m)^\\>\\s.*$)|((?m)^\\d+(\\,\\d+)?[acd]\\d+(,\\d+)?$)|((?m)^\\-.*$)|((?m)^\\+.*$)|((?m)^@@.+@@$)|((?m)^d\\d+\\s\\d+$)|((?m)^a\\d+\\s\\d+$)|((?m)^(\\d+)(,\\d+)?(a)$)|((?m)^(\\d+)(,\\d+)?(c)$)|((?m)^(\\d+)(,\\d+)?(d)$)|((?m)^a(\\d+)(\\s\\d+)?$)|((?m)^c(\\d+)(\\s\\d+)?$)|((?m)^d(\\d+)(\\s\\d+)?$)/',
|
||||
0 => '//',
|
||||
1 => '//',
|
||||
2 => '//',
|
||||
3 => '//',
|
||||
4 => '//',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
3 => 1,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 0,
|
||||
9 => 2,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
14 => 0,
|
||||
15 => 3,
|
||||
16 => 3,
|
||||
17 => 3,
|
||||
18 => 2,
|
||||
19 => 2,
|
||||
20 => 2,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => '',
|
||||
1 => '',
|
||||
2 => '',
|
||||
3 => '',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => '',
|
||||
10 => '',
|
||||
11 => '',
|
||||
12 => '',
|
||||
13 => '',
|
||||
14 => 'code',
|
||||
15 => 'code',
|
||||
16 => 'code',
|
||||
17 => '',
|
||||
18 => 'code',
|
||||
19 => 'code',
|
||||
20 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
1 => 'code',
|
||||
2 => 'var',
|
||||
3 => 'reserved',
|
||||
4 => 'quotes',
|
||||
5 => 'string',
|
||||
6 => 'inlinedoc',
|
||||
7 => 'quotes',
|
||||
8 => 'string',
|
||||
9 => 'code',
|
||||
10 => 'quotes',
|
||||
11 => 'string',
|
||||
12 => 'code',
|
||||
13 => 'code',
|
||||
14 => 'var',
|
||||
15 => 'string',
|
||||
16 => 'inlinedoc',
|
||||
17 => 'code',
|
||||
18 => 'string',
|
||||
19 => 'inlinedoc',
|
||||
20 => 'code',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?m)(?=^[ad]\\d+\\s\\d+)/',
|
||||
1 => '/(?m)^(\\.)$/',
|
||||
2 => '/(?m)^(\\.)$/',
|
||||
3 => '/(?m)^(\\.)$/',
|
||||
4 => '/(?m)^(\\.)$/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 => -1,
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
14 => 0,
|
||||
15 => 1,
|
||||
16 => 2,
|
||||
17 => -1,
|
||||
18 => 3,
|
||||
19 => 4,
|
||||
20 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 =>
|
||||
array (
|
||||
),
|
||||
13 =>
|
||||
array (
|
||||
),
|
||||
14 => -1,
|
||||
15 => -1,
|
||||
16 => -1,
|
||||
17 =>
|
||||
array (
|
||||
),
|
||||
18 => -1,
|
||||
19 => -1,
|
||||
20 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
14 => false,
|
||||
15 => false,
|
||||
16 => false,
|
||||
17 => false,
|
||||
18 => false,
|
||||
19 => false,
|
||||
20 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
);
|
||||
$this->_defClass = 'default';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
426
library/Text_Highlighter/Text/Highlighter/DTD.php
Normal file
426
library/Text_Highlighter/Text/Highlighter/DTD.php
Normal file
@ -0,0 +1,426 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. DTD syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: : dtd.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. DTD syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_DTD extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'dtd';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_DTD($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/(\\<!--)|(\\<\\!\\[)|((\\&|\\%)[\\w\\-\\.]+;)/',
|
||||
0 => '//',
|
||||
1 => '/(\\<!--)|(\\<)|(#PCDATA\\b)|((\\&|\\%)[\\w\\-\\.]+;)|((?i)[a-z][a-z\\d\\-\\,:]+)/',
|
||||
2 => '/(\\<!--)|(\\()|(\')|(")|((?<=\\<)!(ENTITY|ATTLIST|ELEMENT|NOTATION)\\b)|(\\s(#(IMPLIED|REQUIRED|FIXED))|CDATA|ENTITY|NOTATION|NMTOKENS?|PUBLIC|SYSTEM\\b)|(#PCDATA\\b)|((\\&|\\%)[\\w\\-\\.]+;)|((?i)[a-z][a-z\\d\\-\\,:]+)/',
|
||||
3 => '/(\\()|((\\&|\\%)[\\w\\-\\.]+;)|((?i)[a-z][a-z\\d\\-\\,:]+)/',
|
||||
4 => '/((\\&|\\%)[\\w\\-\\.]+;)/',
|
||||
5 => '/((\\&|\\%)[\\w\\-\\.]+;)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 1,
|
||||
4 => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 1,
|
||||
5 => 2,
|
||||
6 => 0,
|
||||
7 => 1,
|
||||
8 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 1,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 1,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'brackets',
|
||||
2 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'brackets',
|
||||
2 => '',
|
||||
3 => '',
|
||||
4 => '',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'brackets',
|
||||
2 => 'quotes',
|
||||
3 => 'quotes',
|
||||
4 => '',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => '',
|
||||
2 => '',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'code',
|
||||
2 => 'special',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'code',
|
||||
2 => 'reserved',
|
||||
3 => 'special',
|
||||
4 => 'identifier',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'code',
|
||||
2 => 'string',
|
||||
3 => 'string',
|
||||
4 => 'var',
|
||||
5 => 'reserved',
|
||||
6 => 'reserved',
|
||||
7 => 'special',
|
||||
8 => 'identifier',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'special',
|
||||
2 => 'identifier',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/--\\>/',
|
||||
1 => '/\\]\\]\\>/',
|
||||
2 => '/\\>/',
|
||||
3 => '/\\)/',
|
||||
4 => '/\'/',
|
||||
5 => '/"/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 2,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 3,
|
||||
2 => 4,
|
||||
3 => 5,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 3,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
1291
library/Text_Highlighter/Text/Highlighter/Generator.php
Normal file
1291
library/Text_Highlighter/Text/Highlighter/Generator.php
Normal file
File diff suppressed because it is too large
Load Diff
234
library/Text_Highlighter/Text/Highlighter/HTML.php
Normal file
234
library/Text_Highlighter/Text/Highlighter/HTML.php
Normal file
@ -0,0 +1,234 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. HTML syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: : html.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. HTML syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_HTML extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'html';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_HTML($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)\\<!--)|((?i)\\<[\\?\\/]?)|((?i)(&)[\\w\\-\\.]+;)/',
|
||||
0 => '//',
|
||||
1 => '/((?i)(?<=[\\<\\/?])[\\w\\-\\:]+)|((?i)[\\w\\-\\:]+)|((?i)")/',
|
||||
2 => '/((?i)(&)[\\w\\-\\.]+;)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 1,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'brackets',
|
||||
2 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => '',
|
||||
1 => '',
|
||||
2 => 'quotes',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'code',
|
||||
2 => 'special',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'reserved',
|
||||
1 => 'var',
|
||||
2 => 'string',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)--\\>/',
|
||||
1 => '/(?i)[\\/\\?]?\\>/',
|
||||
2 => '/(?i)"/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => 2,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 => -1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
802
library/Text_Highlighter/Text/Highlighter/JAVA.php
Normal file
802
library/Text_Highlighter/Text/Highlighter/JAVA.php
Normal file
File diff suppressed because one or more lines are too long
631
library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php
Normal file
631
library/Text_Highlighter/Text/Highlighter/JAVASCRIPT.php
Normal file
@ -0,0 +1,631 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. JAVASCRIPT syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: javascript.xml
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. JAVASCRIPT syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.7.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_JAVASCRIPT extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'javascript';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_JAVASCRIPT($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
|
||||
0 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
|
||||
1 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
|
||||
2 => '/((?i)\\{)|((?i)\\()|((?i)\\[)|((?i)\\/\\*)|((?i)")|((?i)\')|((?i)\\/\\/)|((?i)[a-z_]\\w*)|((?i)0x\\d*|\\d*\\.?\\d+)/',
|
||||
3 => '/((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\b(note|fixme):)|((?i)\\$\\w+:.+\\$)/',
|
||||
4 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`|\\\\t|\\\\n|\\\\r)/',
|
||||
5 => '/((?i)\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
|
||||
6 => '/((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\b(note|fixme):)|((?i)\\$\\w+:.+\\$)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 3,
|
||||
1 => 1,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 3,
|
||||
1 => 1,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'comment',
|
||||
4 => 'quotes',
|
||||
5 => 'quotes',
|
||||
6 => 'comment',
|
||||
7 => '',
|
||||
8 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'comment',
|
||||
4 => 'quotes',
|
||||
5 => 'quotes',
|
||||
6 => 'comment',
|
||||
7 => '',
|
||||
8 => '',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'comment',
|
||||
4 => 'quotes',
|
||||
5 => 'quotes',
|
||||
6 => 'comment',
|
||||
7 => '',
|
||||
8 => '',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'brackets',
|
||||
2 => 'brackets',
|
||||
3 => 'comment',
|
||||
4 => 'quotes',
|
||||
5 => 'quotes',
|
||||
6 => 'comment',
|
||||
7 => '',
|
||||
8 => '',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => '',
|
||||
1 => '',
|
||||
2 => '',
|
||||
3 => '',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => '',
|
||||
1 => '',
|
||||
2 => '',
|
||||
3 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'comment',
|
||||
4 => 'string',
|
||||
5 => 'string',
|
||||
6 => 'comment',
|
||||
7 => 'identifier',
|
||||
8 => 'number',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'comment',
|
||||
4 => 'string',
|
||||
5 => 'string',
|
||||
6 => 'comment',
|
||||
7 => 'identifier',
|
||||
8 => 'number',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'comment',
|
||||
4 => 'string',
|
||||
5 => 'string',
|
||||
6 => 'comment',
|
||||
7 => 'identifier',
|
||||
8 => 'number',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'code',
|
||||
2 => 'code',
|
||||
3 => 'comment',
|
||||
4 => 'string',
|
||||
5 => 'string',
|
||||
6 => 'comment',
|
||||
7 => 'identifier',
|
||||
8 => 'number',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'url',
|
||||
1 => 'url',
|
||||
2 => 'inlinedoc',
|
||||
3 => 'inlinedoc',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 'url',
|
||||
1 => 'url',
|
||||
2 => 'inlinedoc',
|
||||
3 => 'inlinedoc',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)\\}/',
|
||||
1 => '/(?i)\\)/',
|
||||
2 => '/(?i)\\]/',
|
||||
3 => '/(?i)\\*\\//',
|
||||
4 => '/(?i)"/',
|
||||
5 => '/(?i)\'/',
|
||||
6 => '/(?mi)$/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => 5,
|
||||
6 => 6,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => 5,
|
||||
6 => 6,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => 5,
|
||||
6 => 6,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => 5,
|
||||
6 => 6,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 =>
|
||||
array (
|
||||
'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
|
||||
'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 =>
|
||||
array (
|
||||
'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
|
||||
'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 =>
|
||||
array (
|
||||
'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
|
||||
'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 =>
|
||||
array (
|
||||
'builtin' => '/^(String|Array|RegExp|Function|Math|Number|Date|Image|window|document|navigator|onAbort|onBlur|onChange|onClick|onDblClick|onDragDrop|onError|onFocus|onKeyDown|onKeyPress|onKeyUp|onLoad|onMouseDown|onMouseOver|onMouseOut|onMouseMove|onMouseUp|onMove|onReset|onResize|onSelect|onSubmit|onUnload)$/',
|
||||
'reserved' => '/^(break|continue|do|while|export|for|in|if|else|import|return|label|switch|case|var|with|delete|new|this|typeof|void|abstract|boolean|byte|catch|char|class|const|debugger|default|double|enum|extends|false|final|finally|float|function|implements|goto|instanceof|int|interface|long|native|null|package|private|protected|public|short|static|super|synchronized|throw|throws|transient|true|try|volatile)$/',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'builtin' => 'builtin',
|
||||
'reserved' => 'reserved',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
434
library/Text_Highlighter/Text/Highlighter/MYSQL.php
Normal file
434
library/Text_Highlighter/Text/Highlighter/MYSQL.php
Normal file
@ -0,0 +1,434 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. MYSQL syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: : mysql.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. MYSQL syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_MYSQL extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'mysql';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_MYSQL($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
|
||||
0 => '//',
|
||||
1 => '//',
|
||||
2 => '/((?i)\\\\.)/',
|
||||
3 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
|
||||
4 => '/((?i)\\\\.)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 5,
|
||||
9 => 2,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 5,
|
||||
9 => 2,
|
||||
10 => 0,
|
||||
11 => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'comment',
|
||||
2 => '',
|
||||
3 => '',
|
||||
4 => '',
|
||||
5 => 'quotes',
|
||||
6 => 'brackets',
|
||||
7 => 'quotes',
|
||||
8 => '',
|
||||
9 => '',
|
||||
10 => '',
|
||||
11 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'comment',
|
||||
2 => '',
|
||||
3 => '',
|
||||
4 => '',
|
||||
5 => 'quotes',
|
||||
6 => 'brackets',
|
||||
7 => 'quotes',
|
||||
8 => '',
|
||||
9 => '',
|
||||
10 => '',
|
||||
11 => '',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'identifier',
|
||||
1 => 'comment',
|
||||
2 => 'comment',
|
||||
3 => 'identifier',
|
||||
4 => 'identifier',
|
||||
5 => 'string',
|
||||
6 => 'code',
|
||||
7 => 'string',
|
||||
8 => 'number',
|
||||
9 => 'number',
|
||||
10 => 'number',
|
||||
11 => 'number',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'identifier',
|
||||
1 => 'comment',
|
||||
2 => 'comment',
|
||||
3 => 'identifier',
|
||||
4 => 'identifier',
|
||||
5 => 'string',
|
||||
6 => 'code',
|
||||
7 => 'string',
|
||||
8 => 'number',
|
||||
9 => 'number',
|
||||
10 => 'number',
|
||||
11 => 'number',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)`/',
|
||||
1 => '/(?i)\\*\\//',
|
||||
2 => '/(?i)"/',
|
||||
3 => '/(?i)\\)/',
|
||||
4 => '/(?i)\'/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => 2,
|
||||
6 => 3,
|
||||
7 => 4,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => 2,
|
||||
6 => 3,
|
||||
7 => 4,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 => -1,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'function' => '/^((?i)abs|acos|adddate|ascii|asin|atan|atan2|avg|benchmark|bin|ceiling|char|coalesce|concat|conv|cos|cot|count|curdate|curtime|database|dayname|dayofmonth|dayofweek|dayofyear|decode|degrees|elt|encode|encrypt|exp|extract|field|floor|format|greatest|hex|hour|if|ifnull|insert|instr|interval|isnull|lcase|least|left|length|locate|log|log10|lower|lpad|ltrim|max|md5|mid|min|minute|mod|month|monthname|now|nullif|oct|ord|password|pi|position|pow|power|prepare|quarter|radians|rand|repeat|replace|reverse|right|round|rpad|rtrim|second|sign|sin|soundex|space|sqrt|std|stddev|strcmp|subdate|substring|sum|sysdate|tan|trim|truncate|ucase|upper|user|version|week|weekday|year)$/',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^((?i)action|add|aggregate|all|alter|after|and|as|asc|avg|avg_row_length|auto_increment|between|bigint|bit|binary|blob|bool|both|by|cascade|case|char|character|change|check|checksum|column|columns|comment|constraint|create|cross|current_date|current_time|current_timestamp|data|database|databases|date|datetime|day|day_hour|day_minute|day_second|dayofmonth|dayofweek|dayofyear|dec|decimal|default|delayed|delay_key_write|delete|desc|describe|distinct|distinctrow|double|drop|end|else|escape|escaped|enclosed|enum|explain|exists|fields|file|first|float|float4|float8|flush|foreign|from|for|full|function|global|grant|grants|group|having|heap|high_priority|hour|hour_minute|hour_second|hosts|identified|ignore|in|index|infile|inner|insert|insert_id|int|integer|interval|int1|int2|int3|int4|int8|into|if|is|isam|join|key|keys|kill|last_insert_id|leading|left|length|like|lines|limit|load|local|lock|logs|long|longblob|longtext|low_priority|max|max_rows|match|mediumblob|mediumtext|mediumint|middleint|min_rows|minute|minute_second|modify|month|monthname|myisam|natural|numeric|no|not|null|on|optimize|option|optionally|or|order|outer|outfile|pack_keys|partial|password|precision|primary|procedure|process|processlist|privileges|read|real|references|reload|regexp|rename|replace|restrict|returns|revoke|rlike|row|rows|second|select|set|show|shutdown|smallint|soname|sql_big_tables|sql_big_selects|sql_low_priority_updates|sql_log_off|sql_log_update|sql_select_limit|sql_small_result|sql_big_result|sql_warnings|straight_join|starting|status|string|table|tables|temporary|terminated|text|then|time|timestamp|tinyblob|tinytext|tinyint|trailing|to|type|use|using|unique|unlock|unsigned|update|usage|values|varchar|variables|varying|varbinary|with|write|when|where|year|year_month|zerofill)$/',
|
||||
),
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'function' => '/^((?i)abs|acos|adddate|ascii|asin|atan|atan2|avg|benchmark|bin|ceiling|char|coalesce|concat|conv|cos|cot|count|curdate|curtime|database|dayname|dayofmonth|dayofweek|dayofyear|decode|degrees|elt|encode|encrypt|exp|extract|field|floor|format|greatest|hex|hour|if|ifnull|insert|instr|interval|isnull|lcase|least|left|length|locate|log|log10|lower|lpad|ltrim|max|md5|mid|min|minute|mod|month|monthname|now|nullif|oct|ord|password|pi|position|pow|power|prepare|quarter|radians|rand|repeat|replace|reverse|right|round|rpad|rtrim|second|sign|sin|soundex|space|sqrt|std|stddev|strcmp|subdate|substring|sum|sysdate|tan|trim|truncate|ucase|upper|user|version|week|weekday|year)$/',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
'reserved' => '/^((?i)action|add|aggregate|all|alter|after|and|as|asc|avg|avg_row_length|auto_increment|between|bigint|bit|binary|blob|bool|both|by|cascade|case|char|character|change|check|checksum|column|columns|comment|constraint|create|cross|current_date|current_time|current_timestamp|data|database|databases|date|datetime|day|day_hour|day_minute|day_second|dayofmonth|dayofweek|dayofyear|dec|decimal|default|delayed|delay_key_write|delete|desc|describe|distinct|distinctrow|double|drop|end|else|escape|escaped|enclosed|enum|explain|exists|fields|file|first|float|float4|float8|flush|foreign|from|for|full|function|global|grant|grants|group|having|heap|high_priority|hour|hour_minute|hour_second|hosts|identified|ignore|in|index|infile|inner|insert|insert_id|int|integer|interval|int1|int2|int3|int4|int8|into|if|is|isam|join|key|keys|kill|last_insert_id|leading|left|length|like|lines|limit|load|local|lock|logs|long|longblob|longtext|low_priority|max|max_rows|match|mediumblob|mediumtext|mediumint|middleint|min_rows|minute|minute_second|modify|month|monthname|myisam|natural|numeric|no|not|null|on|optimize|option|optionally|or|order|outer|outfile|pack_keys|partial|password|precision|primary|procedure|process|processlist|privileges|read|real|references|reload|regexp|rename|replace|restrict|returns|revoke|rlike|row|rows|second|select|set|show|shutdown|smallint|soname|sql_big_tables|sql_big_selects|sql_low_priority_updates|sql_log_off|sql_log_update|sql_select_limit|sql_small_result|sql_big_result|sql_warnings|straight_join|starting|status|string|table|tables|temporary|terminated|text|then|time|timestamp|tinyblob|tinytext|tinyint|trailing|to|type|use|using|unique|unlock|unsigned|update|usage|values|varchar|variables|varying|varbinary|with|write|when|where|year|year_month|zerofill)$/',
|
||||
),
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'function' => 'reserved',
|
||||
'reserved' => 'reserved',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
1352
library/Text_Highlighter/Text/Highlighter/PERL.php
Normal file
1352
library/Text_Highlighter/Text/Highlighter/PERL.php
Normal file
File diff suppressed because it is too large
Load Diff
1107
library/Text_Highlighter/Text/Highlighter/PHP.php
Normal file
1107
library/Text_Highlighter/Text/Highlighter/PHP.php
Normal file
File diff suppressed because it is too large
Load Diff
647
library/Text_Highlighter/Text/Highlighter/PYTHON.php
Normal file
647
library/Text_Highlighter/Text/Highlighter/PYTHON.php
Normal file
@ -0,0 +1,647 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. PYTHON syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: : python.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. PYTHON syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_PYTHON extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'python';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_PYTHON($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)\'\'\')|((?i)""")|((?i)")|((?i)\')|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)((\\d*\\.\\d+)|(\\d+\\.\\d*)|(\\d+))j)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)|((?i)0[0-7]+l?)|((?i)#.+)/',
|
||||
0 => '/((?i)\\\\.)/',
|
||||
1 => '/((?i)\\\\.)/',
|
||||
2 => '/((?i)\\\\.)/',
|
||||
3 => '/((?i)\\\\.)/',
|
||||
4 => '/((?i)\'\'\')|((?i)""")|((?i)")|((?i)\')|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)((\\d*\\.\\d+)|(\\d+\\.\\d*)|(\\d+))j)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)|((?i)0[0-7]+l?)|((?i)#.+)/',
|
||||
5 => '/((?i)\'\'\')|((?i)""")|((?i)")|((?i)\')|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*(?=\\s*\\())|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)((\\d*\\.\\d+)|(\\d+\\.\\d*)|(\\d+))j)|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)|((?i)0[0-7]+l?)|((?i)#.+)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 5,
|
||||
9 => 4,
|
||||
10 => 2,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
14 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 5,
|
||||
9 => 4,
|
||||
10 => 2,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
14 => 0,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 5,
|
||||
9 => 4,
|
||||
10 => 2,
|
||||
11 => 0,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
14 => 0,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'quotes',
|
||||
2 => 'quotes',
|
||||
3 => 'quotes',
|
||||
4 => 'brackets',
|
||||
5 => 'brackets',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => '',
|
||||
10 => '',
|
||||
11 => '',
|
||||
12 => '',
|
||||
13 => '',
|
||||
14 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'quotes',
|
||||
2 => 'quotes',
|
||||
3 => 'quotes',
|
||||
4 => 'brackets',
|
||||
5 => 'brackets',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => '',
|
||||
10 => '',
|
||||
11 => '',
|
||||
12 => '',
|
||||
13 => '',
|
||||
14 => '',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'quotes',
|
||||
2 => 'quotes',
|
||||
3 => 'quotes',
|
||||
4 => 'brackets',
|
||||
5 => 'brackets',
|
||||
6 => '',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => '',
|
||||
10 => '',
|
||||
11 => '',
|
||||
12 => '',
|
||||
13 => '',
|
||||
14 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'string',
|
||||
2 => 'string',
|
||||
3 => 'string',
|
||||
4 => 'code',
|
||||
5 => 'code',
|
||||
6 => 'identifier',
|
||||
7 => 'identifier',
|
||||
8 => 'number',
|
||||
9 => 'number',
|
||||
10 => 'number',
|
||||
11 => 'number',
|
||||
12 => 'number',
|
||||
13 => 'number',
|
||||
14 => 'comment',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'string',
|
||||
2 => 'string',
|
||||
3 => 'string',
|
||||
4 => 'code',
|
||||
5 => 'code',
|
||||
6 => 'identifier',
|
||||
7 => 'identifier',
|
||||
8 => 'number',
|
||||
9 => 'number',
|
||||
10 => 'number',
|
||||
11 => 'number',
|
||||
12 => 'number',
|
||||
13 => 'number',
|
||||
14 => 'comment',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'string',
|
||||
1 => 'string',
|
||||
2 => 'string',
|
||||
3 => 'string',
|
||||
4 => 'code',
|
||||
5 => 'code',
|
||||
6 => 'identifier',
|
||||
7 => 'identifier',
|
||||
8 => 'number',
|
||||
9 => 'number',
|
||||
10 => 'number',
|
||||
11 => 'number',
|
||||
12 => 'number',
|
||||
13 => 'number',
|
||||
14 => 'comment',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)\'\'\'/',
|
||||
1 => '/(?i)"""/',
|
||||
2 => '/(?i)"/',
|
||||
3 => '/(?i)\'/',
|
||||
4 => '/(?i)\\)/',
|
||||
5 => '/(?i)\\]/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => 5,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 => -1,
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
14 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => 5,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 => -1,
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
14 => -1,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => 5,
|
||||
6 => -1,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 => -1,
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
14 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 =>
|
||||
array (
|
||||
'builtin' => '/^(__import__|abs|apply|basestring|bool|buffer|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|round|setattr|slice|staticmethod|sum|super|str|tuple|type|unichr|unicode|vars|xrange|zip)$/',
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
'reserved' => '/^(and|del|for|is|raise|assert|elif|from|lambda|return|break|else|global|not|try|class|except|if|or|while|continue|exec|import|pass|yield|def|finally|in|print|False|True|None|NotImplemented|Ellipsis|Exception|SystemExit|StopIteration|StandardError|KeyboardInterrupt|ImportError|EnvironmentError|IOError|OSError|WindowsError|EOFError|RuntimeError|NotImplementedError|NameError|UnboundLocalError|AttributeError|SyntaxError|IndentationError|TabError|TypeError|AssertionError|LookupError|IndexError|KeyError|ArithmeticError|OverflowError|ZeroDivisionError|FloatingPointError|ValueError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ReferenceError|SystemError|MemoryError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|OverflowWarning|RuntimeWarning|FutureWarning)$/',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 =>
|
||||
array (
|
||||
),
|
||||
13 =>
|
||||
array (
|
||||
),
|
||||
14 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 =>
|
||||
array (
|
||||
'builtin' => '/^(__import__|abs|apply|basestring|bool|buffer|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|round|setattr|slice|staticmethod|sum|super|str|tuple|type|unichr|unicode|vars|xrange|zip)$/',
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
'reserved' => '/^(and|del|for|is|raise|assert|elif|from|lambda|return|break|else|global|not|try|class|except|if|or|while|continue|exec|import|pass|yield|def|finally|in|print|False|True|None|NotImplemented|Ellipsis|Exception|SystemExit|StopIteration|StandardError|KeyboardInterrupt|ImportError|EnvironmentError|IOError|OSError|WindowsError|EOFError|RuntimeError|NotImplementedError|NameError|UnboundLocalError|AttributeError|SyntaxError|IndentationError|TabError|TypeError|AssertionError|LookupError|IndexError|KeyError|ArithmeticError|OverflowError|ZeroDivisionError|FloatingPointError|ValueError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ReferenceError|SystemError|MemoryError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|OverflowWarning|RuntimeWarning|FutureWarning)$/',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 =>
|
||||
array (
|
||||
),
|
||||
13 =>
|
||||
array (
|
||||
),
|
||||
14 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 =>
|
||||
array (
|
||||
'builtin' => '/^(__import__|abs|apply|basestring|bool|buffer|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|min|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|round|setattr|slice|staticmethod|sum|super|str|tuple|type|unichr|unicode|vars|xrange|zip)$/',
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
'reserved' => '/^(and|del|for|is|raise|assert|elif|from|lambda|return|break|else|global|not|try|class|except|if|or|while|continue|exec|import|pass|yield|def|finally|in|print|False|True|None|NotImplemented|Ellipsis|Exception|SystemExit|StopIteration|StandardError|KeyboardInterrupt|ImportError|EnvironmentError|IOError|OSError|WindowsError|EOFError|RuntimeError|NotImplementedError|NameError|UnboundLocalError|AttributeError|SyntaxError|IndentationError|TabError|TypeError|AssertionError|LookupError|IndexError|KeyError|ArithmeticError|OverflowError|ZeroDivisionError|FloatingPointError|ValueError|UnicodeError|UnicodeEncodeError|UnicodeDecodeError|UnicodeTranslateError|ReferenceError|SystemError|MemoryError|Warning|UserWarning|DeprecationWarning|PendingDeprecationWarning|SyntaxWarning|OverflowWarning|RuntimeWarning|FutureWarning)$/',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 =>
|
||||
array (
|
||||
),
|
||||
13 =>
|
||||
array (
|
||||
),
|
||||
14 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
14 => NULL,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
14 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
14 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
14 => false,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
14 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'builtin' => 'builtin',
|
||||
'reserved' => 'reserved',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
825
library/Text_Highlighter/Text/Highlighter/RUBY.php
Normal file
825
library/Text_Highlighter/Text/Highlighter/RUBY.php
Normal file
@ -0,0 +1,825 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. RUBY syntax highlighting
|
||||
*
|
||||
*
|
||||
* FIXME: While this construction : s.split /z/i
|
||||
* is valid, regular expression is not recognized as such
|
||||
* (/ folowing an identifier or number is not recognized as
|
||||
* start of RE), making highlighting improper
|
||||
*
|
||||
* %q(a (nested) string) does not get highlighted correctly
|
||||
*
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: : ruby.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. RUBY syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_RUBY extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'ruby';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_RUBY($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?mi)^__END__$)|((?i)")|((?i)%[Qx]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\')|((?i)%[wq]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\\$(\\W|\\w+))|((?ii)@@?[_a-z][\\d_a-z]*)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)0[xX][\\da-f]+l?)|((?i)\\d+l?|\\b0l?\\b)|((?i)0[0-7]+l?)|((?mi)^=begin$)|((?i)#)|((?i)\\s*\\/)/',
|
||||
0 => '//',
|
||||
1 => '/((?i)\\\\.)/',
|
||||
2 => '/((?i)\\\\.)/',
|
||||
3 => '/((?i)\\\\.)/',
|
||||
4 => '/((?i)\\\\.)/',
|
||||
5 => '/((?mi)^__END__$)|((?i)")|((?i)%[Qx]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\')|((?i)%[wq]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\\$(\\W|\\w+))|((?ii)@@?[_a-z][\\d_a-z]*)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)0[xX][\\da-f]+l?)|((?i)\\d+l?|\\b0l?\\b)|((?i)0[0-7]+l?)|((?mi)^=begin$)|((?i)#)|((?i)\\s*\\/)/',
|
||||
6 => '/((?mi)^__END__$)|((?i)")|((?i)%[Qx]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\')|((?i)%[wq]([!"#\\$%&\'+\\-*.\\/:;=?@^`|~{<\\[(]))|((?i)\\$(\\W|\\w+))|((?ii)@@?[_a-z][\\d_a-z]*)|((?i)\\()|((?i)\\[)|((?i)[a-z_]\\w*)|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)0[xX][\\da-f]+l?)|((?i)\\d+l?|\\b0l?\\b)|((?i)0[0-7]+l?)|((?mi)^=begin$)|((?i)#)|((?i)\\s*\\/)/',
|
||||
7 => '/((?i)\\$\\w+\\s*:.+\\$)/',
|
||||
8 => '/((?i)\\$\\w+\\s*:.+\\$)/',
|
||||
9 => '/((?i)\\\\.)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
4 => 1,
|
||||
5 => 1,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 0,
|
||||
9 => 0,
|
||||
10 => 5,
|
||||
11 => 2,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
14 => 0,
|
||||
15 => 0,
|
||||
16 => 0,
|
||||
17 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
4 => 1,
|
||||
5 => 1,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 0,
|
||||
9 => 0,
|
||||
10 => 5,
|
||||
11 => 2,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
14 => 0,
|
||||
15 => 0,
|
||||
16 => 0,
|
||||
17 => 0,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
4 => 1,
|
||||
5 => 1,
|
||||
6 => 0,
|
||||
7 => 0,
|
||||
8 => 0,
|
||||
9 => 0,
|
||||
10 => 5,
|
||||
11 => 2,
|
||||
12 => 0,
|
||||
13 => 0,
|
||||
14 => 0,
|
||||
15 => 0,
|
||||
16 => 0,
|
||||
17 => 0,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'reserved',
|
||||
1 => 'quotes',
|
||||
2 => 'quotes',
|
||||
3 => 'quotes',
|
||||
4 => 'quotes',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => 'brackets',
|
||||
8 => 'brackets',
|
||||
9 => '',
|
||||
10 => '',
|
||||
11 => '',
|
||||
12 => '',
|
||||
13 => '',
|
||||
14 => '',
|
||||
15 => 'comment',
|
||||
16 => 'comment',
|
||||
17 => 'quotes',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'reserved',
|
||||
1 => 'quotes',
|
||||
2 => 'quotes',
|
||||
3 => 'quotes',
|
||||
4 => 'quotes',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => 'brackets',
|
||||
8 => 'brackets',
|
||||
9 => '',
|
||||
10 => '',
|
||||
11 => '',
|
||||
12 => '',
|
||||
13 => '',
|
||||
14 => '',
|
||||
15 => 'comment',
|
||||
16 => 'comment',
|
||||
17 => 'quotes',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 'reserved',
|
||||
1 => 'quotes',
|
||||
2 => 'quotes',
|
||||
3 => 'quotes',
|
||||
4 => 'quotes',
|
||||
5 => '',
|
||||
6 => '',
|
||||
7 => 'brackets',
|
||||
8 => 'brackets',
|
||||
9 => '',
|
||||
10 => '',
|
||||
11 => '',
|
||||
12 => '',
|
||||
13 => '',
|
||||
14 => '',
|
||||
15 => 'comment',
|
||||
16 => 'comment',
|
||||
17 => 'quotes',
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'string',
|
||||
2 => 'string',
|
||||
3 => 'string',
|
||||
4 => 'string',
|
||||
5 => 'var',
|
||||
6 => 'var',
|
||||
7 => 'code',
|
||||
8 => 'code',
|
||||
9 => 'identifier',
|
||||
10 => 'number',
|
||||
11 => 'number',
|
||||
12 => 'number',
|
||||
13 => 'number',
|
||||
14 => 'number',
|
||||
15 => 'comment',
|
||||
16 => 'comment',
|
||||
17 => 'string',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'string',
|
||||
2 => 'string',
|
||||
3 => 'string',
|
||||
4 => 'string',
|
||||
5 => 'var',
|
||||
6 => 'var',
|
||||
7 => 'code',
|
||||
8 => 'code',
|
||||
9 => 'identifier',
|
||||
10 => 'number',
|
||||
11 => 'number',
|
||||
12 => 'number',
|
||||
13 => 'number',
|
||||
14 => 'number',
|
||||
15 => 'comment',
|
||||
16 => 'comment',
|
||||
17 => 'string',
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'string',
|
||||
2 => 'string',
|
||||
3 => 'string',
|
||||
4 => 'string',
|
||||
5 => 'var',
|
||||
6 => 'var',
|
||||
7 => 'code',
|
||||
8 => 'code',
|
||||
9 => 'identifier',
|
||||
10 => 'number',
|
||||
11 => 'number',
|
||||
12 => 'number',
|
||||
13 => 'number',
|
||||
14 => 'number',
|
||||
15 => 'comment',
|
||||
16 => 'comment',
|
||||
17 => 'string',
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => 'inlinedoc',
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => 'inlinedoc',
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)$/',
|
||||
1 => '/(?i)"/',
|
||||
2 => '/(?i)%b1%/',
|
||||
3 => '/(?i)\'/',
|
||||
4 => '/(?i)%b1%/',
|
||||
5 => '/(?i)\\)/',
|
||||
6 => '/(?i)\\]/',
|
||||
7 => '/(?mi)^=end$/',
|
||||
8 => '/(?mi)$/',
|
||||
9 => '/(?i)\\/[iomx]*/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => 5,
|
||||
8 => 6,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 => -1,
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
14 => -1,
|
||||
15 => 7,
|
||||
16 => 8,
|
||||
17 => 9,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => 5,
|
||||
8 => 6,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 => -1,
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
14 => -1,
|
||||
15 => 7,
|
||||
16 => 8,
|
||||
17 => 9,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => 3,
|
||||
4 => 4,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 => 5,
|
||||
8 => 6,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
11 => -1,
|
||||
12 => -1,
|
||||
13 => -1,
|
||||
14 => -1,
|
||||
15 => 7,
|
||||
16 => 8,
|
||||
17 => 9,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 =>
|
||||
array (
|
||||
'reserved' => '/^(__FILE__|require|and|def|end|in|or|self|unless|__LINE__|begin|defined?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|module_function|private|public|protected|attr_reader|attr_writer|attr_accessor|class|elsif|if|not|return|undef|yield)$/',
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 =>
|
||||
array (
|
||||
),
|
||||
13 =>
|
||||
array (
|
||||
),
|
||||
14 =>
|
||||
array (
|
||||
),
|
||||
15 => -1,
|
||||
16 => -1,
|
||||
17 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 =>
|
||||
array (
|
||||
'reserved' => '/^(__FILE__|require|and|def|end|in|or|self|unless|__LINE__|begin|defined?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|module_function|private|public|protected|attr_reader|attr_writer|attr_accessor|class|elsif|if|not|return|undef|yield)$/',
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 =>
|
||||
array (
|
||||
),
|
||||
13 =>
|
||||
array (
|
||||
),
|
||||
14 =>
|
||||
array (
|
||||
),
|
||||
15 => -1,
|
||||
16 => -1,
|
||||
17 => -1,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 =>
|
||||
array (
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
),
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 =>
|
||||
array (
|
||||
'reserved' => '/^(__FILE__|require|and|def|end|in|or|self|unless|__LINE__|begin|defined?|ensure|module|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|module_function|private|public|protected|attr_reader|attr_writer|attr_accessor|class|elsif|if|not|return|undef|yield)$/',
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
11 =>
|
||||
array (
|
||||
),
|
||||
12 =>
|
||||
array (
|
||||
),
|
||||
13 =>
|
||||
array (
|
||||
),
|
||||
14 =>
|
||||
array (
|
||||
),
|
||||
15 => -1,
|
||||
16 => -1,
|
||||
17 => -1,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
14 => NULL,
|
||||
15 => NULL,
|
||||
16 => NULL,
|
||||
17 => NULL,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
11 => NULL,
|
||||
12 => NULL,
|
||||
13 => NULL,
|
||||
14 => NULL,
|
||||
15 => NULL,
|
||||
16 => NULL,
|
||||
17 => NULL,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => true,
|
||||
3 => false,
|
||||
4 => true,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
14 => false,
|
||||
15 => false,
|
||||
16 => false,
|
||||
17 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => true,
|
||||
3 => false,
|
||||
4 => true,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
14 => false,
|
||||
15 => false,
|
||||
16 => false,
|
||||
17 => false,
|
||||
),
|
||||
6 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => true,
|
||||
3 => false,
|
||||
4 => true,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
11 => false,
|
||||
12 => false,
|
||||
13 => false,
|
||||
14 => false,
|
||||
15 => false,
|
||||
16 => false,
|
||||
17 => false,
|
||||
),
|
||||
7 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'reserved' => 'reserved',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
164
library/Text_Highlighter/Text/Highlighter/Renderer.php
Normal file
164
library/Text_Highlighter/Text/Highlighter/Renderer.php
Normal file
@ -0,0 +1,164 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* Abstract base class for Highlighter renderers
|
||||
*
|
||||
* PHP versions 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Abstract base class for Highlighter renderers
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @abstract
|
||||
*/
|
||||
|
||||
class Text_Highlighter_Renderer
|
||||
{
|
||||
/**
|
||||
* Renderer options
|
||||
*
|
||||
* @var array
|
||||
* @access protected
|
||||
*/
|
||||
var $_options = array();
|
||||
|
||||
/**
|
||||
* Current language
|
||||
*
|
||||
* @var string
|
||||
* @access protected
|
||||
*/
|
||||
var $_language = '';
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param array $options Rendering options. Renderer-specific.
|
||||
*/
|
||||
function __construct($options = array())
|
||||
{
|
||||
$this->_options = $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* PHP4 compatable constructor
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param array $options Rendering options. Renderer-specific.
|
||||
*/
|
||||
function Text_Highlighter_Renderer($options = array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets renderer state
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param array $options Rendering options. Renderer-specific.
|
||||
*/
|
||||
function reset()
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Preprocesses code
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $str Code to preprocess
|
||||
* @return string Preprocessed code
|
||||
*/
|
||||
function preprocess($str)
|
||||
{
|
||||
return $str;
|
||||
}
|
||||
|
||||
/**
|
||||
* Accepts next token
|
||||
*
|
||||
* @abstract
|
||||
* @access public
|
||||
*
|
||||
* @param string $class Token class
|
||||
* @param string $content Token content
|
||||
*/
|
||||
function acceptToken($class, $content)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Signals that no more tokens are available
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
function finalize()
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get generated output
|
||||
*
|
||||
* @abstract
|
||||
* @return mixed Renderer-specific
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
function getOutput()
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set current language
|
||||
*
|
||||
* @abstract
|
||||
* @return void
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
function setCurrentLanguage($lang)
|
||||
{
|
||||
$this->_language = $lang;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
|
||||
?>
|
200
library/Text_Highlighter/Text/Highlighter/Renderer/Array.php
Normal file
200
library/Text_Highlighter/Text/Highlighter/Renderer/Array.php
Normal file
@ -0,0 +1,200 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* Array renderer.
|
||||
*
|
||||
* Produces an array that contains class names and content pairs.
|
||||
* The array can be enumerated or associative. Associative means
|
||||
* <code>class => content</code> pairs.
|
||||
* Based on the HTML renderer by Andrey Demenev.
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @copyright 2006 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter/Renderer.php';
|
||||
|
||||
/**
|
||||
* Array renderer, based on Andrey Demenev's HTML renderer.
|
||||
*
|
||||
* In addition to the options supported by the HTML renderer,
|
||||
* the following options were also introduced:
|
||||
* <ul><li>htmlspecialchars - whether or not htmlspecialchars() will
|
||||
* be called on the content, default TRUE</li>
|
||||
* <li>enumerated - type of array produced, default FALSE,
|
||||
* meaning associative array</li>
|
||||
* </ul>
|
||||
*
|
||||
*
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2006 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.5.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
class Text_Highlighter_Renderer_Array extends Text_Highlighter_Renderer
|
||||
{
|
||||
|
||||
/**#@+
|
||||
* @access private
|
||||
*/
|
||||
|
||||
/**
|
||||
* Tab size
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
var $_tabsize = 4;
|
||||
|
||||
/**
|
||||
* Should htmlentities() will be called
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
var $_htmlspecialchars = true;
|
||||
|
||||
/**
|
||||
* Enumerated or associative array
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
var $_enumerated = false;
|
||||
|
||||
/**
|
||||
* Array containing highlighting rules
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
var $_output = array();
|
||||
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* Preprocesses code
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $str Code to preprocess
|
||||
* @return string Preprocessed code
|
||||
*/
|
||||
function preprocess($str)
|
||||
{
|
||||
// normalize whitespace and tabs
|
||||
$str = str_replace("\r\n","\n", $str);
|
||||
$str = str_replace("\r","\n", $str);
|
||||
// some browsers refuse to display empty lines
|
||||
$str = preg_replace('~^$~m'," ", $str);
|
||||
$str = str_replace("\t",str_repeat(' ', $this->_tabsize), $str);
|
||||
return rtrim($str);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets renderer state
|
||||
*
|
||||
* Descendents of Text_Highlighter call this method from the constructor,
|
||||
* passing $options they get as parameter.
|
||||
*
|
||||
* @access protected
|
||||
*/
|
||||
function reset()
|
||||
{
|
||||
$this->_output = array();
|
||||
$this->_lastClass = 'default';
|
||||
if (isset($this->_options['tabsize'])) {
|
||||
$this->_tabsize = $this->_options['tabsize'];
|
||||
}
|
||||
if (isset($this->_options['htmlspecialchars'])) {
|
||||
$this->_htmlspecialchars = $this->_options['htmlspecialchars'];
|
||||
}
|
||||
if (isset($this->_options['enumerated'])) {
|
||||
$this->_enumerated = $this->_options['enumerated'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Accepts next token
|
||||
*
|
||||
* @abstract
|
||||
* @access public
|
||||
* @param string $class Token class
|
||||
* @param string $content Token content
|
||||
*/
|
||||
function acceptToken($class, $content)
|
||||
{
|
||||
|
||||
|
||||
$theClass = $this->_getFullClassName($class);
|
||||
if ($this->_htmlspecialchars) {
|
||||
$content = htmlspecialchars($content);
|
||||
}
|
||||
if ($this->_enumerated) {
|
||||
$this->_output[] = array($class, $content);
|
||||
} else {
|
||||
$this->_output[][$class] = $content;
|
||||
}
|
||||
$this->_lastClass = $class;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Given a CSS class name, returns the class name
|
||||
* with language name prepended, if necessary
|
||||
*
|
||||
* @access private
|
||||
*
|
||||
* @param string $class Token class
|
||||
*/
|
||||
function _getFullClassName($class)
|
||||
{
|
||||
if (!empty($this->_options['use_language'])) {
|
||||
$theClass = $this->_language . '-' . $class;
|
||||
} else {
|
||||
$theClass = $class;
|
||||
}
|
||||
return $theClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get generated output
|
||||
*
|
||||
* @abstract
|
||||
* @return array Highlighted code as an array
|
||||
* @access public
|
||||
*/
|
||||
function getOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
|
||||
?>
|
238
library/Text_Highlighter/Text/Highlighter/Renderer/BB.php
Normal file
238
library/Text_Highlighter/Text/Highlighter/Renderer/BB.php
Normal file
@ -0,0 +1,238 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* BB code renderer.
|
||||
*
|
||||
* This BB renderer produces BB code, ready to be pasted in bulletin boards and
|
||||
* other applications that accept BB code. Based on the HTML renderer by Andrey Demenev.
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @copyright 2005 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter/Renderer.php';
|
||||
|
||||
/**
|
||||
* BB code renderer, based on Andrey Demenev's HTML renderer.
|
||||
*
|
||||
* Elements of $options argument of constructor (each being optional):
|
||||
*
|
||||
* - 'numbers' - Line numbering TRUE or FALSE
|
||||
* - 'tabsize' - Tab size, default is 4
|
||||
* - 'bb_tags' - An array containing three BB tags, see below
|
||||
* - 'tag_brackets' - An array that conains opening and closing tags, [ and ]
|
||||
* - 'colors' - An array with all the colors to be used for highlighting
|
||||
*
|
||||
* The default BB tags are:
|
||||
* - 'color' => 'color'
|
||||
* - 'list' => 'list'
|
||||
* - 'list_item' => '*'
|
||||
*
|
||||
* The default colors for the highlighter are:
|
||||
* - 'default' => 'Black',
|
||||
* - 'code' => 'Gray',
|
||||
* - 'brackets' => 'Olive',
|
||||
* - 'comment' => 'Orange',
|
||||
* - 'mlcomment' => 'Orange',
|
||||
* - 'quotes' => 'Darkred',
|
||||
* - 'string' => 'Red',
|
||||
* - 'identifier' => 'Blue',
|
||||
* - 'builtin' => 'Teal',
|
||||
* - 'reserved' => 'Green',
|
||||
* - 'inlinedoc' => 'Blue',
|
||||
* - 'var' => 'Darkblue',
|
||||
* - 'url' => 'Blue',
|
||||
* - 'special' => 'Navy',
|
||||
* - 'number' => 'Maroon',
|
||||
* - 'inlinetags' => 'Blue',
|
||||
*
|
||||
*
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 20045 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.5.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
class Text_Highlighter_Renderer_BB extends Text_Highlighter_Renderer_Array
|
||||
{
|
||||
|
||||
/**#@+
|
||||
* @access private
|
||||
*/
|
||||
|
||||
/**
|
||||
* Line numbering - will use the specified BB tag for listings
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
var $_numbers = false;
|
||||
|
||||
/**
|
||||
* BB tags to be used
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
var $_bb_tags = array (
|
||||
'color' => 'color',
|
||||
'list' => 'list',
|
||||
'list_item' => '*',
|
||||
'code' => 'code',
|
||||
);
|
||||
|
||||
/**
|
||||
* BB brackets - [ and ]
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
var $_tag_brackets = array ('start' => '[', 'end' => ']');
|
||||
|
||||
/**
|
||||
* Colors map
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
var $_colors = array(
|
||||
'default' => 'Black',
|
||||
'code' => 'Gray',
|
||||
'brackets' => 'Olive',
|
||||
'comment' => 'Orange',
|
||||
'mlcomment' => 'Orange',
|
||||
'quotes' => 'Darkred',
|
||||
'string' => 'Red',
|
||||
'identifier' => 'Blue',
|
||||
'builtin' => 'Teal',
|
||||
'reserved' => 'Green',
|
||||
'inlinedoc' => 'Blue',
|
||||
'var' => 'Darkblue',
|
||||
'url' => 'Blue',
|
||||
'special' => 'Navy',
|
||||
'number' => 'Maroon',
|
||||
'inlinetags' => 'Blue',
|
||||
);
|
||||
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* Resets renderer state
|
||||
*
|
||||
* @access protected
|
||||
*
|
||||
*
|
||||
* Descendents of Text_Highlighter call this method from the constructor,
|
||||
* passing $options they get as parameter.
|
||||
*/
|
||||
function reset()
|
||||
{
|
||||
parent::reset();
|
||||
if (isset($this->_options['numbers'])) {
|
||||
$this->_numbers = $this->_options['numbers'];
|
||||
}
|
||||
if (isset($this->_options['bb_tags'])) {
|
||||
$this->_bb_tags = array_merge($this->_bb_tags, $this->_options['bb_tags']);
|
||||
}
|
||||
if (isset($this->_options['tag_brackets'])) {
|
||||
$this->_tag_brackets = array_merge($this->_tag_brackets, $this->_options['tag_brackets']);
|
||||
}
|
||||
if (isset($this->_options['colors'])) {
|
||||
$this->_colors = array_merge($this->_colors, $this->_options['colors']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Signals that no more tokens are available
|
||||
*
|
||||
* @abstract
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
function finalize()
|
||||
{
|
||||
|
||||
// get parent's output
|
||||
parent::finalize();
|
||||
$output = parent::getOutput();
|
||||
|
||||
$bb_output = '';
|
||||
|
||||
$color_start = $this->_tag_brackets['start'] . $this->_bb_tags['color'] . '=%s' . $this->_tag_brackets['end'];
|
||||
$color_end = $this->_tag_brackets['start'] . '/' . $this->_bb_tags['color'] . $this->_tag_brackets['end'];
|
||||
|
||||
// loop through each class=>content pair
|
||||
foreach ($output AS $token) {
|
||||
|
||||
if ($this->_enumerated) {
|
||||
$class = $token[0];
|
||||
$content = $token[1];
|
||||
} else {
|
||||
$key = key($token);
|
||||
$class = $key;
|
||||
$content = $token[$key];
|
||||
}
|
||||
|
||||
$iswhitespace = ctype_space($content);
|
||||
if (!$iswhitespace && !empty($this->_colors[$class])) {
|
||||
$bb_output .= sprintf($color_start, $this->_colors[$class]);
|
||||
$bb_output .= $content;
|
||||
$bb_output .= $color_end;
|
||||
} else {
|
||||
$bb_output .= $content;
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->_numbers) {
|
||||
|
||||
$item_tag = $this->_tag_brackets['start'] .
|
||||
$this->_bb_tags['list_item'] .
|
||||
$this->_tag_brackets['end'];
|
||||
$this->_output = $item_tag . str_replace("\n", "\n". $item_tag .' ', $bb_output);
|
||||
$this->_output = $this->_tag_brackets['start'] .
|
||||
$this->_bb_tags['list'] .
|
||||
$this->_tag_brackets['end'] .
|
||||
$this->_output .
|
||||
$this->_tag_brackets['start'] .
|
||||
'/'.
|
||||
$this->_bb_tags['list'] .
|
||||
$this->_tag_brackets['end']
|
||||
;
|
||||
} else {
|
||||
$this->_output = $this->_tag_brackets['start'] .
|
||||
$this->_bb_tags['code'] .
|
||||
$this->_tag_brackets['end'] .
|
||||
$bb_output .
|
||||
$this->_tag_brackets['start'] .
|
||||
'/' .
|
||||
$this->_bb_tags['code'] .
|
||||
$this->_tag_brackets['end'];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
|
||||
?>
|
208
library/Text_Highlighter/Text/Highlighter/Renderer/Console.php
Normal file
208
library/Text_Highlighter/Text/Highlighter/Renderer/Console.php
Normal file
@ -0,0 +1,208 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* Console renderer
|
||||
*
|
||||
* PHP versions 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter/Renderer.php';
|
||||
|
||||
define ('HL_CONSOLE_DEFCOLOR', "\033[0m");
|
||||
|
||||
/**
|
||||
* Console renderer
|
||||
*
|
||||
* Suitable for displaying text on color-capable terminals, directly
|
||||
* or trough less -r
|
||||
*
|
||||
* Elements of $options argument of constructor (each being optional):
|
||||
*
|
||||
* - 'numbers' - whether to add line numbers
|
||||
* - 'tabsize' - Tab size
|
||||
* - 'colors' - additional colors
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
class Text_Highlighter_Renderer_Console extends Text_Highlighter_Renderer
|
||||
{
|
||||
|
||||
/**#@+
|
||||
* @access private
|
||||
*/
|
||||
|
||||
/**
|
||||
* class of last outputted text chunk
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
var $_lastClass;
|
||||
|
||||
/**
|
||||
* Line numbering
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
var $_numbers = false;
|
||||
|
||||
/**
|
||||
* Tab size
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
var $_tabsize = 4;
|
||||
|
||||
/**
|
||||
* Highlighted code
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
var $_output = '';
|
||||
|
||||
/**#@-*/
|
||||
|
||||
var $_colors = array();
|
||||
|
||||
var $_defColors = array(
|
||||
'default' => "\033[0m",
|
||||
'inlinetags' => "\033[31m",
|
||||
'brackets' => "\033[36m",
|
||||
'quotes' => "\033[34m",
|
||||
'inlinedoc' => "\033[34m",
|
||||
'var' => "\033[1m",
|
||||
'types' => "\033[32m",
|
||||
'number' => "\033[32m",
|
||||
'string' => "\033[31m",
|
||||
'reserved' => "\033[35m",
|
||||
'comment' => "\033[33m",
|
||||
'mlcomment' => "\033[33m",
|
||||
);
|
||||
|
||||
function preprocess($str)
|
||||
{
|
||||
// normalize whitespace and tabs
|
||||
$str = str_replace("\r\n","\n", $str);
|
||||
$str = str_replace("\t",str_repeat(' ', $this->_tabsize), $str);
|
||||
return rtrim($str);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets renderer state
|
||||
*
|
||||
* @access protected
|
||||
*
|
||||
*
|
||||
* Descendents of Text_Highlighter call this method from the constructor,
|
||||
* passing $options they get as parameter.
|
||||
*/
|
||||
function reset()
|
||||
{
|
||||
$this->_lastClass = '';
|
||||
if (isset($this->_options['numbers'])) {
|
||||
$this->_numbers = (bool)$this->_options['numbers'];
|
||||
} else {
|
||||
$this->_numbers = false;
|
||||
}
|
||||
if (isset($this->_options['tabsize'])) {
|
||||
$this->_tabsize = $this->_options['tabsize'];
|
||||
} else {
|
||||
$this->_tabsize = 4;
|
||||
}
|
||||
if (isset($this->_options['colors'])) {
|
||||
$this->_colors = array_merge($this->_defColors, $this->_options['colors']);
|
||||
} else {
|
||||
$this->_colors = $this->_defColors;
|
||||
}
|
||||
$this->_output = '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Accepts next token
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $class Token class
|
||||
* @param string $content Token content
|
||||
*/
|
||||
function acceptToken($class, $content)
|
||||
{
|
||||
if (isset($this->_colors[$class])) {
|
||||
$color = $this->_colors[$class];
|
||||
} else {
|
||||
$color = $this->_colors['default'];
|
||||
}
|
||||
if ($this->_lastClass != $class) {
|
||||
$this->_output .= $color;
|
||||
}
|
||||
$content = str_replace("\n", $this->_colors['default'] . "\n" . $color, $content);
|
||||
$content .= $this->_colors['default'];
|
||||
$this->_output .= $content;
|
||||
}
|
||||
|
||||
/**
|
||||
* Signals that no more tokens are available
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
function finalize()
|
||||
{
|
||||
if ($this->_numbers) {
|
||||
$nlines = substr_count($this->_output, "\n") + 1;
|
||||
$len = strlen($nlines);
|
||||
$i = 1;
|
||||
$this->_output = preg_replace('~^~em', '" " . str_pad($i++, $len, " ", STR_PAD_LEFT) . ": "', $this->_output);
|
||||
}
|
||||
$this->_output .= HL_CONSOLE_DEFCOLOR . "\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get generated output
|
||||
*
|
||||
* @return string Highlighted code
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
function getOutput()
|
||||
{
|
||||
return $this->_output;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
|
||||
?>
|
465
library/Text_Highlighter/Text/Highlighter/Renderer/Html.php
Normal file
465
library/Text_Highlighter/Text/Highlighter/Renderer/Html.php
Normal file
@ -0,0 +1,465 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* HTML renderer
|
||||
*
|
||||
* PHP versions 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter/Renderer.php';
|
||||
require_once 'Text/Highlighter/Renderer/Array.php';
|
||||
|
||||
// BC trick : only define constants if Text/Highlighter.php
|
||||
// is not yet included
|
||||
if (!defined('HL_NUMBERS_LI')) {
|
||||
/**#@+
|
||||
* Constant for use with $options['numbers']
|
||||
*/
|
||||
/**
|
||||
* use numbered list, deprecated, use HL_NUMBERS_OL instaed
|
||||
* @deprecated
|
||||
*/
|
||||
define ('HL_NUMBERS_LI' , 1);
|
||||
/**
|
||||
* Use 2-column table with line numbers in left column and code in right column.
|
||||
*/
|
||||
define ('HL_NUMBERS_TABLE' , 2);
|
||||
/**#@-*/
|
||||
}
|
||||
|
||||
|
||||
/**#@+
|
||||
* Constant for use with $options['numbers']
|
||||
*/
|
||||
/**
|
||||
* Use numbered list
|
||||
*/
|
||||
define ('HL_NUMBERS_OL', 1);
|
||||
/**
|
||||
* Use non-numbered list
|
||||
*/
|
||||
define ('HL_NUMBERS_UL', 3);
|
||||
/**#@-*/
|
||||
|
||||
|
||||
/**
|
||||
* HTML renderer
|
||||
*
|
||||
* Elements of $options argument of constructor (each being optional):
|
||||
*
|
||||
* - 'numbers' - Line numbering style 0 or {@link HL_NUMBERS_TABLE}
|
||||
* or {@link HL_NUMBERS_UL} or {@link HL_NUMBERS_OL}
|
||||
* - 'numbers_start' - starting number for numbered lines
|
||||
* - 'tabsize' - Tab size
|
||||
* - 'style_map' - Mapping of keywords to formatting rules using inline styles
|
||||
* - 'class_map' - Mapping of keywords to formatting rules using class names
|
||||
* - 'doclinks' - array that has keys "url", "target" and "elements", used for
|
||||
* generating links to online documentation
|
||||
* - 'use_language' - class names will be prefixed with language, like "php-reserved" or "css-code"
|
||||
*
|
||||
* Example of setting documentation links:
|
||||
* $options['doclinks'] = array(
|
||||
* 'url' => 'http://php.net/%s',
|
||||
* 'target' => '_blank',
|
||||
* 'elements' => array('reserved', 'identifier')
|
||||
* );
|
||||
*
|
||||
* Example of setting class names map:
|
||||
* $options['class_map'] = array(
|
||||
* 'main' => 'my-main',
|
||||
* 'table' => 'my-table',
|
||||
* 'gutter' => 'my-gutter',
|
||||
* 'brackets' => 'my-brackets',
|
||||
* 'builtin' => 'my-builtin',
|
||||
* 'code' => 'my-code',
|
||||
* 'comment' => 'my-comment',
|
||||
* 'default' => 'my-default',
|
||||
* 'identifier' => 'my-identifier',
|
||||
* 'inlinedoc' => 'my-inlinedoc',
|
||||
* 'inlinetags' => 'my-inlinetags',
|
||||
* 'mlcomment' => 'my-mlcomment',
|
||||
* 'number' => 'my-number',
|
||||
* 'quotes' => 'my-quotes',
|
||||
* 'reserved' => 'my-reserved',
|
||||
* 'special' => 'my-special',
|
||||
* 'string' => 'my-string',
|
||||
* 'url' => 'my-url',
|
||||
* 'var' => 'my-var',
|
||||
* );
|
||||
*
|
||||
* Example of setting styles mapping:
|
||||
* $options['style_map'] = array(
|
||||
* 'main' => 'color: black',
|
||||
* 'table' => 'border: 1px solid black',
|
||||
* 'gutter' => 'background-color: yellow',
|
||||
* 'brackets' => 'color: blue',
|
||||
* 'builtin' => 'color: red',
|
||||
* 'code' => 'color: green',
|
||||
* 'comment' => 'color: orange',
|
||||
* // ....
|
||||
* );
|
||||
*
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
class Text_Highlighter_Renderer_Html extends Text_Highlighter_Renderer_Array
|
||||
{
|
||||
|
||||
/**#@+
|
||||
* @access private
|
||||
*/
|
||||
|
||||
/**
|
||||
* Line numbering style
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
var $_numbers = 0;
|
||||
|
||||
/**
|
||||
* For numberered lines - where to start
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
var $_numbers_start = 0;
|
||||
|
||||
/**
|
||||
* Tab size
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
var $_tabsize = 4;
|
||||
|
||||
/**
|
||||
* Highlighted code
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
var $_output = '';
|
||||
|
||||
/**
|
||||
* Mapping of keywords to formatting rules using inline styles
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
var $_style_map = array();
|
||||
|
||||
/**
|
||||
* Mapping of keywords to formatting rules using class names
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
var $_class_map = array(
|
||||
'main' => 'hl-main',
|
||||
'table' => 'hl-table',
|
||||
'gutter' => 'hl-gutter',
|
||||
'brackets' => 'hl-brackets',
|
||||
'builtin' => 'hl-builtin',
|
||||
'code' => 'hl-code',
|
||||
'comment' => 'hl-comment',
|
||||
'default' => 'hl-default',
|
||||
'identifier' => 'hl-identifier',
|
||||
'inlinedoc' => 'hl-inlinedoc',
|
||||
'inlinetags' => 'hl-inlinetags',
|
||||
'mlcomment' => 'hl-mlcomment',
|
||||
'number' => 'hl-number',
|
||||
'prepro' => 'hl-prepro',
|
||||
'quotes' => 'hl-quotes',
|
||||
'reserved' => 'hl-reserved',
|
||||
'special' => 'hl-special',
|
||||
'string' => 'hl-string',
|
||||
'types' => 'hl-types',
|
||||
'url' => 'hl-url',
|
||||
'var' => 'hl-var',
|
||||
);
|
||||
|
||||
/**
|
||||
* Setup for links to online documentation
|
||||
*
|
||||
* This is an array with keys:
|
||||
* - url, ex. http://php.net/%s
|
||||
* - target, ex. _blank, default - no target
|
||||
* - elements, default is <code>array('reserved', 'identifier')</code>
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
var $_doclinks = array();
|
||||
|
||||
/**#@-*/
|
||||
|
||||
|
||||
/**
|
||||
* Resets renderer state
|
||||
*
|
||||
* @access protected
|
||||
*
|
||||
*
|
||||
* Descendents of Text_Highlighter call this method from the constructor,
|
||||
* passing $options they get as parameter.
|
||||
*/
|
||||
function reset()
|
||||
{
|
||||
$this->_output = '';
|
||||
if (isset($this->_options['numbers'])) {
|
||||
$this->_numbers = (int)$this->_options['numbers'];
|
||||
if ($this->_numbers != HL_NUMBERS_LI
|
||||
&& $this->_numbers != HL_NUMBERS_UL
|
||||
&& $this->_numbers != HL_NUMBERS_OL
|
||||
&& $this->_numbers != HL_NUMBERS_TABLE
|
||||
) {
|
||||
$this->_numbers = 0;
|
||||
}
|
||||
}
|
||||
if (isset($this->_options['tabsize'])) {
|
||||
$this->_tabsize = $this->_options['tabsize'];
|
||||
}
|
||||
if (isset($this->_options['numbers_start'])) {
|
||||
$this->_numbers_start = intval($this->_options['numbers_start']);
|
||||
}
|
||||
if (isset($this->_options['doclinks']) &&
|
||||
is_array($this->_options['doclinks']) &&
|
||||
!empty($this->_options['doclinks']['url'])
|
||||
) {
|
||||
|
||||
$this->_doclinks = $this->_options['doclinks']; // keys: url, target, elements array
|
||||
|
||||
if (empty($this->_options['doclinks']['elements'])) {
|
||||
$this->_doclinks['elements'] = array('reserved', 'identifier');
|
||||
}
|
||||
}
|
||||
if (isset($this->_options['style_map'])) {
|
||||
$this->_style_map = $this->_options['style_map'];
|
||||
}
|
||||
if (isset($this->_options['class_map'])) {
|
||||
$this->_class_map = array_merge($this->_class_map, $this->_options['class_map']);
|
||||
}
|
||||
$this->_htmlspecialchars = true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Given a CSS class name, returns the class name
|
||||
* with language name prepended, if necessary
|
||||
*
|
||||
* @access private
|
||||
*
|
||||
* @param string $class Token class
|
||||
*/
|
||||
function _getFullClassName($class)
|
||||
{
|
||||
if (!empty($this->_options['use_language'])) {
|
||||
$the_class = $this->_language . '-' . $class;
|
||||
} else {
|
||||
$the_class = $class;
|
||||
}
|
||||
return $the_class;
|
||||
}
|
||||
|
||||
/**
|
||||
* Signals that no more tokens are available
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
function finalize()
|
||||
{
|
||||
|
||||
// get parent's output
|
||||
parent::finalize();
|
||||
$output = parent::getOutput();
|
||||
|
||||
$html_output = '';
|
||||
|
||||
$numbers_li = false;
|
||||
|
||||
if (
|
||||
$this->_numbers == HL_NUMBERS_LI ||
|
||||
$this->_numbers == HL_NUMBERS_UL ||
|
||||
$this->_numbers == HL_NUMBERS_OL
|
||||
)
|
||||
{
|
||||
$numbers_li = true;
|
||||
}
|
||||
|
||||
// loop through each class=>content pair
|
||||
foreach ($output AS $token) {
|
||||
|
||||
if ($this->_enumerated) {
|
||||
$key = false;
|
||||
$the_class = $token[0];
|
||||
$content = $token[1];
|
||||
} else {
|
||||
$key = key($token);
|
||||
$the_class = $key;
|
||||
$content = $token[$key];
|
||||
}
|
||||
|
||||
$span = $this->_getStyling($the_class);
|
||||
$decorated_output = $this->_decorate($content, $key);
|
||||
|
||||
|
||||
if ($numbers_li == true) {
|
||||
// end span tags before end of li, and re-open on next line
|
||||
$lastSpanTag = str_replace("%s</span>", "", $span);
|
||||
$span = sprintf($span, $decorated_output);
|
||||
$span = str_replace("\n", "</span></li>\n<li>$lastSpanTag ", $span);
|
||||
$html_output .= $span;
|
||||
} else {
|
||||
$html_output .= sprintf($span, $decorated_output);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// format lists
|
||||
if (!empty($this->_numbers) && $numbers_li == true) {
|
||||
|
||||
|
||||
// additional whitespace for browsers that do not display
|
||||
// empty list items correctly
|
||||
$this->_output = '<li> ' . $html_output . '</li>';
|
||||
|
||||
$start = '';
|
||||
if ($this->_numbers == HL_NUMBERS_OL && intval($this->_numbers_start) > 0) {
|
||||
$start = ' start="' . $this->_numbers_start . '"';
|
||||
}
|
||||
|
||||
$list_tag = 'ol';
|
||||
if ($this->_numbers == HL_NUMBERS_UL) {
|
||||
$list_tag = 'ul';
|
||||
}
|
||||
|
||||
|
||||
$this->_output = '<' . $list_tag . $start
|
||||
. ' ' . $this->_getStyling('main', false) . '>'
|
||||
. $this->_output . '</'. $list_tag .'>';
|
||||
|
||||
// render a table
|
||||
} else if ($this->_numbers == HL_NUMBERS_TABLE) {
|
||||
|
||||
|
||||
$start_number = 0;
|
||||
if (intval($this->_numbers_start)) {
|
||||
$start_number = $this->_numbers_start - 1;
|
||||
}
|
||||
|
||||
$numbers = '';
|
||||
|
||||
$nlines = substr_count($html_output,"\n")+1;
|
||||
for ($i=1; $i <= $nlines; $i++) {
|
||||
$numbers .= ($start_number + $i) . "\n";
|
||||
}
|
||||
$this->_output = '<table ' . $this->_getStyling('table', false) . ' width="100%"><tr>' .
|
||||
'<td '. $this->_getStyling('gutter', false) .' align="right" valign="top">' .
|
||||
'<pre>' . $numbers . '</pre></td><td '. $this->_getStyling('main', false) .
|
||||
' valign="top"><pre>' .
|
||||
$html_output . '</pre></td></tr></table>';
|
||||
}
|
||||
if (!$this->_numbers) {
|
||||
$this->_output = '<pre>' . $html_output . '</pre>';
|
||||
}
|
||||
$this->_output = '<div ' . $this->_getStyling('main', false) . '>' . $this->_output . '</div>';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Provides additional formatting to a keyword
|
||||
*
|
||||
* @param string $content Keyword
|
||||
* @return string Keyword with additional formatting
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
function _decorate($content, $key = false)
|
||||
{
|
||||
// links to online documentation
|
||||
if (!empty($this->_doclinks) &&
|
||||
!empty($this->_doclinks['url']) &&
|
||||
in_array($key, $this->_doclinks['elements'])
|
||||
) {
|
||||
|
||||
$link = '<a href="'. sprintf($this->_doclinks['url'], $content) . '"';
|
||||
if (!empty($this->_doclinks['target'])) {
|
||||
$link.= ' target="' . $this->_doclinks['target'] . '"';
|
||||
}
|
||||
$link .= '>';
|
||||
$link.= $content;
|
||||
$link.= '</a>';
|
||||
|
||||
$content = $link;
|
||||
|
||||
}
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns <code>class</code> and/or <code>style</code> attribute,
|
||||
* optionally enclosed in a <code>span</code> tag
|
||||
*
|
||||
* @param string $class Class name
|
||||
* @paran boolean $span_tag Whether or not to return styling attributes in a <code>>span<</code> tag
|
||||
* @return string <code>span</code> tag or just a <code>class</code> and/or <code>style</code> attributes
|
||||
* @access private
|
||||
*/
|
||||
function _getStyling($class, $span_tag = true)
|
||||
{
|
||||
$attrib = '';
|
||||
if (!empty($this->_style_map) &&
|
||||
!empty($this->_style_map[$class])
|
||||
) {
|
||||
$attrib = 'style="'. $this->_style_map[$class] .'"';
|
||||
}
|
||||
if (!empty($this->_class_map) &&
|
||||
!empty($this->_class_map[$class])
|
||||
) {
|
||||
if ($attrib) {
|
||||
$attrib .= ' ';
|
||||
}
|
||||
$attrib .= 'class="'. $this->_getFullClassName($this->_class_map[$class]) .'"';
|
||||
}
|
||||
|
||||
if ($span_tag) {
|
||||
$span = '<span ' . $attrib . '>%s</span>';
|
||||
return $span;
|
||||
} else {
|
||||
return $attrib;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
|
||||
?>
|
187
library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php
Normal file
187
library/Text_Highlighter/Text/Highlighter/Renderer/HtmlTags.php
Normal file
@ -0,0 +1,187 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* HTML renderer that uses only basic html tags
|
||||
*
|
||||
* PHP versions 4 and 5. Based on the "normal" HTML renderer by Andrey Demenev.
|
||||
* It's designed to work with user agents that support only a limited number of
|
||||
* HTML tags. Like the iPod which supports only b, i, u and a.
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @copyright 2005 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter/Renderer.php';
|
||||
require_once 'Text/Highlighter/Renderer/Array.php';
|
||||
|
||||
/**
|
||||
* HTML basic tags renderer, based on Andrey Demenev's HTML renderer.
|
||||
*
|
||||
* Elements of $options argument of constructor (each being optional):
|
||||
*
|
||||
* - 'numbers' - Line numbering TRUE or FALSE. Default is FALSE.
|
||||
* - 'tabsize' - Tab size, default is 4.
|
||||
* - 'tags' - Array, containing the tags to be used for highlighting
|
||||
*
|
||||
* Here's the listing of the default tags:
|
||||
* - 'default' => '',
|
||||
* - 'code' => '',
|
||||
* - 'brackets' => 'b',
|
||||
* - 'comment' => 'i',
|
||||
* - 'mlcomment' => 'i',
|
||||
* - 'quotes' => '',
|
||||
* - 'string' => 'i',
|
||||
* - 'identifier' => 'b',
|
||||
* - 'builtin' => 'b',
|
||||
* - 'reserved' => 'u',
|
||||
* - 'inlinedoc' => 'i',
|
||||
* - 'var' => 'b',
|
||||
* - 'url' => 'i',
|
||||
* - 'special' => '',
|
||||
* - 'number' => '',
|
||||
* - 'inlinetags' => ''
|
||||
*
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2005 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.5.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
class Text_Highlighter_Renderer_HtmlTags extends Text_Highlighter_Renderer_Array
|
||||
{
|
||||
|
||||
/**#@+
|
||||
* @access private
|
||||
*/
|
||||
|
||||
/**
|
||||
* Line numbering - will use 'ol' tag
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
var $_numbers = false;
|
||||
|
||||
/**
|
||||
* HTML tags map
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
var $_hilite_tags = array(
|
||||
'default' => '',
|
||||
'code' => '',
|
||||
'brackets' => 'b',
|
||||
'comment' => 'i',
|
||||
'mlcomment' => 'i',
|
||||
'quotes' => '',
|
||||
'string' => 'i',
|
||||
'identifier' => 'b',
|
||||
'builtin' => 'b',
|
||||
'reserved' => 'u',
|
||||
'inlinedoc' => 'i',
|
||||
'var' => 'b',
|
||||
'url' => 'i',
|
||||
'special' => '',
|
||||
'number' => '',
|
||||
'inlinetags' => '',
|
||||
);
|
||||
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* Resets renderer state
|
||||
*
|
||||
* @access protected
|
||||
*
|
||||
*
|
||||
* Descendents of Text_Highlighter call this method from the constructor,
|
||||
* passing $options they get as parameter.
|
||||
*/
|
||||
function reset()
|
||||
{
|
||||
parent::reset();
|
||||
if (isset($this->_options['numbers'])) {
|
||||
$this->_numbers = $this->_options['numbers'];
|
||||
}
|
||||
if (isset($this->_options['tags'])) {
|
||||
$this->_hilite_tags = array_merge($this->_tags, $this->_options['tags']);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Signals that no more tokens are available
|
||||
*
|
||||
* @abstract
|
||||
* @access public
|
||||
*
|
||||
*/
|
||||
function finalize()
|
||||
{
|
||||
|
||||
// get parent's output
|
||||
parent::finalize();
|
||||
$output = parent::getOutput();
|
||||
|
||||
$html_output = '';
|
||||
|
||||
// loop through each class=>content pair
|
||||
foreach ($output AS $token) {
|
||||
|
||||
if ($this->_enumerated) {
|
||||
$class = $token[0];
|
||||
$content = $token[1];
|
||||
} else {
|
||||
$key = key($token);
|
||||
$class = $key;
|
||||
$content = $token[$key];
|
||||
}
|
||||
|
||||
$iswhitespace = ctype_space($content);
|
||||
if (!$iswhitespace && !empty($this->_hilite_tags[$class])) {
|
||||
$html_output .= '<'. $this->_hilite_tags[$class] . '>' . $content . '</'. $this->_hilite_tags[$class] . '>';
|
||||
} else {
|
||||
$html_output .= $content;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($this->_numbers) {
|
||||
/* additional whitespace for browsers that do not display
|
||||
empty list items correctly */
|
||||
$html_output = '<li> ' . str_replace("\n", "</li>\n<li> ", $html_output) . '</li>';
|
||||
$this->_output = '<ol>' . str_replace(' ', ' ', $html_output) . '</ol>';
|
||||
} else {
|
||||
$this->_output = '<pre>' . $html_output . '</pre>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
|
||||
?>
|
86
library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php
Normal file
86
library/Text_Highlighter/Text/Highlighter/Renderer/JSON.php
Normal file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* JSON renderer.
|
||||
*
|
||||
* Based on the HTML renderer by Andrey Demenev.
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @copyright 2006 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter/Renderer.php';
|
||||
require_once 'Text/Highlighter/Renderer/Array.php';
|
||||
|
||||
/**
|
||||
* JSON renderer, based on Andrey Demenev's HTML renderer.
|
||||
*
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2006 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.5.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
class Text_Highlighter_Renderer_JSON extends Text_Highlighter_Renderer_Array
|
||||
{
|
||||
|
||||
/**
|
||||
* Signals that no more tokens are available
|
||||
*
|
||||
* @abstract
|
||||
* @access public
|
||||
*/
|
||||
function finalize()
|
||||
{
|
||||
|
||||
parent::finalize();
|
||||
$output = parent::getOutput();
|
||||
|
||||
$json_array = array();
|
||||
|
||||
foreach ($output AS $token) {
|
||||
|
||||
if ($this->_enumerated) {
|
||||
$json_array[] = '["' . $token[0] . '","' . $token[1] . '"]';
|
||||
} else {
|
||||
$key = key($token);
|
||||
$json_array[] = '{"class": "' . $key . '","content":"' . $token[$key] . '"}';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$this->_output = '['. implode(',', $json_array) .']';
|
||||
$this->_output = str_replace("\n", '\n', $this->_output);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
|
||||
?>
|
104
library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
Normal file
104
library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
Normal file
@ -0,0 +1,104 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* XML renderer.
|
||||
*
|
||||
* Based on the HTML renderer by Andrey Demenev.
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @copyright 2006 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter/Renderer.php';
|
||||
require_once 'Text/Highlighter/Renderer/Array.php';
|
||||
require_once 'XML/Serializer.php';
|
||||
|
||||
/**
|
||||
* XML renderer, based on Andrey Demenev's HTML renderer.
|
||||
*
|
||||
* @author Stoyan Stefanov <ssttoo@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2006 Stoyan Stefanov
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.5.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
class Text_Highlighter_Renderer_XML extends Text_Highlighter_Renderer_Array
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Options for XML_Serializer
|
||||
*
|
||||
* @access private
|
||||
* @var array
|
||||
*/
|
||||
var $_serializer_options = array();
|
||||
|
||||
|
||||
/**
|
||||
* Resets renderer state
|
||||
*
|
||||
* Descendents of Text_Highlighter call this method from the constructor,
|
||||
* passing $options they get as parameter.
|
||||
*
|
||||
* @access protected
|
||||
*/
|
||||
function reset()
|
||||
{
|
||||
parent::reset();
|
||||
if (isset($this->_options['xml_serializer'])) {
|
||||
$this->_serializer_options = $this->_options['xml_serializer'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Signals that no more tokens are available
|
||||
*
|
||||
* @abstract
|
||||
* @access public
|
||||
*/
|
||||
function finalize()
|
||||
{
|
||||
|
||||
// call parent's finalize(), then serialize array into XML
|
||||
parent::finalize();
|
||||
$output = parent::getOutput();
|
||||
|
||||
$serializer = new XML_Serializer($this->_serializer_options);
|
||||
$result = $serializer->serialize($output);
|
||||
if ($result === true) {
|
||||
$this->_output = $serializer->getSerializedData();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
|
||||
?>
|
1225
library/Text_Highlighter/Text/Highlighter/SH.php
Normal file
1225
library/Text_Highlighter/Text/Highlighter/SH.php
Normal file
File diff suppressed because it is too large
Load Diff
419
library/Text_Highlighter/Text/Highlighter/SQL.php
Normal file
419
library/Text_Highlighter/Text/Highlighter/SQL.php
Normal file
@ -0,0 +1,419 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. SQL syntax highlighting
|
||||
*
|
||||
* Based on SQL-99
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: : sql.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. SQL syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_SQL extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'sql';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_SQL($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
|
||||
0 => '//',
|
||||
1 => '//',
|
||||
2 => '/((?i)\\\\.)/',
|
||||
3 => '/((?i)`)|((?i)\\/\\*)|((?i)(#|--\\s).*)|((?i)[a-z_]\\w*)|((?i)")|((?i)\\()|((?i)\')|((?i)((\\d+|((\\d*\\.\\d+)|(\\d+\\.\\d*)))[eE][+-]?\\d+))|((?i)(\\d*\\.\\d+)|(\\d+\\.\\d*))|((?i)\\d+l?|\\b0l?\\b)|((?i)0[xX][\\da-f]+l?)/',
|
||||
4 => '/((?i)\\\\.)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 5,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 0,
|
||||
7 => 5,
|
||||
8 => 2,
|
||||
9 => 0,
|
||||
10 => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 0,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'comment',
|
||||
2 => '',
|
||||
3 => '',
|
||||
4 => 'quotes',
|
||||
5 => 'brackets',
|
||||
6 => 'quotes',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => '',
|
||||
10 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'quotes',
|
||||
1 => 'comment',
|
||||
2 => '',
|
||||
3 => '',
|
||||
4 => 'quotes',
|
||||
5 => 'brackets',
|
||||
6 => 'quotes',
|
||||
7 => '',
|
||||
8 => '',
|
||||
9 => '',
|
||||
10 => '',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'identifier',
|
||||
1 => 'comment',
|
||||
2 => 'comment',
|
||||
3 => 'identifier',
|
||||
4 => 'string',
|
||||
5 => 'code',
|
||||
6 => 'string',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'number',
|
||||
10 => 'number',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'identifier',
|
||||
1 => 'comment',
|
||||
2 => 'comment',
|
||||
3 => 'identifier',
|
||||
4 => 'string',
|
||||
5 => 'code',
|
||||
6 => 'string',
|
||||
7 => 'number',
|
||||
8 => 'number',
|
||||
9 => 'number',
|
||||
10 => 'number',
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)`/',
|
||||
1 => '/(?i)\\*\\//',
|
||||
2 => '/(?i)"/',
|
||||
3 => '/(?i)\\)/',
|
||||
4 => '/(?i)\'/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => 2,
|
||||
5 => 3,
|
||||
6 => 4,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
4 => 2,
|
||||
5 => 3,
|
||||
6 => 4,
|
||||
7 => -1,
|
||||
8 => -1,
|
||||
9 => -1,
|
||||
10 => -1,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'reserved' => '/^((?i)absolute|action|add|admin|after|aggregate|alias|all|allocate|alter|and|any|are|array|as|asc|assertion|at|authorization|before|begin|binary|bit|blob|boolean|both|breadth|by|call|cascade|cascaded|case|cast|catalog|char|character|check|class|clob|close|collate|collation|column|commit|completion|connect|connection|constraint|constraints|constructor|continue|corresponding|create|cross|cube|current|current_date|current_path|current_role|current_time|current_timestamp|current_user|cursor|cycle|data|date|day|deallocate|dec|decimal|declare|default|deferrable|deferred|delete|depth|deref|desc|describe|descriptor|destroy|destructor|deterministic|diagnostics|dictionary|disconnect|distinct|domain|double|drop|dynamic|each|else|end|end-exec|equals|escape|every|except|exception|exec|execute|external|false|fetch|first|float|for|foreign|found|free|from|full|function|general|get|global|go|goto|grant|group|grouping|having|host|hour|identity|ignore|immediate|in|indicator|initialize|initially|inner|inout|input|insert|int|integer|intersect|interval|into|is|isolation|iterate|join|key|language|large|last|lateral|leading|left|less|level|like|limit|local|localtime|localtimestamp|locator|map|match|minute|modifies|modify|module|month|names|national|natural|nchar|nclob|new|next|no|none|not|null|numeric|object|of|off|old|on|only|open|operation|option|or|order|ordinality|out|outer|output|pad|parameter|parameters|partial|path|postfix|precision|prefix|preorder|prepare|preserve|primary|prior|privileges|procedure|public|read|reads|real|recursive|ref|references|referencing|relative|restrict|result|return|returns|revoke|right|role|rollback|rollup|routine|row|rows|savepoint|schema|scope|scroll|search|second|section|select|sequence|session|session_user|set|sets|size|smallint|some|space|specific|specifictype|sql|sqlexception|sqlstate|sqlwarning|start|state|statement|static|structure|system_user|table|temporary|terminate|than|then|time|timestamp|timezone_hour|timezone_minute|to|trailing|transaction|translation|treat|trigger|true|under|union|unique|unknown|unnest|update|usage|user|using|value|values|varchar|variable|varying|view|when|whenever|where|with|without|work|write|year|zone)$/',
|
||||
'keyword' => '/^((?i)abs|ada|asensitive|assignment|asymmetric|atomic|avg|between|bitvar|bit_length|c|called|cardinality|catalog_name|chain|character_length|character_set_catalog|character_set_name|character_set_schema|char_length|checked|class_origin|coalesce|cobol|collation_catalog|collation_name|collation_schema|column_name|command_function|command_function_code|committed|condition_number|connection_name|constraint_catalog|constraint_name|constraint_schema|contains|convert|count|cursor_name|datetime_interval_code|datetime_interval_precision|defined|definer|dispatch|dynamic_function|dynamic_function_code|existing|exists|extract|final|fortran|g|generated|granted|hierarchy|hold|implementation|infix|insensitive|instance|instantiable|invoker|k|key_member|key_type|length|lower|m|max|message_length|message_octet_length|message_text|method|min|mod|more|mumps|name|nullable|nullif|number|octet_length|options|overlaps|overlay|overriding|parameter_mode|parameter_name|parameter_ordinal_position|parameter_specific_catalog|parameter_specific_name|parameter_specific_schema|pascal|pli|position|repeatable|returned_length|returned_octet_length|returned_sqlstate|routine_catalog|routine_name|routine_schema|row_count|scale|schema_name|security|self|sensitive|serializable|server_name|similar|simple|source|specific_name|style|subclass_origin|sublist|substring|sum|symmetric|system|table_name|transactions_committed|transactions_rolled_back|transaction_active|transform|transforms|translate|trigger_catalog|trigger_name|trigger_schema|trim|type|uncommitted|unnamed|upper|user_defined_type_catalog|user_defined_type_name|user_defined_type_schema)$/',
|
||||
),
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'reserved' => '/^((?i)absolute|action|add|admin|after|aggregate|alias|all|allocate|alter|and|any|are|array|as|asc|assertion|at|authorization|before|begin|binary|bit|blob|boolean|both|breadth|by|call|cascade|cascaded|case|cast|catalog|char|character|check|class|clob|close|collate|collation|column|commit|completion|connect|connection|constraint|constraints|constructor|continue|corresponding|create|cross|cube|current|current_date|current_path|current_role|current_time|current_timestamp|current_user|cursor|cycle|data|date|day|deallocate|dec|decimal|declare|default|deferrable|deferred|delete|depth|deref|desc|describe|descriptor|destroy|destructor|deterministic|diagnostics|dictionary|disconnect|distinct|domain|double|drop|dynamic|each|else|end|end-exec|equals|escape|every|except|exception|exec|execute|external|false|fetch|first|float|for|foreign|found|free|from|full|function|general|get|global|go|goto|grant|group|grouping|having|host|hour|identity|ignore|immediate|in|indicator|initialize|initially|inner|inout|input|insert|int|integer|intersect|interval|into|is|isolation|iterate|join|key|language|large|last|lateral|leading|left|less|level|like|limit|local|localtime|localtimestamp|locator|map|match|minute|modifies|modify|module|month|names|national|natural|nchar|nclob|new|next|no|none|not|null|numeric|object|of|off|old|on|only|open|operation|option|or|order|ordinality|out|outer|output|pad|parameter|parameters|partial|path|postfix|precision|prefix|preorder|prepare|preserve|primary|prior|privileges|procedure|public|read|reads|real|recursive|ref|references|referencing|relative|restrict|result|return|returns|revoke|right|role|rollback|rollup|routine|row|rows|savepoint|schema|scope|scroll|search|second|section|select|sequence|session|session_user|set|sets|size|smallint|some|space|specific|specifictype|sql|sqlexception|sqlstate|sqlwarning|start|state|statement|static|structure|system_user|table|temporary|terminate|than|then|time|timestamp|timezone_hour|timezone_minute|to|trailing|transaction|translation|treat|trigger|true|under|union|unique|unknown|unnest|update|usage|user|using|value|values|varchar|variable|varying|view|when|whenever|where|with|without|work|write|year|zone)$/',
|
||||
'keyword' => '/^((?i)abs|ada|asensitive|assignment|asymmetric|atomic|avg|between|bitvar|bit_length|c|called|cardinality|catalog_name|chain|character_length|character_set_catalog|character_set_name|character_set_schema|char_length|checked|class_origin|coalesce|cobol|collation_catalog|collation_name|collation_schema|column_name|command_function|command_function_code|committed|condition_number|connection_name|constraint_catalog|constraint_name|constraint_schema|contains|convert|count|cursor_name|datetime_interval_code|datetime_interval_precision|defined|definer|dispatch|dynamic_function|dynamic_function_code|existing|exists|extract|final|fortran|g|generated|granted|hierarchy|hold|implementation|infix|insensitive|instance|instantiable|invoker|k|key_member|key_type|length|lower|m|max|message_length|message_octet_length|message_text|method|min|mod|more|mumps|name|nullable|nullif|number|octet_length|options|overlaps|overlay|overriding|parameter_mode|parameter_name|parameter_ordinal_position|parameter_specific_catalog|parameter_specific_name|parameter_specific_schema|pascal|pli|position|repeatable|returned_length|returned_octet_length|returned_sqlstate|routine_catalog|routine_name|routine_schema|row_count|scale|schema_name|security|self|sensitive|serializable|server_name|similar|simple|source|specific_name|style|subclass_origin|sublist|substring|sum|symmetric|system|table_name|transactions_committed|transactions_rolled_back|transaction_active|transform|transforms|translate|trigger_catalog|trigger_name|trigger_schema|trim|type|uncommitted|unnamed|upper|user_defined_type_catalog|user_defined_type_name|user_defined_type_schema)$/',
|
||||
),
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
6 => -1,
|
||||
7 =>
|
||||
array (
|
||||
),
|
||||
8 =>
|
||||
array (
|
||||
),
|
||||
9 =>
|
||||
array (
|
||||
),
|
||||
10 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
6 => NULL,
|
||||
7 => NULL,
|
||||
8 => NULL,
|
||||
9 => NULL,
|
||||
10 => NULL,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
6 => false,
|
||||
7 => false,
|
||||
8 => false,
|
||||
9 => false,
|
||||
10 => false,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'reserved' => 'reserved',
|
||||
'keyword' => 'var',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
318
library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php
Normal file
318
library/Text_Highlighter/Text/Highlighter/VBSCRIPT.php
Normal file
@ -0,0 +1,318 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. VBSCRIPT syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: vbscript.xml
|
||||
* @author Daniel Fruzynski <daniel-AT-poradnik-webmastera.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. VBSCRIPT syntax highlighting
|
||||
*
|
||||
* @author Daniel Fruzynski <daniel-AT-poradnik-webmastera.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: 0.7.0
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_VBSCRIPT extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'vbscript';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_VBSCRIPT($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)\\()|((?i)")|((?i)\'|[Rr][Ee][Mm]\\b)|((?i)\\d*\\.?\\d+)|((?i)&H[0-9a-fA-F]+)|((?i)[a-z_]\\w*)/',
|
||||
0 => '/((?i)\\()|((?i)")|((?i)\'|[Rr][Ee][Mm]\\b)|((?i)\\d*\\.?\\d+)|((?i)&H[0-9a-fA-F]+)|((?i)[a-z_]\\w*)/',
|
||||
1 => '//',
|
||||
2 => '/((?i)((https?|ftp):\\/\\/[\\w\\?\\.\\-\\&=\\/%+]+)|(^|[\\s,!?])www\\.\\w+\\.\\w+[\\w\\?\\.\\&=\\/%+]*)|((?i)\\w+[\\.\\w\\-]+@(\\w+[\\.\\w\\-])+)|((?i)\\b(note|fixme):)|((?i)\\$\\w+:.+\\$)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 0,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 3,
|
||||
1 => 1,
|
||||
2 => 1,
|
||||
3 => 0,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'quotes',
|
||||
2 => 'comment',
|
||||
3 => '',
|
||||
4 => '',
|
||||
5 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 'brackets',
|
||||
1 => 'quotes',
|
||||
2 => 'comment',
|
||||
3 => '',
|
||||
4 => '',
|
||||
5 => '',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => '',
|
||||
1 => '',
|
||||
2 => '',
|
||||
3 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'string',
|
||||
2 => 'comment',
|
||||
3 => 'number',
|
||||
4 => 'number',
|
||||
5 => 'identifier',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 'code',
|
||||
1 => 'string',
|
||||
2 => 'comment',
|
||||
3 => 'number',
|
||||
4 => 'number',
|
||||
5 => 'identifier',
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'url',
|
||||
1 => 'url',
|
||||
2 => 'inlinedoc',
|
||||
3 => 'inlinedoc',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)\\)/',
|
||||
1 => '/(?i)"/',
|
||||
2 => '/(?mi)$/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => -1,
|
||||
4 => -1,
|
||||
5 => -1,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
'constants' => '/^((?i)vbblack|vbred|vbgreen|vbyellow|vbblue|vbmagenta|vbcyan|vbwhite|vbbinarycompare|vbtextcompare|vbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbokonly|vbokcancel|vbabortretryignore|vbyesnocancel|vbyesno|vbretrycancel|vbcritical|vbquestion|vbexclamation|vbinformation|vbdefaultbutton1|vbdefaultbutton2|vbdefaultbutton3|vbdefaultbutton4|vbapplicationmodal|vbsystemmodal|vbok|vbcancel|vbabort|vbretry|vbignore|vbyes|vbno|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|vbtab|vbverticaltab|vbusedefault|vbtrue|vbfalse|vbempty|vbnull|vbinteger|vblong|vbsingle|vbdouble|vbcurrency|vbdate|vbstring|vbobject|vberror|vbboolean|vbvariant|vbdataobject|vbdecimal|vbbyte|vbarray)$/',
|
||||
'functions' => '/^((?i)abs|array|asc|atn|cbool|cbyte|ccur|cdate|cdbl|chr|cint|clng|cos|createobject|csng|cstr|date|dateadd|datediff|datepart|dateserial|datevalue|day|escape|eval|exp|filter|formatcurrency|formatdatetime|formatnumber|formatpercent|getlocale|getobject|getref|hex|hour|inputbox|instr|instrrev|int|fix|isarray|isdate|isempty|isnull|isnumeric|isobject|join|lbound|lcase|left|len|loadpicture|log|ltrim|rtrim|trim|mid|minute|month|monthname|msgbox|now|oct|replace|rgb|right|rnd|round|scriptengine|scriptenginebuildversion|scriptenginemajorversion|scriptengineminorversion|second|setlocale|sgn|sin|space|split|sqr|strcomp|string|strreverse|tan|time|timer|timeserial|timevalue|typename|ubound|ucase|unescape|vartype|weekday|weekdayname|year)$/',
|
||||
'builtin' => '/^((?i)debug|err|match|regexp)$/',
|
||||
'reserved' => '/^((?i)empty|false|nothing|null|true|and|eqv|imp|is|mod|not|or|xor|call|class|end|const|public|private|dim|do|while|until|exit|loop|erase|execute|executeglobal|for|each|in|to|step|next|function|default|if|then|else|elseif|on|error|resume|goto|option|explicit|property|get|let|set|randomize|redim|preserve|select|case|stop|sub|wend|with)$/',
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
'constants' => '/^((?i)vbblack|vbred|vbgreen|vbyellow|vbblue|vbmagenta|vbcyan|vbwhite|vbbinarycompare|vbtextcompare|vbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbokonly|vbokcancel|vbabortretryignore|vbyesnocancel|vbyesno|vbretrycancel|vbcritical|vbquestion|vbexclamation|vbinformation|vbdefaultbutton1|vbdefaultbutton2|vbdefaultbutton3|vbdefaultbutton4|vbapplicationmodal|vbsystemmodal|vbok|vbcancel|vbabort|vbretry|vbignore|vbyes|vbno|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|vbtab|vbverticaltab|vbusedefault|vbtrue|vbfalse|vbempty|vbnull|vbinteger|vblong|vbsingle|vbdouble|vbcurrency|vbdate|vbstring|vbobject|vberror|vbboolean|vbvariant|vbdataobject|vbdecimal|vbbyte|vbarray)$/',
|
||||
'functions' => '/^((?i)abs|array|asc|atn|cbool|cbyte|ccur|cdate|cdbl|chr|cint|clng|cos|createobject|csng|cstr|date|dateadd|datediff|datepart|dateserial|datevalue|day|escape|eval|exp|filter|formatcurrency|formatdatetime|formatnumber|formatpercent|getlocale|getobject|getref|hex|hour|inputbox|instr|instrrev|int|fix|isarray|isdate|isempty|isnull|isnumeric|isobject|join|lbound|lcase|left|len|loadpicture|log|ltrim|rtrim|trim|mid|minute|month|monthname|msgbox|now|oct|replace|rgb|right|rnd|round|scriptengine|scriptenginebuildversion|scriptenginemajorversion|scriptengineminorversion|second|setlocale|sgn|sin|space|split|sqr|strcomp|string|strreverse|tan|time|timer|timeserial|timevalue|typename|ubound|ucase|unescape|vartype|weekday|weekdayname|year)$/',
|
||||
'builtin' => '/^((?i)debug|err|match|regexp)$/',
|
||||
'reserved' => '/^((?i)empty|false|nothing|null|true|and|eqv|imp|is|mod|not|or|xor|call|class|end|const|public|private|dim|do|while|until|exit|loop|erase|execute|executeglobal|for|each|in|to|step|next|function|default|if|then|else|elseif|on|error|resume|goto|option|explicit|property|get|let|set|randomize|redim|preserve|select|case|stop|sub|wend|with)$/',
|
||||
),
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
4 => NULL,
|
||||
5 => NULL,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
3 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
4 => false,
|
||||
5 => false,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
'constants' => 'builtin',
|
||||
'functions' => 'builtin',
|
||||
'builtin' => 'builtin',
|
||||
'reserved' => 'reserved',
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
263
library/Text_Highlighter/Text/Highlighter/XML.php
Normal file
263
library/Text_Highlighter/Text/Highlighter/XML.php
Normal file
@ -0,0 +1,263 @@
|
||||
<?php
|
||||
/**
|
||||
* Auto-generated class. XML syntax highlighting
|
||||
*
|
||||
* PHP version 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @version generated from: : xml.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter.php';
|
||||
|
||||
/**
|
||||
* Auto-generated class. XML syntax highlighting
|
||||
*
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @copyright 2004-2006 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version Release: @package_version@
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
class Text_Highlighter_XML extends Text_Highlighter
|
||||
{
|
||||
var $_language = 'xml';
|
||||
|
||||
/**
|
||||
* PHP4 Compatible Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function Text_Highlighter_XML($options=array())
|
||||
{
|
||||
$this->__construct($options);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param array $options
|
||||
* @access public
|
||||
*/
|
||||
function __construct($options=array())
|
||||
{
|
||||
|
||||
$this->_options = $options;
|
||||
$this->_regs = array (
|
||||
-1 => '/((?i)\\<\\!\\[CDATA\\[)|((?i)\\<!--)|((?i)\\<[\\?\\/]?)|((?i)(&|%)[\\w\\-\\.]+;)/',
|
||||
0 => '//',
|
||||
1 => '//',
|
||||
2 => '/((?i)(?<=[\\<\\/?])[\\w\\-\\:]+)|((?i)[\\w\\-\\:]+)|((?i)")/',
|
||||
3 => '/((?i)(&|%)[\\w\\-\\.]+;)/',
|
||||
);
|
||||
$this->_counts = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
3 => 1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 1,
|
||||
),
|
||||
);
|
||||
$this->_delim = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'comment',
|
||||
2 => 'brackets',
|
||||
3 => '',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => '',
|
||||
1 => '',
|
||||
2 => 'quotes',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => '',
|
||||
),
|
||||
);
|
||||
$this->_inner = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 'comment',
|
||||
1 => 'comment',
|
||||
2 => 'code',
|
||||
3 => 'special',
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => 'reserved',
|
||||
1 => 'var',
|
||||
2 => 'string',
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => 'special',
|
||||
),
|
||||
);
|
||||
$this->_end = array (
|
||||
0 => '/(?i)\\]\\]\\>/',
|
||||
1 => '/(?i)--\\>/',
|
||||
2 => '/(?i)[\\/\\?]?\\>/',
|
||||
3 => '/(?i)"/',
|
||||
);
|
||||
$this->_states = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => 0,
|
||||
1 => 1,
|
||||
2 => 2,
|
||||
3 => -1,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => 3,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => -1,
|
||||
),
|
||||
);
|
||||
$this->_keywords = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => -1,
|
||||
1 => -1,
|
||||
2 => -1,
|
||||
3 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 => -1,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
),
|
||||
);
|
||||
$this->_parts = array (
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
1 => NULL,
|
||||
2 => NULL,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => NULL,
|
||||
),
|
||||
);
|
||||
$this->_subst = array (
|
||||
-1 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
3 => false,
|
||||
),
|
||||
0 =>
|
||||
array (
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
0 => false,
|
||||
1 => false,
|
||||
2 => false,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
0 => false,
|
||||
),
|
||||
);
|
||||
$this->_conditions = array (
|
||||
);
|
||||
$this->_kwmap = array (
|
||||
);
|
||||
$this->_defClass = 'code';
|
||||
$this->_checkDefines();
|
||||
}
|
||||
|
||||
}
|
802
library/Text_Highlighter/abap.xml
Normal file
802
library/Text_Highlighter/abap.xml
Normal file
@ -0,0 +1,802 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: abap.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="abap" case = "no">
|
||||
|
||||
<authors>
|
||||
<author name="Stoyan Stefanov" email ="ssttoo@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
|
||||
<region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="comment" start="^\*|"" end="/$/m" innerClass="comment">
|
||||
<contains all="no"/>
|
||||
</region>
|
||||
|
||||
<region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" />
|
||||
|
||||
<block name="identifier" match="[a-zA-Z_]\w*" innerClass="identifier" contained="yes"/>
|
||||
|
||||
<block name="hexinteger" match="0[xX][\da-f]+" innerClass="number" contained="yes"/>
|
||||
|
||||
<block name="integer" match="\d\d*|\b0\b" innerClass="number" contained="yes"/>
|
||||
|
||||
<block name="octinteger" match="0[0-7]+" innerClass="number" contained="yes"/>
|
||||
|
||||
<block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number" contained="yes"/>
|
||||
|
||||
|
||||
<block name="identifier" match="[a-z_\-]\w*" innerClass="identifier" case="no"/>
|
||||
|
||||
<keywords name="sy" inherits="identifier" innerClass="reserved">
|
||||
<keyword match="SCREEN-NAME"/>
|
||||
<keyword match="SCREEN-GROUP1"/>
|
||||
<keyword match="SCREEN-GROUP2"/>
|
||||
<keyword match="SCREEN-GROUP3"/>
|
||||
<keyword match="SCREEN-GROUP4"/>
|
||||
<keyword match="SCREEN-REQUIRED"/>
|
||||
<keyword match="SCREEN-INPUT"/>
|
||||
<keyword match="SCREEN-OUTPUT"/>
|
||||
<keyword match="SCREEN-INTENSIFIED"/>
|
||||
<keyword match="SCREEN-INVISIBLE"/>
|
||||
<keyword match="SCREEN-LENGTH"/>
|
||||
<keyword match="SCREEN-ACTIVE"/>
|
||||
<keyword match="SY-INDEX"/>
|
||||
<keyword match="SY-PAGNO"/>
|
||||
<keyword match="SY-TABIX"/>
|
||||
<keyword match="SY-TFILL"/>
|
||||
<keyword match="SY-TLOPC"/>
|
||||
<keyword match="SY-TMAXL"/>
|
||||
<keyword match="SY-TOCCU"/>
|
||||
<keyword match="SY-TTABC"/>
|
||||
<keyword match="SY-TSTIS"/>
|
||||
<keyword match="SY-TTABI"/>
|
||||
<keyword match="SY-DBCNT"/>
|
||||
<keyword match="SY-FDPOS"/>
|
||||
<keyword match="SY-COLNO"/>
|
||||
<keyword match="SY-LINCT"/>
|
||||
<keyword match="SY-LINNO"/>
|
||||
<keyword match="SY-LINSZ"/>
|
||||
<keyword match="SY-PAGCT"/>
|
||||
<keyword match="SY-MACOL"/>
|
||||
<keyword match="SY-MAROW"/>
|
||||
<keyword match="SY-TLENG"/>
|
||||
<keyword match="SY-SFOFF"/>
|
||||
<keyword match="SY-WILLI"/>
|
||||
<keyword match="SY-LILLI"/>
|
||||
<keyword match="SY-SUBRC"/>
|
||||
<keyword match="SY-FLENG"/>
|
||||
<keyword match="SY-CUCOL"/>
|
||||
<keyword match="SY-CUROW"/>
|
||||
<keyword match="SY-LSIND"/>
|
||||
<keyword match="SY-LISTI"/>
|
||||
<keyword match="SY-STEPL"/>
|
||||
<keyword match="SY-TPAGI"/>
|
||||
<keyword match="SY-WINX1"/>
|
||||
<keyword match="SY-WINY1"/>
|
||||
<keyword match="SY-WINX2"/>
|
||||
<keyword match="SY-WINY2"/>
|
||||
<keyword match="SY-WINCO"/>
|
||||
<keyword match="SY-WINRO"/>
|
||||
<keyword match="SY-WINDI"/>
|
||||
<keyword match="SY-SROWS"/>
|
||||
<keyword match="SY-SCOLS"/>
|
||||
<keyword match="SY-LOOPC"/>
|
||||
<keyword match="SY-FOLEN"/>
|
||||
<keyword match="SY-FODEC"/>
|
||||
<keyword match="SY-TZONE"/>
|
||||
<keyword match="SY-DAYST"/>
|
||||
<keyword match="SY-FTYPE"/>
|
||||
<keyword match="SY-APPLI"/>
|
||||
<keyword match="SY-FDAYW"/>
|
||||
<keyword match="SY-CCURS"/>
|
||||
<keyword match="SY-CCURT"/>
|
||||
<keyword match="SY-DEBUG"/>
|
||||
<keyword match="SY-CTYPE"/>
|
||||
<keyword match="SY-INPUT"/>
|
||||
<keyword match="SY-LANGU"/>
|
||||
<keyword match="SY-MODNO"/>
|
||||
<keyword match="SY-BATCH"/>
|
||||
<keyword match="SY-BINPT"/>
|
||||
<keyword match="SY-CALLD"/>
|
||||
<keyword match="SY-DYNNR"/>
|
||||
<keyword match="SY-DYNGR"/>
|
||||
<keyword match="SY-NEWPA"/>
|
||||
<keyword match="SY-PRI40"/>
|
||||
<keyword match="SY-RSTRT"/>
|
||||
<keyword match="SY-WTITL"/>
|
||||
<keyword match="SY-CPAGE"/>
|
||||
<keyword match="SY-DBNAM"/>
|
||||
<keyword match="SY-MANDT"/>
|
||||
<keyword match="SY-PREFX"/>
|
||||
<keyword match="SY-FMKEY"/>
|
||||
<keyword match="SY-PEXPI"/>
|
||||
<keyword match="SY-PRINI"/>
|
||||
<keyword match="SY-PRIMM"/>
|
||||
<keyword match="SY-PRREL"/>
|
||||
<keyword match="SY-PLAYO"/>
|
||||
<keyword match="SY-PRBIG"/>
|
||||
<keyword match="SY-PLAYP"/>
|
||||
<keyword match="SY-PRNEW"/>
|
||||
<keyword match="SY-PRLOG"/>
|
||||
<keyword match="SY-PDEST"/>
|
||||
<keyword match="SY-PLIST"/>
|
||||
<keyword match="SY-PAUTH"/>
|
||||
<keyword match="SY-PRDSN"/>
|
||||
<keyword match="SY-PNWPA"/>
|
||||
<keyword match="SY-CALLR"/>
|
||||
<keyword match="SY-REPI2"/>
|
||||
<keyword match="SY-RTITL"/>
|
||||
<keyword match="SY-PRREC"/>
|
||||
<keyword match="SY-PRTXT"/>
|
||||
<keyword match="SY-PRABT"/>
|
||||
<keyword match="SY-LPASS"/>
|
||||
<keyword match="SY-NRPAG"/>
|
||||
<keyword match="SY-PAART"/>
|
||||
<keyword match="SY-PRCOP"/>
|
||||
<keyword match="SY-BATZS"/>
|
||||
<keyword match="SY-BSPLD"/>
|
||||
<keyword match="SY-BREP4"/>
|
||||
<keyword match="SY-BATZO"/>
|
||||
<keyword match="SY-BATZD"/>
|
||||
<keyword match="SY-BATZW"/>
|
||||
<keyword match="SY-BATZM"/>
|
||||
<keyword match="SY-CTABL"/>
|
||||
<keyword match="SY-DBSYS"/>
|
||||
<keyword match="SY-DCSYS"/>
|
||||
<keyword match="SY-MACDB"/>
|
||||
<keyword match="SY-SYSID"/>
|
||||
<keyword match="SY-OPSYS"/>
|
||||
<keyword match="SY-PFKEY"/>
|
||||
<keyword match="SY-SAPRL"/>
|
||||
<keyword match="SY-TCODE"/>
|
||||
<keyword match="SY-UCOMM"/>
|
||||
<keyword match="SY-CFWAE"/>
|
||||
<keyword match="SY-CHWAE"/>
|
||||
<keyword match="SY-SPONO"/>
|
||||
<keyword match="SY-SPONR"/>
|
||||
<keyword match="SY-WAERS"/>
|
||||
<keyword match="SY-CDATE"/>
|
||||
<keyword match="SY-DATUM"/>
|
||||
<keyword match="SY-SLSET"/>
|
||||
<keyword match="SY-SUBTY"/>
|
||||
<keyword match="SY-SUBCS"/>
|
||||
<keyword match="SY-GROUP"/>
|
||||
<keyword match="SY-FFILE"/>
|
||||
<keyword match="SY-UZEIT"/>
|
||||
<keyword match="SY-DSNAM"/>
|
||||
<keyword match="SY-REPID"/>
|
||||
<keyword match="SY-TABID"/>
|
||||
<keyword match="SY-TFDSN"/>
|
||||
<keyword match="SY-UNAME"/>
|
||||
<keyword match="SY-LSTAT"/>
|
||||
<keyword match="SY-ABCDE"/>
|
||||
<keyword match="SY-MARKY"/>
|
||||
<keyword match="SY-SFNAM"/>
|
||||
<keyword match="SY-TNAME"/>
|
||||
<keyword match="SY-MSGLI"/>
|
||||
<keyword match="SY-TITLE"/>
|
||||
<keyword match="SY-ENTRY"/>
|
||||
<keyword match="SY-LISEL"/>
|
||||
<keyword match="SY-ULINE"/>
|
||||
<keyword match="SY-XCODE"/>
|
||||
<keyword match="SY-CPROG"/>
|
||||
<keyword match="SY-XPROG"/>
|
||||
<keyword match="SY-XFORM"/>
|
||||
<keyword match="SY-LDBPG"/>
|
||||
<keyword match="SY-TVAR0"/>
|
||||
<keyword match="SY-TVAR1"/>
|
||||
<keyword match="SY-TVAR2"/>
|
||||
<keyword match="SY-TVAR3"/>
|
||||
<keyword match="SY-TVAR4"/>
|
||||
<keyword match="SY-TVAR5"/>
|
||||
<keyword match="SY-TVAR6"/>
|
||||
<keyword match="SY-TVAR7"/>
|
||||
<keyword match="SY-TVAR8"/>
|
||||
<keyword match="SY-TVAR9"/>
|
||||
<keyword match="SY-MSGID"/>
|
||||
<keyword match="SY-MSGTY"/>
|
||||
<keyword match="SY-MSGNO"/>
|
||||
<keyword match="SY-MSGV1"/>
|
||||
<keyword match="SY-MSGV2"/>
|
||||
<keyword match="SY-MSGV3"/>
|
||||
<keyword match="SY-MSGV4"/>
|
||||
<keyword match="SY-ONCOM"/>
|
||||
<keyword match="SY-VLINE"/>
|
||||
<keyword match="SY-WINSL"/>
|
||||
<keyword match="SY-STACO"/>
|
||||
<keyword match="SY-STARO"/>
|
||||
<keyword match="SY-DATAR"/>
|
||||
<keyword match="SY-HOST"/>
|
||||
<keyword match="SY-LOCDB"/>
|
||||
<keyword match="SY-LOCOP"/>
|
||||
<keyword match="SY-DATLO"/>
|
||||
<keyword match="SY-TIMLO"/>
|
||||
<keyword match="SY-ZONLO"/>
|
||||
<keyword match="SYST-INDEX"/>
|
||||
<keyword match="SYST-PAGNO"/>
|
||||
<keyword match="SYST-TABIX"/>
|
||||
<keyword match="SYST-TFILL"/>
|
||||
<keyword match="SYST-TLOPC"/>
|
||||
<keyword match="SYST-TMAXL"/>
|
||||
<keyword match="SYST-TOCCU"/>
|
||||
<keyword match="SYST-TTABC"/>
|
||||
<keyword match="SYST-TSTIS"/>
|
||||
<keyword match="SYST-TTABI"/>
|
||||
<keyword match="SYST-DBCNT"/>
|
||||
<keyword match="SYST-FDPOS"/>
|
||||
<keyword match="SYST-COLNO"/>
|
||||
<keyword match="SYST-LINCT"/>
|
||||
<keyword match="SYST-LINNO"/>
|
||||
<keyword match="SYST-LINSZ"/>
|
||||
<keyword match="SYST-PAGCT"/>
|
||||
<keyword match="SYST-MACOL"/>
|
||||
<keyword match="SYST-MAROW"/>
|
||||
<keyword match="SYST-TLENG"/>
|
||||
<keyword match="SYST-SFOFF"/>
|
||||
<keyword match="SYST-WILLI"/>
|
||||
<keyword match="SYST-LILLI"/>
|
||||
<keyword match="SYST-SUBRC"/>
|
||||
<keyword match="SYST-FLENG"/>
|
||||
<keyword match="SYST-CUCOL"/>
|
||||
<keyword match="SYST-CUROW"/>
|
||||
<keyword match="SYST-LSIND"/>
|
||||
<keyword match="SYST-LISTI"/>
|
||||
<keyword match="SYST-STEPL"/>
|
||||
<keyword match="SYST-TPAGI"/>
|
||||
<keyword match="SYST-WINX1"/>
|
||||
<keyword match="SYST-WINY1"/>
|
||||
<keyword match="SYST-WINX2"/>
|
||||
<keyword match="SYST-WINY2"/>
|
||||
<keyword match="SYST-WINCO"/>
|
||||
<keyword match="SYST-WINRO"/>
|
||||
<keyword match="SYST-WINDI"/>
|
||||
<keyword match="SYST-SROWS"/>
|
||||
<keyword match="SYST-SCOLS"/>
|
||||
<keyword match="SYST-LOOPC"/>
|
||||
<keyword match="SYST-FOLEN"/>
|
||||
<keyword match="SYST-FODEC"/>
|
||||
<keyword match="SYST-TZONE"/>
|
||||
<keyword match="SYST-DAYST"/>
|
||||
<keyword match="SYST-FTYPE"/>
|
||||
<keyword match="SYST-APPLI"/>
|
||||
<keyword match="SYST-FDAYW"/>
|
||||
<keyword match="SYST-CCURS"/>
|
||||
<keyword match="SYST-CCURT"/>
|
||||
<keyword match="SYST-DEBUG"/>
|
||||
<keyword match="SYST-CTYPE"/>
|
||||
<keyword match="SYST-INPUT"/>
|
||||
<keyword match="SYST-LANGU"/>
|
||||
<keyword match="SYST-MODNO"/>
|
||||
<keyword match="SYST-BATCH"/>
|
||||
<keyword match="SYST-BINPT"/>
|
||||
<keyword match="SYST-CALLD"/>
|
||||
<keyword match="SYST-DYNNR"/>
|
||||
<keyword match="SYST-DYNGR"/>
|
||||
<keyword match="SYST-NEWPA"/>
|
||||
<keyword match="SYST-PRI40"/>
|
||||
<keyword match="SYST-RSTRT"/>
|
||||
<keyword match="SYST-WTITL"/>
|
||||
<keyword match="SYST-CPAGE"/>
|
||||
<keyword match="SYST-DBNAM"/>
|
||||
<keyword match="SYST-MANDT"/>
|
||||
<keyword match="SYST-PREFX"/>
|
||||
<keyword match="SYST-FMKEY"/>
|
||||
<keyword match="SYST-PEXPI"/>
|
||||
<keyword match="SYST-PRINI"/>
|
||||
<keyword match="SYST-PRIMM"/>
|
||||
<keyword match="SYST-PRREL"/>
|
||||
<keyword match="SYST-PLAYO"/>
|
||||
<keyword match="SYST-PRBIG"/>
|
||||
<keyword match="SYST-PLAYP"/>
|
||||
<keyword match="SYST-PRNEW"/>
|
||||
<keyword match="SYST-PRLOG"/>
|
||||
<keyword match="SYST-PDEST"/>
|
||||
<keyword match="SYST-PLIST"/>
|
||||
<keyword match="SYST-PAUTH"/>
|
||||
<keyword match="SYST-PRDSN"/>
|
||||
<keyword match="SYST-PNWPA"/>
|
||||
<keyword match="SYST-CALLR"/>
|
||||
<keyword match="SYST-REPI2"/>
|
||||
<keyword match="SYST-RTITL"/>
|
||||
<keyword match="SYST-PRREC"/>
|
||||
<keyword match="SYST-PRTXT"/>
|
||||
<keyword match="SYST-PRABT"/>
|
||||
<keyword match="SYST-LPASS"/>
|
||||
<keyword match="SYST-NRPAG"/>
|
||||
<keyword match="SYST-PAART"/>
|
||||
<keyword match="SYST-PRCOP"/>
|
||||
<keyword match="SYST-BATZS"/>
|
||||
<keyword match="SYST-BSPLD"/>
|
||||
<keyword match="SYST-BREP4"/>
|
||||
<keyword match="SYST-BATZO"/>
|
||||
<keyword match="SYST-BATZD"/>
|
||||
<keyword match="SYST-BATZW"/>
|
||||
<keyword match="SYST-BATZM"/>
|
||||
<keyword match="SYST-CTABL"/>
|
||||
<keyword match="SYST-DBSYS"/>
|
||||
<keyword match="SYST-DCSYS"/>
|
||||
<keyword match="SYST-MACDB"/>
|
||||
<keyword match="SYST-SYSID"/>
|
||||
<keyword match="SYST-OPSYS"/>
|
||||
<keyword match="SYST-PFKEY"/>
|
||||
<keyword match="SYST-SAPRL"/>
|
||||
<keyword match="SYST-TCODE"/>
|
||||
<keyword match="SYST-UCOMM"/>
|
||||
<keyword match="SYST-CFWAE"/>
|
||||
<keyword match="SYST-CHWAE"/>
|
||||
<keyword match="SYST-SPONO"/>
|
||||
<keyword match="SYST-SPONR"/>
|
||||
<keyword match="SYST-WAERS"/>
|
||||
<keyword match="SYST-CDATE"/>
|
||||
<keyword match="SYST-DATUM"/>
|
||||
<keyword match="SYST-SLSET"/>
|
||||
<keyword match="SYST-SUBTY"/>
|
||||
<keyword match="SYST-SUBCS"/>
|
||||
<keyword match="SYST-GROUP"/>
|
||||
<keyword match="SYST-FFILE"/>
|
||||
<keyword match="SYST-UZEIT"/>
|
||||
<keyword match="SYST-DSNAM"/>
|
||||
<keyword match="SYST-REPID"/>
|
||||
<keyword match="SYST-TABID"/>
|
||||
<keyword match="SYST-TFDSN"/>
|
||||
<keyword match="SYST-UNAME"/>
|
||||
<keyword match="SYST-LSTAT"/>
|
||||
<keyword match="SYST-ABCDE"/>
|
||||
<keyword match="SYST-MARKY"/>
|
||||
<keyword match="SYST-SFNAM"/>
|
||||
<keyword match="SYST-TNAME"/>
|
||||
<keyword match="SYST-MSGLI"/>
|
||||
<keyword match="SYST-TITLE"/>
|
||||
<keyword match="SYST-ENTRY"/>
|
||||
<keyword match="SYST-LISEL"/>
|
||||
<keyword match="SYST-ULINE"/>
|
||||
<keyword match="SYST-XCODE"/>
|
||||
<keyword match="SYST-CPROG"/>
|
||||
<keyword match="SYST-XPROG"/>
|
||||
<keyword match="SYST-XFORM"/>
|
||||
<keyword match="SYST-LDBPG"/>
|
||||
<keyword match="SYST-TVAR0"/>
|
||||
<keyword match="SYST-TVAR1"/>
|
||||
<keyword match="SYST-TVAR2"/>
|
||||
<keyword match="SYST-TVAR3"/>
|
||||
<keyword match="SYST-TVAR4"/>
|
||||
<keyword match="SYST-TVAR5"/>
|
||||
<keyword match="SYST-TVAR6"/>
|
||||
<keyword match="SYST-TVAR7"/>
|
||||
<keyword match="SYST-TVAR8"/>
|
||||
<keyword match="SYST-TVAR9"/>
|
||||
<keyword match="SYST-MSGID"/>
|
||||
<keyword match="SYST-MSGTY"/>
|
||||
<keyword match="SYST-MSGNO"/>
|
||||
<keyword match="SYST-MSGV1"/>
|
||||
<keyword match="SYST-MSGV2"/>
|
||||
<keyword match="SYST-MSGV3"/>
|
||||
<keyword match="SYST-MSGV4"/>
|
||||
<keyword match="SYST-ONCOM"/>
|
||||
<keyword match="SYST-VLINE"/>
|
||||
<keyword match="SYST-WINSL"/>
|
||||
<keyword match="SYST-STACO"/>
|
||||
<keyword match="SYST-STARO"/>
|
||||
<keyword match="SYST-DATAR"/>
|
||||
<keyword match="SYST-HOST"/>
|
||||
<keyword match="SYST-LOCDB"/>
|
||||
<keyword match="SYST-LOCOP"/>
|
||||
<keyword match="SYST-DATLO"/>
|
||||
<keyword match="SYST-TIMLO"/>
|
||||
<keyword match="SYST-ZONLO"/>
|
||||
</keywords>
|
||||
|
||||
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved">
|
||||
<keyword match="ABS"/>
|
||||
<keyword match="ACOS"/>
|
||||
<keyword match="ADD"/>
|
||||
<keyword match="ADD-CORRESPONDING"/>
|
||||
<keyword match="ADJACENT"/>
|
||||
<keyword match="AFTER"/>
|
||||
<keyword match="ALIASES"/>
|
||||
<keyword match="ALL"/>
|
||||
<keyword match="ANALYZER"/>
|
||||
<keyword match="AND"/>
|
||||
<keyword match="ANY"/>
|
||||
<keyword match="APPEND"/>
|
||||
<keyword match="AS"/>
|
||||
<keyword match="ASCENDING"/>
|
||||
<keyword match="ASIN"/>
|
||||
<keyword match="ASSIGN"/>
|
||||
<keyword match="ASSIGNED"/>
|
||||
<keyword match="ASSIGNING"/>
|
||||
<keyword match="AT"/>
|
||||
<keyword match="ATAN"/>
|
||||
<keyword match="AUTHORITY-CHECK"/>
|
||||
<keyword match="AVG"/>
|
||||
<keyword match="BACK"/>
|
||||
<keyword match="BEFORE"/>
|
||||
<keyword match="BEGIN"/>
|
||||
<keyword match="BINARY"/>
|
||||
<keyword match="BIT"/>
|
||||
<keyword match="BIT-AND"/>
|
||||
<keyword match="BIT-NOT"/>
|
||||
<keyword match="BIT-OR"/>
|
||||
<keyword match="BIT-XOR"/>
|
||||
<keyword match="BLANK"/>
|
||||
<keyword match="BLOCK"/>
|
||||
<keyword match="BREAK-POINT"/>
|
||||
<keyword match="BUFFER"/>
|
||||
<keyword match="BY"/>
|
||||
<keyword match="C"/>
|
||||
<keyword match="CALL"/>
|
||||
<keyword match="CASE"/>
|
||||
<keyword match="CATCH"/>
|
||||
<keyword match="CEIL"/>
|
||||
<keyword match="CENTERED"/>
|
||||
<keyword match="CHAIN"/>
|
||||
<keyword match="CHANGE"/>
|
||||
<keyword match="CHANGING"/>
|
||||
<keyword match="CHECK"/>
|
||||
<keyword match="CHECKBOX"/>
|
||||
<keyword match="CLASS"/>
|
||||
<keyword match="CLASS-DATA"/>
|
||||
<keyword match="CLASS-EVENTS"/>
|
||||
<keyword match="CLASS-METHODS"/>
|
||||
<keyword match="CLASS-POOL"/>
|
||||
<keyword match="CLEAR"/>
|
||||
<keyword match="CLIENT"/>
|
||||
<keyword match="CLOSE"/>
|
||||
<keyword match="CNT"/>
|
||||
<keyword match="CODE"/>
|
||||
<keyword match="COLLECT"/>
|
||||
<keyword match="COLOR"/>
|
||||
<keyword match="COMMENT"/>
|
||||
<keyword match="COMMIT"/>
|
||||
<keyword match="COMMUNICATION"/>
|
||||
<keyword match="COMPUTE"/>
|
||||
<keyword match="CONCATENATE"/>
|
||||
<keyword match="CONDENSE"/>
|
||||
<keyword match="CONSTANTS"/>
|
||||
<keyword match="CONTEXT"/>
|
||||
<keyword match="CONTEXTS"/>
|
||||
<keyword match="CONTINUE"/>
|
||||
<keyword match="CONTROL"/>
|
||||
<keyword match="CONTROLS"/>
|
||||
<keyword match="CONVERT"/>
|
||||
<keyword match="COPY"/>
|
||||
<keyword match="CORRESPONDING"/>
|
||||
<keyword match="COS"/>
|
||||
<keyword match="COSH"/>
|
||||
<keyword match="COUNT"/>
|
||||
<keyword match="COUNTRY"/>
|
||||
<keyword match="CREATE"/>
|
||||
<keyword match="CURRENCY"/>
|
||||
<keyword match="CURSOR"/>
|
||||
<keyword match="CUSTOMER-FUNCTION"/>
|
||||
<keyword match="DATA"/>
|
||||
<keyword match="DATABASE"/>
|
||||
<keyword match="DATASET"/>
|
||||
<keyword match="DELETE"/>
|
||||
<keyword match="DECIMALS"/>
|
||||
<keyword match="DEFAULT"/>
|
||||
<keyword match="DEFINE"/>
|
||||
<keyword match="DELETE"/>
|
||||
<keyword match="DEMAND"/>
|
||||
<keyword match="DESCENDING"/>
|
||||
<keyword match="DESCRIBE"/>
|
||||
<keyword match="DIALOG"/>
|
||||
<keyword match="DISTINCT"/>
|
||||
<keyword match="DIV"/>
|
||||
<keyword match="DIVIDE"/>
|
||||
<keyword match="DIVIDE-CORRESPONDING"/>
|
||||
<keyword match="DO"/>
|
||||
<keyword match="DUPLICATES"/>
|
||||
<keyword match="DYNPRO"/>
|
||||
<keyword match="EDIT"/>
|
||||
<keyword match="EDITOR-CALL"/>
|
||||
<keyword match="ELSE"/>
|
||||
<keyword match="ELSEIF"/>
|
||||
<keyword match="END"/>
|
||||
<keyword match="END-OF-DEFINITION"/>
|
||||
<keyword match="END-OF-PAGE"/>
|
||||
<keyword match="END-OF-SELECTION"/>
|
||||
<keyword match="ENDAT"/>
|
||||
<keyword match="ENDCASE"/>
|
||||
<keyword match="ENDCATCH"/>
|
||||
<keyword match="ENDCHAIN"/>
|
||||
<keyword match="ENDCLASS"/>
|
||||
<keyword match="ENDDO"/>
|
||||
<keyword match="ENDEXEC"/>
|
||||
<keyword match="ENDFORM"/>
|
||||
<keyword match="ENDFUNCTION"/>
|
||||
<keyword match="ENDIF"/>
|
||||
<keyword match="ENDINTERFACE"/>
|
||||
<keyword match="ENDLOOP"/>
|
||||
<keyword match="ENDMETHOD"/>
|
||||
<keyword match="ENDMODULE"/>
|
||||
<keyword match="ENDON"/>
|
||||
<keyword match="ENDPROVIDE"/>
|
||||
<keyword match="ENDSELECT"/>
|
||||
<keyword match="ENDWHILE"/>
|
||||
<keyword match="ENTRIES"/>
|
||||
<keyword match="EVENTS"/>
|
||||
<keyword match="EXEC"/>
|
||||
<keyword match="EXIT"/>
|
||||
<keyword match="EXIT-COMMAND"/>
|
||||
<keyword match="EXP"/>
|
||||
<keyword match="EXPONENT"/>
|
||||
<keyword match="EXPORT"/>
|
||||
<keyword match="EXPORTING"/>
|
||||
<keyword match="EXCEPTIONS"/>
|
||||
<keyword match="EXTENDED"/>
|
||||
<keyword match="EXTRACT"/>
|
||||
<keyword match="FETCH"/>
|
||||
<keyword match="FIELD"/>
|
||||
<keyword match="FIELD-GROUPS"/>
|
||||
<keyword match="FIELD-SYMBOLS"/>
|
||||
<keyword match="FIELDS"/>
|
||||
<keyword match="FLOOR"/>
|
||||
<keyword match="FOR"/>
|
||||
<keyword match="FORM"/>
|
||||
<keyword match="FORMAT"/>
|
||||
<keyword match="FRAC"/>
|
||||
<keyword match="FRAME"/>
|
||||
<keyword match="FREE"/>
|
||||
<keyword match="FROM"/>
|
||||
<keyword match="FUNCTION"/>
|
||||
<keyword match="FUNCTION-POOL"/>
|
||||
<keyword match="GENERATE"/>
|
||||
<keyword match="GET"/>
|
||||
<keyword match="GROUP"/>
|
||||
<keyword match="HASHED"/>
|
||||
<keyword match="HEADER"/>
|
||||
<keyword match="HELP-ID"/>
|
||||
<keyword match="HELP-REQUEST"/>
|
||||
<keyword match="HIDE"/>
|
||||
<keyword match="HOTSPOT"/>
|
||||
<keyword match="ICON"/>
|
||||
<keyword match="ID"/>
|
||||
<keyword match="IF"/>
|
||||
<keyword match="IMPORT"/>
|
||||
<keyword match="IMPORTING"/>
|
||||
<keyword match="INCLUDE"/>
|
||||
<keyword match="INDEX"/>
|
||||
<keyword match="INFOTYPES"/>
|
||||
<keyword match="INITIALIZATION"/>
|
||||
<keyword match="INNER"/>
|
||||
<keyword match="INPUT"/>
|
||||
<keyword match="INSERT"/>
|
||||
<keyword match="INTENSIFIED"/>
|
||||
<keyword match="INTERFACE"/>
|
||||
<keyword match="INTERFACE-POOL"/>
|
||||
<keyword match="INTERFACES"/>
|
||||
<keyword match="INTO"/>
|
||||
<keyword match="INVERSE"/>
|
||||
<keyword match="JOIN"/>
|
||||
<keyword match="KEY"/>
|
||||
<keyword match="LANGUAGE"/>
|
||||
<keyword match="LAST"/>
|
||||
<keyword match="LEAVE"/>
|
||||
<keyword match="LEFT"/>
|
||||
<keyword match="LEFT-JUSTIFIED"/>
|
||||
<keyword match="LIKE"/>
|
||||
<keyword match="LINE"/>
|
||||
<keyword match="LINE-COUNT"/>
|
||||
<keyword match="LINE-SELECTION"/>
|
||||
<keyword match="LINE-SIZE"/>
|
||||
<keyword match="LINES"/>
|
||||
<keyword match="LIST-PROCESSING"/>
|
||||
<keyword match="LOAD"/>
|
||||
<keyword match="LOAD-OF-PROGRAM"/>
|
||||
<keyword match="LOCAL"/>
|
||||
<keyword match="LOCALE"/>
|
||||
<keyword match="LOG"/>
|
||||
<keyword match="LOG10"/>
|
||||
<keyword match="LOOP"/>
|
||||
<keyword match="M"/>
|
||||
<keyword match="MARGIN"/>
|
||||
<keyword match="MASK"/>
|
||||
<keyword match="MATCHCODE"/>
|
||||
<keyword match="MAX"/>
|
||||
<keyword match="MEMORY"/>
|
||||
<keyword match="MESSAGE"/>
|
||||
<keyword match="MESSAGE-ID"/>
|
||||
<keyword match="MESSAGES"/>
|
||||
<keyword match="METHOD"/>
|
||||
<keyword match="METHODS"/>
|
||||
<keyword match="MIN"/>
|
||||
<keyword match="MOD"/>
|
||||
<keyword match="MODE"/>
|
||||
<keyword match="MODIF"/>
|
||||
<keyword match="MODIFY"/>
|
||||
<keyword match="MODULE"/>
|
||||
<keyword match="MOVE"/>
|
||||
<keyword match="MOVE-CORRESPONDING"/>
|
||||
<keyword match="MULTIPLY"/>
|
||||
<keyword match="MULTIPLY-CORRESPONDING"/>
|
||||
<keyword match="NEW"/>
|
||||
<keyword match="NEW-LINE"/>
|
||||
<keyword match="NEW-PAGE"/>
|
||||
<keyword match="NEXT"/>
|
||||
<keyword match="NO"/>
|
||||
<keyword match="NO-GAP"/>
|
||||
<keyword match="NO-GAPS"/>
|
||||
<keyword match="NO-HEADING"/>
|
||||
<keyword match="NO-SCROLLING"/>
|
||||
<keyword match="NO-SIGN"/>
|
||||
<keyword match="NO-TITLE"/>
|
||||
<keyword match="NO-ZERO"/>
|
||||
<keyword match="NODES"/>
|
||||
<keyword match="NON-UNIQUE"/>
|
||||
<keyword match="O"/>
|
||||
<keyword match="OBJECT"/>
|
||||
<keyword match="OBLIGATORY"/>
|
||||
<keyword match="OCCURS"/>
|
||||
<keyword match="OF"/>
|
||||
<keyword match="OFF"/>
|
||||
<keyword match="ON"/>
|
||||
<keyword match="OPEN"/>
|
||||
<keyword match="OR"/>
|
||||
<keyword match="ORDER"/>
|
||||
<keyword match="OTHERS"/>
|
||||
<keyword match="OUTER"/>
|
||||
<keyword match="OUTPUT"/>
|
||||
<keyword match="OVERLAY"/>
|
||||
<keyword match="PACK"/>
|
||||
<keyword match="PAGE"/>
|
||||
<keyword match="PARAMETER"/>
|
||||
<keyword match="PARAMETERS"/>
|
||||
<keyword match="PERFORM"/>
|
||||
<keyword match="PF-STATUS"/>
|
||||
<keyword match="POSITION"/>
|
||||
<keyword match="PRINT"/>
|
||||
<keyword match="PRINT-CONTROL"/>
|
||||
<keyword match="PRIVATE"/>
|
||||
<keyword match="PROCESS"/>
|
||||
<keyword match="PROGRAM"/>
|
||||
<keyword match="PROPERTY"/>
|
||||
<keyword match="PROTECTED"/>
|
||||
<keyword match="PROVIDE"/>
|
||||
<keyword match="PUBLIC"/>
|
||||
<keyword match="PUT"/>
|
||||
<keyword match="RADIOBUTTON"/>
|
||||
<keyword match="RAISE"/>
|
||||
<keyword match="RAISING"/>
|
||||
<keyword match="RANGE"/>
|
||||
<keyword match="RANGES"/>
|
||||
<keyword match="READ"/>
|
||||
<keyword match="RECEIVE"/>
|
||||
<keyword match="REFRESH"/>
|
||||
<keyword match="REJECT"/>
|
||||
<keyword match="REPLACE"/>
|
||||
<keyword match="REPORT"/>
|
||||
<keyword match="REQUESTED"/>
|
||||
<keyword match="RESERVE"/>
|
||||
<keyword match="RESET"/>
|
||||
<keyword match="RIGHT-JUSTIFIED"/>
|
||||
<keyword match="ROLLBACK"/>
|
||||
<keyword match="ROUND"/>
|
||||
<keyword match="ROWS"/>
|
||||
<keyword match="RTTI"/>
|
||||
<keyword match="RUN"/>
|
||||
<keyword match="SCAN"/>
|
||||
<keyword match="SCREEN"/>
|
||||
<keyword match="SEARCH"/>
|
||||
<keyword match="SEPARATED"/>
|
||||
<keyword match="SCROLL"/>
|
||||
<keyword match="SCROLL-BOUNDARY"/>
|
||||
<keyword match="SEARCH"/>
|
||||
<keyword match="SELECT"/>
|
||||
<keyword match="SELECT-OPTIONS"/>
|
||||
<keyword match="SELECTION-SCREEN"/>
|
||||
<keyword match="SELECTION-TABLE"/>
|
||||
<keyword match="SET"/>
|
||||
<keyword match="SHARED"/>
|
||||
<keyword match="SHIFT"/>
|
||||
<keyword match="SIGN"/>
|
||||
<keyword match="SIN"/>
|
||||
<keyword match="SINGLE"/>
|
||||
<keyword match="SINH"/>
|
||||
<keyword match="SIZE"/>
|
||||
<keyword match="SKIP"/>
|
||||
<keyword match="SORT"/>
|
||||
<keyword match="SORTED"/>
|
||||
<keyword match="SPLIT"/>
|
||||
<keyword match="SQL"/>
|
||||
<keyword match="SQRT"/>
|
||||
<keyword match="STAMP"/>
|
||||
<keyword match="STANDARD"/>
|
||||
<keyword match="START-OF-SELECTION"/>
|
||||
<keyword match="STATICS"/>
|
||||
<keyword match="STOP"/>
|
||||
<keyword match="STRING"/>
|
||||
<keyword match="STRLEN"/>
|
||||
<keyword match="STRUCTURE"/>
|
||||
<keyword match="SUBMIT"/>
|
||||
<keyword match="SUBTRACT"/>
|
||||
<keyword match="SUBTRACT-CORRESPONDING"/>
|
||||
<keyword match="SUM"/>
|
||||
<keyword match="SUPPLY"/>
|
||||
<keyword match="SUPPRESS"/>
|
||||
<keyword match="SYMBOL"/>
|
||||
<keyword match="SYNTAX-CHECK"/>
|
||||
<keyword match="SYNTAX-TRACE"/>
|
||||
<keyword match="SYSTEM-CALL"/>
|
||||
<keyword match="SYSTEM-EXCEPTIONS"/>
|
||||
<keyword match="TABLE"/>
|
||||
<keyword match="TABLE_LINE"/>
|
||||
<keyword match="TABLES"/>
|
||||
<keyword match="TAN"/>
|
||||
<keyword match="TANH"/>
|
||||
<keyword match="TEXT"/>
|
||||
<keyword match="TEXTPOOL"/>
|
||||
<keyword match="TIME"/>
|
||||
<keyword match="TIMES"/>
|
||||
<keyword match="TITLE"/>
|
||||
<keyword match="TITLEBAR"/>
|
||||
<keyword match="TO"/>
|
||||
<keyword match="TOP-OF-PAGE"/>
|
||||
<keyword match="TRANSACTION"/>
|
||||
<keyword match="TRANSFER"/>
|
||||
<keyword match="TRANSLATE"/>
|
||||
<keyword match="TRANSPORTING"/>
|
||||
<keyword match="TRUNC"/>
|
||||
<keyword match="TYPE"/>
|
||||
<keyword match="TYPE-POOL"/>
|
||||
<keyword match="TYPE-POOLS"/>
|
||||
<keyword match="TYPES"/>
|
||||
<keyword match="ULINE"/>
|
||||
<keyword match="UNDER"/>
|
||||
<keyword match="UNIQUE"/>
|
||||
<keyword match="UNIT"/>
|
||||
<keyword match="UNPACK"/>
|
||||
<keyword match="UP"/>
|
||||
<keyword match="UPDATE"/>
|
||||
<keyword match="USER-COMMAND"/>
|
||||
<keyword match="USING"/>
|
||||
<keyword match="VALUE"/>
|
||||
<keyword match="VALUE-REQUEST"/>
|
||||
<keyword match="VALUES"/>
|
||||
<keyword match="VARY"/>
|
||||
<keyword match="WHEN"/>
|
||||
<keyword match="WHERE"/>
|
||||
<keyword match="WHILE"/>
|
||||
<keyword match="WINDOW"/>
|
||||
<keyword match="WITH"/>
|
||||
<keyword match="WITH-TITLE"/>
|
||||
<keyword match="WORK"/>
|
||||
<keyword match="WRITE"/>
|
||||
<keyword match="X"/>
|
||||
<keyword match="XSTRING"/>
|
||||
<keyword match="Z"/>
|
||||
<keyword match="ZONE"/>
|
||||
</keywords>
|
||||
|
||||
|
||||
<keywords name="constants" inherits="identifier" innerClass="reserved">
|
||||
<keyword match="INITIAL"/>
|
||||
<keyword match="NULL"/>
|
||||
<keyword match="SPACE"/>
|
||||
<keyword match="COL_BACKGROUND"/>
|
||||
<keyword match="COL_HEADING"/>
|
||||
<keyword match="COL_NORMAL"/>
|
||||
<keyword match="COL_TOTAL"/>
|
||||
<keyword match="COL_KEY"/>
|
||||
<keyword match="COL_POSITIVE"/>
|
||||
<keyword match="COL_NEGATIVE"/>
|
||||
<keyword match="COL_GROUP"/>
|
||||
</keywords>
|
||||
|
||||
</highlight>
|
316
library/Text_Highlighter/avrc.xml
Normal file
316
library/Text_Highlighter/avrc.xml
Normal file
@ -0,0 +1,316 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: avrc.xml,v 1.1 2008-07-31 23:05:38 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="AVRC" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
<comment>
|
||||
C/C++ highlighter specific to Atmel AVR microcontrollers
|
||||
</comment>
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<block name="escaped" match="\\" innerClass="special" contained="yes">
|
||||
<onlyin region="strdouble"/>
|
||||
</block>
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string" start=""" end="""/>
|
||||
|
||||
<region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
|
||||
|
||||
<block name="hexinteger" match="\b0[xX][\da-f]+" innerClass="number"/>
|
||||
<block name="integer" match="\b\d\d*|\b0\b" innerClass="number"/>
|
||||
<block name="octinteger" match="\b0[0-7]+" innerClass="number"/>
|
||||
<block name="float" match="\b(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
|
||||
|
||||
|
||||
<region name="strincl" delimClass="quotes" innerClass="string" start="<" end=">">
|
||||
<onlyin region="include" />
|
||||
</region>
|
||||
|
||||
<!-- <block name="preprocessor" match="^#[azAZ_]\w*" innerClass="prepro"/> -->
|
||||
<region name="include" innerClass="prepro" start="/^[ \t]*#include/m" end="/(?<!\\)$/m">
|
||||
<contains region="strdouble"/>
|
||||
<contains region="strincl"/>
|
||||
</region>
|
||||
|
||||
<region name="preprocessor" delimClass="prepro" innerClass="code" start="/^[ \t]*#[ \t]*[a-z]+/mi" end="/(?<!\\)$/m">
|
||||
<contains region="comment"/>
|
||||
<contains region="mlcomment"/>
|
||||
<contains region="strdouble"/>
|
||||
<contains region="brackets"/>
|
||||
<contains region="block"/>
|
||||
<contains block="identifier"/>
|
||||
<contains block="integer"/>
|
||||
<contains block="hexinteger"/>
|
||||
<contains block="octinteger"/>
|
||||
<contains block="float"/>
|
||||
|
||||
</region>
|
||||
|
||||
<block name="number" match="\d*\.?\d+" innerClass="number"/>
|
||||
|
||||
|
||||
<region name="mlcomment" innerClass="mlcomment" start="\/\*" end="\*\/" >
|
||||
<contains block="cvstag"/>
|
||||
</region>
|
||||
|
||||
<block name="cvstag" match="\$\w+\s*:.+\$" innerClass="inlinedoc">
|
||||
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<region name="comment" start="\/\/.+" end="/$/m" innerClass="comment" delimClass="comment">
|
||||
<contains block="cvstag"/>
|
||||
</region>
|
||||
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
|
||||
<keyword match="and" />
|
||||
<keyword match="and_eq" />
|
||||
<keyword match="asm" />
|
||||
|
||||
<keyword match="bitand" />
|
||||
<keyword match="bitor" />
|
||||
<keyword match="break" />
|
||||
<keyword match="case" />
|
||||
<keyword match="catch" />
|
||||
<keyword match="compl" />
|
||||
|
||||
<keyword match="const_cast" />
|
||||
<keyword match="continue" />
|
||||
<keyword match="default" />
|
||||
<keyword match="delete" />
|
||||
<keyword match="do" />
|
||||
<keyword match="dynamic_cast" />
|
||||
|
||||
<keyword match="else" />
|
||||
<keyword match="for" />
|
||||
<keyword match="fortran" />
|
||||
<keyword match="friend" />
|
||||
<keyword match="goto" />
|
||||
<keyword match="if" />
|
||||
|
||||
<keyword match="new" />
|
||||
<keyword match="not" />
|
||||
<keyword match="not_eq" />
|
||||
<keyword match="operator" />
|
||||
<keyword match="or" />
|
||||
<keyword match="or_eq" />
|
||||
|
||||
<keyword match="private" />
|
||||
<keyword match="protected" />
|
||||
<keyword match="public" />
|
||||
<keyword match="reinterpret_cast" />
|
||||
<keyword match="return" />
|
||||
<keyword match="sizeof" />
|
||||
|
||||
<keyword match="static_cast" />
|
||||
<keyword match="switch" />
|
||||
<keyword match="this" />
|
||||
<keyword match="throw" />
|
||||
<keyword match="try" />
|
||||
<keyword match="typeid" />
|
||||
|
||||
<keyword match="using" />
|
||||
<keyword match="while" />
|
||||
<keyword match="xor" />
|
||||
<keyword match="xor_eq" />
|
||||
|
||||
<keyword match="false" />
|
||||
<keyword match="true" />
|
||||
</keywords>
|
||||
|
||||
<keywords name="registers" inherits="identifier" innerClass="reserved" case="yes">
|
||||
<keyword match="ACSR" />
|
||||
<keyword match="ADCH" />
|
||||
<keyword match="ADCL" />
|
||||
<keyword match="ADCSRA" />
|
||||
<keyword match="ADMUX" />
|
||||
<keyword match="ASSR" />
|
||||
<keyword match="DDRA" />
|
||||
<keyword match="DDRB" />
|
||||
<keyword match="DDRC" />
|
||||
<keyword match="DDRD" />
|
||||
<keyword match="DDRE" />
|
||||
<keyword match="DDRF" />
|
||||
<keyword match="DDRG" />
|
||||
<keyword match="EEARH" />
|
||||
<keyword match="EEARL" />
|
||||
<keyword match="EECR" />
|
||||
<keyword match="EEDR" />
|
||||
<keyword match="EICRA" />
|
||||
<keyword match="EICRB" />
|
||||
<keyword match="EIFR" />
|
||||
<keyword match="EIMSK" />
|
||||
<keyword match="ETIFR" />
|
||||
<keyword match="ETIMSK" />
|
||||
<keyword match="GICR" />
|
||||
<keyword match="GIFR" />
|
||||
<keyword match="ICR1H" />
|
||||
<keyword match="ICR1L" />
|
||||
<keyword match="ICR3H" />
|
||||
<keyword match="ICR3L" />
|
||||
<keyword match="MCUCR" />
|
||||
<keyword match="MCUCSR" />
|
||||
<keyword match="OCDR" />
|
||||
<keyword match="OCR0" />
|
||||
<keyword match="OCR1AH" />
|
||||
<keyword match="OCR1AL" />
|
||||
<keyword match="OCR1BH" />
|
||||
<keyword match="OCR1BL" />
|
||||
<keyword match="OCR1CH" />
|
||||
<keyword match="OCR1CL" />
|
||||
<keyword match="OCR2" />
|
||||
<keyword match="OCR3AH" />
|
||||
<keyword match="OCR3AL" />
|
||||
<keyword match="OCR3BH" />
|
||||
<keyword match="OCR3BL" />
|
||||
<keyword match="OCR3CH" />
|
||||
<keyword match="OCR3CL" />
|
||||
<keyword match="OSCCAL" />
|
||||
<keyword match="PINA" />
|
||||
<keyword match="PINB" />
|
||||
<keyword match="PINC" />
|
||||
<keyword match="PIND" />
|
||||
<keyword match="PINE" />
|
||||
<keyword match="PINF" />
|
||||
<keyword match="PING" />
|
||||
<keyword match="PORTA" />
|
||||
<keyword match="PORTB" />
|
||||
<keyword match="PORTC" />
|
||||
<keyword match="PORTD" />
|
||||
<keyword match="PORTE" />
|
||||
<keyword match="PORTF" />
|
||||
<keyword match="PORTG" />
|
||||
<keyword match="RAMPZ" />
|
||||
<keyword match="SFIOR" />
|
||||
<keyword match="SPCR" />
|
||||
<keyword match="SPDR" />
|
||||
<keyword match="SPH" />
|
||||
<keyword match="SPL" />
|
||||
<keyword match="SPMCR" />
|
||||
<keyword match="SPMCSR" />
|
||||
<keyword match="SPSR" />
|
||||
<keyword match="SREG" />
|
||||
<keyword match="TCCR0" />
|
||||
<keyword match="TCCR1A" />
|
||||
<keyword match="TCCR1B" />
|
||||
<keyword match="TCCR1C" />
|
||||
<keyword match="TCCR2" />
|
||||
<keyword match="TCCR3A" />
|
||||
<keyword match="TCCR3B" />
|
||||
<keyword match="TCCR3C" />
|
||||
<keyword match="TCNT0" />
|
||||
<keyword match="TCNT1H" />
|
||||
<keyword match="TCNT1L" />
|
||||
<keyword match="TCNT2" />
|
||||
<keyword match="TCNT3H" />
|
||||
<keyword match="TCNT3L" />
|
||||
<keyword match="TIFR" />
|
||||
<keyword match="TIMSK" />
|
||||
<keyword match="TWAR" />
|
||||
<keyword match="TWBR" />
|
||||
<keyword match="TWCR" />
|
||||
<keyword match="TWDR" />
|
||||
<keyword match="TWSR" />
|
||||
<keyword match="UBRR0H" />
|
||||
<keyword match="UBRR0L" />
|
||||
<keyword match="UBRR1H" />
|
||||
<keyword match="UBRR1L" />
|
||||
<keyword match="UBRRH" />
|
||||
<keyword match="UBRRL" />
|
||||
<keyword match="UCSR0A" />
|
||||
<keyword match="UCSR0B" />
|
||||
<keyword match="UCSR0C" />
|
||||
<keyword match="UCSR1A" />
|
||||
<keyword match="UCSR1B" />
|
||||
<keyword match="UCSR1C" />
|
||||
<keyword match="UCSRA" />
|
||||
<keyword match="UCSRB" />
|
||||
<keyword match="UCSRC" />
|
||||
<keyword match="UDR" />
|
||||
<keyword match="UDR0" />
|
||||
<keyword match="UDR1" />
|
||||
<keyword match="WDTCR" />
|
||||
<keyword match="XDIV" />
|
||||
<keyword match="XMCRA" />
|
||||
<keyword match="XMCRB" />
|
||||
</keywords>
|
||||
|
||||
<keywords name="types" inherits="identifier" innerClass="types" case="yes">
|
||||
|
||||
<keyword match="auto" />
|
||||
<keyword match="bool" />
|
||||
<keyword match="char" />
|
||||
<keyword match="class" />
|
||||
<keyword match="const" />
|
||||
<keyword match="double" />
|
||||
|
||||
<keyword match="enum" />
|
||||
<keyword match="explicit" />
|
||||
<keyword match="export" />
|
||||
<keyword match="extern" />
|
||||
<keyword match="float" />
|
||||
<keyword match="inline" />
|
||||
|
||||
<keyword match="int" />
|
||||
<keyword match="long" />
|
||||
<keyword match="mutable" />
|
||||
<keyword match="namespace" />
|
||||
<keyword match="register" />
|
||||
<keyword match="short" />
|
||||
|
||||
<keyword match="signed" />
|
||||
<keyword match="static" />
|
||||
<keyword match="struct" />
|
||||
<keyword match="template" />
|
||||
<keyword match="typedef" />
|
||||
<keyword match="typename" />
|
||||
|
||||
<keyword match="union" />
|
||||
<keyword match="unsigned" />
|
||||
<keyword match="virtual" />
|
||||
<keyword match="void" />
|
||||
<keyword match="volatile" />
|
||||
<keyword match="wchar_t" />
|
||||
|
||||
</keywords>
|
||||
|
||||
<keywords name="Common Macros" inherits="identifier" innerClass="prepro" case="yes">
|
||||
<keyword match="NULL" />
|
||||
<keyword match="TRUE" />
|
||||
<keyword match="FALSE" />
|
||||
<keyword match="MAX" />
|
||||
|
||||
<keyword match="MIN" />
|
||||
<keyword match="__LINE__" />
|
||||
<keyword match="__DATA__" />
|
||||
<keyword match="__FILE__" />
|
||||
<keyword match="__TIME__" />
|
||||
<keyword match="__STDC__" />
|
||||
|
||||
</keywords>
|
||||
|
||||
|
||||
<!--
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
|
||||
-->
|
||||
|
||||
</highlight>
|
||||
|
201
library/Text_Highlighter/cpp.xml
Normal file
201
library/Text_Highlighter/cpp.xml
Normal file
@ -0,0 +1,201 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: cpp.xml,v 1.2 2008-07-31 23:06:30 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="CPP" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Aaron Kalin"/>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
<comment>
|
||||
Thanks to Aaron Kalin for initial
|
||||
implementation of this highlighter
|
||||
</comment>
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<block name="escaped" match="\\" innerClass="special" contained="yes">
|
||||
<onlyin region="strdouble"/>
|
||||
</block>
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string" start=""" end="""/>
|
||||
|
||||
<region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
|
||||
|
||||
<block name="hexinteger" match="\b0[xX][\da-f]+" innerClass="number"/>
|
||||
<block name="integer" match="\b\d\d*|\b0\b" innerClass="number"/>
|
||||
<block name="octinteger" match="\b0[0-7]+" innerClass="number"/>
|
||||
<block name="float" match="\b(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
|
||||
|
||||
|
||||
<region name="strincl" delimClass="quotes" innerClass="string" start="<" end=">">
|
||||
<onlyin region="include" />
|
||||
</region>
|
||||
|
||||
<!-- <block name="preprocessor" match="^#[azAZ_]\w*" innerClass="prepro"/> -->
|
||||
<region name="include" innerClass="prepro" start="/^[ \t]*#include/m" end="/(?<!\\)$/m">
|
||||
<contains region="strdouble"/>
|
||||
<contains region="strincl"/>
|
||||
</region>
|
||||
|
||||
<region name="preprocessor" delimClass="prepro" innerClass="code" start="/^[ \t]*#[ \t]*[a-z]+/mi" end="/(?<!\\)$/m">
|
||||
<contains region="comment"/>
|
||||
<contains region="mlcomment"/>
|
||||
<contains region="strdouble"/>
|
||||
<contains region="brackets"/>
|
||||
<contains region="block"/>
|
||||
<contains block="identifier"/>
|
||||
<contains block="integer"/>
|
||||
<contains block="hexinteger"/>
|
||||
<contains block="octinteger"/>
|
||||
<contains block="float"/>
|
||||
|
||||
</region>
|
||||
|
||||
<block name="number" match="\d*\.?\d+" innerClass="number"/>
|
||||
|
||||
|
||||
<region name="mlcomment" innerClass="mlcomment" start="\/\*" end="\*\/" >
|
||||
<contains block="cvstag"/>
|
||||
</region>
|
||||
|
||||
<block name="cvstag" match="\$\w+\s*:.+\$" innerClass="inlinedoc">
|
||||
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<region name="comment" start="\/\/.+" end="/$/m" innerClass="comment" delimClass="comment">
|
||||
<contains block="cvstag"/>
|
||||
</region>
|
||||
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
|
||||
<keyword match="and" />
|
||||
<keyword match="and_eq" />
|
||||
<keyword match="asm" />
|
||||
|
||||
<keyword match="bitand" />
|
||||
<keyword match="bitor" />
|
||||
<keyword match="break" />
|
||||
<keyword match="case" />
|
||||
<keyword match="catch" />
|
||||
<keyword match="compl" />
|
||||
|
||||
<keyword match="const_cast" />
|
||||
<keyword match="continue" />
|
||||
<keyword match="default" />
|
||||
<keyword match="delete" />
|
||||
<keyword match="do" />
|
||||
<keyword match="dynamic_cast" />
|
||||
|
||||
<keyword match="else" />
|
||||
<keyword match="for" />
|
||||
<keyword match="fortran" />
|
||||
<keyword match="friend" />
|
||||
<keyword match="goto" />
|
||||
<keyword match="if" />
|
||||
|
||||
<keyword match="new" />
|
||||
<keyword match="not" />
|
||||
<keyword match="not_eq" />
|
||||
<keyword match="operator" />
|
||||
<keyword match="or" />
|
||||
<keyword match="or_eq" />
|
||||
|
||||
<keyword match="private" />
|
||||
<keyword match="protected" />
|
||||
<keyword match="public" />
|
||||
<keyword match="reinterpret_cast" />
|
||||
<keyword match="return" />
|
||||
<keyword match="sizeof" />
|
||||
|
||||
<keyword match="static_cast" />
|
||||
<keyword match="switch" />
|
||||
<keyword match="this" />
|
||||
<keyword match="throw" />
|
||||
<keyword match="try" />
|
||||
<keyword match="typeid" />
|
||||
|
||||
<keyword match="using" />
|
||||
<keyword match="while" />
|
||||
<keyword match="xor" />
|
||||
<keyword match="xor_eq" />
|
||||
|
||||
<keyword match="false" />
|
||||
<keyword match="true" />
|
||||
</keywords>
|
||||
|
||||
<keywords name="types" inherits="identifier" innerClass="types" case="yes">
|
||||
|
||||
<keyword match="auto" />
|
||||
<keyword match="bool" />
|
||||
<keyword match="char" />
|
||||
<keyword match="class" />
|
||||
<keyword match="const" />
|
||||
<keyword match="double" />
|
||||
|
||||
<keyword match="enum" />
|
||||
<keyword match="explicit" />
|
||||
<keyword match="export" />
|
||||
<keyword match="extern" />
|
||||
<keyword match="float" />
|
||||
<keyword match="inline" />
|
||||
|
||||
<keyword match="int" />
|
||||
<keyword match="long" />
|
||||
<keyword match="mutable" />
|
||||
<keyword match="namespace" />
|
||||
<keyword match="register" />
|
||||
<keyword match="short" />
|
||||
|
||||
<keyword match="signed" />
|
||||
<keyword match="static" />
|
||||
<keyword match="struct" />
|
||||
<keyword match="template" />
|
||||
<keyword match="typedef" />
|
||||
<keyword match="typename" />
|
||||
|
||||
<keyword match="union" />
|
||||
<keyword match="unsigned" />
|
||||
<keyword match="virtual" />
|
||||
<keyword match="void" />
|
||||
<keyword match="volatile" />
|
||||
<keyword match="wchar_t" />
|
||||
|
||||
</keywords>
|
||||
|
||||
<keywords name="Common Macros" inherits="identifier" innerClass="prepro" case="yes">
|
||||
<keyword match="NULL" />
|
||||
<keyword match="TRUE" />
|
||||
<keyword match="FALSE" />
|
||||
<keyword match="MAX" />
|
||||
|
||||
<keyword match="MIN" />
|
||||
<keyword match="__LINE__" />
|
||||
<keyword match="__DATA__" />
|
||||
<keyword match="__FILE__" />
|
||||
<keyword match="__TIME__" />
|
||||
<keyword match="__STDC__" />
|
||||
|
||||
</keywords>
|
||||
|
||||
|
||||
<!--
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case="yes">
|
||||
-->
|
||||
|
||||
</highlight>
|
||||
|
368
library/Text_Highlighter/css.xml
Normal file
368
library/Text_Highlighter/css.xml
Normal file
@ -0,0 +1,368 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: css.xml,v 1.2 2008-01-01 23:45:07 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="css" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
|
||||
<region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/" >
|
||||
|
||||
</region>
|
||||
|
||||
|
||||
<block name="atrule" match="(@[a-z\d]+)"
|
||||
innerClass="var" never-contained="yes"/>
|
||||
|
||||
<region name="property" start="[a-z][a-z\d\-]*\s*:" end="(?=;|\})"
|
||||
innerClass="code" delimClass="reserved" contained="yes"/>
|
||||
|
||||
<block name="selector" match="(((\.|#)?[a-z]+[a-z\d\-]*(?![a-z\d\-]))|(\*))(?!\s*:\s*[\s\{])"
|
||||
innerClass="identifier" >
|
||||
</block>
|
||||
|
||||
<block name="pseudo" match=":[a-z][a-z\d\-]*"
|
||||
innerClass="special" />
|
||||
|
||||
<block name="bescaped" match="\\[\\(\\)\\]"
|
||||
innerClass="string" contained="yes"/>
|
||||
|
||||
|
||||
<region name="paramselector" start="\[" end="\]" innerClass="code"
|
||||
delimClass="brackets" >
|
||||
<contains block="paramname" />
|
||||
<not-contains block="identifier" />
|
||||
<contains region="strdouble" />
|
||||
<contains region="strsingle" />
|
||||
</region>
|
||||
|
||||
<region name="block" start="\{" end="\}" innerClass="code"
|
||||
delimClass="brackets" >
|
||||
<contains region="block" />
|
||||
<contains region="property" />
|
||||
<contains block="selector" />
|
||||
<contains region="mlcomment" />
|
||||
</region>
|
||||
|
||||
<region name="brackets" start="\(" end="\)" innerClass="string"
|
||||
delimClass="brackets" contained="yes">
|
||||
<contains block="bescaped"/>
|
||||
</region>
|
||||
|
||||
<region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" contained="yes"/>
|
||||
|
||||
<block name="escaped" match="\\\\|\\"|\\'|\\`" innerClass="special" contained="yes">
|
||||
<onlyin region="strsingle"/>
|
||||
</block>
|
||||
|
||||
<block name="descaped" match="\\\\|\\"|\\'|\\`|\\t|\\n|\\r" innerClass="special" contained="yes">
|
||||
<onlyin region="strdouble"/>
|
||||
</block>
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string"
|
||||
start=""" end=""" contained="yes" />
|
||||
|
||||
<block name="measure" match="\d*\.?\d+(\%|em|ex|pc|pt|px|in|mm|cm)"
|
||||
innerClass="number" contained="yes">
|
||||
<onlyin region="property"/>
|
||||
<partClass index="1" innerClass="string" />
|
||||
</block>
|
||||
|
||||
<block name="number" match="\d*\.?\d+" innerClass="number" contained="yes" >
|
||||
<onlyin region="property"/>
|
||||
</block>
|
||||
|
||||
<block name="identifier" match="[a-z][a-z\d\-]*"
|
||||
innerClass="code" contained="yes">
|
||||
<onlyin region="property"/>
|
||||
</block>
|
||||
|
||||
<block name="hexcolor" match="#([\da-f]{6}|[\da-f]{3})\b" innerClass="var" contained="yes">
|
||||
<onlyin region="property"/>
|
||||
</block>
|
||||
|
||||
<block name="paramname" match="[\w\-\:]+" innerClass="var" contained="yes">
|
||||
<onlyin region="paramselector"/>
|
||||
</block>
|
||||
|
||||
<keywords name="propertyValue" inherits="identifier" innerClass="string" case = "no">
|
||||
<word name="left-side"/>
|
||||
<keyword match="far-left"/>
|
||||
<keyword match="left"/>
|
||||
<keyword match="center-left"/>
|
||||
<keyword match="center-right"/>
|
||||
<keyword match="center"/>
|
||||
<keyword match="far-right"/>
|
||||
<keyword match="right-side"/>
|
||||
<keyword match="right"/>
|
||||
<keyword match="behind"/>
|
||||
<keyword match="leftwards"/>
|
||||
<keyword match="rightwards"/>
|
||||
<keyword match="inherit"/>
|
||||
<keyword match="scroll"/>
|
||||
<keyword match="fixed"/>
|
||||
<keyword match="transparent"/>
|
||||
<keyword match="none"/>
|
||||
<keyword match="repeat-x"/>
|
||||
<keyword match="repeat-y"/>
|
||||
<keyword match="repeat"/>
|
||||
<keyword match="no-repeat"/>
|
||||
<keyword match="collapse"/>
|
||||
<keyword match="separate"/>
|
||||
<keyword match="auto"/>
|
||||
<keyword match="top"/>
|
||||
<keyword match="bottom"/>
|
||||
<keyword match="both"/>
|
||||
<keyword match="open-quote"/>
|
||||
<keyword match="close-quote"/>
|
||||
<keyword match="no-open-quote"/>
|
||||
<keyword match="no-close-quote"/>
|
||||
<keyword match="crosshair"/>
|
||||
<keyword match="default"/>
|
||||
<keyword match="pointer"/>
|
||||
<keyword match="move"/>
|
||||
<keyword match="e-resize"/>
|
||||
<keyword match="ne-resize"/>
|
||||
<keyword match="nw-resize"/>
|
||||
<keyword match="n-resize"/>
|
||||
<keyword match="se-resize"/>
|
||||
<keyword match="sw-resize"/>
|
||||
<keyword match="s-resize"/>
|
||||
<keyword match="text"/>
|
||||
<keyword match="wait"/>
|
||||
<keyword match="help"/>
|
||||
<keyword match="ltr"/>
|
||||
<keyword match="rtl"/>
|
||||
<keyword match="inline"/>
|
||||
<keyword match="block"/>
|
||||
<keyword match="list-item"/>
|
||||
<keyword match="run-in"/>
|
||||
<keyword match="compact"/>
|
||||
<keyword match="marker"/>
|
||||
<keyword match="table"/>
|
||||
<keyword match="inline-table"/>
|
||||
<keyword match="table-row-group"/>
|
||||
<keyword match="table-header-group"/>
|
||||
<keyword match="table-footer-group"/>
|
||||
<keyword match="table-row"/>
|
||||
<keyword match="table-column-group"/>
|
||||
<keyword match="table-column"/>
|
||||
<keyword match="table-cell"/>
|
||||
<keyword match="table-caption"/>
|
||||
<keyword match="below"/>
|
||||
<keyword match="level"/>
|
||||
<keyword match="above"/>
|
||||
<keyword match="higher"/>
|
||||
<keyword match="lower"/>
|
||||
<keyword match="show"/>
|
||||
<keyword match="hide"/>
|
||||
<keyword match="caption"/>
|
||||
<keyword match="icon"/>
|
||||
<keyword match="menu"/>
|
||||
<keyword match="message-box"/>
|
||||
<keyword match="small-caption"/>
|
||||
<keyword match="status-bar"/>
|
||||
<keyword match="normal"/>
|
||||
<keyword match="wider"/>
|
||||
<keyword match="narrower"/>
|
||||
<keyword match="ultra-condensed"/>
|
||||
<keyword match="extra-condensed"/>
|
||||
<keyword match="condensed"/>
|
||||
<keyword match="semi-condensed"/>
|
||||
<keyword match="semi-expanded"/>
|
||||
<keyword match="expanded"/>
|
||||
<keyword match="extra-expanded"/>
|
||||
<keyword match="ultra-expanded"/>
|
||||
<keyword match="italic"/>
|
||||
<keyword match="oblique"/>
|
||||
<keyword match="small-caps"/>
|
||||
<keyword match="bold"/>
|
||||
<keyword match="bolder"/>
|
||||
<keyword match="lighter"/>
|
||||
<keyword match="inside"/>
|
||||
<keyword match="outside"/>
|
||||
<keyword match="disc"/>
|
||||
<keyword match="circle"/>
|
||||
<keyword match="square"/>
|
||||
<keyword match="decimal"/>
|
||||
<keyword match="decimal-leading-zero"/>
|
||||
<keyword match="lower-roman"/>
|
||||
<keyword match="upper-roman"/>
|
||||
<keyword match="lower-greek"/>
|
||||
<keyword match="lower-alpha"/>
|
||||
<keyword match="lower-latin"/>
|
||||
<keyword match="upper-alpha"/>
|
||||
<keyword match="upper-latin"/>
|
||||
<keyword match="hebrew"/>
|
||||
<keyword match="armenian"/>
|
||||
<keyword match="georgian"/>
|
||||
<keyword match="cjk-ideographic"/>
|
||||
<keyword match="hiragana"/>
|
||||
<keyword match="katakana"/>
|
||||
<keyword match="hiragana-iroha"/>
|
||||
<keyword match="katakana-iroha"/>
|
||||
<keyword match="crop"/>
|
||||
<keyword match="cross"/>
|
||||
<keyword match="invert"/>
|
||||
<keyword match="visible"/>
|
||||
<keyword match="hidden"/>
|
||||
<keyword match="always"/>
|
||||
<keyword match="avoid"/>
|
||||
<keyword match="x-low"/>
|
||||
<keyword match="low"/>
|
||||
<keyword match="medium"/>
|
||||
<keyword match="high"/>
|
||||
<keyword match="x-high"/>
|
||||
<keyword match="mix?"/>
|
||||
<keyword match="repeat?"/>
|
||||
<keyword match="static"/>
|
||||
<keyword match="relative"/>
|
||||
<keyword match="absolute"/>
|
||||
<keyword match="portrait"/>
|
||||
<keyword match="landscape"/>
|
||||
<keyword match="spell-out"/>
|
||||
<keyword match="once"/>
|
||||
<keyword match="digits"/>
|
||||
<keyword match="continuous"/>
|
||||
<keyword match="code"/>
|
||||
<keyword match="x-slow"/>
|
||||
<keyword match="slow"/>
|
||||
<keyword match="fast"/>
|
||||
<keyword match="x-fast"/>
|
||||
<keyword match="faster"/>
|
||||
<keyword match="slower"/>
|
||||
<keyword match="justify"/>
|
||||
<keyword match="underline"/>
|
||||
<keyword match="overline"/>
|
||||
<keyword match="line-through"/>
|
||||
<keyword match="blink"/>
|
||||
<keyword match="capitalize"/>
|
||||
<keyword match="uppercase"/>
|
||||
<keyword match="lowercase"/>
|
||||
<keyword match="embed"/>
|
||||
<keyword match="bidi-override"/>
|
||||
<keyword match="baseline"/>
|
||||
<keyword match="sub"/>
|
||||
<keyword match="super"/>
|
||||
<keyword match="text-top"/>
|
||||
<keyword match="middle"/>
|
||||
<keyword match="text-bottom"/>
|
||||
<keyword match="silent"/>
|
||||
<keyword match="x-soft"/>
|
||||
<keyword match="soft"/>
|
||||
<keyword match="loud"/>
|
||||
<keyword match="x-loud"/>
|
||||
<keyword match="pre"/>
|
||||
<keyword match="nowrap"/>
|
||||
<keyword match="serif"/>
|
||||
<keyword match="sans-serif"/>
|
||||
<keyword match="cursive"/>
|
||||
<keyword match="fantasy"/>
|
||||
<keyword match="monospace"/>
|
||||
<keyword match="empty"/>
|
||||
<keyword match="string"/>
|
||||
<keyword match="strict"/>
|
||||
<keyword match="loose"/>
|
||||
<keyword match="char"/>
|
||||
<keyword match="true"/>
|
||||
<keyword match="false"/>
|
||||
<keyword match="dotted"/>
|
||||
<keyword match="dashed"/>
|
||||
<keyword match="solid"/>
|
||||
<keyword match="double"/>
|
||||
<keyword match="groove"/>
|
||||
<keyword match="ridge"/>
|
||||
<keyword match="inset"/>
|
||||
<keyword match="outset"/>
|
||||
<keyword match="larger"/>
|
||||
<keyword match="smaller"/>
|
||||
<keyword match="xx-small"/>
|
||||
<keyword match="x-small"/>
|
||||
<keyword match="small"/>
|
||||
<keyword match="large"/>
|
||||
<keyword match="x-large"/>
|
||||
<keyword match="xx-large"/>
|
||||
<keyword match="all"/>
|
||||
<keyword match="newspaper"/>
|
||||
<keyword match="distribute"/>
|
||||
<keyword match="distribute-all-lines"/>
|
||||
<keyword match="distribute-center-last"/>
|
||||
<keyword match="inter-word"/>
|
||||
<keyword match="inter-ideograph"/>
|
||||
<keyword match="inter-cluster"/>
|
||||
<keyword match="kashida"/>
|
||||
<keyword match="ideograph-alpha"/>
|
||||
<keyword match="ideograph-numeric"/>
|
||||
<keyword match="ideograph-parenthesis"/>
|
||||
<keyword match="ideograph-space"/>
|
||||
<keyword match="keep-all"/>
|
||||
<keyword match="break-all"/>
|
||||
<keyword match="break-word"/>
|
||||
<keyword match="lr-tb"/>
|
||||
<keyword match="tb-rl"/>
|
||||
<keyword match="thin"/>
|
||||
<keyword match="thick"/>
|
||||
<keyword match="inline-block"/>
|
||||
<keyword match="w-resize"/>
|
||||
<keyword match="hand"/>
|
||||
<keyword match="distribute-letter"/>
|
||||
<keyword match="distribute-space"/>
|
||||
<keyword match="whitespace"/>
|
||||
<keyword match="male"/>
|
||||
<keyword match="female"/>
|
||||
<keyword match="child"/>
|
||||
</keywords>
|
||||
|
||||
|
||||
<keywords name="namedcolor" inherits="identifier" innerClass="var" case = "no">
|
||||
<keyword match="aqua"/>
|
||||
<keyword match="black"/>
|
||||
<keyword match="blue"/>
|
||||
<keyword match="fuchsia"/>
|
||||
<keyword match="gray"/>
|
||||
<keyword match="green"/>
|
||||
<keyword match="lime"/>
|
||||
<keyword match="maroon"/>
|
||||
<keyword match="navy"/>
|
||||
<keyword match="olive"/>
|
||||
<keyword match="purple"/>
|
||||
<keyword match="red"/>
|
||||
<keyword match="silver"/>
|
||||
<keyword match="teal"/>
|
||||
<keyword match="white"/>
|
||||
<keyword match="yellow"/>
|
||||
<keyword match="ActiveBorder"/>
|
||||
<keyword match="ActiveCaption"/>
|
||||
<keyword match="AppWorkspace"/>
|
||||
<keyword match="Background"/>
|
||||
<keyword match="ButtonFace"/>
|
||||
<keyword match="ButtonHighlight"/>
|
||||
<keyword match="ButtonShadow"/>
|
||||
<keyword match="ButtonText"/>
|
||||
<keyword match="CaptionText"/>
|
||||
<keyword match="GrayText"/>
|
||||
<keyword match="Highlight"/>
|
||||
<keyword match="HighlightText"/>
|
||||
<keyword match="InactiveBorder"/>
|
||||
<keyword match="InactiveCaption"/>
|
||||
<keyword match="InactiveCaptionText"/>
|
||||
<keyword match="InfoBackground"/>
|
||||
<keyword match="InfoText"/>
|
||||
<keyword match="Menu"/>
|
||||
<keyword match="MenuText"/>
|
||||
<keyword match="Scrollbar"/>
|
||||
<keyword match="ThreeDDarkShadow"/>
|
||||
<keyword match="ThreeDFace"/>
|
||||
<keyword match="ThreeDHighlight"/>
|
||||
<keyword match="ThreeDLightShadow"/>
|
||||
<keyword match="ThreeDShadow"/>
|
||||
<keyword match="Window"/>
|
||||
<keyword match="WindowFrame"/>
|
||||
<keyword match="WindowText"/>
|
||||
</keywords>
|
||||
</highlight>
|
45
library/Text_Highlighter/diff.xml
Normal file
45
library/Text_Highlighter/diff.xml
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: diff.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="diff" case="yes">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
|
||||
<default innerClass="default" />
|
||||
|
||||
<block name="noNewLine" match="/^\\\sNo\snewline.+$/m" innerClass="special"/>
|
||||
|
||||
<block name="diffSeparator" match="/^\-\-\-$/m" innerClass="code"/>
|
||||
|
||||
<block name="diffCmdLine" match="/^(diff\s+\-|Only\s+|Index).*$/m" innerClass="var"/>
|
||||
<block name="diffFiles" match="/^(\-\-\-|\+\+\+)\s.+$/m" innerClass="reserved"/>
|
||||
|
||||
<block name="contextOrg" match="/^\*.*$/m" innerClass="quotes"/>
|
||||
<block name="contextNew" match="/^\+.*$/m" innerClass="string"/>
|
||||
<block name="contextChg" match="/^!.*$/m" innerClass="inlinedoc"/>
|
||||
|
||||
<block name="defOrg" match="/^\<\s.*$/m" innerClass="quotes"/>
|
||||
<block name="defNew" match="/^\>\s.*$/m" innerClass="string"/>
|
||||
<block name="defChg" match="/^\d+(\,\d+)?[acd]\d+(,\d+)?$/m" innerClass="code"/>
|
||||
|
||||
<block name="uniOrg" match="/^\-.*$/m" innerClass="quotes"/>
|
||||
<block name="uniNew" match="/^\+.*$/m" innerClass="string"/>
|
||||
<block name="uniChg" match="/^@@.+@@$/m" innerClass="code"/>
|
||||
|
||||
<block name="normOrg" match="/^d\d+\s\d+$/m" innerClass="code"/>
|
||||
<region name="normNew" start="/^a\d+\s\d+$/m" end="/(?=^[ad]\d+\s\d+)/m" innerClass="var" delimClass="code"/>
|
||||
|
||||
<region name="edNew" start="/^(\d+)(,\d+)?(a)$/m" end="/^(\.)$/m" innerClass="string" delimClass="code"/>
|
||||
<region name="edChg" start="/^(\d+)(,\d+)?(c)$/m" end="/^(\.)$/m" innerClass="inlinedoc" delimClass="code"/>
|
||||
<block name="edDel" match="/^(\d+)(,\d+)?(d)$/m" innerClass="code"/>
|
||||
|
||||
<region name="fedNew" start="/^a(\d+)(\s\d+)?$/m" end="/^(\.)$/m" innerClass="string" delimClass="code"/>
|
||||
<region name="fedChg" start="/^c(\d+)(\s\d+)?$/m" end="/^(\.)$/m" innerClass="inlinedoc" delimClass="code"/>
|
||||
<block name="fedDel" match="/^d(\d+)(\s\d+)?$/m"
|
||||
innerClass="code"/>
|
||||
|
||||
|
||||
</highlight>
|
66
library/Text_Highlighter/dtd.xml
Normal file
66
library/Text_Highlighter/dtd.xml
Normal file
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: dtd.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="dtd" case="yes">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<region name="comment" delimClass="comment" innerClass="comment"
|
||||
start="\<!--" end="--\>">
|
||||
</region>
|
||||
|
||||
<region name="redecl" start="\<\!\[" end="\]\]\>" delimClass="brackets"
|
||||
innerClass="code" never-contained="yes">
|
||||
<contains all="yes" />
|
||||
</region>
|
||||
|
||||
<region name="tag" start="\<" end="\>" delimClass="brackets"
|
||||
innerClass="code" >
|
||||
<contains all="yes" />
|
||||
<onlyin region="redecl"/>
|
||||
</region>
|
||||
|
||||
<region name="brackets" start="\(" end="\)" delimClass="brackets"
|
||||
innerClass="code" contained="yes">
|
||||
<onlyin region="tag"/>
|
||||
<onlyin region="brackets"/>
|
||||
<contains block="entity" />
|
||||
<contains block="identifier" />
|
||||
</region>
|
||||
|
||||
<region name="strsingle" start="'" end="'" delimClass="quotes"
|
||||
innerClass="string" contained="yes">
|
||||
<onlyin region="tag"/>
|
||||
<contains block="entity" />
|
||||
</region>
|
||||
|
||||
<region name="strdouble" start=""" end=""" delimClass="quotes"
|
||||
innerClass="string" contained="yes">
|
||||
<onlyin region="tag"/>
|
||||
<contains block="entity" />
|
||||
</region>
|
||||
|
||||
<block name="tagname" match="(?<=\<)!(ENTITY|ATTLIST|ELEMENT|NOTATION)\b"
|
||||
innerClass="var" contained="yes">
|
||||
<onlyin region="tag"/>
|
||||
</block>
|
||||
|
||||
<block name="reserved" match="\s(#(IMPLIED|REQUIRED|FIXED))|CDATA|ENTITY|NOTATION|NMTOKENS?|PUBLIC|SYSTEM\b"
|
||||
innerClass="reserved" contained="yes">
|
||||
<onlyin region="tag"/>
|
||||
</block>
|
||||
|
||||
<block name="pcdata" match="#PCDATA\b"
|
||||
innerClass="reserved" contained="yes" />
|
||||
|
||||
<block name="entity" match="(\&|\%)[\w\-\.]+;" innerClass="special" />
|
||||
|
||||
<block name="identifier" match="[a-z][a-z\d\-\,:]+"
|
||||
innerClass="identifier" contained="yes" case="no"/>
|
||||
|
||||
</highlight>
|
171
library/Text_Highlighter/generate
Normal file
171
library/Text_Highlighter/generate
Normal file
@ -0,0 +1,171 @@
|
||||
#!@php_bin@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
/**
|
||||
* Console highlighter class generator
|
||||
*
|
||||
* PHP versions 4 and 5
|
||||
*
|
||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
* that is available through the world-wide-web at the following URI:
|
||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
* the PHP License and are unable to obtain it through the web, please
|
||||
* send a note to license@php.net so we can mail you a copy immediately.
|
||||
*
|
||||
* @category Text
|
||||
* @package Text_Highlighter
|
||||
* @author Andrey Demenev <demenev@gmail.com>
|
||||
* @copyright 2004 Andrey Demenev
|
||||
* @license http://www.php.net/license/3_0.txt PHP License
|
||||
* @version CVS: $Id$
|
||||
* @link http://pear.php.net/package/Text_Highlighter
|
||||
*/
|
||||
|
||||
require_once 'Text/Highlighter/Generator.php';
|
||||
require_once 'Console/Getopt.php';
|
||||
|
||||
$options = Console_Getopt::getopt($argv, 'x:p:d:h', array('xml=', 'php=','dir=', 'help'));
|
||||
|
||||
if (PEAR::isError($options)) {
|
||||
$message = str_replace('Console_Getopt: ','',$options->message);
|
||||
usage($message);
|
||||
}
|
||||
|
||||
$source = array();
|
||||
$dest = array();
|
||||
$dir = '';
|
||||
|
||||
$expectp = false;
|
||||
$expectx = false;
|
||||
$unexpectedx = false;
|
||||
$unexpectedp = false;
|
||||
$si = $di = 0;
|
||||
|
||||
foreach ($options[0] as $option) {
|
||||
switch ($option[0]) {
|
||||
case 'x':
|
||||
case '--xml':
|
||||
$source[$si] = $option[1];
|
||||
if ($si) {
|
||||
$di++;
|
||||
}
|
||||
$si++;
|
||||
if ($expectp) {
|
||||
$unexpectedx = true;
|
||||
}
|
||||
$expectp = true;
|
||||
$expectx = false;
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
case '--php':
|
||||
if ($expectx) {
|
||||
$unexpectedp = true;
|
||||
}
|
||||
$dest[$di] = $option[1];
|
||||
$expectp = false;
|
||||
$expectx = true;
|
||||
break;
|
||||
|
||||
case 'd':
|
||||
case '--dir':
|
||||
$dir = $option[1];
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
case '--help':
|
||||
usage();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($unexpectedx && !$dir) {
|
||||
usage('Unexpected -x or --xml', STDERR);
|
||||
}
|
||||
|
||||
if ($unexpectedp) {
|
||||
usage('Unexpected -p or --php', STDERR);
|
||||
}
|
||||
|
||||
$nsource = count($source);
|
||||
$ndest = count($dest);
|
||||
|
||||
if (!$nsource && !$ndest) {
|
||||
$source[]='php://stdin';
|
||||
if (!$dir) {
|
||||
$dest[]='php://stdout';
|
||||
} else {
|
||||
$dest[] = null;
|
||||
}
|
||||
} elseif ($expectp && !$dir && $nsource > 1) {
|
||||
usage('-x or --xml without following -p or --php', STDERR);
|
||||
} elseif ($nsource == 1 && !$ndest && !$dir) {
|
||||
$dest[]='php://stdout';
|
||||
}
|
||||
|
||||
if ($dir && substr($dir,-1)!='/' && substr($dir,-1)!=='\\' ) {
|
||||
$dir .= DIRECTORY_SEPARATOR;
|
||||
}
|
||||
|
||||
|
||||
foreach ($source as $i => $xmlfile)
|
||||
{
|
||||
$gen = new Text_Highlighter_Generator;
|
||||
$gen->setInputFile($xmlfile);
|
||||
if ($gen->hasErrors()) {
|
||||
break;
|
||||
}
|
||||
$gen->generate();
|
||||
if ($gen->hasErrors()) {
|
||||
break;
|
||||
}
|
||||
if (isset($dest[$i])) {
|
||||
$phpfile = $dest[$i];
|
||||
} else {
|
||||
$phpfile = $dir . $gen->language . '.php';
|
||||
}
|
||||
$gen->saveCode($phpfile);
|
||||
if ($gen->hasErrors()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($gen->hasErrors()) {
|
||||
$errors = $gen->getErrors();
|
||||
foreach ($errors as $error) {
|
||||
fwrite (STDERR, $error . "\n");
|
||||
}
|
||||
exit(1);
|
||||
}
|
||||
|
||||
function usage($message='', $file=STDOUT)
|
||||
{
|
||||
$code = 0;
|
||||
if ($message) {
|
||||
$message .= "\n\n";
|
||||
$code = 1;
|
||||
}
|
||||
$message .= <<<MSG
|
||||
Generates a highlighter class from XML source
|
||||
Usage:
|
||||
generate options
|
||||
|
||||
Options:
|
||||
-x filename, --xml=filename
|
||||
source XML file. Multiple input files can be specified, in which
|
||||
case each -x option must be followed by -p unless -d is specified
|
||||
Defaults to stdin
|
||||
-p filename, --php=filename
|
||||
destination PHP file. Defaults to stdout. If specied multiple times,
|
||||
each -p must follow -x
|
||||
-d dirname, --dir=dirname
|
||||
Default destination directory. File names will be taken from XML input
|
||||
("lang" attribute of <highlight> tag)
|
||||
-h, --help
|
||||
This help
|
||||
MSG;
|
||||
fwrite ($file, $message);
|
||||
exit($code);
|
||||
}
|
||||
?>
|
||||
|
188
library/Text_Highlighter/generate.bat
Normal file
188
library/Text_Highlighter/generate.bat
Normal file
@ -0,0 +1,188 @@
|
||||
@echo off
|
||||
rem vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
|
||||
|
||||
rem Console highlighter class generator
|
||||
|
||||
rem PHP versions 4 and 5
|
||||
|
||||
rem LICENSE: This source file is subject to version 3.0 of the PHP license
|
||||
rem that is available through the world-wide-web at the following URI:
|
||||
rem http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||||
rem the PHP License and are unable to obtain it through the web, please
|
||||
rem send a note to license@php.net so we can mail you a copy immediately.
|
||||
|
||||
rem @category Text
|
||||
rem @package Text_Highlighter
|
||||
rem @author Andrey Demenev <demenev@gmail.com>
|
||||
rem @copyright 2004 Andrey Demenev
|
||||
rem @license http://www.php.net/license/3_0.txt PHP License
|
||||
rem @version CVS: $Id: generate.bat,v 1.1 2007-06-03 02:35:28 ssttoo Exp $
|
||||
rem @link http://pear.php.net/package/Text_Highlighter
|
||||
|
||||
set "MHL_PARAMS="
|
||||
:doshift
|
||||
set "MHL_PARAMS=%MHL_PARAMS% %1"
|
||||
shift
|
||||
if -%1- == -- GOTO noshift
|
||||
GOTO doshift
|
||||
:noshift
|
||||
@php_bin@ -q -d output_buffering=1 -d include_path="@php_dir@" @bin_dir@/Text/Highlighter/generate.bat %MHL_PARAMS%
|
||||
|
||||
GOTO finish
|
||||
<?php
|
||||
ob_end_clean();
|
||||
|
||||
if (!defined('STDOUT')) {
|
||||
define('STDOUT', fopen('php://stdout', 'wb'));
|
||||
define('STDERR', fopen('php://stderr', 'wb'));
|
||||
}
|
||||
require_once 'Text/Highlighter/Generator.php';
|
||||
require_once 'Console/Getopt.php';
|
||||
|
||||
$options = Console_Getopt::getopt($argv, 'x:p:d:h', array('xml=', 'php=','dir=', 'help'));
|
||||
|
||||
if (PEAR::isError($options)) {
|
||||
$message = str_replace('Console_Getopt: ','',$options->message);
|
||||
usage($message);
|
||||
}
|
||||
|
||||
$source = array();
|
||||
$dest = array();
|
||||
$dir = '';
|
||||
|
||||
$expectp = false;
|
||||
$expectx = false;
|
||||
$unexpectedx = false;
|
||||
$unexpectedp = false;
|
||||
$si = $di = 0;
|
||||
|
||||
foreach ($options[0] as $option) {
|
||||
switch ($option[0]) {
|
||||
case 'x':
|
||||
case '--xml':
|
||||
$source[$si] = $option[1];
|
||||
if ($si) {
|
||||
$di++;
|
||||
}
|
||||
$si++;
|
||||
if ($expectp) {
|
||||
$unexpectedx = true;
|
||||
}
|
||||
$expectp = true;
|
||||
$expectx = false;
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
case '--php':
|
||||
if ($expectx) {
|
||||
$unexpectedp = true;
|
||||
}
|
||||
$dest[$di] = $option[1];
|
||||
$expectp = false;
|
||||
$expectx = true;
|
||||
break;
|
||||
|
||||
case 'd':
|
||||
case '--dir':
|
||||
$dir = $option[1];
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
case '--help':
|
||||
usage();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($unexpectedx && !$dir) {
|
||||
usage('Unexpected -x or --xml', STDERR);
|
||||
}
|
||||
|
||||
if ($unexpectedp) {
|
||||
usage('Unexpected -p or --php', STDERR);
|
||||
}
|
||||
|
||||
$nsource = count($source);
|
||||
$ndest = count($dest);
|
||||
|
||||
if (!$nsource && !$ndest) {
|
||||
$source[]='php://stdin';
|
||||
if (!$dir) {
|
||||
$dest[]='php://stdout';
|
||||
} else {
|
||||
$dest[] = null;
|
||||
}
|
||||
} elseif ($expectp && !$dir && $nsource > 1) {
|
||||
usage('-x or --xml without following -p or --php', STDERR);
|
||||
} elseif ($nsource == 1 && !$ndest && !$dir) {
|
||||
$dest[]='php://stdout';
|
||||
}
|
||||
|
||||
if ($dir && substr($dir,-1)!='/' && substr($dir,-1)!=='\\' ) {
|
||||
$dir .= DIRECTORY_SEPARATOR;
|
||||
}
|
||||
|
||||
|
||||
foreach ($source as $i => $xmlfile)
|
||||
{
|
||||
$gen = new Text_Highlighter_Generator;
|
||||
$gen->setInputFile($xmlfile);
|
||||
if ($gen->hasErrors()) {
|
||||
break;
|
||||
}
|
||||
$gen->generate();
|
||||
if ($gen->hasErrors()) {
|
||||
break;
|
||||
}
|
||||
if (isset($dest[$i])) {
|
||||
$phpfile = $dest[$i];
|
||||
} else {
|
||||
$phpfile = $dir . $gen->language . '.php';
|
||||
}
|
||||
$gen->saveCode($phpfile);
|
||||
if ($gen->hasErrors()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($gen->hasErrors()) {
|
||||
$errors = $gen->getErrors();
|
||||
foreach ($errors as $error) {
|
||||
fwrite (STDERR, $error . "\n");
|
||||
}
|
||||
exit(1);
|
||||
}
|
||||
|
||||
exit(0);
|
||||
|
||||
function usage($message='', $file=STDOUT)
|
||||
{
|
||||
$code = 0;
|
||||
if ($message) {
|
||||
$message .= "\n\n";
|
||||
$code = 1;
|
||||
}
|
||||
$message .= <<<MSG
|
||||
Generates a highlighter class from XML source
|
||||
Usage:
|
||||
generate options
|
||||
|
||||
Options:
|
||||
-x filename, --xml=filename
|
||||
source XML file. Multiple input files can be specified, in which
|
||||
case each -x option must be followed by -p unless -d is specified
|
||||
Defaults to stdin
|
||||
-p filename, --php=filename
|
||||
destination PHP file. Defaults to stdout. If specied multiple times,
|
||||
each -p must follow -x
|
||||
-d dirname, --dir=dirname
|
||||
Default destination directory. File names will be taken from XML input
|
||||
("lang" attribute of <highlight> tag)
|
||||
-h, --help
|
||||
This help
|
||||
MSG;
|
||||
fwrite ($file, $message);
|
||||
exit($code);
|
||||
}
|
||||
?>
|
||||
:finish
|
33
library/Text_Highlighter/html.xml
Normal file
33
library/Text_Highlighter/html.xml
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: html.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="html" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<region name="comment" delimClass="comment" innerClass="comment"
|
||||
start="\<!--" end="--\>">
|
||||
</region>
|
||||
|
||||
<region name="tag" delimClass="brackets" innerClass="code" start="\<[\?\/]?" end="[\/\?]?\>">
|
||||
<contains block="tagname"/>
|
||||
<contains region="param"/>
|
||||
<contains block="paramname"/>
|
||||
</region>
|
||||
|
||||
<block name="tagname" match="(?<=[\<\/?])[\w\-\:]+" innerClass="reserved" contained="yes"/>
|
||||
|
||||
<block name="paramname" match="[\w\-\:]+" innerClass="var" contained="yes"/>
|
||||
|
||||
<block name="entity" match="(&)[\w\-\.]+;" innerClass="special" />
|
||||
|
||||
<region name="param" start=""" end=""" delimClass="quotes" innerClass="string" contained="yes">
|
||||
<contains block="entity"/>
|
||||
</region>
|
||||
|
||||
</highlight>
|
2824
library/Text_Highlighter/java.xml
Normal file
2824
library/Text_Highlighter/java.xml
Normal file
File diff suppressed because it is too large
Load Diff
174
library/Text_Highlighter/javascript.xml
Normal file
174
library/Text_Highlighter/javascript.xml
Normal file
@ -0,0 +1,174 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: javascript.xml,v 1.3 2008-01-01 23:43:36 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="javascript" case = "no">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email ="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
|
||||
<region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/" >
|
||||
<contains block="cvstag"/>
|
||||
</region>
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string" start=""" end="""/>
|
||||
|
||||
<region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" />
|
||||
|
||||
<block name="escaped" match="\\\\|\\"|\\'|\\`" innerClass="special" contained="yes">
|
||||
<onlyin region="strsingle"/>
|
||||
</block>
|
||||
|
||||
<block name="descaped" match="\\\\|\\"|\\'|\\`|\\t|\\n|\\r" innerClass="special" contained="yes">
|
||||
<onlyin region="strdouble"/>
|
||||
</block>
|
||||
|
||||
<region name="comment" start="\/\/" end="/$/m" innerClass="comment">
|
||||
<contains block="cvstag"/>
|
||||
</region>
|
||||
|
||||
<block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
|
||||
|
||||
<block name="number" match="0x\d*|\d*\.?\d+" innerClass="number"/>
|
||||
|
||||
|
||||
<block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&=\/%+]*" innerClass="url" contained="yes">
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<block name="note" match="\b(note|fixme):" innerClass="inlinedoc" contained="yes" case="no">
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
|
||||
<block name="cvstag" match="\$\w+:.+\$" innerClass="inlinedoc" contained="yes">
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<keywords name="builtin" inherits="identifier" innerClass="builtin" case = "yes">
|
||||
<keyword match="String"/>
|
||||
<keyword match="Array"/>
|
||||
<keyword match="RegExp"/>
|
||||
<keyword match="Function"/>
|
||||
<keyword match="Math"/>
|
||||
<keyword match="Number"/>
|
||||
<keyword match="Date"/>
|
||||
<keyword match="Image"/>
|
||||
<keyword match="window"/>
|
||||
<keyword match="document"/>
|
||||
<keyword match="navigator"/>
|
||||
<keyword match="onAbort"/>
|
||||
<keyword match="onBlur"/>
|
||||
<keyword match="onChange"/>
|
||||
<keyword match="onClick"/>
|
||||
<keyword match="onDblClick"/>
|
||||
<keyword match="onDragDrop"/>
|
||||
<keyword match="onError"/>
|
||||
<keyword match="onFocus"/>
|
||||
<keyword match="onKeyDown"/>
|
||||
<keyword match="onKeyPress"/>
|
||||
<keyword match="onKeyUp"/>
|
||||
<keyword match="onLoad"/>
|
||||
<keyword match="onMouseDown"/>
|
||||
<keyword match="onMouseOver"/>
|
||||
<keyword match="onMouseOut"/>
|
||||
<keyword match="onMouseMove"/>
|
||||
<keyword match="onMouseUp"/>
|
||||
<keyword match="onMove"/>
|
||||
<keyword match="onReset"/>
|
||||
<keyword match="onResize"/>
|
||||
<keyword match="onSelect"/>
|
||||
<keyword match="onSubmit"/>
|
||||
<keyword match="onUnload"/>
|
||||
</keywords>
|
||||
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
|
||||
<keyword match="break"/>
|
||||
<keyword match="continue"/>
|
||||
<keyword match="do"/>
|
||||
<keyword match="while"/>
|
||||
<keyword match="do"/>
|
||||
<keyword match="export"/>
|
||||
<keyword match="for"/>
|
||||
<keyword match="in"/>
|
||||
<keyword match="if"/>
|
||||
<keyword match="else"/>
|
||||
<keyword match="import"/>
|
||||
<keyword match="return"/>
|
||||
<keyword match="label"/>
|
||||
<keyword match="switch"/>
|
||||
<keyword match="case"/>
|
||||
<keyword match="var"/>
|
||||
<keyword match="with"/>
|
||||
<keyword match="delete"/>
|
||||
<keyword match="new"/>
|
||||
<keyword match="this"/>
|
||||
<keyword match="typeof"/>
|
||||
<keyword match="void"/>
|
||||
<keyword match="abstract"/>
|
||||
<keyword match="boolean"/>
|
||||
<keyword match="byte"/>
|
||||
<keyword match="catch"/>
|
||||
<keyword match="char"/>
|
||||
<keyword match="class"/>
|
||||
<keyword match="const"/>
|
||||
<keyword match="continue"/>
|
||||
<keyword match="debugger"/>
|
||||
<keyword match="default"/>
|
||||
<keyword match="double"/>
|
||||
<keyword match="enum"/>
|
||||
<keyword match="extends"/>
|
||||
<keyword match="false"/>
|
||||
<keyword match="final"/>
|
||||
<keyword match="finally"/>
|
||||
<keyword match="float"/>
|
||||
<keyword match="function"/>
|
||||
<keyword match="implements"/>
|
||||
<keyword match="goto"/>
|
||||
<keyword match="in"/>
|
||||
<keyword match="instanceof"/>
|
||||
<keyword match="int"/>
|
||||
<keyword match="interface"/>
|
||||
<keyword match="long"/>
|
||||
<keyword match="native"/>
|
||||
<keyword match="null"/>
|
||||
<keyword match="package"/>
|
||||
<keyword match="private"/>
|
||||
<keyword match="protected"/>
|
||||
<keyword match="public"/>
|
||||
<keyword match="short"/>
|
||||
<keyword match="static"/>
|
||||
<keyword match="super"/>
|
||||
<keyword match="synchronized"/>
|
||||
<keyword match="throw"/>
|
||||
<keyword match="throws"/>
|
||||
<keyword match="transient"/>
|
||||
<keyword match="true"/>
|
||||
<keyword match="try"/>
|
||||
<keyword match="volatile"/>
|
||||
</keywords>
|
||||
|
||||
</highlight>
|
424
library/Text_Highlighter/mysql.xml
Normal file
424
library/Text_Highlighter/mysql.xml
Normal file
@ -0,0 +1,424 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: mysql.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="mysql" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<region name="qidentifier" delimClass="quotes" innerClass="identifier"
|
||||
start="`" end="`" />
|
||||
|
||||
<region name="mlcomment" delimClass="comment" innerClass="comment"
|
||||
start="\/\*" end="\*\/" />
|
||||
|
||||
<block name="comment" match="(#|--\s).*" innerClass="comment" />
|
||||
|
||||
<block name="possiblefunction" match="[a-z_]\w*(?=\s*\()" innerClass="identifier" />
|
||||
|
||||
<block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string"
|
||||
start=""" end=""" >
|
||||
</region>
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code"
|
||||
start="\(" end="\)" >
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="strsingle" delimClass="quotes" innerClass="string"
|
||||
start="'" end="'" />
|
||||
|
||||
<block name="escaped" match="\\." innerClass="special" contained="yes">
|
||||
<onlyin region="strsingle"/>
|
||||
<onlyin region="strdouble"/>
|
||||
</block>
|
||||
|
||||
<block name="exponent"
|
||||
match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
|
||||
innerClass="number" />
|
||||
|
||||
<block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
|
||||
|
||||
<block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
|
||||
|
||||
<block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
|
||||
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved"
|
||||
case="no">
|
||||
<keyword match="action" />
|
||||
<keyword match="add" />
|
||||
<keyword match="aggregate" />
|
||||
<keyword match="all" />
|
||||
<keyword match="alter" />
|
||||
<keyword match="after" />
|
||||
<keyword match="and" />
|
||||
<keyword match="as" />
|
||||
<keyword match="asc" />
|
||||
<keyword match="avg" />
|
||||
<keyword match="avg_row_length" />
|
||||
<keyword match="auto_increment" />
|
||||
<keyword match="between" />
|
||||
<keyword match="bigint" />
|
||||
<keyword match="bit" />
|
||||
|
||||
<keyword match="binary" />
|
||||
<keyword match="blob" />
|
||||
<keyword match="bool" />
|
||||
<keyword match="both" />
|
||||
<keyword match="by" />
|
||||
<keyword match="cascade" />
|
||||
<keyword match="case" />
|
||||
<keyword match="char" />
|
||||
<keyword match="character" />
|
||||
<keyword match="change" />
|
||||
<keyword match="check" />
|
||||
<keyword match="checksum" />
|
||||
<keyword match="column" />
|
||||
<keyword match="columns" />
|
||||
<keyword match="comment" />
|
||||
<keyword match="constraint" />
|
||||
<keyword match="create" />
|
||||
|
||||
<keyword match="cross" />
|
||||
<keyword match="current_date" />
|
||||
<keyword match="current_time" />
|
||||
<keyword match="current_timestamp" />
|
||||
<keyword match="data" />
|
||||
<keyword match="database" />
|
||||
<keyword match="databases" />
|
||||
<keyword match="date" />
|
||||
<keyword match="datetime" />
|
||||
<keyword match="day" />
|
||||
<keyword match="day_hour" />
|
||||
<keyword match="day_minute" />
|
||||
<keyword match="day_second" />
|
||||
<keyword match="dayofmonth" />
|
||||
<keyword match="dayofweek" />
|
||||
<keyword match="dayofyear" />
|
||||
<keyword match="dec" />
|
||||
|
||||
<keyword match="decimal" />
|
||||
<keyword match="default" />
|
||||
<keyword match="delayed" />
|
||||
<keyword match="delay_key_write" />
|
||||
<keyword match="delete" />
|
||||
<keyword match="desc" />
|
||||
<keyword match="describe" />
|
||||
<keyword match="distinct" />
|
||||
<keyword match="distinctrow" />
|
||||
<keyword match="double" />
|
||||
<keyword match="drop" />
|
||||
<keyword match="end" />
|
||||
<keyword match="else" />
|
||||
<keyword match="escape" />
|
||||
<keyword match="escaped" />
|
||||
<keyword match="enclosed" />
|
||||
<keyword match="enum" />
|
||||
|
||||
<keyword match="explain" />
|
||||
<keyword match="exists" />
|
||||
<keyword match="fields" />
|
||||
<keyword match="file" />
|
||||
<keyword match="first" />
|
||||
<keyword match="float" />
|
||||
<keyword match="float4" />
|
||||
<keyword match="float8" />
|
||||
<keyword match="flush" />
|
||||
<keyword match="foreign" />
|
||||
<keyword match="from" />
|
||||
<keyword match="for" />
|
||||
<keyword match="full" />
|
||||
<keyword match="function" />
|
||||
<keyword match="global" />
|
||||
<keyword match="grant" />
|
||||
<keyword match="grants" />
|
||||
|
||||
<keyword match="group" />
|
||||
<keyword match="having" />
|
||||
<keyword match="heap" />
|
||||
<keyword match="high_priority" />
|
||||
<keyword match="hour" />
|
||||
<keyword match="hour_minute" />
|
||||
<keyword match="hour_second" />
|
||||
<keyword match="hosts" />
|
||||
<keyword match="identified" />
|
||||
<keyword match="ignore" />
|
||||
<keyword match="in" />
|
||||
<keyword match="index" />
|
||||
<keyword match="infile" />
|
||||
<keyword match="inner" />
|
||||
<keyword match="insert" />
|
||||
<keyword match="insert_id" />
|
||||
<keyword match="int" />
|
||||
|
||||
<keyword match="integer" />
|
||||
<keyword match="interval" />
|
||||
<keyword match="int1" />
|
||||
<keyword match="int2" />
|
||||
<keyword match="int3" />
|
||||
<keyword match="int4" />
|
||||
<keyword match="int8" />
|
||||
<keyword match="into" />
|
||||
<keyword match="if" />
|
||||
<keyword match="is" />
|
||||
<keyword match="isam" />
|
||||
<keyword match="join" />
|
||||
<keyword match="key" />
|
||||
<keyword match="keys" />
|
||||
<keyword match="kill" />
|
||||
<keyword match="last_insert_id" />
|
||||
<keyword match="leading" />
|
||||
|
||||
<keyword match="left" />
|
||||
<keyword match="length" />
|
||||
<keyword match="like" />
|
||||
<keyword match="lines" />
|
||||
<keyword match="limit" />
|
||||
<keyword match="load" />
|
||||
<keyword match="local" />
|
||||
<keyword match="lock" />
|
||||
<keyword match="logs" />
|
||||
<keyword match="long" />
|
||||
<keyword match="longblob" />
|
||||
<keyword match="longtext" />
|
||||
<keyword match="low_priority" />
|
||||
<keyword match="max" />
|
||||
<keyword match="max_rows" />
|
||||
<keyword match="match" />
|
||||
<keyword match="mediumblob" />
|
||||
|
||||
<keyword match="mediumtext" />
|
||||
<keyword match="mediumint" />
|
||||
<keyword match="middleint" />
|
||||
<keyword match="min_rows" />
|
||||
<keyword match="minute" />
|
||||
<keyword match="minute_second" />
|
||||
<keyword match="modify" />
|
||||
<keyword match="month" />
|
||||
<keyword match="monthname" />
|
||||
<keyword match="myisam" />
|
||||
<keyword match="natural" />
|
||||
<keyword match="numeric" />
|
||||
<keyword match="no" />
|
||||
<keyword match="not" />
|
||||
<keyword match="null" />
|
||||
<keyword match="on" />
|
||||
<keyword match="optimize" />
|
||||
|
||||
<keyword match="option" />
|
||||
<keyword match="optionally" />
|
||||
<keyword match="or" />
|
||||
<keyword match="order" />
|
||||
<keyword match="outer" />
|
||||
<keyword match="outfile" />
|
||||
<keyword match="pack_keys" />
|
||||
<keyword match="partial" />
|
||||
<keyword match="password" />
|
||||
<keyword match="precision" />
|
||||
<keyword match="primary" />
|
||||
<keyword match="procedure" />
|
||||
<keyword match="process" />
|
||||
<keyword match="processlist" />
|
||||
<keyword match="privileges" />
|
||||
<keyword match="read" />
|
||||
<keyword match="real" />
|
||||
|
||||
<keyword match="references" />
|
||||
<keyword match="reload" />
|
||||
<keyword match="regexp" />
|
||||
<keyword match="rename" />
|
||||
<keyword match="replace" />
|
||||
<keyword match="restrict" />
|
||||
<keyword match="returns" />
|
||||
<keyword match="revoke" />
|
||||
<keyword match="rlike" />
|
||||
<keyword match="row" />
|
||||
<keyword match="rows" />
|
||||
<keyword match="second" />
|
||||
<keyword match="select" />
|
||||
<keyword match="set" />
|
||||
<keyword match="show" />
|
||||
<keyword match="shutdown" />
|
||||
<keyword match="smallint" />
|
||||
|
||||
<keyword match="soname" />
|
||||
<keyword match="sql_big_tables" />
|
||||
<keyword match="sql_big_selects" />
|
||||
<keyword match="sql_low_priority_updates" />
|
||||
<keyword match="sql_log_off" />
|
||||
<keyword match="sql_log_update" />
|
||||
<keyword match="sql_select_limit" />
|
||||
<keyword match="sql_small_result" />
|
||||
<keyword match="sql_big_result" />
|
||||
<keyword match="sql_warnings" />
|
||||
<keyword match="straight_join" />
|
||||
<keyword match="starting" />
|
||||
<keyword match="status" />
|
||||
<keyword match="string" />
|
||||
<keyword match="table" />
|
||||
<keyword match="tables" />
|
||||
<keyword match="temporary" />
|
||||
|
||||
<keyword match="terminated" />
|
||||
<keyword match="text" />
|
||||
<keyword match="then" />
|
||||
<keyword match="time" />
|
||||
<keyword match="timestamp" />
|
||||
<keyword match="tinyblob" />
|
||||
<keyword match="tinytext" />
|
||||
<keyword match="tinyint" />
|
||||
<keyword match="trailing" />
|
||||
<keyword match="to" />
|
||||
<keyword match="type" />
|
||||
<keyword match="use" />
|
||||
<keyword match="using" />
|
||||
<keyword match="unique" />
|
||||
<keyword match="unlock" />
|
||||
<keyword match="unsigned" />
|
||||
<keyword match="update" />
|
||||
|
||||
<keyword match="usage" />
|
||||
<keyword match="values" />
|
||||
<keyword match="varchar" />
|
||||
<keyword match="variables" />
|
||||
<keyword match="varying" />
|
||||
<keyword match="varbinary" />
|
||||
<keyword match="with" />
|
||||
<keyword match="write" />
|
||||
<keyword match="when" />
|
||||
<keyword match="where" />
|
||||
<keyword match="year" />
|
||||
<keyword match="year_month" />
|
||||
<keyword match="zerofill" />
|
||||
</keywords>
|
||||
|
||||
<keywords name="function" inherits="possiblefunction" innerClass="reserved"
|
||||
case="no" otherwise="identifier">
|
||||
<keyword match="ABS" />
|
||||
<keyword match="ACOS" />
|
||||
<keyword match="ADDDATE" />
|
||||
<keyword match="ASCII" />
|
||||
<keyword match="ASIN" />
|
||||
<keyword match="ATAN" />
|
||||
<keyword match="ATAN2" />
|
||||
<keyword match="AVG" />
|
||||
<keyword match="BENCHMARK" />
|
||||
<keyword match="BIN" />
|
||||
<keyword match="CEILING" />
|
||||
<keyword match="CHAR" />
|
||||
<keyword match="COALESCE" />
|
||||
<keyword match="CONCAT" />
|
||||
<keyword match="CONV" />
|
||||
<keyword match="COS" />
|
||||
<keyword match="COT" />
|
||||
<keyword match="COUNT" />
|
||||
<keyword match="CURDATE" />
|
||||
<keyword match="CURTIME" />
|
||||
<keyword match="DATABASE" />
|
||||
<keyword match="DAYNAME" />
|
||||
<keyword match="DAYOFMONTH" />
|
||||
<keyword match="DAYOFWEEK" />
|
||||
<keyword match="DAYOFYEAR" />
|
||||
<keyword match="DECODE" />
|
||||
<keyword match="DEGREES" />
|
||||
<keyword match="ELT" />
|
||||
|
||||
<keyword match="ENCODE" />
|
||||
<keyword match="ENCRYPT" />
|
||||
<keyword match="EXP" />
|
||||
<keyword match="EXTRACT" />
|
||||
|
||||
<keyword match="EXTRACT" />
|
||||
<keyword match="FIELD" />
|
||||
<keyword match="FLOOR" />
|
||||
<keyword match="FORMAT" />
|
||||
<keyword match="GREATEST" />
|
||||
<keyword match="HEX" />
|
||||
<keyword match="HOUR" />
|
||||
<keyword match="IF" />
|
||||
<keyword match="IFNULL" />
|
||||
<keyword match="INSERT" />
|
||||
<keyword match="INSTR" />
|
||||
<keyword match="INTERVAL" />
|
||||
|
||||
<keyword match="ISNULL" />
|
||||
<keyword match="LCASE" />
|
||||
<keyword match="LEAST" />
|
||||
<keyword match="LEFT" />
|
||||
<keyword match="LENGTH" />
|
||||
<keyword match="LOCATE" />
|
||||
|
||||
<keyword match="LOCATE" />
|
||||
<keyword match="LOG" />
|
||||
<keyword match="LOG10" />
|
||||
<keyword match="LOWER" />
|
||||
<keyword match="LPAD" />
|
||||
<keyword match="LTRIM" />
|
||||
<keyword match="MAX" />
|
||||
<keyword match="MD5" />
|
||||
<keyword match="MID" />
|
||||
<keyword match="MIN" />
|
||||
|
||||
<keyword match="MINUTE" />
|
||||
<keyword match="MOD" />
|
||||
<keyword match="MONTH" />
|
||||
<keyword match="MONTHNAME" />
|
||||
<keyword match="NOW" />
|
||||
<keyword match="NULLIF" />
|
||||
<keyword match="OCT" />
|
||||
<keyword match="ORD" />
|
||||
<keyword match="PASSWORD" />
|
||||
<keyword match="PI" />
|
||||
<keyword match="POSITION" />
|
||||
|
||||
<keyword match="POW" />
|
||||
<keyword match="POWER" />
|
||||
<keyword match="prepare" />
|
||||
<keyword match="QUARTER" />
|
||||
<keyword match="RADIANS" />
|
||||
<keyword match="RAND" />
|
||||
<keyword match="REPEAT" />
|
||||
<keyword match="REPLACE" />
|
||||
<keyword match="REVERSE" />
|
||||
<keyword match="RIGHT" />
|
||||
<keyword match="ROUND" />
|
||||
|
||||
<keyword match="ROUND" />
|
||||
<keyword match="RPAD" />
|
||||
|
||||
<keyword match="RTRIM" />
|
||||
<keyword match="SECOND" />
|
||||
<keyword match="SIGN" />
|
||||
<keyword match="SIN" />
|
||||
<keyword match="SOUNDEX" />
|
||||
<keyword match="SPACE" />
|
||||
<keyword match="SQRT" />
|
||||
<keyword match="STD" />
|
||||
<keyword match="STDDEV" />
|
||||
<keyword match="STRCMP" />
|
||||
<keyword match="SUBDATE" />
|
||||
<keyword match="SUBSTRING" />
|
||||
|
||||
<keyword match="SUBSTRING" />
|
||||
<keyword match="SUM" />
|
||||
<keyword match="SYSDATE" />
|
||||
<keyword match="TAN" />
|
||||
|
||||
<keyword match="TRIM" />
|
||||
<keyword match="TRUNCATE" />
|
||||
<keyword match="UCASE" />
|
||||
<keyword match="UPPER" />
|
||||
<keyword match="USER" />
|
||||
<keyword match="VERSION" />
|
||||
<keyword match="WEEK" />
|
||||
<keyword match="WEEKDAY" />
|
||||
<keyword match="YEAR" />
|
||||
</keywords>
|
||||
|
||||
</highlight>
|
439
library/Text_Highlighter/perl.xml
Normal file
439
library/Text_Highlighter/perl.xml
Normal file
@ -0,0 +1,439 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: perl.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="perl" case = "yes">
|
||||
|
||||
<authors>
|
||||
<author name="Mariusz 'kg' Jakubowski" email="kg@alternatywa.info" jid="kg@chrome.pl"/>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
<comment>This highlighter is EXPERIMENTAL, so that it may work incorrectly.
|
||||
Most rules were created by Mariusz Jakubowski, and extended by me.
|
||||
My knowledge of Perl is poor, and Perl syntax seems too
|
||||
complicated to me.</comment>
|
||||
|
||||
<default innerClass="code"/>
|
||||
|
||||
<block name="interpreter" match="/^(#!)(.*)/m" innerClass="special">
|
||||
<partClass index="1" innerClass="special" />
|
||||
<partClass index="2" innerClass="string" />
|
||||
</block>
|
||||
|
||||
<region name="pod" innerClass="comment" start="/^=\w+/m" end="/^=cut[^\n]*/m" startBOL="yes" endBOL="yes"/>
|
||||
|
||||
<!--
|
||||
brackets
|
||||
-->
|
||||
<region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<!--
|
||||
use smth
|
||||
-->
|
||||
<block name="usestatement" match="(use)\s+([\w:]*)" innerClass="special">
|
||||
<partClass index="1" innerClass="reserved" />
|
||||
<partClass index="2" innerClass="special" />
|
||||
</block>
|
||||
|
||||
<block name="packagereference" match="[& ](\w{2,}::)+\w{2,}" innerClass="special"/>
|
||||
|
||||
<region name="q-w-q-statement"
|
||||
start="/\b(q[wq]\s*((\{)|(\()|(\[)|(\<)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\>)(?(7)\7)))/Us"
|
||||
end="%b2%"
|
||||
innerClass="string" delimClass="quotes" remember="yes">
|
||||
|
||||
<contains block="containedvar"/>
|
||||
<contains block="specialvar"/>
|
||||
<contains block="curlyvar"/>
|
||||
|
||||
</region>
|
||||
|
||||
<region name="qstatement"
|
||||
start="/\b(q\s*((\{)|(\()|(\[)|(\<)|([\W\S])))(?=(.*)((?(3)\})(?(4)\))(?(5)\])(?(6)\>)(?(7)\7)))/Us"
|
||||
end="%b2%"
|
||||
innerClass="string" delimClass="quotes" remember="yes">
|
||||
|
||||
</region>
|
||||
|
||||
<!--
|
||||
comments
|
||||
-->
|
||||
<block name="comment" match="#.*" innerClass="comment" />
|
||||
|
||||
|
||||
<!--
|
||||
regexpr
|
||||
FIXME: this should be rewrited
|
||||
-->
|
||||
<block name="dblregexprver1" match="/(s|tr) ([|#~`!@$%^&*-+=\\;:'",.\/?]) ((\\.|[^\\])*?) (\2)((\\.|[^\\])*?)(\2[ecgimosx]*)/x" innerClass="string">
|
||||
<partClass index="1" innerClass="quotes" />
|
||||
<partClass index="2" innerClass="quotes" />
|
||||
<partClass index="3" innerClass="string" />
|
||||
<partClass index="5" innerClass="quotes" />
|
||||
<partClass index="6" innerClass="string" />
|
||||
<partClass index="8" innerClass="quotes" />
|
||||
</block>
|
||||
|
||||
<block name="dblregexprver2" match="/(m) ([|#~`!@$%^&*-+=\\;:'",.\/?]) ((\\.|[^\\])*?) (\2[ecgimosx]*)/x" innerClass="string">
|
||||
<partClass index="1" innerClass="quotes" />
|
||||
<partClass index="2" innerClass="quotes" />
|
||||
<partClass index="3" innerClass="string" />
|
||||
<partClass index="5" innerClass="quotes" />
|
||||
</block>
|
||||
|
||||
|
||||
<region name="regexp" start=" \/" end="\/[cgimosx]*" innerClass="string" delimClass="quotes" case="yes">
|
||||
<contains block="reescaped"/>
|
||||
</region>
|
||||
|
||||
<block name="reescaped" match="\\\/" innerClass="string" contained="yes">
|
||||
<onlyin region="regexp"/>
|
||||
</block>
|
||||
|
||||
<!--
|
||||
variables
|
||||
FIXME: @{...}
|
||||
-->
|
||||
<block name="bracketsvars" match="([a-z1-9_]+)(\s*=>)" innerClass="string" contained="yes" case="no">
|
||||
<partClass index="1" innerClass="string" />
|
||||
<partClass index="2" innerClass="code" />
|
||||
<onlyin region="brackets"/>
|
||||
</block>
|
||||
|
||||
<block name="specialvar" match="\$#?[1-9'`@!]" innerClass="var"/>
|
||||
|
||||
<block name="var" match="(\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
|
||||
<block name="containedvar" match="\$([a-z1-9_]+|\^(?-i)[A-Z]?(?i))" innerClass="var" case="no"/>
|
||||
|
||||
<!-- not shure what is this, but the Perlers do it :) -->
|
||||
<block name="var2" match="(&|\w+)'[\w_']+\b" innerClass="var" case="no"/>
|
||||
|
||||
<block name="classvar" match="(\{)([a-z1-9]+)(\})" innerClass="var" case="no">
|
||||
<partClass index="1" innerClass="brackets" />
|
||||
<partClass index="2" innerClass="var" />
|
||||
<partClass index="3" innerClass="brackets" />
|
||||
</block>
|
||||
|
||||
<block name="curlyvar" match="[\$@%]#?\{[a-z1-9]+\}" innerClass="var" case="no"/>
|
||||
|
||||
<!--
|
||||
quotes
|
||||
-->
|
||||
<region name="exec" delimClass="quotes" innerClass="string" start="`" end="`">
|
||||
<contains block="containedvar"/>
|
||||
<contains block="specialvar"/>
|
||||
<contains block="curlyvar"/>
|
||||
</region>
|
||||
|
||||
<region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'"/>
|
||||
|
||||
<block name="escaped" match="\\\\|\\"|\\'|\\`" innerClass="special" contained="yes">
|
||||
<onlyin region="qstatement"/>
|
||||
<onlyin region="strsingle"/>
|
||||
<onlyin region="exec"/>
|
||||
</block>
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string" start=""" end=""">
|
||||
<contains block="containedvar"/>
|
||||
<contains block="specialvar"/>
|
||||
<contains block="curlyvar"/>
|
||||
</region>
|
||||
|
||||
<block name="descaped" match="\\[\\"'`tnr\$\{@]" innerClass="special" contained="yes">
|
||||
<onlyin region="strdouble"/>
|
||||
<onlyin region="q-w-q-statement"/>
|
||||
</block>
|
||||
|
||||
<!-- logical op.
|
||||
<block name="logic" match="\|\||&&" innerClass="reserved" contained="yes"/>-->
|
||||
|
||||
<!--
|
||||
identifiers
|
||||
-->
|
||||
<block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
|
||||
|
||||
<!--
|
||||
numbers
|
||||
-->
|
||||
<block name="number" match="\d*\.?\d+" innerClass="number"/>
|
||||
|
||||
<!--
|
||||
http://www.perldoc.com/perl5.6/pod/perlfunc.html
|
||||
Alphabetical Listing of Perl Functions
|
||||
-->
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
|
||||
<keyword match="abs"/>
|
||||
<keyword match="accept"/>
|
||||
<keyword match="alarm"/>
|
||||
<keyword match="atan2"/>
|
||||
|
||||
<keyword match="bind"/>
|
||||
<keyword match="binmode"/>
|
||||
<keyword match="bless"/>
|
||||
|
||||
<keyword match="caller"/>
|
||||
<keyword match="chdir"/>
|
||||
<keyword match="chmod"/>
|
||||
<keyword match="chomp"/>
|
||||
<keyword match="chop"/>
|
||||
<keyword match="chown"/>
|
||||
<keyword match="chr"/>
|
||||
<keyword match="chroot"/>
|
||||
<keyword match="close"/>
|
||||
<keyword match="closedir"/>
|
||||
<keyword match="connect"/>
|
||||
<keyword match="continue"/>
|
||||
<keyword match="cos"/>
|
||||
<keyword match="crypt"/>
|
||||
|
||||
<keyword match="dbmclose"/>
|
||||
<keyword match="dbmopen"/>
|
||||
<keyword match="defined"/>
|
||||
<keyword match="delete"/>
|
||||
<keyword match="die"/>
|
||||
<keyword match="do"/>
|
||||
<keyword match="dump"/>
|
||||
|
||||
<keyword match="each"/>
|
||||
<keyword match="endgrent"/>
|
||||
<keyword match="endhostent"/>
|
||||
<keyword match="endnetent"/>
|
||||
<keyword match="endprotoent"/>
|
||||
<keyword match="endpwent"/>
|
||||
<keyword match="endservent"/>
|
||||
<keyword match="eof"/>
|
||||
<keyword match="eval"/>
|
||||
<keyword match="exec"/>
|
||||
<keyword match="exists"/>
|
||||
<keyword match="exit"/>
|
||||
<keyword match="exp"/>
|
||||
|
||||
<keyword match="fcntl"/>
|
||||
<keyword match="fileno"/>
|
||||
<keyword match="flock"/>
|
||||
<keyword match="fork"/>
|
||||
<keyword match="format"/>
|
||||
<keyword match="formline"/>
|
||||
|
||||
<keyword match="getc"/>
|
||||
<keyword match="getgrent"/>
|
||||
<keyword match="getgrgid"/>
|
||||
<keyword match="getgrnam"/>
|
||||
<keyword match="gethostbyaddr"/>
|
||||
<keyword match="gethostbyname"/>
|
||||
<keyword match="gethostent"/>
|
||||
<keyword match="getlogin"/>
|
||||
<keyword match="getnetbyaddr"/>
|
||||
<keyword match="getnetbyname"/>
|
||||
<keyword match="getnetent"/>
|
||||
<keyword match="getpeername"/>
|
||||
<keyword match="getpgrp"/>
|
||||
<keyword match="getppid"/>
|
||||
<keyword match="getpriority"/>
|
||||
<keyword match="getprotobyname"/>
|
||||
<keyword match="getprotobynumber"/>
|
||||
<keyword match="getprotoent"/>
|
||||
<keyword match="getpwent"/>
|
||||
<keyword match="getpwnam"/>
|
||||
<keyword match="getpwuid"/>
|
||||
<keyword match="getservbyname"/>
|
||||
<keyword match="getservbyport"/>
|
||||
<keyword match="getservent"/>
|
||||
<keyword match="getsockname"/>
|
||||
<keyword match="getsockopt"/>
|
||||
<keyword match="glob"/>
|
||||
<keyword match="gmtime"/>
|
||||
<keyword match="goto"/>
|
||||
<keyword match="grep"/>
|
||||
|
||||
<keyword match="hex"/>
|
||||
|
||||
<keyword match="import"/>
|
||||
<keyword match="index"/>
|
||||
<keyword match="int"/>
|
||||
<keyword match="ioctl"/>
|
||||
|
||||
<keyword match="join"/>
|
||||
|
||||
<keyword match="keys"/>
|
||||
<keyword match="kill"/>
|
||||
|
||||
<keyword match="last"/>
|
||||
<keyword match="lc"/>
|
||||
<keyword match="lcfirst"/>
|
||||
<keyword match="length"/>
|
||||
<keyword match="link"/>
|
||||
<keyword match="listen"/>
|
||||
<keyword match="local"/>
|
||||
<keyword match="localtime"/>
|
||||
<keyword match="lock"/>
|
||||
<keyword match="log"/>
|
||||
<keyword match="lstat"/>
|
||||
|
||||
<!--<keyword match="m"/>-->
|
||||
<keyword match="map"/>
|
||||
<keyword match="mkdir"/>
|
||||
<keyword match="msgctl"/>
|
||||
<keyword match="msgget"/>
|
||||
<keyword match="msgrcv"/>
|
||||
<keyword match="msgsnd"/>
|
||||
<keyword match="my"/>
|
||||
|
||||
<keyword match="next"/>
|
||||
<keyword match="no"/>
|
||||
|
||||
<keyword match="oct"/>
|
||||
<keyword match="open"/>
|
||||
<keyword match="opendir"/>
|
||||
<keyword match="ord"/>
|
||||
<keyword match="our"/>
|
||||
|
||||
<keyword match="pack"/>
|
||||
<keyword match="package"/>
|
||||
<keyword match="pipe"/>
|
||||
<keyword match="pop"/>
|
||||
<keyword match="pos"/>
|
||||
<keyword match="print"/>
|
||||
<keyword match="printf"/>
|
||||
<keyword match="prototype"/>
|
||||
<keyword match="push"/>
|
||||
|
||||
<!--<keyword match="q"/>
|
||||
<keyword match="qq"/>
|
||||
<keyword match="qr"/>-->
|
||||
<keyword match="quotemeta"/>
|
||||
<!--<keyword match="qw"/>
|
||||
<keyword match="qx"/>-->
|
||||
|
||||
<keyword match="rand"/>
|
||||
<keyword match="read"/>
|
||||
<keyword match="readdir"/>
|
||||
<keyword match="readline"/>
|
||||
<keyword match="readlink"/>
|
||||
<keyword match="readpipe"/>
|
||||
<keyword match="recv"/>
|
||||
<keyword match="redo"/>
|
||||
<keyword match="ref"/>
|
||||
<keyword match="rename"/>
|
||||
<keyword match="require"/>
|
||||
<keyword match="reset"/>
|
||||
<keyword match="return"/>
|
||||
<keyword match="reverse"/>
|
||||
<keyword match="rewinddir"/>
|
||||
<keyword match="rindex"/>
|
||||
<keyword match="rmdir"/>
|
||||
|
||||
<!--<keyword match="s"/>-->
|
||||
<keyword match="scalar"/>
|
||||
<keyword match="seek"/>
|
||||
<keyword match="seekdir"/>
|
||||
<keyword match="select"/>
|
||||
<keyword match="semctl"/>
|
||||
<keyword match="semget"/>
|
||||
<keyword match="semop"/>
|
||||
<keyword match="send"/>
|
||||
<keyword match="setgrent"/>
|
||||
<keyword match="sethostent"/>
|
||||
<keyword match="setnetent"/>
|
||||
<keyword match="setpgrp"/>
|
||||
<keyword match="setpriority"/>
|
||||
<keyword match="setprotoent"/>
|
||||
<keyword match="setpwent"/>
|
||||
<keyword match="setservent"/>
|
||||
<keyword match="setsockopt"/>
|
||||
<keyword match="shift"/>
|
||||
<keyword match="shmctl"/>
|
||||
<keyword match="shmget"/>
|
||||
<keyword match="shmread"/>
|
||||
<keyword match="shmwrite"/>
|
||||
<keyword match="shutdown"/>
|
||||
<keyword match="sin"/>
|
||||
<keyword match="sleep"/>
|
||||
<keyword match="socket"/>
|
||||
<keyword match="socketpair"/>
|
||||
<keyword match="sort"/>
|
||||
<keyword match="splice"/>
|
||||
<keyword match="split"/>
|
||||
<keyword match="sprintf"/>
|
||||
<keyword match="sqrt"/>
|
||||
<keyword match="srand"/>
|
||||
<keyword match="stat"/>
|
||||
<keyword match="study"/>
|
||||
<keyword match="sub"/>
|
||||
<keyword match="substr"/>
|
||||
<keyword match="symlink"/>
|
||||
<keyword match="syscall"/>
|
||||
<keyword match="sysopen"/>
|
||||
<keyword match="sysread"/>
|
||||
<keyword match="sysseek"/>
|
||||
<keyword match="system"/>
|
||||
<keyword match="syswrite"/>
|
||||
|
||||
<keyword match="tell"/>
|
||||
<keyword match="telldir"/>
|
||||
<keyword match="tie"/>
|
||||
<keyword match="tied"/>
|
||||
<keyword match="time"/>
|
||||
<keyword match="times"/>
|
||||
<!--<keyword match="tr"/>-->
|
||||
<keyword match="truncate"/>
|
||||
|
||||
<keyword match="uc"/>
|
||||
<keyword match="ucfirst"/>
|
||||
<keyword match="umask"/>
|
||||
<keyword match="undef"/>
|
||||
<keyword match="unlink"/>
|
||||
<keyword match="unpack"/>
|
||||
<keyword match="unshift"/>
|
||||
<keyword match="untie"/>
|
||||
<keyword match="use"/>
|
||||
<keyword match="utime"/>
|
||||
|
||||
<keyword match="values"/>
|
||||
<keyword match="vec"/>
|
||||
|
||||
<keyword match="wait"/>
|
||||
<keyword match="waitpid"/>
|
||||
<keyword match="wantarray"/>
|
||||
<keyword match="warn"/>
|
||||
<keyword match="write"/>
|
||||
|
||||
<keyword match="y"/>
|
||||
</keywords>
|
||||
|
||||
<keywords name="missingreserved" inherits="identifier" innerClass="reserved" case = "yes">
|
||||
<keyword match="new"/>
|
||||
</keywords>
|
||||
|
||||
|
||||
<keywords name="flowcontrol" inherits="identifier" innerClass="reserved" case = "yes">
|
||||
<keyword match="if"/>
|
||||
<keyword match="else"/>
|
||||
<keyword match="elsif"/>
|
||||
<keyword match="while"/>
|
||||
<keyword match="unless"/>
|
||||
<keyword match="for"/>
|
||||
<keyword match="foreach"/>
|
||||
<keyword match="until"/>
|
||||
<keyword match="do"/>
|
||||
<keyword match="continue"/>
|
||||
<keyword match="not"/>
|
||||
<keyword match="or"/>
|
||||
<keyword match="and"/>
|
||||
<keyword match="eq"/>
|
||||
<keyword match="ne"/>
|
||||
<keyword match="gt"/>
|
||||
<keyword match="lt"/>
|
||||
</keywords>
|
||||
|
||||
</highlight>
|
194
library/Text_Highlighter/php.xml
Normal file
194
library/Text_Highlighter/php.xml
Normal file
@ -0,0 +1,194 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: php.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="php">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email ="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<region name="phpCode" delimClass="inlinetags" innerClass="code"
|
||||
start="\<\?(php|=)?" end="\?\>" never-contained="yes">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="block" delimClass="brackets" innerClass="code" start="\{" end="\}" contained="yes">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" contained="yes" >
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]" contained="yes">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
|
||||
<region name="mlcomment" innerClass="comment" start="\/\*" end="\*\/" contained="yes">
|
||||
<contains block="phpdoc"/>
|
||||
<contains block="cvstag"/>
|
||||
</region>
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string" start=""" end=""" contained="yes">
|
||||
<contains block="var"/>
|
||||
</region>
|
||||
|
||||
<region name="exec" delimClass="quotes" innerClass="string" start="`" end="`" contained="yes">
|
||||
<contains block="var"/>
|
||||
</region>
|
||||
|
||||
<region name="heredoc" delimClass="quotes" innerClass="string" start="/\<\<\<[\x20\x09]*(\w+)$/m" end="/^%1%;?$/m" contained="yes" remember="yes">
|
||||
<contains block="var"/>
|
||||
</region>
|
||||
|
||||
<region name="strsingle" delimClass="quotes" innerClass="string" start="'" end="'" contained="yes"/>
|
||||
|
||||
<block name="escaped" match="\\\\|\\"|\\'|\\`" innerClass="special" contained="yes">
|
||||
<onlyin region="strsingle"/>
|
||||
<onlyin region="exec"/>
|
||||
</block>
|
||||
|
||||
<block name="descaped" match="\\[\\"'`tnr\$\{]" innerClass="special" contained="yes">
|
||||
<onlyin region="strdouble"/>
|
||||
<onlyin region="heredoc"/>
|
||||
</block>
|
||||
|
||||
|
||||
<region name="comment" start="(#|\/\/)" end="/$|(?=\?\>)/m" innerClass="comment" contained="yes">
|
||||
<contains block="cvstag"/>
|
||||
</region>
|
||||
|
||||
|
||||
<block name="identifier" match="[a-z_]\w*" innerClass="identifier" contained="yes"/>
|
||||
|
||||
<block name="typecast" match="\((array|int|integer|string|bool|boolean|object|float|double)\)" innerClass="reserved" contained="yes"/>
|
||||
|
||||
<block name="curlyvar" match="\{\$[a-z_].*\}" innerClass="var" contained="yes">
|
||||
<onlyin region="strdouble"/>
|
||||
<onlyin region="heredoc"/>
|
||||
<onlyin region="exec"/>
|
||||
</block>
|
||||
|
||||
<region name="codeescape" delimClass="inlinetags" innerClass="default" end="\<\?(php|=)?" start="\?\>" contained="yes">
|
||||
<onlyin region="block"/>
|
||||
</region>
|
||||
|
||||
<block name="hexinteger" match="0[xX][\da-f]+" innerClass="number" contained="yes"/>
|
||||
<block name="var" match="\$[a-z_]\w*" innerClass="var" contained="yes"/>
|
||||
|
||||
<block name="integer" match="\d\d*|\b0\b" innerClass="number" contained="yes"/>
|
||||
|
||||
|
||||
<block name="octinteger" match="0[0-7]+" innerClass="number" contained="yes"/>
|
||||
|
||||
<block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number" contained="yes"/>
|
||||
|
||||
<block name="exponent"
|
||||
match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
|
||||
innerClass="number" contained="yes"/>
|
||||
|
||||
<block name="phpdoc" match="\s@\w+\s" innerClass="inlinedoc" contained="yes">
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&=\/%+]*" innerClass="url" contained="yes">
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<block name="note" match="\bnote:" innerClass="inlinedoc" contained="yes">
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
|
||||
<block name="cvstag" match="\$\w+\s*:.*\$" innerClass="inlinedoc" contained="yes">
|
||||
<onlyin region="mlcomment"/>
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<keywords name="constants" inherits="identifier" innerClass="reserved" case = "yes">
|
||||
<keyword match="DIRECTORY_SEPARATOR"/>
|
||||
<keyword match="PATH_SEPARATOR"/>
|
||||
</keywords>
|
||||
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved">
|
||||
<keyword match="echo"/>
|
||||
<keyword match="foreach"/>
|
||||
<keyword match="else"/>
|
||||
<keyword match="if"/>
|
||||
<keyword match="elseif"/>
|
||||
<keyword match="for"/>
|
||||
<keyword match="as"/>
|
||||
<keyword match="while"/>
|
||||
<keyword match="foreach"/>
|
||||
<keyword match="break"/>
|
||||
<keyword match="continue"/>
|
||||
<keyword match="class"/>
|
||||
<keyword match="const"/>
|
||||
<keyword match="declare"/>
|
||||
<keyword match="switch"/>
|
||||
<keyword match="case"/>
|
||||
<keyword match="endfor"/>
|
||||
<keyword match="endswitch"/>
|
||||
<keyword match="endforeach"/>
|
||||
<keyword match="endswitch"/>
|
||||
<keyword match="endif"/>
|
||||
<keyword match="array"/>
|
||||
<keyword match="default"/>
|
||||
<keyword match="do"/>
|
||||
<keyword match="enddeclare"/>
|
||||
<keyword match="eval"/>
|
||||
<keyword match="exit"/>
|
||||
<keyword match="die"/>
|
||||
<keyword match="extends"/>
|
||||
<keyword match="function"/>
|
||||
<keyword match="global"/>
|
||||
<keyword match="include"/>
|
||||
<keyword match="include_once"/>
|
||||
<keyword match="require"/>
|
||||
<keyword match="require_once"/>
|
||||
<keyword match="isset"/>
|
||||
<keyword match="empty"/>
|
||||
<keyword match="list"/>
|
||||
<keyword match="new"/>
|
||||
<keyword match="static"/>
|
||||
<keyword match="unset"/>
|
||||
<keyword match="var"/>
|
||||
<keyword match="return"/>
|
||||
<keyword match="try"/>
|
||||
<keyword match="catch"/>
|
||||
<keyword match="final"/>
|
||||
<keyword match="throw"/>
|
||||
<keyword match="public"/>
|
||||
<keyword match="private"/>
|
||||
<keyword match="protected"/>
|
||||
<keyword match="abstract"/>
|
||||
<keyword match="interface"/>
|
||||
<keyword match="implements"/>
|
||||
<keyword match="const"/>
|
||||
<keyword match="define"/>
|
||||
<keyword match="__FILE__"/>
|
||||
<keyword match="__LINE__"/>
|
||||
<keyword match="__CLASS__"/>
|
||||
<keyword match="__METHOD__"/>
|
||||
<keyword match="__FUNCTION__"/>
|
||||
<keyword match="NULL"/>
|
||||
<keyword match="true"/>
|
||||
<keyword match="false"/>
|
||||
<keyword match="and"/>
|
||||
<keyword match="or"/>
|
||||
<keyword match="xor"/>
|
||||
</keywords>
|
||||
|
||||
</highlight>
|
229
library/Text_Highlighter/python.xml
Normal file
229
library/Text_Highlighter/python.xml
Normal file
@ -0,0 +1,229 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: python.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="python" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<region name="strsingle3" delimClass="quotes" innerClass="string"
|
||||
start="'''" end="'''" />
|
||||
|
||||
<region name="strdouble3" delimClass="quotes" innerClass="string"
|
||||
start=""""" end=""""">
|
||||
</region>
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string"
|
||||
start=""" end=""" >
|
||||
</region>
|
||||
|
||||
<region name="strsingle" delimClass="quotes" innerClass="string"
|
||||
start="'" end="'" />
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" >
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]" >
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<block name="escaped" match="\\." innerClass="special" contained="yes">
|
||||
<onlyin region="strsingle"/>
|
||||
<onlyin region="strsingle3"/>
|
||||
<onlyin region="strdouble"/>
|
||||
<onlyin region="strdouble3"/>
|
||||
</block>
|
||||
|
||||
<block name="possiblefunction" match="[a-z_]\w*(?=\s*\()" innerClass="identifier" />
|
||||
|
||||
<block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
|
||||
|
||||
<block name="exponent"
|
||||
match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
|
||||
innerClass="number" />
|
||||
|
||||
<block name="imaginary" match="((\d*\.\d+)|(\d+\.\d*)|(\d+))j" innerClass="number"/>
|
||||
|
||||
<block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
|
||||
|
||||
<block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
|
||||
|
||||
<block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
|
||||
|
||||
<block name="octinteger" match="0[0-7]+l?" innerClass="number" />
|
||||
|
||||
<block name="comment" innerClass="comment"
|
||||
match="#.+" />
|
||||
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
|
||||
<keyword match="and"/>
|
||||
<keyword match="del"/>
|
||||
<keyword match="for"/>
|
||||
<keyword match="is"/>
|
||||
<keyword match="raise"/>
|
||||
<keyword match="assert"/>
|
||||
<keyword match="elif"/>
|
||||
<keyword match="from"/>
|
||||
<keyword match="lambda"/>
|
||||
<keyword match="return"/>
|
||||
<keyword match="break"/>
|
||||
<keyword match="else"/>
|
||||
<keyword match="global"/>
|
||||
<keyword match="not"/>
|
||||
<keyword match="try"/>
|
||||
<keyword match="class"/>
|
||||
<keyword match="except"/>
|
||||
<keyword match="if"/>
|
||||
<keyword match="or"/>
|
||||
<keyword match="while"/>
|
||||
<keyword match="continue"/>
|
||||
<keyword match="exec"/>
|
||||
<keyword match="import"/>
|
||||
<keyword match="pass"/>
|
||||
<keyword match="yield"/>
|
||||
<keyword match="def"/>
|
||||
<keyword match="finally"/>
|
||||
<keyword match="in"/>
|
||||
<keyword match="print"/>
|
||||
<keyword match="False"/>
|
||||
<keyword match="True"/>
|
||||
<keyword match="None"/>
|
||||
<keyword match="NotImplemented"/>
|
||||
<keyword match="Ellipsis"/>
|
||||
|
||||
<keyword match="Exception" />
|
||||
<keyword match="SystemExit" />
|
||||
<keyword match="StopIteration" />
|
||||
<keyword match="StandardError" />
|
||||
<keyword match="KeyboardInterrupt" />
|
||||
<keyword match="ImportError" />
|
||||
<keyword match="EnvironmentError" />
|
||||
<keyword match="IOError" />
|
||||
<keyword match="OSError" />
|
||||
<keyword match="WindowsError" />
|
||||
<keyword match="EOFError" />
|
||||
<keyword match="RuntimeError" />
|
||||
<keyword match="NotImplementedError" />
|
||||
<keyword match="NameError" />
|
||||
<keyword match="UnboundLocalError" />
|
||||
|
||||
<keyword match="AttributeError" />
|
||||
<keyword match="SyntaxError" />
|
||||
<keyword match="IndentationError" />
|
||||
<keyword match="TabError" />
|
||||
<keyword match="TypeError" />
|
||||
<keyword match="AssertionError" />
|
||||
<keyword match="LookupError" />
|
||||
<keyword match="IndexError" />
|
||||
<keyword match="KeyError" />
|
||||
<keyword match="ArithmeticError" />
|
||||
<keyword match="OverflowError" />
|
||||
<keyword match="ZeroDivisionError" />
|
||||
<keyword match="FloatingPointError" />
|
||||
<keyword match="ValueError" />
|
||||
<keyword match="UnicodeError" />
|
||||
<keyword match="UnicodeEncodeError" />
|
||||
<keyword match="UnicodeDecodeError" />
|
||||
|
||||
<keyword match="UnicodeTranslateError" />
|
||||
<keyword match="ReferenceError" />
|
||||
<keyword match="SystemError" />
|
||||
<keyword match="MemoryError" />
|
||||
<keyword match="Warning" />
|
||||
<keyword match="UserWarning" />
|
||||
<keyword match="DeprecationWarning" />
|
||||
<keyword match="PendingDeprecationWarning" />
|
||||
<keyword match="SyntaxWarning" />
|
||||
<keyword match="OverflowWarning" />
|
||||
<keyword match="RuntimeWarning" />
|
||||
<keyword match="FutureWarning" />
|
||||
|
||||
</keywords>
|
||||
|
||||
<keywords name="builtin" inherits="possiblefunction"
|
||||
innerClass="builtin" otherwise="identifier" case = "yes">
|
||||
<keyword match="__import__"/>
|
||||
|
||||
<keyword match="abs"/>
|
||||
<keyword match="apply"/>
|
||||
<keyword match="basestring"/>
|
||||
<keyword match="bool"/>
|
||||
<keyword match="buffer"/>
|
||||
<keyword match="callable"/>
|
||||
<keyword match="chr"/>
|
||||
<keyword match="classmethod"/>
|
||||
<keyword match="cmp"/>
|
||||
|
||||
<keyword match="coerce"/>
|
||||
<keyword match="compile"/>
|
||||
<keyword match="complex"/>
|
||||
<keyword match="delattr"/>
|
||||
<keyword match="dict"/>
|
||||
<keyword match="dir"/>
|
||||
<keyword match="divmod"/>
|
||||
<keyword match="enumerate"/>
|
||||
<keyword match="eval"/>
|
||||
|
||||
<keyword match="execfile"/>
|
||||
<keyword match="file"/>
|
||||
<keyword match="filter"/>
|
||||
<keyword match="float"/>
|
||||
<keyword match="getattr"/>
|
||||
<keyword match="globals"/>
|
||||
<keyword match="hasattr"/>
|
||||
<keyword match="hash"/>
|
||||
<keyword match="help"/>
|
||||
|
||||
<keyword match="hex"/>
|
||||
<keyword match="id"/>
|
||||
<keyword match="input"/>
|
||||
<keyword match="int"/>
|
||||
<keyword match="intern"/>
|
||||
<keyword match="isinstance"/>
|
||||
<keyword match="issubclass"/>
|
||||
<keyword match="iter"/>
|
||||
<keyword match="len"/>
|
||||
|
||||
<keyword match="list"/>
|
||||
<keyword match="locals"/>
|
||||
<keyword match="long"/>
|
||||
<keyword match="map"/>
|
||||
<keyword match="max"/>
|
||||
<keyword match="min"/>
|
||||
<keyword match="object"/>
|
||||
<keyword match="oct"/>
|
||||
<keyword match="open"/>
|
||||
|
||||
<keyword match="ord"/>
|
||||
<keyword match="pow"/>
|
||||
<keyword match="property"/>
|
||||
<keyword match="range"/>
|
||||
<keyword match="raw_input"/>
|
||||
<keyword match="reduce"/>
|
||||
<keyword match="reload"/>
|
||||
<keyword match="repr"/>
|
||||
<keyword match="round"/>
|
||||
|
||||
<keyword match="setattr"/>
|
||||
<keyword match="slice"/>
|
||||
<keyword match="staticmethod"/>
|
||||
<keyword match="sum"/>
|
||||
<keyword match="super"/>
|
||||
<keyword match="str"/>
|
||||
<keyword match="tuple"/>
|
||||
<keyword match="type"/>
|
||||
<keyword match="unichr"/>
|
||||
|
||||
<keyword match="unicode"/>
|
||||
<keyword match="vars"/>
|
||||
<keyword match="xrange"/>
|
||||
<keyword match="zip"/>
|
||||
|
||||
</keywords>
|
||||
|
||||
</highlight>
|
||||
|
4
library/Text_Highlighter/release
Normal file
4
library/Text_Highlighter/release
Normal file
@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/local/bin/php package.php make
|
||||
/usr/local/bin/pear package
|
141
library/Text_Highlighter/ruby.xml
Normal file
141
library/Text_Highlighter/ruby.xml
Normal file
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id: ruby.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="ruby" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
<comment>
|
||||
FIXME: While this construction : s.split /z/i
|
||||
is valid, regular expression is not recognized as such
|
||||
(/ folowing an identifier or number is not recognized as
|
||||
start of RE), making highlighting improper
|
||||
|
||||
%q(a (nested) string) does not get highlighted correctly
|
||||
</comment>
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<region name="data" start="/^__END__$/m" end="$" delimClass="reserved" innerClass="comment" never-conteined="yes" />
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string"
|
||||
start=""" end=""" >
|
||||
</region>
|
||||
|
||||
<region name="qstrdouble" delimClass="quotes" innerClass="string"
|
||||
start="%[Qx]([!"#\$%&'+\-*.\/:;=?@^`|~{<\[(])" end="%b1%" remember="yes" />
|
||||
|
||||
<region name="strsingle" delimClass="quotes" innerClass="string"
|
||||
start="'" end="'" />
|
||||
|
||||
<region name="qstrsingle" delimClass="quotes" innerClass="string"
|
||||
start="%[wq]([!"#\$%&'+\-*.\/:;=?@^`|~{<\[(])" end="%b1%" remember="yes" />
|
||||
|
||||
<block name="global" match="\$(\W|\w+)" innerClass="var" />
|
||||
|
||||
<block name="classvar" match="/@@?[_a-z][\d_a-z]*/i" innerClass="var" />
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)" >
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<region name="sqbrackets" delimClass="brackets" innerClass="code" start="\[" end="\]" >
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
<block name="escaped" match="\\." innerClass="special" contained="yes">
|
||||
<onlyin region="qstrsingle"/>
|
||||
<onlyin region="strsingle"/>
|
||||
<onlyin region="qstrdouble"/>
|
||||
<onlyin region="strdouble"/>
|
||||
<onlyin region="regexp"/>
|
||||
</block>
|
||||
|
||||
<block name="identifier" match="[a-z_]\w*" innerClass="identifier" />
|
||||
|
||||
<block name="exponent"
|
||||
match="((\d+|((\d*\.\d+)|(\d+\.\d*)))[eE][+-]?\d+)"
|
||||
innerClass="number" />
|
||||
|
||||
<block name="float" match="(\d*\.\d+)|(\d+\.\d*)" innerClass="number"/>
|
||||
|
||||
<block name="hexinteger" match="0[xX][\da-f]+l?" innerClass="number" />
|
||||
|
||||
<block name="integer" match="\d+l?|\b0l?\b" innerClass="number" />
|
||||
|
||||
<block name="octinteger" match="0[0-7]+l?" innerClass="number" />
|
||||
|
||||
|
||||
<region name="rubydoc" start="/^=begin$/m" end="/^=end$/m" delimClass="comment" innerClass="comment">
|
||||
<contains block="cvstag" />
|
||||
</region>
|
||||
|
||||
<block name="cvstag" match="\$\w+\s*:.+\$" innerClass="inlinedoc" contained="yes">
|
||||
<onlyin region="comment"/>
|
||||
<onlyin region="rubydoc"/>
|
||||
</block>
|
||||
|
||||
<region name="comment" innerClass="comment" start="#" end="/$/m" delimClass="comment" >
|
||||
<contains block="cvstag" />
|
||||
</region>
|
||||
|
||||
<region name="regexp" delimClass="quotes" innerClass="string" start="\s*\/" end="\/[iomx]*"
|
||||
neverAfter="(?<!\band|\bor|\bwhile|\buntil|\bunless|\bif|\belsif|\bwhen|[~=!|&(,\[])$">
|
||||
</region>
|
||||
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
|
||||
<keyword match="__FILE__" />
|
||||
<keyword match="require" />
|
||||
<keyword match="and" />
|
||||
<keyword match="def" />
|
||||
<keyword match="end" />
|
||||
<keyword match="in" />
|
||||
<keyword match="or" />
|
||||
<keyword match="self" />
|
||||
<keyword match="unless" />
|
||||
<keyword match="__LINE__" />
|
||||
<keyword match="begin" />
|
||||
<keyword match="defined?" />
|
||||
<keyword match="ensure" />
|
||||
<keyword match="module" />
|
||||
<keyword match="redo" />
|
||||
<keyword match="super" />
|
||||
<keyword match="until" />
|
||||
<keyword match="BEGIN" />
|
||||
<keyword match="break" />
|
||||
<keyword match="do" />
|
||||
<keyword match="false" />
|
||||
<keyword match="next" />
|
||||
<keyword match="rescue" />
|
||||
<keyword match="then" />
|
||||
<keyword match="when" />
|
||||
<keyword match="END" />
|
||||
<keyword match="case" />
|
||||
<keyword match="else" />
|
||||
<keyword match="for" />
|
||||
<keyword match="nil" />
|
||||
<keyword match="retry" />
|
||||
<keyword match="true" />
|
||||
<keyword match="while" />
|
||||
<keyword match="alias" />
|
||||
<keyword match="module_function" />
|
||||
<keyword match="private" />
|
||||
<keyword match="public" />
|
||||
<keyword match="protected" />
|
||||
<keyword match="attr_reader" />
|
||||
<keyword match="attr_writer" />
|
||||
<keyword match="attr_accessor" />
|
||||
<keyword match="class" />
|
||||
<keyword match="elsif" />
|
||||
<keyword match="if" />
|
||||
<keyword match="not" />
|
||||
<keyword match="return" />
|
||||
<keyword match="undef" />
|
||||
<keyword match="yield" />
|
||||
</keywords>
|
||||
|
||||
|
||||
</highlight>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user