Merge remote-tracking branch 'upstream/develop' into 1606-contact-id
This commit is contained in:
commit
65b541413f
|
@ -4,7 +4,14 @@ AddType audio/ogg .oga
|
|||
#AddHandler php53-cgi .php
|
||||
|
||||
<FilesMatch "\.(out|log)$">
|
||||
Deny from all
|
||||
<IfModule authz_host_module>
|
||||
#Apache 2.4
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule !authz_host_module>
|
||||
#Apache 2.2
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
|
|
|
@ -42,6 +42,12 @@ Block
|
|||
|
||||
<p style="clear:both;"> </p>
|
||||
|
||||
<pre>[code=php]function text_highlight($s,$lang)[/code]</pre>
|
||||
|
||||
<code><div class="hl-main"><ol class="hl-main"><li><span class="hl-code"> </span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">text_highlight</span><span class="hl-brackets">(</span><span class="hl-var">$s</span><span class="hl-code">,</span><span class="hl-var">$lang</span><span class="hl-brackets">)</span></li></ol></div></code>
|
||||
|
||||
<p style="clear:both;"> </p>
|
||||
|
||||
<pre>[quote]quote[/quote]</pre>
|
||||
|
||||
<blockquote>quote</blockquote>
|
||||
|
|
|
@ -42,6 +42,12 @@ Block Tags
|
|||
|
||||
<p style="clear:both;"> </p>
|
||||
|
||||
<pre>[code=php]function text_highlight($s,$lang)[/code]</pre>
|
||||
|
||||
<code><div class="hl-main"><ol class="hl-main"><li><span class="hl-code"> </span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">text_highlight</span><span class="hl-brackets">(</span><span class="hl-var">$s</span><span class="hl-code">,</span><span class="hl-var">$lang</span><span class="hl-brackets">)</span></li></ol></div></code>
|
||||
|
||||
<p style="clear:both;"> </p>
|
||||
|
||||
<pre>[quote]Zitat[/quote]</pre>
|
||||
|
||||
<blockquote>Zitat</blockquote>
|
||||
|
|
|
@ -724,6 +724,13 @@ function bb_CleanPictureLinks($text) {
|
|||
return ($text);
|
||||
}
|
||||
|
||||
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
|
||||
// extended to work with Mistpark/Friendica - Mike Macgirvin
|
||||
|
||||
|
@ -776,6 +783,11 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
|
|||
if (!$tryoembed)
|
||||
$Text = preg_replace("/\[share(.*?)avatar\s?=\s?'.*?'\s?(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","\n[share$1$2]$3[/share]",$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
|
||||
|
|
|
@ -213,7 +213,7 @@ function dob($dob) {
|
|||
* @return string Parsed HTML output.
|
||||
*/
|
||||
function datesel($format, $min, $max, $default, $id = 'datepicker') {
|
||||
return datetimesel($format,$min,$max,$default,$id,true,false, '','');
|
||||
return datetimesel($format,$min,$max,$default,'',$id,true,false, '','');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -231,7 +231,7 @@ function datesel($format, $min, $max, $default, $id = 'datepicker') {
|
|||
* @return string Parsed HTML output.
|
||||
*/
|
||||
function timesel($format, $h, $m, $id='timepicker') {
|
||||
return datetimesel($format,new DateTime(),new DateTime(),new DateTime("$h:$m"),$id,false,true);
|
||||
return datetimesel($format,new DateTime(),new DateTime(),new DateTime("$h:$m"),'',$id,false,true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -262,7 +262,7 @@ function timesel($format, $h, $m, $id='timepicker') {
|
|||
* @todo Once browser support is better this could probably be replaced with
|
||||
* native HTML5 date picker.
|
||||
*/
|
||||
function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false) {
|
||||
function datetimesel($format, $min, $max, $default, $label, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '', $required = false) {
|
||||
|
||||
// First day of the week (0 = Sunday)
|
||||
$firstDay = get_pconfig(local_user(),'system','first_day_of_week');
|
||||
|
@ -284,7 +284,7 @@ function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pic
|
|||
$minjs = $min ? ",minDate: new Date({$min->getTimestamp()}*1000), yearStart: " . $min->format('Y') : '';
|
||||
$maxjs = $max ? ",maxDate: new Date({$max->getTimestamp()}*1000), yearEnd: " . $max->format('Y') : '';
|
||||
|
||||
$input_text = $default ? 'value="' . date($dateformat, $default->getTimestamp()) . '"' : '';
|
||||
$input_text = $default ? date($dateformat, $default->getTimestamp()) : '';
|
||||
$defaultdatejs = $default ? ",defaultDate: new Date({$default->getTimestamp()}*1000)" : '';
|
||||
|
||||
$pickers = '';
|
||||
|
@ -294,9 +294,9 @@ function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pic
|
|||
$extra_js = '';
|
||||
$pickers .= ",dayOfWeekStart: ".$firstDay.",lang:'".$lang."'";
|
||||
if($minfrom != '')
|
||||
$extra_js .= "\$('#$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})";
|
||||
$extra_js .= "\$('#id_$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})";
|
||||
if($maxfrom != '')
|
||||
$extra_js .= "\$('#$maxfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#$id').data('xdsoft_datetimepicker').setOptions({maxDate: currentDateTime})}})";
|
||||
$extra_js .= "\$('#id_$maxfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#id_$id').data('xdsoft_datetimepicker').setOptions({maxDate: currentDateTime})}})";
|
||||
|
||||
$readable_format = $dateformat;
|
||||
$readable_format = str_replace('Y','yyyy',$readable_format);
|
||||
|
@ -305,10 +305,13 @@ function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pic
|
|||
$readable_format = str_replace('H','HH',$readable_format);
|
||||
$readable_format = str_replace('i','MM',$readable_format);
|
||||
|
||||
$o .= "<div class='date'><input type='text' placeholder='$readable_format' name='$id' id='$id' $input_text />";
|
||||
$o .= '</div>';
|
||||
$tpl = get_markup_template('field_input.tpl');
|
||||
$o .= replace_macros($tpl,array(
|
||||
'$field' => array($id, $label, $input_text, '', (($required) ? '*' : ''), 'placeholder="' . $readable_format . '"'),
|
||||
));
|
||||
|
||||
$o .= "<script type='text/javascript'>";
|
||||
$o .= "\$(function () {var picker = \$('#$id').datetimepicker({step:5,format:'$dateformat' $minjs $maxjs $pickers $defaultdatejs}); $extra_js})";
|
||||
$o .= "\$(function () {var picker = \$('#id_$id').datetimepicker({step:5,format:'$dateformat' $minjs $maxjs $pickers $defaultdatejs}); $extra_js})";
|
||||
$o .= "</script>";
|
||||
|
||||
return $o;
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
<?php
|
||||
/**
|
||||
* @file include/event.php
|
||||
* @brief functions specific to event handling
|
||||
*/
|
||||
|
||||
require_once('include/bbcode.php');
|
||||
require_once('include/map.php');
|
||||
require_once('include/datetime.php');
|
||||
|
||||
function format_event_html($ev, $simple = false) {
|
||||
|
||||
|
@ -427,3 +432,185 @@ function event_store($arr) {
|
|||
return $item_id;
|
||||
}
|
||||
}
|
||||
|
||||
function get_event_strings() {
|
||||
// First day of the week (0 = Sunday)
|
||||
$firstDay = get_pconfig(local_user(),'system','first_day_of_week');
|
||||
if ($firstDay === false) $firstDay=0;
|
||||
|
||||
$i18n = array(
|
||||
"firstDay" => $firstDay,
|
||||
"Sun" => t("Sun"),
|
||||
"Mon" => t("Mon"),
|
||||
"Tue" => t("Tue"),
|
||||
"Wed" => t("Wed"),
|
||||
"Thu" => t("Thu"),
|
||||
"Fri" => t("Fri"),
|
||||
"Sat" => t("Sat"),
|
||||
"Sunday" => t("Sunday"),
|
||||
"Monday" => t("Monday"),
|
||||
"Tuesday" => t("Tuesday"),
|
||||
"Wednesday" => t("Wednesday"),
|
||||
"Thursday" => t("Thursday"),
|
||||
"Friday" => t("Friday"),
|
||||
"Saturday" => t("Saturday"),
|
||||
"Jan" => t("Jan"),
|
||||
"Feb" => t("Feb"),
|
||||
"Mar" => t("Mar"),
|
||||
"Apr" => t("Apr"),
|
||||
"May" => t("May"),
|
||||
"Jun" => t("Jun"),
|
||||
"Jul" => t("Jul"),
|
||||
"Aug" => t("Aug"),
|
||||
"Sep" => t("Sept"),
|
||||
"Oct" => t("Oct"),
|
||||
"Nov" => t("Nov"),
|
||||
"Dec" => t("Dec"),
|
||||
"January" => t("January"),
|
||||
"February" => t("February"),
|
||||
"March" => t("March"),
|
||||
"April" => t("April"),
|
||||
"May" => t("May"),
|
||||
"June" => t("June"),
|
||||
"July" => t("July"),
|
||||
"August" => t("August"),
|
||||
"September" => t("September"),
|
||||
"October" => t("October"),
|
||||
"November" => t("November"),
|
||||
"December" => t("December"),
|
||||
"today" => t("today"),
|
||||
"month" => t("month"),
|
||||
"week" => t("week"),
|
||||
"day" => t("day"),
|
||||
);
|
||||
|
||||
return $i18n;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get an event by its event ID
|
||||
*
|
||||
* @param type $owner_uid The User ID of the owner of the event
|
||||
* @param type $event_params An assoziative array with
|
||||
* int 'event_id' => The ID of the event in the event table
|
||||
* @param type $sql_extra
|
||||
* @return array Query result
|
||||
*/
|
||||
function event_by_id($owner_uid = 0, $event_params, $sql_extra = '') {
|
||||
// ownly allow events if there is a valid owner_id
|
||||
if($owner_uid == 0)
|
||||
return;
|
||||
|
||||
// query for the event by event id
|
||||
$r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink`,
|
||||
`item`.`author-name`, `item`.`author-avatar`, `item`.`author-link` FROM `event`
|
||||
LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid`
|
||||
WHERE `event`.`uid` = %d AND `event`.`id` = %d $sql_extra",
|
||||
intval($owner_uid),
|
||||
intval($event_params["event_id"])
|
||||
);
|
||||
|
||||
if(count($r))
|
||||
return $r;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get all events in a specific timeframe
|
||||
*
|
||||
* @param int $owner_uid The User ID of the owner of the events
|
||||
* @param array $event_params An assoziative array with
|
||||
* int 'ignored' =>
|
||||
* string 'start' => Start time of the timeframe
|
||||
* string 'finish' => Finish time of the timeframe
|
||||
* string 'adjust_start' =>
|
||||
* string 'adjust_start' =>
|
||||
*
|
||||
* @param string $sql_extra Additional sql conditions (e.g. permission request)
|
||||
* @return array Query results
|
||||
*/
|
||||
function events_by_date($owner_uid = 0, $event_params, $sql_extra = '') {
|
||||
// ownly allow events if there is a valid owner_id
|
||||
if($owner_uid == 0)
|
||||
return;
|
||||
|
||||
// query for the event by date
|
||||
$r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink`,
|
||||
`item`.`author-name`, `item`.`author-avatar`, `item`.`author-link` FROM `event`
|
||||
LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid`
|
||||
WHERE `event`.`uid` = %d AND event.ignore = %d
|
||||
AND ((`adjust` = 0 AND (`finish` >= '%s' OR (nofinish AND start >= '%s')) AND `start` <= '%s')
|
||||
OR (`adjust` = 1 AND (`finish` >= '%s' OR (nofinish AND start >= '%s')) AND `start` <= '%s'))
|
||||
$sql_extra ",
|
||||
intval($owner_uid),
|
||||
intval($event_params["ignored"]),
|
||||
dbesc($event_params["start"]),
|
||||
dbesc($event_params["start"]),
|
||||
dbesc($event_params["finish"]),
|
||||
dbesc($event_params["adjust_start"]),
|
||||
dbesc($event_params["adjust_start"]),
|
||||
dbesc($event_params["adjust_finish"])
|
||||
);
|
||||
|
||||
if(count($r))
|
||||
return $r;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Convert an array query results in an arry which could be used by the events template
|
||||
*
|
||||
* @param array $arr Event query array
|
||||
* @return array Event array for the template
|
||||
*/
|
||||
function process_events ($arr) {
|
||||
$events=array();
|
||||
|
||||
$last_date = '';
|
||||
$fmt = t('l, F j');
|
||||
if (count($arr)) {
|
||||
foreach($arr as $rr) {
|
||||
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
|
||||
$d = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], $fmt) : datetime_convert('UTC','UTC',$rr['start'],$fmt));
|
||||
$d = day_translate($d);
|
||||
|
||||
$start = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'c') : datetime_convert('UTC','UTC',$rr['start'],'c'));
|
||||
if ($rr['nofinish']){
|
||||
$end = null;
|
||||
} else {
|
||||
$end = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['finish'], 'c') : datetime_convert('UTC','UTC',$rr['finish'],'c'));
|
||||
}
|
||||
|
||||
|
||||
$is_first = ($d !== $last_date);
|
||||
|
||||
$last_date = $d;
|
||||
$edit = ((! $rr['cid']) ? array(App::get_baseurl().'/events/event/'.$rr['id'],t('Edit event'),'','') : null);
|
||||
$title = strip_tags(html_entity_decode(bbcode($rr['summary']),ENT_QUOTES,'UTF-8'));
|
||||
if(! $title) {
|
||||
list($title, $_trash) = explode("<br",bbcode($rr['desc']),2);
|
||||
$title = strip_tags(html_entity_decode($title,ENT_QUOTES,'UTF-8'));
|
||||
}
|
||||
|
||||
$html = format_event_html($rr);
|
||||
$rr['desc'] = bbcode($rr['desc']);
|
||||
$rr['location'] = bbcode($rr['location']);
|
||||
$events[] = array(
|
||||
'id'=>$rr['id'],
|
||||
'start'=> $start,
|
||||
'end' => $end,
|
||||
'allDay' => false,
|
||||
'title' => $title,
|
||||
|
||||
'j' => $j,
|
||||
'd' => $d,
|
||||
'is_first'=>$is_first,
|
||||
'item'=>$rr,
|
||||
'html'=>$html,
|
||||
'plink' => array($rr['plink'],t('link to source'),'',''),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return $events;
|
||||
}
|
||||
|
|
|
@ -740,8 +740,8 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
),
|
||||
);
|
||||
|
||||
if ($is_owner){
|
||||
if ($a->theme_events_in_profile)
|
||||
// the calendar link for the full featured events calendar
|
||||
if ($is_owner && $a->theme_events_in_profile) {
|
||||
$tabs[] = array(
|
||||
'label' => t('Events'),
|
||||
'url' => $a->get_baseurl() . '/events',
|
||||
|
@ -750,6 +750,20 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
'id' => 'events-tab',
|
||||
'accesskey' => 'e',
|
||||
);
|
||||
// if the user is not the owner of the calendar we only show a calendar
|
||||
// with the public events of the calendar owner
|
||||
} elseif (! $is_owner) {
|
||||
$tabs[] = array(
|
||||
'label' => t('Events'),
|
||||
'url' => $a->get_baseurl() . '/cal/' . $nickname,
|
||||
'sel' =>((!isset($tab)&&$a->argv[0]=='cal')?'active':''),
|
||||
'title' => t('Events and Calendar'),
|
||||
'id' => 'events-tab',
|
||||
'accesskey' => 'e',
|
||||
);
|
||||
}
|
||||
|
||||
if ($is_owner){
|
||||
$tabs[] = array(
|
||||
'label' => t('Personal Notes'),
|
||||
'url' => $a->get_baseurl() . '/notes',
|
||||
|
|
|
@ -2087,3 +2087,54 @@ function format_network_name($network, $url = 0) {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Syntax based code highlighting for popular languages.
|
||||
* @param string $s Code block
|
||||
* @param string $lang Programming language
|
||||
* @return string Formated html
|
||||
*/
|
||||
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);
|
||||
|
||||
// The highlighter library insists on an opening php tag for php code blocks. If
|
||||
// it isn't present, nothing is highlighted. So we're going to see if it's present.
|
||||
// If not, we'll add it, and then quietly remove it after we get the processed output back.
|
||||
|
||||
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>');
|
||||
}
|
||||
|
|
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>
|
||||
|
62
library/Text_Highlighter/sample.css
Normal file
62
library/Text_Highlighter/sample.css
Normal file
|
@ -0,0 +1,62 @@
|
|||
.hl-main ol {
|
||||
line-height: 1.0;
|
||||
}
|
||||
.hl-default {
|
||||
color: Black;
|
||||
}
|
||||
.hl-code {
|
||||
color: Black;
|
||||
}
|
||||
.hl-brackets {
|
||||
color: Olive;
|
||||
}
|
||||
.hl-comment {
|
||||
color: Purple;
|
||||
}
|
||||
.hl-quotes {
|
||||
color: Darkred;
|
||||
}
|
||||
.hl-string {
|
||||
color: Red;
|
||||
}
|
||||
.hl-identifier {
|
||||
color: Blue;
|
||||
}
|
||||
.hl-builtin {
|
||||
color: Teal;
|
||||
}
|
||||
.hl-reserved {
|
||||
color: Green;
|
||||
}
|
||||
.hl-inlinedoc {
|
||||
color: Blue;
|
||||
}
|
||||
.hl-var {
|
||||
color: Darkblue;
|
||||
}
|
||||
.hl-url {
|
||||
color: Blue;
|
||||
}
|
||||
.hl-special {
|
||||
color: Navy;
|
||||
}
|
||||
.hl-number {
|
||||
color: Maroon;
|
||||
}
|
||||
.hl-inlinetags {
|
||||
color: Blue;
|
||||
}
|
||||
.hl-main {
|
||||
background: #ccc none repeat scroll 0 0;
|
||||
color: #000;
|
||||
/* background-color: White; */
|
||||
}
|
||||
.hl-gutter {
|
||||
background-color: #999999;
|
||||
color: White
|
||||
}
|
||||
.hl-table {
|
||||
font-family: courier;
|
||||
font-size: 12px;
|
||||
border: solid 1px Lightgrey;
|
||||
}
|
242
library/Text_Highlighter/sh.xml
Normal file
242
library/Text_Highlighter/sh.xml
Normal file
|
@ -0,0 +1,242 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- $Id: sh.xml,v 1.2 2007-06-14 00:15:50 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="sh" case = "yes">
|
||||
|
||||
<authors>
|
||||
<author name="Noah Spurrier" email="noah@noah.org" />
|
||||
</authors>
|
||||
|
||||
<comment>This highlighter is EXPERIMENTAL. It may work incorrectly.
|
||||
It is a crude hack of the perl syntax, which itself wasn't so good.
|
||||
But this seems to work OK.
|
||||
</comment>
|
||||
|
||||
<default innerClass="code"/>
|
||||
|
||||
<block name="interpreter" match="/^(#!)(.*)/m" innerClass="special">
|
||||
<partClass index="1" innerClass="special" />
|
||||
<partClass index="2" innerClass="string" />
|
||||
</block>
|
||||
|
||||
<!--
|
||||
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>
|
||||
|
||||
|
||||
<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 rewritten
|
||||
-->
|
||||
<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"/>
|
||||
|
||||
<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"/>
|
||||
|
||||
<!--
|
||||
GNU and posix standard shell utilities here.
|
||||
-->
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case = "yes">
|
||||
<keyword match="cd"/>
|
||||
<keyword match="cp"/>
|
||||
<keyword match="rm"/>
|
||||
<keyword match="echo"/>
|
||||
<keyword match="printf"/>
|
||||
<keyword match="exit"/>
|
||||
<keyword match="cut"/>
|
||||
<keyword match="join"/>
|
||||
<keyword match="comm"/>
|
||||
<keyword match="fmt"/>
|
||||
<keyword match="grep"/>
|
||||
<keyword match="egrep"/>
|
||||
<keyword match="fgrep"/>
|
||||
<keyword match="sed"/>
|
||||
<keyword match="awk"/>
|
||||
<keyword match="yes"/>
|
||||
<keyword match="false"/>
|
||||
<keyword match="true"/>
|
||||
<keyword match="test"/>
|
||||
<keyword match="expr"/>
|
||||
<keyword match="tee"/>
|
||||
<keyword match="basename"/>
|
||||
<keyword match="dirname"/>
|
||||
<keyword match="pathchk"/>
|
||||
<keyword match="pwd"/>
|
||||
<keyword match="stty"/>
|
||||
<keyword match="tty"/>
|
||||
<keyword match="env"/>
|
||||
<keyword match="printenv"/>
|
||||
<keyword match="id"/>
|
||||
<keyword match="logname"/>
|
||||
<keyword match="whoami"/>
|
||||
<keyword match="groups"/>
|
||||
<keyword match="users"/>
|
||||
<keyword match="who"/>
|
||||
<keyword match="date"/>
|
||||
<keyword match="uname"/>
|
||||
<keyword match="hostname"/>
|
||||
<keyword match="chroot"/>
|
||||
<keyword match="nice"/>
|
||||
<keyword match="nohup"/>
|
||||
<keyword match="sleep"/>
|
||||
<keyword match="factor"/>
|
||||
<keyword match="seq"/>
|
||||
<keyword match="getopt"/>
|
||||
<keyword match="getopts"/>
|
||||
<keyword match="options"/>
|
||||
<keyword match="shift"/>
|
||||
</keywords>
|
||||
|
||||
<keywords name="flowcontrol" inherits="identifier" innerClass="reserved" case = "yes">
|
||||
<keyword match="if"/>
|
||||
<keyword match="fi"/>
|
||||
<keyword match="then"/>
|
||||
<keyword match="else"/>
|
||||
<keyword match="elif"/>
|
||||
<keyword match="case"/>
|
||||
<keyword match="esac"/>
|
||||
<keyword match="while"/>
|
||||
<keyword match="done"/>
|
||||
<keyword match="for"/>
|
||||
<keyword match="in"/>
|
||||
<keyword match="function"/>
|
||||
<keyword match="until"/>
|
||||
<keyword match="do"/>
|
||||
<keyword match="select"/>
|
||||
<keyword match="time"/>
|
||||
<!--
|
||||
<keyword match="[["/>
|
||||
<keyword match="]]"/>
|
||||
-->
|
||||
<keyword match="read"/>
|
||||
<keyword match="set"/>
|
||||
</keywords>
|
||||
|
||||
</highlight>
|
496
library/Text_Highlighter/sql.xml
Normal file
496
library/Text_Highlighter/sql.xml
Normal file
|
@ -0,0 +1,496 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- $Id: sql.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="sql" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
|
||||
<comment>Based on SQL-99</comment>
|
||||
|
||||
<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="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="ABSOLUTE" />
|
||||
<keyword match="ACTION" />
|
||||
<keyword match="ADD" />
|
||||
<keyword match="ADMIN" />
|
||||
<keyword match="AFTER" />
|
||||
<keyword match="AGGREGATE" />
|
||||
<keyword match="ALIAS" />
|
||||
<keyword match="ALL" />
|
||||
<keyword match="ALLOCATE" />
|
||||
<keyword match="ALTER" />
|
||||
<keyword match="AND" />
|
||||
<keyword match="ANY" />
|
||||
<keyword match="ARE" />
|
||||
<keyword match="ARRAY" />
|
||||
<keyword match="AS" />
|
||||
<keyword match="ASC" />
|
||||
<keyword match="ASSERTION" />
|
||||
<keyword match="AT" />
|
||||
<keyword match="AUTHORIZATION" />
|
||||
<keyword match="BEFORE" />
|
||||
<keyword match="BEGIN" />
|
||||
<keyword match="BINARY" />
|
||||
<keyword match="BIT" />
|
||||
<keyword match="BLOB" />
|
||||
<keyword match="BOOLEAN" />
|
||||
<keyword match="BOTH" />
|
||||
<keyword match="BREADTH" />
|
||||
<keyword match="BY" />
|
||||
<keyword match="CALL" />
|
||||
<keyword match="CASCADE" />
|
||||
<keyword match="CASCADED" />
|
||||
<keyword match="CASE" />
|
||||
<keyword match="CAST" />
|
||||
<keyword match="CATALOG" />
|
||||
<keyword match="CHAR" />
|
||||
<keyword match="CHARACTER" />
|
||||
<keyword match="CHECK" />
|
||||
<keyword match="CLASS" />
|
||||
<keyword match="CLOB" />
|
||||
<keyword match="CLOSE" />
|
||||
<keyword match="COLLATE" />
|
||||
<keyword match="COLLATION" />
|
||||
<keyword match="COLUMN" />
|
||||
<keyword match="COMMIT" />
|
||||
<keyword match="COMPLETION" />
|
||||
<keyword match="CONNECT" />
|
||||
<keyword match="CONNECTION" />
|
||||
<keyword match="CONSTRAINT" />
|
||||
<keyword match="CONSTRAINTS" />
|
||||
<keyword match="CONSTRUCTOR" />
|
||||
<keyword match="CONTINUE" />
|
||||
<keyword match="CORRESPONDING" />
|
||||
<keyword match="CREATE" />
|
||||
<keyword match="CROSS" />
|
||||
<keyword match="CUBE" />
|
||||
<keyword match="CURRENT" />
|
||||
<keyword match="CURRENT_DATE" />
|
||||
<keyword match="CURRENT_PATH" />
|
||||
<keyword match="CURRENT_ROLE" />
|
||||
<keyword match="CURRENT_TIME" />
|
||||
<keyword match="CURRENT_TIMESTAMP" />
|
||||
<keyword match="CURRENT_USER" />
|
||||
<keyword match="CURSOR" />
|
||||
<keyword match="CYCLE" />
|
||||
<keyword match="DATA" />
|
||||
<keyword match="DATE" />
|
||||
<keyword match="DAY" />
|
||||
<keyword match="DEALLOCATE" />
|
||||
<keyword match="DEC" />
|
||||
<keyword match="DECIMAL" />
|
||||
<keyword match="DECLARE" />
|
||||
<keyword match="DEFAULT" />
|
||||
<keyword match="DEFERRABLE" />
|
||||
<keyword match="DEFERRED" />
|
||||
<keyword match="DELETE" />
|
||||
<keyword match="DEPTH" />
|
||||
<keyword match="DEREF" />
|
||||
<keyword match="DESC" />
|
||||
<keyword match="DESCRIBE" />
|
||||
<keyword match="DESCRIPTOR" />
|
||||
<keyword match="DESTROY" />
|
||||
<keyword match="DESTRUCTOR" />
|
||||
<keyword match="DETERMINISTIC" />
|
||||
<keyword match="DIAGNOSTICS" />
|
||||
<keyword match="DICTIONARY" />
|
||||
<keyword match="DISCONNECT" />
|
||||
<keyword match="DISTINCT" />
|
||||
<keyword match="DOMAIN" />
|
||||
<keyword match="DOUBLE" />
|
||||
<keyword match="DROP" />
|
||||
<keyword match="DYNAMIC" />
|
||||
<keyword match="EACH" />
|
||||
<keyword match="ELSE" />
|
||||
<keyword match="END" />
|
||||
<keyword match="END-EXEC" />
|
||||
<keyword match="EQUALS" />
|
||||
<keyword match="ESCAPE" />
|
||||
<keyword match="EVERY" />
|
||||
<keyword match="EXCEPT" />
|
||||
<keyword match="EXCEPTION" />
|
||||
<keyword match="EXEC" />
|
||||
<keyword match="EXECUTE" />
|
||||
<keyword match="EXTERNAL" />
|
||||
<keyword match="FALSE" />
|
||||
<keyword match="FETCH" />
|
||||
<keyword match="FIRST" />
|
||||
<keyword match="FLOAT" />
|
||||
<keyword match="FOR" />
|
||||
<keyword match="FOREIGN" />
|
||||
<keyword match="FOUND" />
|
||||
<keyword match="FREE" />
|
||||
<keyword match="FROM" />
|
||||
<keyword match="FULL" />
|
||||
<keyword match="FUNCTION" />
|
||||
<keyword match="GENERAL" />
|
||||
<keyword match="GET" />
|
||||
<keyword match="GLOBAL" />
|
||||
<keyword match="GO" />
|
||||
<keyword match="GOTO" />
|
||||
<keyword match="GRANT" />
|
||||
<keyword match="GROUP" />
|
||||
<keyword match="GROUPING" />
|
||||
<keyword match="HAVING" />
|
||||
<keyword match="HOST" />
|
||||
<keyword match="HOUR" />
|
||||
<keyword match="IDENTITY" />
|
||||
<keyword match="IGNORE" />
|
||||
<keyword match="IMMEDIATE" />
|
||||
<keyword match="IN" />
|
||||
<keyword match="INDICATOR" />
|
||||
<keyword match="INITIALIZE" />
|
||||
<keyword match="INITIALLY" />
|
||||
<keyword match="INNER" />
|
||||
<keyword match="INOUT" />
|
||||
<keyword match="INPUT" />
|
||||
<keyword match="INSERT" />
|
||||
<keyword match="INT" />
|
||||
<keyword match="INTEGER" />
|
||||
<keyword match="INTERSECT" />
|
||||
<keyword match="INTERVAL" />
|
||||
<keyword match="INTO" />
|
||||
<keyword match="IS" />
|
||||
<keyword match="ISOLATION" />
|
||||
<keyword match="ITERATE" />
|
||||
<keyword match="JOIN" />
|
||||
<keyword match="KEY" />
|
||||
<keyword match="LANGUAGE" />
|
||||
<keyword match="LARGE" />
|
||||
<keyword match="LAST" />
|
||||
<keyword match="LATERAL" />
|
||||
<keyword match="LEADING" />
|
||||
<keyword match="LEFT" />
|
||||
<keyword match="LESS" />
|
||||
<keyword match="LEVEL" />
|
||||
<keyword match="LIKE" />
|
||||
<keyword match="LIMIT" />
|
||||
<keyword match="LOCAL" />
|
||||
<keyword match="LOCALTIME" />
|
||||
<keyword match="LOCALTIMESTAMP" />
|
||||
<keyword match="LOCATOR" />
|
||||
<keyword match="MAP" />
|
||||
<keyword match="MATCH" />
|
||||
<keyword match="MINUTE" />
|
||||
<keyword match="MODIFIES" />
|
||||
<keyword match="MODIFY" />
|
||||
<keyword match="MODULE" />
|
||||
<keyword match="MONTH" />
|
||||
<keyword match="NAMES" />
|
||||
<keyword match="NATIONAL" />
|
||||
<keyword match="NATURAL" />
|
||||
<keyword match="NCHAR" />
|
||||
<keyword match="NCLOB" />
|
||||
<keyword match="NEW" />
|
||||
<keyword match="NEXT" />
|
||||
<keyword match="NO" />
|
||||
<keyword match="NONE" />
|
||||
<keyword match="NOT" />
|
||||
<keyword match="NULL" />
|
||||
<keyword match="NUMERIC" />
|
||||
<keyword match="OBJECT" />
|
||||
<keyword match="OF" />
|
||||
<keyword match="OFF" />
|
||||
<keyword match="OLD" />
|
||||
<keyword match="ON" />
|
||||
<keyword match="ONLY" />
|
||||
<keyword match="OPEN" />
|
||||
<keyword match="OPERATION" />
|
||||
<keyword match="OPTION" />
|
||||
<keyword match="OR" />
|
||||
<keyword match="ORDER" />
|
||||
<keyword match="ORDINALITY" />
|
||||
<keyword match="OUT" />
|
||||
<keyword match="OUTER" />
|
||||
<keyword match="OUTPUT" />
|
||||
<keyword match="PAD" />
|
||||
<keyword match="PARAMETER" />
|
||||
<keyword match="PARAMETERS" />
|
||||
<keyword match="PARTIAL" />
|
||||
<keyword match="PATH" />
|
||||
<keyword match="POSTFIX" />
|
||||
<keyword match="PRECISION" />
|
||||
<keyword match="PREFIX" />
|
||||
<keyword match="PREORDER" />
|
||||
<keyword match="PREPARE" />
|
||||
<keyword match="PRESERVE" />
|
||||
<keyword match="PRIMARY" />
|
||||
<keyword match="PRIOR" />
|
||||
<keyword match="PRIVILEGES" />
|
||||
<keyword match="PROCEDURE" />
|
||||
<keyword match="PUBLIC" />
|
||||
<keyword match="READ" />
|
||||
<keyword match="READS" />
|
||||
<keyword match="REAL" />
|
||||
<keyword match="RECURSIVE" />
|
||||
<keyword match="REF" />
|
||||
<keyword match="REFERENCES" />
|
||||
<keyword match="REFERENCING" />
|
||||
<keyword match="RELATIVE" />
|
||||
<keyword match="RESTRICT" />
|
||||
<keyword match="RESULT" />
|
||||
<keyword match="RETURN" />
|
||||
<keyword match="RETURNS" />
|
||||
<keyword match="REVOKE" />
|
||||
<keyword match="RIGHT" />
|
||||
<keyword match="ROLE" />
|
||||
<keyword match="ROLLBACK" />
|
||||
<keyword match="ROLLUP" />
|
||||
<keyword match="ROUTINE" />
|
||||
<keyword match="ROW" />
|
||||
<keyword match="ROWS" />
|
||||
<keyword match="SAVEPOINT" />
|
||||
<keyword match="SCHEMA" />
|
||||
<keyword match="SCOPE" />
|
||||
<keyword match="SCROLL" />
|
||||
<keyword match="SEARCH" />
|
||||
<keyword match="SECOND" />
|
||||
<keyword match="SECTION" />
|
||||
<keyword match="SELECT" />
|
||||
<keyword match="SEQUENCE" />
|
||||
<keyword match="SESSION" />
|
||||
<keyword match="SESSION_USER" />
|
||||
<keyword match="SET" />
|
||||
<keyword match="SETS" />
|
||||
<keyword match="SIZE" />
|
||||
<keyword match="SMALLINT" />
|
||||
<keyword match="SOME" />
|
||||
<keyword match="SPACE" />
|
||||
<keyword match="SPECIFIC" />
|
||||
<keyword match="SPECIFICTYPE" />
|
||||
<keyword match="SQL" />
|
||||
<keyword match="SQLEXCEPTION" />
|
||||
<keyword match="SQLSTATE" />
|
||||
<keyword match="SQLWARNING" />
|
||||
<keyword match="START" />
|
||||
<keyword match="STATE" />
|
||||
<keyword match="STATEMENT" />
|
||||
<keyword match="STATIC" />
|
||||
<keyword match="STRUCTURE" />
|
||||
<keyword match="SYSTEM_USER" />
|
||||
<keyword match="TABLE" />
|
||||
<keyword match="TEMPORARY" />
|
||||
<keyword match="TERMINATE" />
|
||||
<keyword match="THAN" />
|
||||
<keyword match="THEN" />
|
||||
<keyword match="TIME" />
|
||||
<keyword match="TIMESTAMP" />
|
||||
<keyword match="TIMEZONE_HOUR" />
|
||||
<keyword match="TIMEZONE_MINUTE" />
|
||||
<keyword match="TO" />
|
||||
<keyword match="TRAILING" />
|
||||
<keyword match="TRANSACTION" />
|
||||
<keyword match="TRANSLATION" />
|
||||
<keyword match="TREAT" />
|
||||
<keyword match="TRIGGER" />
|
||||
<keyword match="TRUE" />
|
||||
<keyword match="UNDER" />
|
||||
<keyword match="UNION" />
|
||||
<keyword match="UNIQUE" />
|
||||
<keyword match="UNKNOWN" />
|
||||
<keyword match="UNNEST" />
|
||||
<keyword match="UPDATE" />
|
||||
<keyword match="USAGE" />
|
||||
<keyword match="USER" />
|
||||
<keyword match="USING" />
|
||||
<keyword match="VALUE" />
|
||||
<keyword match="VALUES" />
|
||||
<keyword match="VARCHAR" />
|
||||
<keyword match="VARIABLE" />
|
||||
<keyword match="VARYING" />
|
||||
<keyword match="VIEW" />
|
||||
<keyword match="WHEN" />
|
||||
<keyword match="WHENEVER" />
|
||||
<keyword match="WHERE" />
|
||||
<keyword match="WITH" />
|
||||
<keyword match="WITHOUT" />
|
||||
<keyword match="WORK" />
|
||||
<keyword match="WRITE" />
|
||||
<keyword match="YEAR" />
|
||||
<keyword match="ZONE" />
|
||||
</keywords>
|
||||
<keywords name="keyword" inherits="identifier" innerClass="var" case = "no">
|
||||
<keyword match="ABS" />
|
||||
<keyword match="ADA" />
|
||||
<keyword match="ASENSITIVE" />
|
||||
<keyword match="ASSIGNMENT" />
|
||||
<keyword match="ASYMMETRIC" />
|
||||
<keyword match="ATOMIC" />
|
||||
<keyword match="AVG" />
|
||||
<keyword match="BETWEEN" />
|
||||
<keyword match="BITVAR" />
|
||||
<keyword match="BIT_LENGTH" />
|
||||
<keyword match="C" />
|
||||
<keyword match="CALLED" />
|
||||
<keyword match="CARDINALITY" />
|
||||
<keyword match="CATALOG_NAME" />
|
||||
<keyword match="CHAIN" />
|
||||
<keyword match="CHARACTER_LENGTH" />
|
||||
<keyword match="CHARACTER_SET_CATALOG" />
|
||||
<keyword match="CHARACTER_SET_NAME" />
|
||||
<keyword match="CHARACTER_SET_SCHEMA" />
|
||||
<keyword match="CHAR_LENGTH" />
|
||||
<keyword match="CHECKED" />
|
||||
<keyword match="CLASS_ORIGIN" />
|
||||
<keyword match="COALESCE" />
|
||||
<keyword match="COBOL" />
|
||||
<keyword match="COLLATION_CATALOG" />
|
||||
<keyword match="COLLATION_NAME" />
|
||||
<keyword match="COLLATION_SCHEMA" />
|
||||
<keyword match="COLUMN_NAME" />
|
||||
<keyword match="COMMAND_FUNCTION" />
|
||||
<keyword match="COMMAND_FUNCTION_CODE" />
|
||||
<keyword match="COMMITTED" />
|
||||
<keyword match="CONDITION_NUMBER" />
|
||||
<keyword match="CONNECTION_NAME" />
|
||||
<keyword match="CONSTRAINT_CATALOG" />
|
||||
<keyword match="CONSTRAINT_NAME" />
|
||||
<keyword match="CONSTRAINT_SCHEMA" />
|
||||
<keyword match="CONTAINS" />
|
||||
<keyword match="CONVERT" />
|
||||
<keyword match="COUNT" />
|
||||
<keyword match="CURSOR_NAME" />
|
||||
<keyword match="DATETIME_INTERVAL_CODE" />
|
||||
<keyword match="DATETIME_INTERVAL_PRECISION" />
|
||||
<keyword match="DEFINED" />
|
||||
<keyword match="DEFINER" />
|
||||
<keyword match="DISPATCH" />
|
||||
<keyword match="DYNAMIC_FUNCTION" />
|
||||
<keyword match="DYNAMIC_FUNCTION_CODE" />
|
||||
<keyword match="EXISTING" />
|
||||
<keyword match="EXISTS" />
|
||||
<keyword match="EXTRACT" />
|
||||
<keyword match="FINAL" />
|
||||
<keyword match="FORTRAN" />
|
||||
<keyword match="G" />
|
||||
<keyword match="GENERATED" />
|
||||
<keyword match="GRANTED" />
|
||||
<keyword match="HIERARCHY" />
|
||||
<keyword match="HOLD" />
|
||||
<keyword match="IMPLEMENTATION" />
|
||||
<keyword match="INFIX" />
|
||||
<keyword match="INSENSITIVE" />
|
||||
<keyword match="INSTANCE" />
|
||||
<keyword match="INSTANTIABLE" />
|
||||
<keyword match="INVOKER" />
|
||||
<keyword match="K" />
|
||||
<keyword match="KEY_MEMBER" />
|
||||
<keyword match="KEY_TYPE" />
|
||||
<keyword match="LENGTH" />
|
||||
<keyword match="LOWER" />
|
||||
<keyword match="M" />
|
||||
<keyword match="MAX" />
|
||||
<keyword match="MESSAGE_LENGTH" />
|
||||
<keyword match="MESSAGE_OCTET_LENGTH" />
|
||||
<keyword match="MESSAGE_TEXT" />
|
||||
<keyword match="METHOD" />
|
||||
<keyword match="MIN" />
|
||||
<keyword match="MOD" />
|
||||
<keyword match="MORE" />
|
||||
<keyword match="MUMPS" />
|
||||
<keyword match="NAME" />
|
||||
<keyword match="NULLABLE" />
|
||||
<keyword match="NULLIF" />
|
||||
<keyword match="NUMBER" />
|
||||
<keyword match="OCTET_LENGTH" />
|
||||
<keyword match="OPTIONS" />
|
||||
<keyword match="OVERLAPS" />
|
||||
<keyword match="OVERLAY" />
|
||||
<keyword match="OVERRIDING" />
|
||||
<keyword match="PARAMETER_MODE" />
|
||||
<keyword match="PARAMETER_NAME" />
|
||||
<keyword match="PARAMETER_ORDINAL_POSITION" />
|
||||
<keyword match="PARAMETER_SPECIFIC_CATALOG" />
|
||||
<keyword match="PARAMETER_SPECIFIC_NAME" />
|
||||
<keyword match="PARAMETER_SPECIFIC_SCHEMA" />
|
||||
<keyword match="PASCAL" />
|
||||
<keyword match="PLI" />
|
||||
<keyword match="POSITION" />
|
||||
<keyword match="REPEATABLE" />
|
||||
<keyword match="RETURNED_LENGTH" />
|
||||
<keyword match="RETURNED_OCTET_LENGTH" />
|
||||
<keyword match="RETURNED_SQLSTATE" />
|
||||
<keyword match="ROUTINE_CATALOG" />
|
||||
<keyword match="ROUTINE_NAME" />
|
||||
<keyword match="ROUTINE_SCHEMA" />
|
||||
<keyword match="ROW_COUNT" />
|
||||
<keyword match="SCALE" />
|
||||
<keyword match="SCHEMA_NAME" />
|
||||
<keyword match="SECURITY" />
|
||||
<keyword match="SELF" />
|
||||
<keyword match="SENSITIVE" />
|
||||
<keyword match="SERIALIZABLE" />
|
||||
<keyword match="SERVER_NAME" />
|
||||
<keyword match="SIMILAR" />
|
||||
<keyword match="SIMPLE" />
|
||||
<keyword match="SOURCE" />
|
||||
<keyword match="SPECIFIC_NAME" />
|
||||
<keyword match="STYLE" />
|
||||
<keyword match="SUBCLASS_ORIGIN" />
|
||||
<keyword match="SUBLIST" />
|
||||
<keyword match="SUBSTRING" />
|
||||
<keyword match="SUM" />
|
||||
<keyword match="SYMMETRIC" />
|
||||
<keyword match="SYSTEM" />
|
||||
<keyword match="TABLE_NAME" />
|
||||
<keyword match="TRANSACTIONS_COMMITTED" />
|
||||
<keyword match="TRANSACTIONS_ROLLED_BACK" />
|
||||
<keyword match="TRANSACTION_ACTIVE" />
|
||||
<keyword match="TRANSFORM" />
|
||||
<keyword match="TRANSFORMS" />
|
||||
<keyword match="TRANSLATE" />
|
||||
<keyword match="TRIGGER_CATALOG" />
|
||||
<keyword match="TRIGGER_NAME" />
|
||||
<keyword match="TRIGGER_SCHEMA" />
|
||||
<keyword match="TRIM" />
|
||||
<keyword match="TYPE" />
|
||||
<keyword match="UNCOMMITTED" />
|
||||
<keyword match="UNNAMED" />
|
||||
<keyword match="UPPER" />
|
||||
<keyword match="USER_DEFINED_TYPE_CATALOG" />
|
||||
<keyword match="USER_DEFINED_TYPE_NAME" />
|
||||
<keyword match="USER_DEFINED_TYPE_SCHEMA" />
|
||||
</keywords>
|
||||
|
||||
</highlight>
|
305
library/Text_Highlighter/vbscript.xml
Normal file
305
library/Text_Highlighter/vbscript.xml
Normal file
|
@ -0,0 +1,305 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- $Id: vbscript.xml,v 1.2 2008-01-02 00:05:52 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="vbscript" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Daniel Fruzynski" email="daniel-AT-poradnik-webmastera.com" />
|
||||
</authors>
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<region name="brackets" delimClass="brackets" innerClass="code" start="\(" end="\)">
|
||||
<contains all="yes"/>
|
||||
</region>
|
||||
|
||||
|
||||
<region name="strdouble" delimClass="quotes" innerClass="string" start=""" end="""/>
|
||||
|
||||
<region name="comment" start="'|[Rr][Ee][Mm]\b" end="/$/m" innerClass="comment">
|
||||
<contains block="cvstag"/>
|
||||
</region>
|
||||
|
||||
<block name="number" match="\d*\.?\d+" innerClass="number"/>
|
||||
<block name="hexnumber" match="&H[0-9a-fA-F]+" innerClass="number"/>
|
||||
|
||||
<block name="identifier" match="[a-z_]\w*" innerClass="identifier" case="no"/>
|
||||
|
||||
<block name="url" match="((https?|ftp):\/\/[\w\?\.\-\&=\/%+]+)|(^|[\s,!?])www\.\w+\.\w+[\w\?\.\&=\/%+]*" innerClass="url" contained="yes">
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<block name="email" match="\w+[\.\w\-]+@(\w+[\.\w\-])+" innerClass="url" contained="yes">
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<block name="note" match="\b(note|fixme):" innerClass="inlinedoc" contained="yes" case="no">
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
|
||||
<block name="cvstag" match="\$\w+:.+\$" innerClass="inlinedoc" contained="yes">
|
||||
<onlyin region="comment"/>
|
||||
</block>
|
||||
|
||||
<keywords name="constants" inherits="identifier" innerClass="builtin" case="no">
|
||||
<!-- Color Constants -->
|
||||
<keyword match="vbBlack" />
|
||||
<keyword match="vbRed" />
|
||||
<keyword match="vbGreen" />
|
||||
<keyword match="vbYellow" />
|
||||
<keyword match="vbBlue" />
|
||||
<keyword match="vbMagenta" />
|
||||
<keyword match="vbCyan" />
|
||||
<keyword match="vbWhite" />
|
||||
<!-- Comparison Constants -->
|
||||
<keyword match="vbBinaryCompare" />
|
||||
<keyword match="vbTextCompare" />
|
||||
<!-- Date and Time Constants -->
|
||||
<keyword match="vbSunday" />
|
||||
<keyword match="vbMonday" />
|
||||
<keyword match="vbTuesday" />
|
||||
<keyword match="vbWednesday" />
|
||||
<keyword match="vbThursday" />
|
||||
<keyword match="vbFriday" />
|
||||
<keyword match="vbSaturday" />
|
||||
<keyword match="vbUseSystemDayOfWeek" />
|
||||
<keyword match="vbFirstJan1" />
|
||||
<keyword match="vbFirstFourDays" />
|
||||
<keyword match="vbFirstFullWeek" />
|
||||
<!-- Date Format Constants -->
|
||||
<keyword match="vbGeneralDate" />
|
||||
<keyword match="vbLongDate" />
|
||||
<keyword match="vbShortDate" />
|
||||
<keyword match="vbLongTime" />
|
||||
<keyword match="vbShortTime" />
|
||||
<!-- Miscellaneous Constants -->
|
||||
<keyword match="vbObjectError" />
|
||||
<!-- MsgBox Constants -->
|
||||
<keyword match="vbOKOnly" />
|
||||
<keyword match="vbOKCancel" />
|
||||
<keyword match="vbAbortRetryIgnore" />
|
||||
<keyword match="vbYesNoCancel" />
|
||||
<keyword match="vbYesNo" />
|
||||
<keyword match="vbRetryCancel" />
|
||||
<keyword match="vbCritical" />
|
||||
<keyword match="vbQuestion" />
|
||||
<keyword match="vbExclamation" />
|
||||
<keyword match="vbInformation" />
|
||||
<keyword match="vbDefaultButton1" />
|
||||
<keyword match="vbDefaultButton2" />
|
||||
<keyword match="vbDefaultButton3" />
|
||||
<keyword match="vbDefaultButton4" />
|
||||
<keyword match="vbApplicationModal" />
|
||||
<keyword match="vbSystemModal" />
|
||||
<keyword match="vbOK" />
|
||||
<keyword match="vbCancel" />
|
||||
<keyword match="vbAbort" />
|
||||
<keyword match="vbRetry" />
|
||||
<keyword match="vbIgnore" />
|
||||
<keyword match="vbYes" />
|
||||
<keyword match="vbNo" />
|
||||
<!-- String Constants -->
|
||||
<keyword match="vbCr" />
|
||||
<keyword match="VbCrLf" />
|
||||
<keyword match="vbFormFeed" />
|
||||
<keyword match="vbLf" />
|
||||
<keyword match="vbNewLine" />
|
||||
<keyword match="vbNullChar" />
|
||||
<keyword match="vbNullString" />
|
||||
<keyword match="vbTab" />
|
||||
<keyword match="vbVerticalTab" />
|
||||
<!-- Tristate Constants -->
|
||||
<keyword match="vbUseDefault" />
|
||||
<keyword match="vbTrue" />
|
||||
<keyword match="vbFalse" />
|
||||
<!-- VarType Constants -->
|
||||
<keyword match="vbEmpty" />
|
||||
<keyword match="vbNull" />
|
||||
<keyword match="vbInteger" />
|
||||
<keyword match="vbLong" />
|
||||
<keyword match="vbSingle" />
|
||||
<keyword match="vbDouble" />
|
||||
<keyword match="vbCurrency" />
|
||||
<keyword match="vbDate" />
|
||||
<keyword match="vbString" />
|
||||
<keyword match="vbObject" />
|
||||
<keyword match="vbError" />
|
||||
<keyword match="vbBoolean" />
|
||||
<keyword match="vbVariant" />
|
||||
<keyword match="vbDataObject" />
|
||||
<keyword match="vbDecimal" />
|
||||
<keyword match="vbByte" />
|
||||
<keyword match="vbArray" />
|
||||
</keywords>
|
||||
|
||||
<keywords name="functions" inherits="identifier" innerClass="builtin" case="no">
|
||||
<keyword match="Abs" />
|
||||
<keyword match="Array" />
|
||||
<keyword match="Asc" />
|
||||
<keyword match="Atn" />
|
||||
<keyword match="CBool" />
|
||||
<keyword match="CByte" />
|
||||
<keyword match="CCur" />
|
||||
<keyword match="CDate" />
|
||||
<keyword match="CDbl" />
|
||||
<keyword match="Chr" />
|
||||
<keyword match="CInt" />
|
||||
<keyword match="CLng" />
|
||||
<keyword match="Cos" />
|
||||
<keyword match="CreateObject" />
|
||||
<keyword match="CSng" />
|
||||
<keyword match="CStr" />
|
||||
<keyword match="Date" />
|
||||
<keyword match="DateAdd" />
|
||||
<keyword match="DateDiff" />
|
||||
<keyword match="DatePart" />
|
||||
<keyword match="DateSerial" />
|
||||
<keyword match="DateValue" />
|
||||
<keyword match="Day" />
|
||||
<keyword match="Escape" />
|
||||
<keyword match="Eval" />
|
||||
<keyword match="Exp" />
|
||||
<keyword match="Filter" />
|
||||
<keyword match="FormatCurrency" />
|
||||
<keyword match="FormatDateTime" />
|
||||
<keyword match="FormatNumber" />
|
||||
<keyword match="FormatPercent" />
|
||||
<keyword match="GetLocale" />
|
||||
<keyword match="GetObject" />
|
||||
<keyword match="GetRef" />
|
||||
<keyword match="Hex" />
|
||||
<keyword match="Hour" />
|
||||
<keyword match="InputBox" />
|
||||
<keyword match="InStr" />
|
||||
<keyword match="InStrRev" />
|
||||
<keyword match="Int" />
|
||||
<keyword match="Fix" />
|
||||
<keyword match="IsArray" />
|
||||
<keyword match="IsDate" />
|
||||
<keyword match="IsEmpty" />
|
||||
<keyword match="IsNull" />
|
||||
<keyword match="IsNumeric" />
|
||||
<keyword match="IsObject" />
|
||||
<keyword match="Join" />
|
||||
<keyword match="LBound" />
|
||||
<keyword match="LCase" />
|
||||
<keyword match="Left" />
|
||||
<keyword match="Len" />
|
||||
<keyword match="LoadPicture" />
|
||||
<keyword match="Log" />
|
||||
<keyword match="LTrim" />
|
||||
<keyword match="RTrim" />
|
||||
<keyword match="Trim" />
|
||||
<keyword match="Mid" />
|
||||
<keyword match="Minute" />
|
||||
<keyword match="Month" />
|
||||
<keyword match="MonthName" />
|
||||
<keyword match="MsgBox" />
|
||||
<keyword match="Now" />
|
||||
<keyword match="Oct" />
|
||||
<keyword match="Replace" />
|
||||
<keyword match="RGB" />
|
||||
<keyword match="Right" />
|
||||
<keyword match="Rnd" />
|
||||
<keyword match="Round" />
|
||||
<keyword match="ScriptEngine" />
|
||||
<keyword match="ScriptEngineBuildVersion" />
|
||||
<keyword match="ScriptEngineMajorVersion" />
|
||||
<keyword match="ScriptEngineMinorVersion" />
|
||||
<keyword match="Second" />
|
||||
<keyword match="SetLocale" />
|
||||
<keyword match="Sgn" />
|
||||
<keyword match="Sin" />
|
||||
<keyword match="Space" />
|
||||
<keyword match="Split" />
|
||||
<keyword match="Sqr" />
|
||||
<keyword match="StrComp" />
|
||||
<keyword match="String" />
|
||||
<keyword match="StrReverse" />
|
||||
<keyword match="Tan" />
|
||||
<keyword match="Time" />
|
||||
<keyword match="Timer" />
|
||||
<keyword match="TimeSerial" />
|
||||
<keyword match="TimeValue" />
|
||||
<keyword match="TypeName" />
|
||||
<keyword match="UBound" />
|
||||
<keyword match="UCase" />
|
||||
<keyword match="Unescape" />
|
||||
<keyword match="VarType" />
|
||||
<keyword match="Weekday" />
|
||||
<keyword match="WeekdayName" />
|
||||
<keyword match="Year" />
|
||||
</keywords>
|
||||
|
||||
<keywords name="builtin" inherits="identifier" innerClass="builtin" case="no">
|
||||
<!--<keyword match="Class" />-->
|
||||
<keyword match="Debug" />
|
||||
<keyword match="Err" />
|
||||
<keyword match="Match" />
|
||||
<keyword match="RegExp" />
|
||||
</keywords>
|
||||
|
||||
<keywords name="reserved" inherits="identifier" innerClass="reserved" case="no">
|
||||
<keyword match="Empty" />
|
||||
<keyword match="False" />
|
||||
<keyword match="Nothing" />
|
||||
<keyword match="Null" />
|
||||
<keyword match="True" />
|
||||
<keyword match="And" />
|
||||
<keyword match="Eqv" />
|
||||
<keyword match="Imp" />
|
||||
<keyword match="Is" />
|
||||
<keyword match="Mod" />
|
||||
<keyword match="Not" />
|
||||
<keyword match="Or" />
|
||||
<keyword match="Xor" />
|
||||
<keyword match="Call" />
|
||||
<keyword match="Class" />
|
||||
<keyword match="End" />
|
||||
<keyword match="Const" />
|
||||
<keyword match="Public" />
|
||||
<keyword match="Private" />
|
||||
<keyword match="Dim" />
|
||||
<keyword match="Do" />
|
||||
<keyword match="While" />
|
||||
<keyword match="Until" />
|
||||
<keyword match="Exit" />
|
||||
<keyword match="Loop" />
|
||||
<keyword match="Erase" />
|
||||
<keyword match="Execute" />
|
||||
<keyword match="ExecuteGlobal" />
|
||||
<keyword match="For" />
|
||||
<keyword match="Each" />
|
||||
<keyword match="In" />
|
||||
<keyword match="To" />
|
||||
<keyword match="Step" />
|
||||
<keyword match="Next" />
|
||||
<keyword match="Function" />
|
||||
<keyword match="Default" />
|
||||
<keyword match="If" />
|
||||
<keyword match="Then" />
|
||||
<keyword match="Else" />
|
||||
<keyword match="ElseIf" />
|
||||
<keyword match="On" />
|
||||
<keyword match="Error" />
|
||||
<keyword match="Resume" />
|
||||
<keyword match="Goto" />
|
||||
<keyword match="Option" />
|
||||
<keyword match="Explicit" />
|
||||
<keyword match="Property" />
|
||||
<keyword match="Get" />
|
||||
<keyword match="Let" />
|
||||
<keyword match="Set" />
|
||||
<keyword match="Randomize" />
|
||||
<keyword match="ReDim" />
|
||||
<keyword match="Preserve" />
|
||||
<keyword match="Select" />
|
||||
<keyword match="Case" />
|
||||
<keyword match="Stop" />
|
||||
<keyword match="Sub" />
|
||||
<keyword match="Wend" />
|
||||
<keyword match="With" />
|
||||
</keywords>
|
||||
|
||||
</highlight>
|
37
library/Text_Highlighter/xml.xml
Normal file
37
library/Text_Highlighter/xml.xml
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- $Id: xml.xml,v 1.1 2007-06-03 02:35:28 ssttoo Exp $ -->
|
||||
|
||||
<highlight lang="xml" case="no">
|
||||
|
||||
<authors>
|
||||
<author name="Andrey Demenev" email="demenev@gmail.com"/>
|
||||
</authors>
|
||||
|
||||
|
||||
<default innerClass="code" />
|
||||
|
||||
<region name="cdata" delimClass="comment" innerClass="comment"
|
||||
start="\<\!\[CDATA\[" end="\]\]\>">
|
||||
</region>
|
||||
|
||||
<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>
|
279
mod/cal.php
Normal file
279
mod/cal.php
Normal file
|
@ -0,0 +1,279 @@
|
|||
<?php
|
||||
/**
|
||||
* @file mod/cal.php
|
||||
* @brief The calendar module
|
||||
* This calendar is for profile visitors and contains only the events
|
||||
* of the profile owner
|
||||
*/
|
||||
|
||||
require_once('include/event.php');
|
||||
require_once('include/redir.php');
|
||||
|
||||
function cal_init(&$a) {
|
||||
if($a->argc > 1)
|
||||
auto_redir($a, $a->argv[1]);
|
||||
|
||||
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
||||
return;
|
||||
}
|
||||
|
||||
nav_set_selected('events');
|
||||
|
||||
$o = '';
|
||||
|
||||
if($a->argc > 1) {
|
||||
$nick = $a->argv[1];
|
||||
$user = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
|
||||
dbesc($nick)
|
||||
);
|
||||
|
||||
if(! count($user))
|
||||
return;
|
||||
|
||||
$a->data['user'] = $user[0];
|
||||
$a->profile_uid = $user[0]['uid'];
|
||||
|
||||
$profile = get_profiledata_by_nick($nick, $a->profile_uid);
|
||||
|
||||
if((intval($profile['page-flags']) == PAGE_COMMUNITY) || (intval($profile['page-flags']) == PAGE_PRVGROUP))
|
||||
$account_type = t('Forum');
|
||||
else
|
||||
$account_type = "";
|
||||
|
||||
$tpl = get_markup_template("vcard-widget.tpl");
|
||||
|
||||
$vcard_widget .= replace_macros($tpl, array(
|
||||
'$name' => $profile['name'],
|
||||
'$photo' => $profile['photo'],
|
||||
'$addr' => (($profile['addr'] != "") ? $profile['addr'] : ""),
|
||||
'$account_type' => $account_type,
|
||||
'$pdesc' => (($profile['pdesc'] != "") ? $profile['pdesc'] : ""),
|
||||
));
|
||||
|
||||
if(! x($a->page,'aside'))
|
||||
$a->page['aside'] = '';
|
||||
|
||||
$a->page['aside'] .= $vcard_widget;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
function cal_content(&$a) {
|
||||
nav_set_selected('events');
|
||||
|
||||
$editselect = 'none';
|
||||
if( feature_enabled(local_user(), 'richtext') )
|
||||
$editselect = 'textareas';
|
||||
|
||||
// First day of the week (0 = Sunday)
|
||||
$firstDay = get_pconfig(local_user(),'system','first_day_of_week');
|
||||
if ($firstDay === false) $firstDay=0;
|
||||
|
||||
// get the translation strings for the callendar
|
||||
$i18n = get_event_strings();
|
||||
|
||||
$htpl = get_markup_template('event_head.tpl');
|
||||
$a->page['htmlhead'] .= replace_macros($htpl,array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$module_url' => '/cal/' . $a->data['user']['nickname'],
|
||||
'$modparams' => 2,
|
||||
'$i18n' => $i18n,
|
||||
'$editselect' => $editselect
|
||||
));
|
||||
|
||||
$etpl = get_markup_template('event_end.tpl');
|
||||
$a->page['end'] .= replace_macros($etpl,array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$editselect' => $editselect
|
||||
));
|
||||
|
||||
$o ="";
|
||||
|
||||
$mode = 'view';
|
||||
$y = 0;
|
||||
$m = 0;
|
||||
$ignored = ((x($_REQUEST,'ignored')) ? intval($_REQUEST['ignored']) : 0);
|
||||
|
||||
//
|
||||
// Setup permissions structures
|
||||
//
|
||||
|
||||
$contact = null;
|
||||
$remote_contact = false;
|
||||
$contact_id = 0;
|
||||
|
||||
$owner_uid = $a->data['user']['uid'];
|
||||
|
||||
if(is_array($_SESSION['remote'])) {
|
||||
foreach($_SESSION['remote'] as $v) {
|
||||
if($v['uid'] == $a->profile['profile_uid']) {
|
||||
$contact_id = $v['cid'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if($contact_id) {
|
||||
$groups = init_groups_visitor($contact_id);
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($contact_id),
|
||||
intval($a->profile['profile_uid'])
|
||||
);
|
||||
if(count($r)) {
|
||||
$contact = $r[0];
|
||||
$remote_contact = true;
|
||||
}
|
||||
}
|
||||
if(! $remote_contact) {
|
||||
if(local_user()) {
|
||||
$contact_id = $_SESSION['cid'];
|
||||
$contact = $a->contact;
|
||||
}
|
||||
}
|
||||
$is_owner = ((local_user()) && (local_user() == $a->profile['profile_uid']) ? true : false);
|
||||
|
||||
if($a->profile['hidewall'] && (! $is_owner) && (! $remote_contact)) {
|
||||
notice( t('Access to this profile has been restricted.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
$sql_extra = item_permissions_sql($owner_uid,$remote_contact,$groups);
|
||||
|
||||
// get the tab navigation bar
|
||||
$tabs .= profile_tabs($a,false, $a->data['user']['nickname']);
|
||||
|
||||
// The view mode part is similiar to /mod/events.php
|
||||
if($mode == 'view') {
|
||||
|
||||
|
||||
$thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
|
||||
$thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
|
||||
if(! $y)
|
||||
$y = intval($thisyear);
|
||||
if(! $m)
|
||||
$m = intval($thismonth);
|
||||
|
||||
// Put some limits on dates. The PHP date functions don't seem to do so well before 1900.
|
||||
// An upper limit was chosen to keep search engines from exploring links millions of years in the future.
|
||||
|
||||
if($y < 1901)
|
||||
$y = 1900;
|
||||
if($y > 2099)
|
||||
$y = 2100;
|
||||
|
||||
$nextyear = $y;
|
||||
$nextmonth = $m + 1;
|
||||
if($nextmonth > 12) {
|
||||
$nextmonth = 1;
|
||||
$nextyear ++;
|
||||
}
|
||||
|
||||
$prevyear = $y;
|
||||
if($m > 1)
|
||||
$prevmonth = $m - 1;
|
||||
else {
|
||||
$prevmonth = 12;
|
||||
$prevyear --;
|
||||
}
|
||||
|
||||
$dim = get_dim($y,$m);
|
||||
$start = sprintf('%d-%d-%d %d:%d:%d',$y,$m,1,0,0,0);
|
||||
$finish = sprintf('%d-%d-%d %d:%d:%d',$y,$m,$dim,23,59,59);
|
||||
|
||||
|
||||
if ($a->argv[2] === 'json'){
|
||||
if (x($_GET,'start')) $start = date("Y-m-d h:i:s", $_GET['start']);
|
||||
if (x($_GET,'end')) $finish = date("Y-m-d h:i:s", $_GET['end']);
|
||||
}
|
||||
|
||||
$start = datetime_convert('UTC','UTC',$start);
|
||||
$finish = datetime_convert('UTC','UTC',$finish);
|
||||
|
||||
$adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start);
|
||||
$adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish);
|
||||
|
||||
// put the event parametes in an array so we can better transmit them
|
||||
$event_params = array(
|
||||
'event_id' => (x($_GET,'id') ? $_GET["id"] : 0),
|
||||
'start' => $start,
|
||||
'finish' => $finish,
|
||||
'adjust_start' => $adjust_start,
|
||||
'adjust_finish' => $adjust_finish,
|
||||
'ignored' => $ignored,
|
||||
);
|
||||
|
||||
// get events by id or by date
|
||||
if (x($_GET,'id')){
|
||||
$r = event_by_id($owner_uid, $event_params, $sql_extra);
|
||||
} else {
|
||||
$r = events_by_date($owner_uid, $event_params, $sql_extra);
|
||||
}
|
||||
|
||||
$links = array();
|
||||
|
||||
if(count($r)) {
|
||||
$r = sort_by_date($r);
|
||||
foreach($r as $rr) {
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
|
||||
if(! x($links,$j))
|
||||
$links[$j] = $a->get_baseurl() . '/' . $a->cmd . '#link-' . $j;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$events=array();
|
||||
|
||||
// transform the event in a usable array
|
||||
if(count($r))
|
||||
$r = sort_by_date($r);
|
||||
$events = process_events($r);
|
||||
|
||||
if ($a->argv[2] === 'json'){
|
||||
echo json_encode($events); killme();
|
||||
}
|
||||
|
||||
// links: array('href', 'text', 'extra css classes', 'title')
|
||||
if (x($_GET,'id')){
|
||||
$tpl = get_markup_template("event.tpl");
|
||||
} else {
|
||||
// if (get_config('experimentals','new_calendar')==1){
|
||||
$tpl = get_markup_template("events-js.tpl");
|
||||
// } else {
|
||||
// $tpl = get_markup_template("events.tpl");
|
||||
// }
|
||||
}
|
||||
|
||||
// Get rid of dashes in key names, Smarty3 can't handle them
|
||||
foreach($events as $key => $event) {
|
||||
$event_item = array();
|
||||
foreach($event['item'] as $k => $v) {
|
||||
$k = str_replace('-','_',$k);
|
||||
$event_item[$k] = $v;
|
||||
}
|
||||
$events[$key]['item'] = $event_item;
|
||||
}
|
||||
|
||||
$o = replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$tabs' => $tabs,
|
||||
'$title' => t('Events'),
|
||||
'$view' => t('View'),
|
||||
'$previus' => array($a->get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
|
||||
'$next' => array($a->get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''),
|
||||
'$calendar' => cal($y,$m,$links, ' eventcal'),
|
||||
|
||||
'$events' => $events,
|
||||
|
||||
"today" => t("today"),
|
||||
"month" => t("month"),
|
||||
"week" => t("week"),
|
||||
"day" => t("day"),
|
||||
|
||||
|
||||
));
|
||||
|
||||
if (x($_GET,'id')){ echo $o; killme(); }
|
||||
|
||||
return $o;
|
||||
}
|
||||
}
|
169
mod/events.php
169
mod/events.php
|
@ -1,5 +1,8 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @fiel mod/events.php
|
||||
* @brief The events module
|
||||
*/
|
||||
require_once('include/bbcode.php');
|
||||
require_once('include/datetime.php');
|
||||
require_once('include/event.php');
|
||||
|
@ -67,9 +70,9 @@ function events_post(&$a) {
|
|||
$action = ($event_id == '') ? 'new' : "event/" . $event_id;
|
||||
$onerror_url = $a->get_baseurl() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish";
|
||||
|
||||
if(strcmp($finish,$start) < 0 && !$nofinish) {
|
||||
if(strcmp($finish,$start) < 0 && !$nofinish) {
|
||||
notice( t('Event can not end before it has started.') . EOL);
|
||||
if(intval($_REQUEST['preview'])) {
|
||||
if(intval($_REQUEST['preview'])) {
|
||||
echo( t('Event can not end before it has started.'));
|
||||
killme();
|
||||
}
|
||||
|
@ -193,59 +196,14 @@ function events_content(&$a) {
|
|||
if( feature_enabled(local_user(), 'richtext') )
|
||||
$editselect = 'textareas';
|
||||
|
||||
// First day of the week (0 = Sunday)
|
||||
$firstDay = get_pconfig(local_user(),'system','first_day_of_week');
|
||||
if ($firstDay === false) $firstDay=0;
|
||||
|
||||
$i18n = array(
|
||||
"firstDay" => $firstDay,
|
||||
"Sun" => t("Sun"),
|
||||
"Mon" => t("Mon"),
|
||||
"Tue" => t("Tue"),
|
||||
"Wed" => t("Wed"),
|
||||
"Thu" => t("Thu"),
|
||||
"Fri" => t("Fri"),
|
||||
"Sat" => t("Sat"),
|
||||
"Sunday" => t("Sunday"),
|
||||
"Monday" => t("Monday"),
|
||||
"Tuesday" => t("Tuesday"),
|
||||
"Wednesday" => t("Wednesday"),
|
||||
"Thursday" => t("Thursday"),
|
||||
"Friday" => t("Friday"),
|
||||
"Saturday" => t("Saturday"),
|
||||
"Jan" => t("Jan"),
|
||||
"Feb" => t("Feb"),
|
||||
"Mar" => t("Mar"),
|
||||
"Apr" => t("Apr"),
|
||||
"May" => t("May"),
|
||||
"Jun" => t("Jun"),
|
||||
"Jul" => t("Jul"),
|
||||
"Aug" => t("Aug"),
|
||||
"Sep" => t("Sept"),
|
||||
"Oct" => t("Oct"),
|
||||
"Nov" => t("Nov"),
|
||||
"Dec" => t("Dec"),
|
||||
"January" => t("January"),
|
||||
"February" => t("February"),
|
||||
"March" => t("March"),
|
||||
"April" => t("April"),
|
||||
"May" => t("May"),
|
||||
"June" => t("June"),
|
||||
"July" => t("July"),
|
||||
"August" => t("August"),
|
||||
"September" => t("September"),
|
||||
"October" => t("October"),
|
||||
"November" => t("November"),
|
||||
"December" => t("December"),
|
||||
"today" => t("today"),
|
||||
"month" => t("month"),
|
||||
"week" => t("week"),
|
||||
"day" => t("day"),
|
||||
);
|
||||
// get the translation strings for the callendar
|
||||
$i18n = get_event_strings();
|
||||
|
||||
$htpl = get_markup_template('event_head.tpl');
|
||||
$a->page['htmlhead'] .= replace_macros($htpl,array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$module_url' => '/events',
|
||||
'$modparams' => 1,
|
||||
'$i18n' => $i18n,
|
||||
'$editselect' => $editselect
|
||||
));
|
||||
|
@ -284,6 +242,7 @@ function events_content(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
// The view mode part is similiar to /mod/cal.php
|
||||
if($mode == 'view') {
|
||||
|
||||
|
||||
|
@ -333,31 +292,21 @@ function events_content(&$a) {
|
|||
$adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start);
|
||||
$adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish);
|
||||
|
||||
// put the event parametes in an array so we can better transmit them
|
||||
$event_params = array(
|
||||
'event_id' => (x($_GET,'id') ? $_GET["id"] : 0),
|
||||
'start' => $start,
|
||||
'finish' => $finish,
|
||||
'adjust_start' => $adjust_start,
|
||||
'adjust_finish' => $adjust_finish,
|
||||
'ignored' => $ignored,
|
||||
);
|
||||
|
||||
// get events by id or by date
|
||||
if (x($_GET,'id')){
|
||||
$r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink`,
|
||||
`item`.`author-name`, `item`.`author-avatar`, `item`.`author-link` FROM `event`
|
||||
LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid`
|
||||
WHERE `event`.`uid` = %d AND `event`.`id` = %d",
|
||||
intval(local_user()),
|
||||
intval($_GET['id'])
|
||||
);
|
||||
$r = event_by_id(local_user(), $event_params);
|
||||
} else {
|
||||
$r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink`,
|
||||
`item`.`author-name`, `item`.`author-avatar`, `item`.`author-link` FROM `event`
|
||||
LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid`
|
||||
WHERE `event`.`uid` = %d and event.ignore = %d
|
||||
AND ((`adjust` = 0 AND (`finish` >= '%s' OR (nofinish AND start >= '%s')) AND `start` <= '%s')
|
||||
OR (`adjust` = 1 AND (`finish` >= '%s' OR (nofinish AND start >= '%s')) AND `start` <= '%s')) ",
|
||||
intval(local_user()),
|
||||
intval($ignored),
|
||||
dbesc($start),
|
||||
dbesc($start),
|
||||
dbesc($finish),
|
||||
dbesc($adjust_start),
|
||||
dbesc($adjust_start),
|
||||
dbesc($adjust_finish)
|
||||
);
|
||||
$r = events_by_date(local_user(), $event_params);
|
||||
}
|
||||
|
||||
$links = array();
|
||||
|
@ -371,60 +320,12 @@ function events_content(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
$events=array();
|
||||
|
||||
$last_date = '';
|
||||
$fmt = t('l, F j');
|
||||
|
||||
if(count($r)) {
|
||||
// transform the event in a usable array
|
||||
if(count($r))
|
||||
$r = sort_by_date($r);
|
||||
foreach($r as $rr) {
|
||||
|
||||
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
|
||||
$d = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], $fmt) : datetime_convert('UTC','UTC',$rr['start'],$fmt));
|
||||
$d = day_translate($d);
|
||||
|
||||
$start = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'c') : datetime_convert('UTC','UTC',$rr['start'],'c'));
|
||||
if ($rr['nofinish']){
|
||||
$end = null;
|
||||
} else {
|
||||
$end = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['finish'], 'c') : datetime_convert('UTC','UTC',$rr['finish'],'c'));
|
||||
}
|
||||
|
||||
|
||||
$is_first = ($d !== $last_date);
|
||||
|
||||
$last_date = $d;
|
||||
$edit = ((! $rr['cid']) ? array($a->get_baseurl().'/events/event/'.$rr['id'],t('Edit event'),'','') : null);
|
||||
$title = strip_tags(html_entity_decode(bbcode($rr['summary']),ENT_QUOTES,'UTF-8'));
|
||||
if(! $title) {
|
||||
list($title, $_trash) = explode("<br",bbcode($rr['desc']),2);
|
||||
$title = strip_tags(html_entity_decode($title,ENT_QUOTES,'UTF-8'));
|
||||
}
|
||||
$html = format_event_html($rr);
|
||||
$rr['desc'] = bbcode($rr['desc']);
|
||||
$rr['location'] = bbcode($rr['location']);
|
||||
$events[] = array(
|
||||
'id'=>$rr['id'],
|
||||
'start'=> $start,
|
||||
'end' => $end,
|
||||
'allDay' => false,
|
||||
'title' => $title,
|
||||
|
||||
'j' => $j,
|
||||
'd' => $d,
|
||||
'edit' => $edit,
|
||||
'is_first'=>$is_first,
|
||||
'item'=>$rr,
|
||||
'html'=>$html,
|
||||
'plink' => array($rr['plink'],t('link to source'),'',''),
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
$events = process_events($r);
|
||||
|
||||
if ($a->argv[1] === 'json'){
|
||||
echo json_encode($events); killme();
|
||||
|
@ -455,6 +356,7 @@ function events_content(&$a) {
|
|||
'$baseurl' => $a->get_baseurl(),
|
||||
'$tabs' => $tabs,
|
||||
'$title' => t('Events'),
|
||||
'$view' => t('View'),
|
||||
'$new_event'=> array($a->get_baseurl().'/events/new',t('Create New Event'),'',''),
|
||||
'$previus' => array($a->get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
|
||||
'$next' => array($a->get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''),
|
||||
|
@ -462,6 +364,11 @@ function events_content(&$a) {
|
|||
|
||||
'$events' => $events,
|
||||
|
||||
"today" => t("today"),
|
||||
"month" => t("month"),
|
||||
"week" => t("week"),
|
||||
"day" => t("day"),
|
||||
|
||||
|
||||
));
|
||||
|
||||
|
@ -555,11 +462,11 @@ function events_content(&$a) {
|
|||
'$title' => t('Event details'),
|
||||
'$desc' => t('Starting date and Title are required.'),
|
||||
'$s_text' => t('Event Starts:') . ' <span class="required" title="' . t('Required') . '">*</span>',
|
||||
'$s_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$syear+5),DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"),'start_text',true,true,'','',true),
|
||||
'$s_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$syear+5),DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"),t('Event Starts:'),'start_text',true,true,'','',true),
|
||||
'$n_text' => t('Finish date/time is not known or not relevant'),
|
||||
'$n_checked' => $n_checked,
|
||||
'$f_text' => t('Event Finishes:'),
|
||||
'$f_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$fyear+5),DateTime::createFromFormat('Y-m-d H:i',"$fyear-$fmonth-$fday $fhour:$fminute"),'finish_text',true,true,'start_text'),
|
||||
'$f_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$fyear+5),DateTime::createFromFormat('Y-m-d H:i',"$fyear-$fmonth-$fday $fhour:$fminute"),t('Event Finishes:'),'finish_text',true,true,'start_text'),
|
||||
'$a_text' => t('Adjust for viewer timezone'),
|
||||
'$a_checked' => $a_checked,
|
||||
'$d_text' => t('Description:'),
|
||||
|
@ -568,11 +475,17 @@ function events_content(&$a) {
|
|||
'$l_orig' => $l_orig,
|
||||
'$t_text' => t('Title:') . ' <span class="required" title="' . t('Required') . '">*</span>',
|
||||
'$t_orig' => $t_orig,
|
||||
'$summary' => array('summary', t('Title:'), $t_orig, '', '*'),
|
||||
'$sh_text' => t('Share this event'),
|
||||
'$share' => array('share', t('Share this event'), $sh_checked, ''),
|
||||
'$sh_checked' => $sh_checked,
|
||||
'$nofinish' => array('nofinish', t('Finish date/time is not known or not relevant'), $n_checked),
|
||||
'$adjust' => array('adjust', t('Adjust for viewer timezone'), $a_checked),
|
||||
'$preview' => t('Preview'),
|
||||
'$acl' => $acl,
|
||||
'$submit' => t('Submit')
|
||||
'$submit' => t('Submit'),
|
||||
'$basic' => t("Basic"),
|
||||
'$advanced' => t("Advanced")
|
||||
|
||||
));
|
||||
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
Options -Indexes
|
||||
|
||||
# Remove the following line or modify it to run the string translator utility
|
||||
Deny from all
|
||||
# Remove the following lines or modify it to run the string translator utility
|
||||
<IfModule authz_host_module>
|
||||
#Apache 2.4
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule !authz_host_module>
|
||||
#Apache 2.2
|
||||
Deny from all
|
||||
</IfModule>
|
||||
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
<FilesMatch "\.tpl">
|
||||
Deny from all
|
||||
</FilesMatch>
|
||||
<IfModule authz_host_module>
|
||||
#Apache 2.4
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule !authz_host_module>
|
||||
#Apache 2.2
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
|
|
|
@ -12,24 +12,15 @@
|
|||
<input type="hidden" name="uri" value="{{$uri}}" />
|
||||
<input type="hidden" name="preview" id="event-edit-preview" value="0" />
|
||||
|
||||
<div id="event-start-text">{{$s_text}}</div>
|
||||
{{$s_dsel}}
|
||||
|
||||
<div id="event-finish-text">{{$f_text}}</div>
|
||||
{{$f_dsel}}
|
||||
|
||||
<div id="event-datetime-break"></div>
|
||||
{{include file="field_checkbox.tpl" field=$nofinish}}
|
||||
|
||||
<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" {{$n_checked}} /> <div id="event-nofinish-text">{{$n_text}}</div>
|
||||
{{include file="field_checkbox.tpl" field=$adjust}}
|
||||
|
||||
<div id="event-nofinish-break"></div>
|
||||
|
||||
<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" {{$a_checked}} /> <div id="event-adjust-text">{{$a_text}}</div>
|
||||
|
||||
<div id="event-adjust-break"></div>
|
||||
|
||||
<div id="event-summary-text">{{$t_text}}</div>
|
||||
<input type="text" id="event-summary" name="summary" value="{{$t_orig|escape:'html'}}" />
|
||||
{{include file="field_input.tpl" field=$summary}}
|
||||
|
||||
|
||||
<div id="event-desc-text">{{$d_text}}</div>
|
||||
|
@ -41,8 +32,9 @@
|
|||
|
||||
<div id="event-location-break"></div>
|
||||
|
||||
<input type="checkbox" name="share" value="1" id="event-share-checkbox" {{$sh_checked}} /> <div id="event-share-text">{{$sh_text}}</div>
|
||||
<div id="event-share-break"></div>
|
||||
{{if ! $eid}}
|
||||
{{include file="field_checkbox.tpl" field=$share}}
|
||||
{{/if}}
|
||||
|
||||
{{$acl}}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<script>
|
||||
function showEvent(eventid) {
|
||||
$.get(
|
||||
'{{$baseurl}}/events/?id='+eventid,
|
||||
'{{$baseurl}}{{$module_url}}/?id='+eventid,
|
||||
function(data){
|
||||
$.colorbox({html:data});
|
||||
}
|
||||
|
@ -21,6 +21,14 @@
|
|||
$('#event-edit-preview').val(0);
|
||||
}
|
||||
|
||||
// disable the input for the finish date if it is not available
|
||||
function enableDisableFinishDate() {
|
||||
if( $('#id_nofinish').is(':checked'))
|
||||
$('#id_finish_text').prop("disabled", true);
|
||||
else
|
||||
$('#id_finish_text').prop("disabled", false);
|
||||
}
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#events-calendar').fullCalendar({
|
||||
|
@ -39,7 +47,7 @@
|
|||
week: '{{$i18n.week}}',
|
||||
day: '{{$i18n.day}}'
|
||||
},
|
||||
events: '{{$baseurl}}/events/json/',
|
||||
events: '{{$baseurl}}{{$module_url}}/json/',
|
||||
header: {
|
||||
left: 'prev,next today',
|
||||
center: 'title',
|
||||
|
@ -92,9 +100,15 @@
|
|||
|
||||
// center on date
|
||||
var args=location.href.replace(baseurl,"").split("/");
|
||||
{{if $modparams == 2}}
|
||||
if (args.length>=5) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[3] , args[4]-1);
|
||||
}
|
||||
{{else}}
|
||||
if (args.length>=4) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
|
||||
}
|
||||
}
|
||||
{{/if}}
|
||||
|
||||
// show event popup
|
||||
var hash = location.hash.split("-")
|
||||
|
@ -152,9 +166,9 @@
|
|||
$("#comment-edit-text-desc").bbco_autocomplete('bbcode');
|
||||
{{/if}}
|
||||
|
||||
$('#event-share-checkbox').change(function() {
|
||||
$('#id_share').change(function() {
|
||||
|
||||
if ($('#event-share-checkbox').is(':checked')) {
|
||||
if ($('#id_share').is(':checked')) {
|
||||
$('#acl-wrapper').show();
|
||||
}
|
||||
else {
|
||||
|
@ -175,6 +189,11 @@
|
|||
|
||||
}).trigger('change');
|
||||
|
||||
// disable the finish time input if the user disable it
|
||||
$('#id_nofinish').change(function() {
|
||||
enableDisableFinishDate()
|
||||
}).trigger('change');
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<link rel="stylesheet" href="library/jgrowl/jquery.jgrowl.css" type="text/css" media="screen" />
|
||||
<link rel="stylesheet" href="library/datetimepicker/jquery.datetimepicker.css" type="text/css" media="screen" />
|
||||
<link rel="stylesheet" href="library/perfect-scrollbar/perfect-scrollbar.min.css" type="text/css" media="screen" />
|
||||
<link rel="stylesheet" href="library/Text_Highlighter/sample.css" type="text/css" media="screen" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{{$stylesheet}}" media="all" />
|
||||
|
||||
|
|
|
@ -163,6 +163,15 @@ a#item-delete-selected {
|
|||
.btn-link:focus, .btn-link:hover {
|
||||
color: #23527c;
|
||||
}
|
||||
.btn-eventnav, btn-eventnav:hover {
|
||||
font-size: 16px;
|
||||
background: none;
|
||||
background-color: transparent;
|
||||
padding: 0 14px;
|
||||
}
|
||||
.btn-separator {
|
||||
border-left: 1px solid #777;
|
||||
}
|
||||
/*.btn-info {
|
||||
background: #6fdbe8;
|
||||
color: #fff!important;
|
||||
|
@ -1760,8 +1769,8 @@ ul.dropdown-menu li:hover {
|
|||
.contacts-content-wrapper, .suggest-content-wrapper, .common-content-wrapper,
|
||||
.allfriends-content-wrapper, .match-content-wrapper, .dirfind-content-wrapper,
|
||||
.directory-content-wrapper, .manage-content-wrapper, .notes-content-wrapper,
|
||||
.events-content-wrapper, .message-content-wrapper, .apps-content-wrapper,
|
||||
.notifications-content-wrapper, .admin-content-wrapper, .group-content-wrapper {
|
||||
.message-content-wrapper, .apps-content-wrapper, .notifications-content-wrapper,
|
||||
.admin-content-wrapper, .group-content-wrapper {
|
||||
min-height: calc(100vh - 150px);
|
||||
padding: 15px;
|
||||
padding-bottom: 20px;
|
||||
|
@ -1960,6 +1969,78 @@ ul li:hover .contact-wrapper a.contact-action-link:hover {
|
|||
clear: both;
|
||||
}
|
||||
|
||||
/* Events page */
|
||||
#fc-header {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#fc-header-left,
|
||||
#fc-header-right,
|
||||
#event-calendar-title {
|
||||
display: inline-block;
|
||||
}
|
||||
#fc-title {
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
|
||||
}
|
||||
#fc-header-right {
|
||||
margin-top: -4px;
|
||||
}
|
||||
#event-calendar-title {
|
||||
vertical-align: middle;
|
||||
}
|
||||
a#event-calendar-views {
|
||||
padding: 6px 9px;
|
||||
font-size: 14px
|
||||
}
|
||||
tr.fc-first,
|
||||
tr.fc-first th {
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
border-top: none;
|
||||
}
|
||||
td.fc-day {
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
padding: 0 6px;
|
||||
}
|
||||
#events-calendar .fc-grid .fc-day-number {
|
||||
float: left;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.event-wrapper .event-owner {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.event-wrapper .event-owner img {
|
||||
display: block;
|
||||
}
|
||||
.event-owner img {
|
||||
margin-right: 5px;
|
||||
height: 48px;
|
||||
width: 48;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.event-wrapper .vevent {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
box-shadow: 1.5px 0 0 0 rgba(0, 0, 0, .1) inset;
|
||||
}
|
||||
.event-wrapper .event-buttons {
|
||||
margin-top: 15px;
|
||||
}
|
||||
#event-form-wrapper {
|
||||
padding-top: 5px;
|
||||
}
|
||||
#event-edit-form-wrapper {
|
||||
padding-top: 15px;
|
||||
}
|
||||
#event-nav a {
|
||||
color: #555;
|
||||
}
|
||||
#event-edit-form-wrapper #event-edit-time {
|
||||
padding: 10px 0;
|
||||
}
|
||||
/* Profiles Page */
|
||||
.profile-listing-table {
|
||||
display: table;
|
||||
|
|
124
view/theme/frio/js/event.js
Normal file
124
view/theme/frio/js/event.js
Normal file
|
@ -0,0 +1,124 @@
|
|||
$(document).ready(function() {
|
||||
// go to the permissions tab if the checkbox is checked
|
||||
$('body').on("change", "#id_share", function() {
|
||||
|
||||
if ($('#id_share').is(':checked') && !( $('#id_share').attr("disabled"))) {
|
||||
$('#acl-wrapper').show();
|
||||
$("a#event-perms-lnk").parent("li").show();
|
||||
toggleEventNav("a#event-perms-lnk");
|
||||
eventAclActive();
|
||||
}
|
||||
else {
|
||||
$('#acl-wrapper').hide();
|
||||
$("a#event-perms-lnk").parent("li").hide();
|
||||
}
|
||||
}).trigger('change');
|
||||
|
||||
// disable the finish time input if the user disable it
|
||||
$('body').on("change", "#id_nofinish", function() {
|
||||
enableDisableFinishDate()
|
||||
}).trigger('change');
|
||||
|
||||
// js for the permission sextion
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
selstr = $(this).text();
|
||||
$('#jot-public').hide();
|
||||
});
|
||||
if(selstr == null) {
|
||||
$('#jot-public').show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
|
||||
// Change the event nav menu.tabs on click
|
||||
$("body").on("click", "#event-nav > li > a", function(e){
|
||||
e.preventDefault();
|
||||
toggleEventNav(this);
|
||||
});
|
||||
|
||||
// this is experimental. We maybe can make use of it to inject
|
||||
// some js code while the event modal opens
|
||||
//$('body').on('show.bs.modal', function () {
|
||||
// enableDisableFinishDate();
|
||||
//});
|
||||
|
||||
// clear some elements (e.g. the event-preview container) when
|
||||
// selecting a event nav link so it don't appear more than once
|
||||
$('body').on("click", "#event-nav a", function(e) {
|
||||
$("#event-preview").empty();
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// Load the html of the actual event and incect the output to the
|
||||
// event-edit section
|
||||
function doEventPreview() {
|
||||
$('#event-edit-preview').val(1);
|
||||
$.post('events',$('#event-edit-form').serialize(), function(data) {
|
||||
$("#event-preview").append(data);
|
||||
});
|
||||
$('#event-edit-preview').val(0);
|
||||
}
|
||||
|
||||
|
||||
// this function load the content of the edit url into a modal
|
||||
function eventEdit(url) {
|
||||
var char = qOrAmp(url);
|
||||
url = url + char + 'mode=none';
|
||||
|
||||
$.get(url, function(data) {
|
||||
$("#modal-body").empty();
|
||||
$("#modal-body").append(data);
|
||||
}).done(function() {
|
||||
loadModalTitle();
|
||||
});
|
||||
}
|
||||
|
||||
// the following functions show/hide the specific event-edit content
|
||||
// in dependence of the selected nav
|
||||
function eventAclActive() {
|
||||
$("#event-edit-wrapper, #event-preview, #event-desc-wrapper").hide();
|
||||
$("#event-acl-wrapper").show();
|
||||
}
|
||||
|
||||
|
||||
function eventPreviewActive() {
|
||||
$("#event-acl-wrapper, #event-edit-wrapper, #event-desc-wrapper").hide();
|
||||
$("#event-preview").show();
|
||||
doEventPreview();
|
||||
}
|
||||
|
||||
function eventEditActive() {
|
||||
$("#event-acl-wrapper, #event-preview, #event-desc-wrapper").hide();
|
||||
$("#event-edit-wrapper").show();
|
||||
|
||||
//make sure jot text does have really the active class (we do this because there are some
|
||||
// other events which trigger jot text
|
||||
toggleEventNav($("#event-edit-lnk"));
|
||||
}
|
||||
|
||||
function eventDescActive() {
|
||||
$("#event-edit-wrapper, #event-preview, #event-acl-wrapper").hide();
|
||||
$("#event-desc-wrapper").show();
|
||||
}
|
||||
|
||||
// Give the active "event-nav" list element the class "active"
|
||||
function toggleEventNav (elm) {
|
||||
// select all li of #event-nav and remove the active class
|
||||
$(elm).closest("#event-nav").children("li").removeClass("active");
|
||||
// add the active class to the parent of the link which was selected
|
||||
$(elm).parent("li").addClass("active");
|
||||
}
|
||||
|
||||
|
||||
|
||||
// disable the input for the finish date if it is not available
|
||||
function enableDisableFinishDate() {
|
||||
if( $('#id_nofinish').is(':checked'))
|
||||
$('#id_finish_text').prop("disabled", true);
|
||||
else
|
||||
$('#id_finish_text').prop("disabled", false);
|
||||
}
|
|
@ -158,13 +158,22 @@ Dialog._load = function(url) {
|
|||
*/
|
||||
function loadModalTitle() {
|
||||
// clear the text of the title
|
||||
//$("#modal-title").empty();
|
||||
$("#modal-title").empty();
|
||||
|
||||
// hide the first element with the class "heading" of the modal body
|
||||
$("#modal-body .heading").first().hide();
|
||||
|
||||
var title = "";
|
||||
|
||||
// get the text of the first element with "heading" class
|
||||
var title = $("#modal-body .heading").first().text();
|
||||
title = $("#modal-body .heading").first().text();
|
||||
|
||||
// for event modals we need some speacial handling
|
||||
if($("#modal-body .event-wrapper .event-summary").length) {
|
||||
title = '<i class="fa fa-calendar" aria-hidden="true"></i> ';
|
||||
var eventsum = $("#modal-body .event-wrapper .event-summary").text();
|
||||
title = title + eventsum;
|
||||
}
|
||||
|
||||
// and append it to modal title
|
||||
if (title!=="") {
|
||||
|
|
|
@ -505,4 +505,3 @@ String.prototype.rtrim = function() {
|
|||
var trimmed = this.replace(/\s+$/g, '');
|
||||
return trimmed;
|
||||
};
|
||||
|
||||
|
|
26
view/theme/frio/templates/event.tpl
Normal file
26
view/theme/frio/templates/event.tpl
Normal file
|
@ -0,0 +1,26 @@
|
|||
<script language="javascript" type="text/javascript"
|
||||
src="{{$baseurl}}/view/theme/frio/js/event.js"></script>
|
||||
|
||||
{{foreach $events as $event}}
|
||||
<div class="event-wrapper">
|
||||
<div class="event">
|
||||
<div class="media">
|
||||
<div class="event-owner pull-left">
|
||||
{{if $event.item.author_name}}
|
||||
<a href="{{$event.item.author_link}}" ><img src="{{$event.item.author_avatar}}" /></a>
|
||||
<a href="{{$event.item.author_link}}" >{{$event.item.author_name}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="media-body">
|
||||
{{$event.html}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="event-buttons pull-right">
|
||||
{{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="btn "><i class="fa fa-external-link" aria-hidden="true"></i></a>{{/if}}
|
||||
{{if $event.edit}}<a onclick="eventEdit('{{$event.edit.0}}')" title="{{$event.edit.1}}" class="btn"><i class="fa fa-pencil" aria-hidden="true"></i></a>{{/if}}
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</div>
|
||||
{{/foreach}}
|
178
view/theme/frio/templates/event_form.tpl
Normal file
178
view/theme/frio/templates/event_form.tpl
Normal file
|
@ -0,0 +1,178 @@
|
|||
<script language="javascript" type="text/javascript"
|
||||
src="{{$baseurl}}/view/theme/frio/js/event.js"></script>
|
||||
<div id="event-form-wrapper">
|
||||
<h3 class="heading">{{$title}}</h3>
|
||||
|
||||
{{* The event edit navigation menu (text input, permissions, preview, filebrowser) *}}
|
||||
<ul id="event-nav" class="nav nav-tabs event-nav" role="menubar" data-tabs="tabs">
|
||||
{{* Mark the first list entry as active because it is the first which is active after opening
|
||||
the modal. Changing of the activity status is done by js in event_head.tpl *}}
|
||||
<li class="active" role="menuitem"><a id="event-edit-lnk" onclick="eventEditActive(); return false;">{{$basic}}</a></li>
|
||||
<li role="menuitem"><a id="event-desc-lnk" onclick="eventDescActive(); return false;">{{$advanced}}</a></li>
|
||||
{{if $acl}}<li role="menuitem" {{if !$sh_checked}} style="display: none"{{/if}}><a id="event-perms-lnk" onclick="eventAclActive();return false;">Permissions</a></li>{{/if}}
|
||||
{{if $preview}}<li role="menuitem"><a id="event-preview-lnk" onclick="eventPreviewActive();return false;">{{$preview}}</a></li>{{/if}}
|
||||
{{* commented out because it isn't implemented yet
|
||||
<li role="menuitem"><a id="event-preview-link" onclick="fbrowserActive(); return false;"> Browser </a></li>
|
||||
*}}
|
||||
</ul>
|
||||
|
||||
<div id="event-edit-form-wrapper">
|
||||
<form id="event-edit-form" action="{{$post}}" method="post" >
|
||||
|
||||
<input type="hidden" name="event_id" value="{{$eid}}" />
|
||||
<input type="hidden" name="cid" value="{{$cid}}" />
|
||||
<input type="hidden" name="uri" value="{{$uri}}" />
|
||||
<input type="hidden" name="preview" id="event-edit-preview" value="0" />
|
||||
|
||||
{{* The tab conten with the necessary basic settings *}}
|
||||
<div id="event-edit-wrapper">
|
||||
|
||||
{{* The event title *}}
|
||||
{{include file="field_input.tpl" field=$summary}}
|
||||
|
||||
<div id="event-edit-time">
|
||||
{{* The field for event starting time *}}
|
||||
{{$s_dsel}}
|
||||
|
||||
{{* The field for event finish time *}}
|
||||
{{$f_dsel}}
|
||||
|
||||
{{* checkbox if the the event doesn't have a finish time *}}
|
||||
{{include file="field_checkbox.tpl" field=$nofinish}}
|
||||
|
||||
{{* checkbox for adjusting the event time to the timezone of the user *}}
|
||||
{{include file="field_checkbox.tpl" field=$adjust}}
|
||||
</div>
|
||||
|
||||
{{* checkbox to enable event sharing and the permissions tab *}}
|
||||
{{if ! $eid}}
|
||||
{{include file="field_checkbox.tpl" field=$share}}
|
||||
{{/if}}
|
||||
|
||||
{{* The submit button - saves the event *}}
|
||||
<div class="pull-right" >
|
||||
<button id="event-submit" type="submit" name="submit" class="btn btn-primary" value="{{$submit|escape:'html'}}">{{$submit}}</button>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
||||
{{* The advanced tab *}}
|
||||
<div id="event-desc-wrapper" style="display: none">
|
||||
|
||||
{{* The textarea for the event description *}}
|
||||
<div class="form-group">
|
||||
<div id="event-desc-text"><b>{{$d_text}}</b></div>
|
||||
<textarea id="comment-edit-text-desc" class="form-control" name="desc" >{{$d_orig}}</textarea>
|
||||
<ul id="event-desc-text-edit-bb" class="comment-edit-bb comment-icon-list nav nav-pills hidden-xs pull-left">
|
||||
{{* commented out because it isn't implemented yet
|
||||
<li>
|
||||
<a class="icon" style="cursor: pointer;" title="{{$edimg|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="img" data-id="desc">
|
||||
<i class="fa fa-picture-o"></i>
|
||||
</a>
|
||||
</li>
|
||||
*}}
|
||||
<li>
|
||||
<a class="icon bb-url" style="cursor: pointer;" title="{{$edurl|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="url" data-id="desc">
|
||||
<i class="fa fa-link"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="icon bb-video" style="cursor: pointer;" title="{{$edvideo|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="video" data-id="desc">
|
||||
<i class="fa fa-video-camera"></i>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="icon underline" style="cursor: pointer;" title="{{$eduline|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="u" data-id="desc">
|
||||
<i class="fa fa-underline"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="icon italic" style="cursor: pointer;" title="{{$editalic|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="i" data-id="desc">
|
||||
<i class="fa fa-italic"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="icon bold" style="cursor: pointer;" title="{{$edbold|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="b" data-id="desc">
|
||||
<i class="fa fa-bold"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="icon quote" style="cursor: pointer;" title="{{$edquote|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="quote" data-id="desc">
|
||||
<i class="fa fa-quote-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
||||
{{* The textarea for the event location *}}
|
||||
<div class="form-group">
|
||||
<div id="event-location-text"><b>{{$l_text}}</b></div>
|
||||
<textarea id="comment-edit-text-loc" class="form-control" name="location">{{$l_orig}}</textarea>
|
||||
<ul id="comment-tools-loc" class="comment-edit-bb comment-icon-list nav nav-pills hidden-xs pull-left">
|
||||
{{* commented out because it isn't implemented yet
|
||||
<li>
|
||||
<a class="icon" style="cursor: pointer;" title="{{$edimg|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="img" data-id="loc">
|
||||
<i class="fa fa-picture-o"></i>
|
||||
</a>
|
||||
</li>
|
||||
*}}
|
||||
<li>
|
||||
<a class="icon bb-url" style="cursor: pointer;" title="{{$edurl|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="url" data-id="loc">
|
||||
<i class="fa fa-link"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="icon bb-video" style="cursor: pointer;" title="{{$edvideo|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="video" data-id="loc">
|
||||
<i class="fa fa-video-camera"></i>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="icon underline" style="cursor: pointer;" title="{{$eduline|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="u" data-id="loc">
|
||||
<i class="fa fa-underline"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="icon italic" style="cursor: pointer;" title="{{$editalic|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="i" data-id="loc">
|
||||
<i class="fa fa-italic"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="icon bold" style="cursor: pointer;" title="{{$edbold|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="b" data-id="loc">
|
||||
<i class="fa fa-bold"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="icon quote" style="cursor: pointer;" title="{{$edquote|escape:'html'}}" data-role="insert-formatting" data-comment=" " data-bbcode="quote" data-id="loc">
|
||||
<i class="fa fa-quote-left"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{* The tab for the permissions (if event sharing is enabled) *}}
|
||||
<div id="event-acl-wrapper" style="display: none">
|
||||
{{$acl}}
|
||||
</div>
|
||||
|
||||
{{* The tab for the event preview (content is inserted by js) *}}
|
||||
<div id="event-preview" style="display: none"></div>
|
||||
|
||||
<div class="clear"></div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready( function() {
|
||||
// disable finish date input if it isn't available
|
||||
enableDisableFinishDate();
|
||||
// load bbcode autocomplete for the description textarea
|
||||
$('#comment-edit-text-desc, #comment-edit-text-loc').bbco_autocomplete('bbcode');
|
||||
});
|
||||
</script>
|
161
view/theme/frio/templates/event_head.tpl
Normal file
161
view/theme/frio/templates/event_head.tpl
Normal file
|
@ -0,0 +1,161 @@
|
|||
|
||||
<link rel='stylesheet' type='text/css' href='{{$baseurl}}/library/fullcalendar/fullcalendar.css' />
|
||||
<script language="javascript" type="text/javascript"
|
||||
src="{{$baseurl}}/library/fullcalendar/fullcalendar.min.js"></script>
|
||||
|
||||
<script>
|
||||
// loads the event into a modal
|
||||
function showEvent(eventid) {
|
||||
addToModal('{{$baseurl}}{{$module_url}}/?id='+eventid);
|
||||
}
|
||||
|
||||
function changeView(action, viewName) {
|
||||
$('#events-calendar').fullCalendar(action, viewName);
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
$('#fc-title').text(view.title);
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
// start the fullCalendar
|
||||
$('#events-calendar').fullCalendar({
|
||||
firstDay: {{$i18n.firstDay}},
|
||||
monthNames: ['{{$i18n.January}}','{{$i18n.February}}','{{$i18n.March}}','{{$i18n.April}}','{{$i18n.May}}','{{$i18n.June}}','{{$i18n.July}}','{{$i18n.August}}','{{$i18n.September}}','{{$i18n.October}}','{{$i18n.November}}','{{$i18n.December}}'],
|
||||
monthNamesShort: ['{{$i18n.Jan}}','{{$i18n.Feb}}','{{$i18n.Mar}}','{{$i18n.Apr}}','{{$i18n.May}}','{{$i18n.Jun}}','{{$i18n.Jul}}','{{$i18n.Aug}}','{{$i18n.Sep}}','{{$i18n.Oct}}','{{$i18n.Nov}}','{{$i18n.Dec}}'],
|
||||
dayNames: ['{{$i18n.Sunday}}','{{$i18n.Monday}}','{{$i18n.Tuesday}}','{{$i18n.Wednesday}}','{{$i18n.Thursday}}','{{$i18n.Friday}}','{{$i18n.Saturday}}'],
|
||||
dayNamesShort: ['{{$i18n.Sun}}','{{$i18n.Mon}}','{{$i18n.Tue}}','{{$i18n.Wed}}','{{$i18n.Thu}}','{{$i18n.Fri}}','{{$i18n.Sat}}'],
|
||||
buttonText: {
|
||||
prev: "<span class='fc-text-arrow'>‹</span>",
|
||||
next: "<span class='fc-text-arrow'>›</span>",
|
||||
prevYear: "<span class='fc-text-arrow'>«</span>",
|
||||
nextYear: "<span class='fc-text-arrow'>»</span>",
|
||||
today: '{{$i18n.today}}',
|
||||
month: '{{$i18n.month}}',
|
||||
week: '{{$i18n.week}}',
|
||||
day: '{{$i18n.day}}'
|
||||
},
|
||||
events: '{{$baseurl}}{{$module_url}}/json/',
|
||||
header: {
|
||||
left: '',
|
||||
// center: 'title',
|
||||
right: ''
|
||||
},
|
||||
timeFormat: 'H(:mm)',
|
||||
eventClick: function(calEvent, jsEvent, view) {
|
||||
showEvent(calEvent.id);
|
||||
},
|
||||
loading: function(isLoading, view) {
|
||||
if(!isLoading) {
|
||||
$('td.fc-day').dblclick(function() { addToModal('/events/new?start='+$(this).data('date')); });
|
||||
}
|
||||
},
|
||||
|
||||
eventRender: function(event, element, view) {
|
||||
//console.log(view.name);
|
||||
if (event.item['author-name']==null) return;
|
||||
switch(view.name){
|
||||
case "month":
|
||||
element.find(".fc-event-title").html(
|
||||
"<img src='{0}' style='height:10px;width:10px'>{1} : {2}".format(
|
||||
event.item['author-avatar'],
|
||||
event.item['author-name'],
|
||||
event.title
|
||||
));
|
||||
break;
|
||||
case "agendaWeek":
|
||||
element.find(".fc-event-title").html(
|
||||
"<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format(
|
||||
event.item['author-avatar'],
|
||||
event.item['author-name'],
|
||||
event.item.desc,
|
||||
event.item.location
|
||||
));
|
||||
break;
|
||||
case "agendaDay":
|
||||
element.find(".fc-event-title").html(
|
||||
"<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format(
|
||||
event.item['author-avatar'],
|
||||
event.item['author-name'],
|
||||
event.item.desc,
|
||||
event.item.location
|
||||
));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
// center on date
|
||||
var args=location.href.replace(baseurl,"").split("/");
|
||||
{{if $modparams == 2}}
|
||||
if (args.length>=5) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[3] , args[4]-1);
|
||||
}
|
||||
{{else}}
|
||||
if (args.length>=4) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
|
||||
}
|
||||
{{/if}}
|
||||
|
||||
// echo the title
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
$('#fc-title').text(view.title);
|
||||
|
||||
// show event popup
|
||||
var hash = location.hash.split("-")
|
||||
if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]);
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
{{if $editselect != 'none'}}
|
||||
<script language="javascript" type="text/javascript"
|
||||
src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
|
||||
<script language="javascript" type="text/javascript">
|
||||
|
||||
|
||||
tinyMCE.init({
|
||||
theme : "advanced",
|
||||
mode : "textareas",
|
||||
plugins : "bbcode,paste",
|
||||
theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
|
||||
theme_advanced_buttons2 : "",
|
||||
theme_advanced_buttons3 : "",
|
||||
theme_advanced_toolbar_location : "top",
|
||||
theme_advanced_toolbar_align : "center",
|
||||
theme_advanced_blockformats : "blockquote,code",
|
||||
theme_advanced_resizing : true,
|
||||
gecko_spellcheck : true,
|
||||
paste_text_sticky : true,
|
||||
entity_encoding : "raw",
|
||||
add_unload_trigger : false,
|
||||
remove_linebreaks : false,
|
||||
//force_p_newlines : false,
|
||||
//force_br_newlines : true,
|
||||
forced_root_block : 'div',
|
||||
content_css: "{{$baseurl}}/view/custom_tinymce.css",
|
||||
theme_advanced_path : false,
|
||||
setup : function(ed) {
|
||||
ed.onInit.add(function(ed) {
|
||||
ed.pasteAsPlainText = true;
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$('.comment-edit-bb').hide();
|
||||
});
|
||||
{{else}}
|
||||
<script language="javascript" type="text/javascript">
|
||||
{{/if}}
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
{{if $editselect = 'none'}}
|
||||
$("#comment-edit-text-desc").bbco_autocomplete('bbcode');
|
||||
{{/if}}
|
||||
|
||||
});
|
||||
|
||||
</script>
|
49
view/theme/frio/templates/events-js.tpl
Normal file
49
view/theme/frio/templates/events-js.tpl
Normal file
|
@ -0,0 +1,49 @@
|
|||
<div class="generic-page-wrapper">
|
||||
{{$tabs}}
|
||||
{{include file="section_title.tpl" title=$title}}
|
||||
|
||||
{{* The link to create a new event *}}
|
||||
<div id="new-event-link"><a onclick="addToModal('{{$new_event.0}}')" >{{$new_event.1}}</a></div>
|
||||
|
||||
{{* We create our own fullcallendar header (with title & calendar view *}}
|
||||
<div id="fc-header">
|
||||
<div id="fc-header-right" class="pull-right">
|
||||
{{* The dropdown to change the callendar view *}}
|
||||
<ul class="nav nav-pills">
|
||||
<li class="dropdown pull-right">
|
||||
<a class="btn btn-link btn-sm dropdown-toggle" type="button" id="event-calendar-views" data-toggle="dropdown" aria-expanded="true">
|
||||
<i class="fa fa-angle-down"></i> {{$view}}
|
||||
</a>
|
||||
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="event-calendar-views">
|
||||
<li role="menuitem">
|
||||
|
||||
<a onclick="changeView('changeView', 'month')">{{$month}}</a>
|
||||
</li>
|
||||
<li role="menuitem">
|
||||
|
||||
<a onclick="changeView('changeView', 'agendaWeek')">{{$week}}</a>
|
||||
</li>
|
||||
<li role="menuitem">
|
||||
|
||||
<a onclick="changeView('changeView', 'agendaDay')">{{$day}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{* The buttons to change the month/weeks/days *}}
|
||||
<div id="fc-fc-header-left" class="btn-group">
|
||||
<button class="btn btn-eventnav" onclick="changeView('prev', false);" title="{{$prev}}"><i class="fa fa-angle-up" aria-hidden="true"></i></i></button>
|
||||
<button class="btn btn-eventnav btn-separator" onclick="changeView('next', false);" title="{{$next}}"><i class="fa fa-angle-down" aria-hidden="true"></i></i></button>
|
||||
<button class="btn btn-eventnav btn-separator" onclick="changeView('today', false);" title="{{$today}}"><i class="fa fa-bullseye"></i></button>
|
||||
</div>
|
||||
|
||||
{{* The title (e.g. name of the mont/week/day) *}}
|
||||
<div id="event-calendar-title"><h4 id="fc-title"></h4></div>
|
||||
|
||||
</div>
|
||||
|
||||
{{* This is the container where the fullCalendar is inserted through js *}}
|
||||
<div id="events-calendar"></div>
|
||||
</div>
|
|
@ -12,6 +12,7 @@
|
|||
<link rel="stylesheet" href="library/jgrowl/jquery.jgrowl.css" type="text/css" media="screen" />
|
||||
<link rel="stylesheet" href="library/datetimepicker/jquery.datetimepicker.css" type="text/css" media="screen" />
|
||||
<link rel="stylesheet" href="library/perfect-scrollbar/perfect-scrollbar.min.css" type="text/css" media="screen" />
|
||||
<link rel="stylesheet" href="library/Text_Highlighter/sample.css" type="text/css" media="screen" />
|
||||
|
||||
<link rel="stylesheet" href="view/theme/frio/frameworks/bootstrap/css/bootstrap.min.css" type="text/css" media="screen"/>
|
||||
<link rel="stylesheet" href="view/theme/frio/frameworks/bootstrap/css/bootstrap-theme.min.css" type="text/css" media="screen"/>
|
||||
|
|
|
@ -156,7 +156,7 @@ $(document).ready(function() {
|
|||
|
||||
if(window.aclType == "event_head") {
|
||||
$('#events-calendar').fullCalendar({
|
||||
events: baseurl + '/events/json/',
|
||||
events: baseurl + window.eventModuleUrl +'/json/',
|
||||
header: {
|
||||
left: 'prev,next today',
|
||||
center: 'title',
|
||||
|
@ -204,9 +204,11 @@ $(document).ready(function() {
|
|||
|
||||
// center on date
|
||||
var args=location.href.replace(baseurl,"").split("/");
|
||||
if (args.length>=4) {
|
||||
if (args.length>=5 && window.eventModeParams == 2) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[3] , args[4]-1);
|
||||
} else if (args.length>=4 && window.eventModeParams == 1) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
|
||||
}
|
||||
}
|
||||
|
||||
// show event popup
|
||||
var hash = location.hash.split("-")
|
||||
|
@ -264,7 +266,7 @@ function initCrop() {
|
|||
|
||||
function showEvent(eventid) {
|
||||
/* $.get(
|
||||
baseurl + '/events/?id='+eventid,
|
||||
baseurl + window.eventModuleUrl + '/?id=' + eventid,
|
||||
function(data){
|
||||
$.colorbox({html:data});
|
||||
}
|
||||
|
|
|
@ -3,5 +3,7 @@
|
|||
|
||||
<script language="javascript" type="text/javascript">
|
||||
window.aclType = 'event_head';
|
||||
window.eventModuleUrl = "{{$module_url}}";
|
||||
window.eventModeParams = "{{$modparams}}" ;
|
||||
</script>
|
||||
|
||||
|
|
|
@ -70,9 +70,9 @@ $(document).ready(function() {
|
|||
return false;
|
||||
});*/
|
||||
|
||||
$('#event-share-checkbox').change(function() {
|
||||
$('#id_share').change(function() {
|
||||
|
||||
if ($('#event-share-checkbox').is(':checked')) {
|
||||
if ($('#id_share').is(':checked')) {
|
||||
$('#acl-wrapper').show();
|
||||
}
|
||||
else {
|
||||
|
@ -149,7 +149,7 @@ $(document).ready(function() {
|
|||
|
||||
if(window.aclType == "event_head") {
|
||||
$('#events-calendar').fullCalendar({
|
||||
events: baseurl + '/events/json/',
|
||||
events: baseurl + window.eventModuleUrl +'/json/',
|
||||
header: {
|
||||
left: 'prev,next today',
|
||||
center: 'title',
|
||||
|
@ -202,10 +202,12 @@ $(document).ready(function() {
|
|||
|
||||
// center on date
|
||||
var args=location.href.replace(baseurl,"").split("/");
|
||||
if (args.length>=4) {
|
||||
if (args.length>=5 && window.eventModeParams == 2) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[3] , args[4]-1);
|
||||
} else if (args.length>=4 && window.eventModeParams == 1) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// show event popup
|
||||
var hash = location.hash.split("-")
|
||||
if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]);
|
||||
|
@ -352,7 +354,7 @@ if(typeof window.photoEdit != 'undefined') {
|
|||
|
||||
function showEvent(eventid) {
|
||||
$.get(
|
||||
baseurl + '/events/?id='+eventid,
|
||||
baseurl + window.eventModuleUrl + '/?id=' + eventid,
|
||||
function(data){
|
||||
$.colorbox({html:data});
|
||||
$.colorbox.resize();
|
||||
|
|
|
@ -12,24 +12,15 @@
|
|||
<input type="hidden" name="uri" value="{{$uri}}" />
|
||||
<input type="hidden" name="preview" id="event-edit-preview" value="0" />
|
||||
|
||||
<div id="event-start-text">{{$s_text}}</div>
|
||||
{{$s_dsel}}
|
||||
|
||||
<div id="event-finish-text">{{$f_text}}</div>
|
||||
{{$f_dsel}}
|
||||
|
||||
<div id="event-datetime-break"></div>
|
||||
{{include file="field_checkbox.tpl" field=$nofinish}}
|
||||
|
||||
<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" {{$n_checked}} /> <div id="event-nofinish-text">{{$n_text}}</div>
|
||||
{{include file="field_checkbox.tpl" field=$adjust}}
|
||||
|
||||
<div id="event-nofinish-break"></div>
|
||||
|
||||
<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" {{$a_checked}} /> <div id="event-adjust-text">{{$a_text}}</div>
|
||||
|
||||
<div id="event-adjust-break"></div>
|
||||
|
||||
<div id="event-summary-text">{{$t_text}}</div>
|
||||
<input type="text" id="event-summary" name="summary" value="{{$t_orig}}" />
|
||||
{{include file="field_input.tpl" field=$summary}}
|
||||
|
||||
|
||||
<div id="event-desc-text">{{$d_text}}</div>
|
||||
|
@ -40,8 +31,9 @@
|
|||
<textarea id="event-location-textarea" rows="10" cols="70" name="location">{{$l_orig}}</textarea>
|
||||
<br />
|
||||
|
||||
<input type="checkbox" name="share" value="1" id="event-share-checkbox" {{$sh_checked}} /> <div id="event-share-text">{{$sh_text}}</div>
|
||||
<div id="event-share-break"></div>
|
||||
{{if ! $eid}}
|
||||
{{include file="field_checkbox.tpl" field=$share}}
|
||||
{{/if}}
|
||||
|
||||
{{$acl}}
|
||||
|
||||
|
|
|
@ -4,5 +4,7 @@
|
|||
<script language="javascript" type="text/javascript">
|
||||
window.aclType = 'event_head';
|
||||
window.editSelect = "{{$editselect}}";
|
||||
window.eventModuleUrl = "{{$module_url}}";
|
||||
window.eventModeParams = "{{$modparams}}" ;
|
||||
</script>
|
||||
|
||||
|
|
|
@ -10,23 +10,23 @@
|
|||
<input type="hidden" name="uri" value="{{$uri}}" />
|
||||
<input type="hidden" name="preview" id="event-edit-preview" value="0" />
|
||||
|
||||
{{include file="field_custom.tpl" field=array('start_text', $s_text, $s_dsel, "")}}
|
||||
{{include file="field_custom.tpl" field=array('finish_text', $f_text, $f_dsel, "")}}
|
||||
{{$s_dsel}}
|
||||
|
||||
{{include file="field_checkbox.tpl" field=array('nofinish', $n_text, $n_checked, "")}}
|
||||
{{include file="field_checkbox.tpl" field=array('adjust', $a_text, $a_checked, "")}}
|
||||
{{$f_dsel}}
|
||||
|
||||
{{include file="field_checkbox.tpl" field=$nofinish}}
|
||||
|
||||
{{include file="field_checkbox.tpl" field=$adjust}}
|
||||
<hr>
|
||||
{{include file="field_input.tpl" field=array('summary', $t_text, $t_orig, "")}}
|
||||
{{include file="field_input.tpl" field=$summary}}
|
||||
{{include file="field_textarea.tpl" field=array('desc', $d_text, $d_orig, "")}}
|
||||
|
||||
{{include file="field_textarea.tpl" field=array('location', $l_text, $l_orig, "")}}
|
||||
<hr>
|
||||
|
||||
<div class='field checkbox' id='div_id_share'>
|
||||
<label for='id_share'>{{$sh_text}}</label>
|
||||
<input type="checkbox" name='share' id='id_share' aria-describedby='share_tip' value="1" {{$sh_checked}}>
|
||||
|
||||
</div>
|
||||
{{if ! $eid}}
|
||||
{{include file="field_checkbox.tpl" field=$share}}
|
||||
{{/if}}
|
||||
|
||||
{{$acl}}
|
||||
|
||||
|
|
|
@ -13,24 +13,15 @@
|
|||
<input type="hidden" name="uri" value="{{$uri}}" />
|
||||
<input type="hidden" name="preview" id="event-edit-preview" value="0" />
|
||||
|
||||
<div id="event-start-text">{{$s_text}}</div>
|
||||
{{$s_dsel}}
|
||||
|
||||
<div id="event-finish-text">{{$f_text}}</div>
|
||||
{{$f_dsel}}
|
||||
|
||||
<div id="event-datetime-break"></div>
|
||||
{{include file="field_checkbox.tpl" field=$nofinish}}
|
||||
|
||||
<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" {{$n_checked}} /> <div id="event-nofinish-text">{{$n_text}}</div>
|
||||
{{include file="field_checkbox.tpl" field=$adjust}}
|
||||
|
||||
<div id="event-nofinish-break"></div>
|
||||
|
||||
<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" {{$a_checked}} /> <div id="event-adjust-text">{{$a_text}}</div>
|
||||
|
||||
<div id="event-adjust-break"></div>
|
||||
|
||||
<div id="event-summary-text">{{$t_text}}</div>
|
||||
<input type="text" size="65" id="event-summary" name="summary" value="{{$t_orig|escape:'html'}}" />
|
||||
{{include file="field_input.tpl" field=$summary}}
|
||||
|
||||
|
||||
<div id="event-desc-text">{{$d_text}}</div>
|
||||
|
@ -61,8 +52,9 @@
|
|||
|
||||
<div id="event-location-break"></div>
|
||||
|
||||
<input type="checkbox" name="share" value="1" id="event-share-checkbox" {{$sh_checked}} /> <div id="event-share-text">{{$sh_text}}</div>
|
||||
<div id="event-share-break"></div>
|
||||
{{if ! $eid}}
|
||||
{{include file="field_checkbox.tpl" field=$share}}
|
||||
{{/if}}
|
||||
|
||||
{{$acl}}
|
||||
|
||||
|
|
Loading…
Reference in a new issue