1 # Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved.
2 # This program is free software; you can redistribute it and/or
3 # modify it under the same terms as Perl itself.
5 # This file was generated from the 'html-php.xml' file of the syntax highlight
6 # engine of the kate text editor (http://www.kate-editor.org
10 #kate author Wilbert Berendsen (wilbert@kde.nl)
11 #generated: Sun Feb 3 22:02:06 2008, localtime
13 package Syntax::Highlight::Engine::Kate::PHP_HTML;
15 our $VERSION = '0.06';
19 use base('Syntax::Highlight::Engine::Kate::Template');
23 my $class = ref($proto) || $proto;
24 my $self = $class->SUPER::new(@_);
26 'Attribute' => 'Others',
28 'Comment' => 'Comment',
29 'Doctype' => 'DataType',
30 'Element' => 'Keyword',
31 'EntityRef' => 'DecVal',
33 'Normal Text' => 'Normal',
34 'PEntityRef' => 'DecVal',
35 'Processing Instruction' => 'Keyword',
40 callback => \&parseCDATA,
41 attribute => 'Normal Text',
44 callback => \&parseCSS,
45 attribute => 'Normal Text',
48 callback => \&parseCSScontent,
49 attribute => 'Normal Text',
52 callback => \&parseComment,
53 attribute => 'Comment',
56 callback => \&parseDoctype,
57 attribute => 'Normal Text',
59 'Doctype Internal Subset' => {
60 callback => \&parseDoctypeInternalSubset,
61 attribute => 'Normal Text',
63 'Doctype Markupdecl' => {
64 callback => \&parseDoctypeMarkupdecl,
65 attribute => 'Normal Text',
67 'Doctype Markupdecl DQ' => {
68 callback => \&parseDoctypeMarkupdeclDQ,
71 'Doctype Markupdecl SQ' => {
72 callback => \&parseDoctypeMarkupdeclSQ,
76 callback => \&parseElClose,
77 attribute => 'Normal Text',
80 callback => \&parseElClose2,
81 attribute => 'Normal Text',
84 callback => \&parseElClose3,
85 attribute => 'Normal Text',
88 callback => \&parseElOpen,
89 attribute => 'Normal Text',
92 callback => \&parseFindAttributes,
93 attribute => 'Normal Text',
96 callback => \&parseFindDTDRules,
97 attribute => 'Normal Text',
100 callback => \&parseFindEntityRefs,
101 attribute => 'Normal Text',
104 callback => \&parseFindHTML,
105 attribute => 'Normal Text',
107 'FindPEntityRefs' => {
108 callback => \&parseFindPEntityRefs,
109 attribute => 'Normal Text',
112 callback => \&parseFindPHP,
115 callback => \&parseJS,
116 attribute => 'Normal Text',
118 'JS comment close' => {
119 callback => \&parseJScommentclose,
120 attribute => 'Comment',
121 lineending => '#pop',
124 callback => \&parseJScontent,
125 attribute => 'Normal Text',
128 callback => \&parsePI,
129 attribute => 'Normal Text',
132 callback => \&parseStart,
133 attribute => 'Normal Text',
136 callback => \&parseValue,
137 attribute => 'Normal Text',
138 fallthrough => 'Value NQ',
141 callback => \&parseValueDQ,
142 attribute => 'Value',
145 callback => \&parseValueNQ,
146 attribute => 'Normal Text',
147 lineending => '#pop#pop',
148 fallthrough => '#pop#pop',
151 callback => \&parseValueSQ,
152 attribute => 'Value',
155 $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\');
156 $self->basecontext('Start');
157 $self->keywordscase(1);
159 bless ($self, $class);
168 my ($self, $text) = @_;
169 # context => 'FindPHP'
170 # type => 'IncludeRules'
171 if ($self->includeRules('FindPHP', $text)) {
174 # type => 'DetectSpaces'
175 if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
178 # type => 'DetectIdentifier'
179 if ($self->testDetectIdentifier($text, 0, undef, 0, '#stay', undef)) {
183 # attribute => 'CDATA'
185 # endRegion => 'cdata'
186 # type => 'StringDetect'
187 if ($self->testStringDetect($text, ']]>', 0, 0, 0, undef, 0, '#pop', 'CDATA')) {
191 # attribute => 'EntityRef'
193 # type => 'StringDetect'
194 if ($self->testStringDetect($text, ']]>', 0, 0, 0, undef, 0, '#stay', 'EntityRef')) {
201 my ($self, $text) = @_;
202 # context => 'FindPHP'
203 # type => 'IncludeRules'
204 if ($self->includeRules('FindPHP', $text)) {
207 # attribute => 'Element'
211 # endRegion => 'style'
212 # type => 'Detect2Chars'
213 if ($self->testDetect2Chars($text, '/', '>', 0, 0, 0, undef, 0, '#pop', 'Element')) {
216 # attribute => 'Element'
218 # context => 'CSS content'
219 # type => 'DetectChar'
220 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, 'CSS content', 'Element')) {
223 # context => 'FindAttributes'
224 # type => 'IncludeRules'
225 if ($self->includeRules('FindAttributes', $text)) {
229 # attribute => 'Error'
232 if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Error')) {
238 sub parseCSScontent {
239 my ($self, $text) = @_;
240 # context => 'FindPHP'
241 # type => 'IncludeRules'
242 if ($self->includeRules('FindPHP', $text)) {
245 # String => '</style\b'
246 # attribute => 'Element'
247 # context => 'El Close 2'
248 # endRegion => 'style'
249 # insensitive => 'TRUE'
251 if ($self->testRegExpr($text, '</style\\b', 1, 0, 0, undef, 0, 'El Close 2', 'Element')) {
254 # context => '##CSS/PHP'
255 # includeAttrib => 'true'
256 # type => 'IncludeRules'
257 if ($self->includePlugin('CSS/PHP', $text)) {
264 my ($self, $text) = @_;
265 # context => 'FindPHP'
266 # type => 'IncludeRules'
267 if ($self->includeRules('FindPHP', $text)) {
270 # type => 'DetectSpaces'
271 if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
274 # context => '##Alerts'
275 # type => 'IncludeRules'
276 if ($self->includePlugin('Alerts', $text)) {
279 # type => 'DetectIdentifier'
280 if ($self->testDetectIdentifier($text, 0, undef, 0, '#stay', undef)) {
284 # attribute => 'Comment'
286 # endRegion => 'comment'
287 # type => 'StringDetect'
288 if ($self->testStringDetect($text, '-->', 0, 0, 0, undef, 0, '#pop', 'Comment')) {
291 # String => '-(-(?!->))+'
292 # attribute => 'Error'
295 if ($self->testRegExpr($text, '-(-(?!->))+', 0, 0, 0, undef, 0, '#stay', 'Error')) {
302 my ($self, $text) = @_;
303 # context => 'FindPHP'
304 # type => 'IncludeRules'
305 if ($self->includeRules('FindPHP', $text)) {
308 # attribute => 'Doctype'
311 # endRegion => 'doctype'
312 # type => 'DetectChar'
313 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#pop', 'Doctype')) {
316 # attribute => 'Doctype'
317 # beginRegion => 'int_subset'
319 # context => 'Doctype Internal Subset'
320 # type => 'DetectChar'
321 if ($self->testDetectChar($text, '[', 0, 0, 0, undef, 0, 'Doctype Internal Subset', 'Doctype')) {
327 sub parseDoctypeInternalSubset {
328 my ($self, $text) = @_;
329 # context => 'FindPHP'
330 # type => 'IncludeRules'
331 if ($self->includeRules('FindPHP', $text)) {
334 # attribute => 'Doctype'
337 # endRegion => 'int_subset'
338 # type => 'DetectChar'
339 if ($self->testDetectChar($text, ']', 0, 0, 0, undef, 0, '#pop', 'Doctype')) {
342 # context => 'FindDTDRules'
343 # type => 'IncludeRules'
344 if ($self->includeRules('FindDTDRules', $text)) {
348 # attribute => 'Comment'
349 # beginRegion => 'comment'
350 # context => 'Comment'
351 # type => 'StringDetect'
352 if ($self->testStringDetect($text, '<!--', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
355 # String => '<\?[\w:-]*'
356 # attribute => 'Processing Instruction'
357 # beginRegion => 'pi'
360 if ($self->testRegExpr($text, '<\\?[\\w:-]*', 0, 0, 0, undef, 0, 'PI', 'Processing Instruction')) {
363 # context => 'FindPEntityRefs'
364 # type => 'IncludeRules'
365 if ($self->includeRules('FindPEntityRefs', $text)) {
371 sub parseDoctypeMarkupdecl {
372 my ($self, $text) = @_;
373 # context => 'FindPHP'
374 # type => 'IncludeRules'
375 if ($self->includeRules('FindPHP', $text)) {
378 # attribute => 'Doctype'
381 # type => 'DetectChar'
382 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#pop', 'Doctype')) {
385 # attribute => 'Value'
387 # context => 'Doctype Markupdecl DQ'
388 # type => 'DetectChar'
389 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'Doctype Markupdecl DQ', 'Value')) {
392 # attribute => 'Value'
394 # context => 'Doctype Markupdecl SQ'
395 # type => 'DetectChar'
396 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, 'Doctype Markupdecl SQ', 'Value')) {
402 sub parseDoctypeMarkupdeclDQ {
403 my ($self, $text) = @_;
404 # context => 'FindPHP'
405 # type => 'IncludeRules'
406 if ($self->includeRules('FindPHP', $text)) {
409 # attribute => 'Value'
412 # type => 'DetectChar'
413 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '#pop', 'Value')) {
416 # context => 'FindPEntityRefs'
417 # type => 'IncludeRules'
418 if ($self->includeRules('FindPEntityRefs', $text)) {
424 sub parseDoctypeMarkupdeclSQ {
425 my ($self, $text) = @_;
426 # context => 'FindPHP'
427 # type => 'IncludeRules'
428 if ($self->includeRules('FindPHP', $text)) {
431 # attribute => 'Value'
434 # type => 'DetectChar'
435 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '#pop', 'Value')) {
438 # context => 'FindPEntityRefs'
439 # type => 'IncludeRules'
440 if ($self->includeRules('FindPEntityRefs', $text)) {
447 my ($self, $text) = @_;
448 # context => 'FindPHP'
449 # type => 'IncludeRules'
450 if ($self->includeRules('FindPHP', $text)) {
453 # attribute => 'Element'
456 # type => 'DetectChar'
457 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#pop', 'Element')) {
461 # attribute => 'Error'
464 if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Error')) {
471 my ($self, $text) = @_;
472 # context => 'FindPHP'
473 # type => 'IncludeRules'
474 if ($self->includeRules('FindPHP', $text)) {
477 # attribute => 'Element'
479 # context => '#pop#pop#pop'
480 # type => 'DetectChar'
481 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#pop#pop#pop', 'Element')) {
485 # attribute => 'Error'
488 if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Error')) {
495 my ($self, $text) = @_;
496 # context => 'FindPHP'
497 # type => 'IncludeRules'
498 if ($self->includeRules('FindPHP', $text)) {
501 # attribute => 'Element'
503 # context => '#pop#pop#pop#pop'
504 # type => 'DetectChar'
505 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#pop#pop#pop#pop', 'Element')) {
509 # attribute => 'Error'
512 if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Error')) {
519 my ($self, $text) = @_;
520 # context => 'FindPHP'
521 # type => 'IncludeRules'
522 if ($self->includeRules('FindPHP', $text)) {
525 # attribute => 'Element'
529 # type => 'Detect2Chars'
530 if ($self->testDetect2Chars($text, '/', '>', 0, 0, 0, undef, 0, '#pop', 'Element')) {
533 # attribute => 'Element'
536 # type => 'DetectChar'
537 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#pop', 'Element')) {
540 # context => 'FindAttributes'
541 # type => 'IncludeRules'
542 if ($self->includeRules('FindAttributes', $text)) {
546 # attribute => 'Error'
549 if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Error')) {
555 sub parseFindAttributes {
556 my ($self, $text) = @_;
557 # context => 'FindPHP'
558 # type => 'IncludeRules'
559 if ($self->includeRules('FindPHP', $text)) {
562 # String => '[A-Za-z_:][\w.:_-]*'
563 # attribute => 'Attribute'
567 if ($self->testRegExpr($text, '[A-Za-z_:][\\w.:_-]*', 0, 0, 0, 0, 0, '#stay', 'Attribute')) {
570 # String => '\s+[A-Za-z_:][\w.:_-]*'
571 # attribute => 'Attribute'
574 if ($self->testRegExpr($text, '\\s+[A-Za-z_:][\\w.:_-]*', 0, 0, 0, undef, 0, '#stay', 'Attribute')) {
577 # attribute => 'Attribute'
580 # type => 'DetectChar'
581 if ($self->testDetectChar($text, '=', 0, 0, 0, undef, 0, 'Value', 'Attribute')) {
587 sub parseFindDTDRules {
588 my ($self, $text) = @_;
589 # context => 'FindPHP'
590 # type => 'IncludeRules'
591 if ($self->includeRules('FindPHP', $text)) {
594 # String => '<!(ELEMENT|ENTITY|ATTLIST|NOTATION)\b'
595 # attribute => 'Doctype'
596 # context => 'Doctype Markupdecl'
598 if ($self->testRegExpr($text, '<!(ELEMENT|ENTITY|ATTLIST|NOTATION)\\b', 0, 0, 0, undef, 0, 'Doctype Markupdecl', 'Doctype')) {
604 sub parseFindEntityRefs {
605 my ($self, $text) = @_;
606 # context => 'FindPHP'
607 # type => 'IncludeRules'
608 if ($self->includeRules('FindPHP', $text)) {
611 # String => '&(#[0-9]+|#[xX][0-9A-Fa-f]+|[A-Za-z_:][\w.:_-]*);'
612 # attribute => 'EntityRef'
615 if ($self->testRegExpr($text, '&(#[0-9]+|#[xX][0-9A-Fa-f]+|[A-Za-z_:][\\w.:_-]*);', 0, 0, 0, undef, 0, '#stay', 'EntityRef')) {
619 # attribute => 'Error'
622 if ($self->testAnyChar($text, '&<', 0, 0, undef, 0, '#stay', 'Error')) {
629 my ($self, $text) = @_;
630 # context => 'FindPHP'
631 # type => 'IncludeRules'
632 if ($self->includeRules('FindPHP', $text)) {
635 # type => 'DetectSpaces'
636 if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
639 # type => 'DetectIdentifier'
640 if ($self->testDetectIdentifier($text, 0, undef, 0, '#stay', undef)) {
644 # attribute => 'Comment'
645 # beginRegion => 'comment'
646 # context => 'Comment'
647 # type => 'StringDetect'
648 if ($self->testStringDetect($text, '<!--', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
651 # String => '<![CDATA['
652 # attribute => 'CDATA'
653 # beginRegion => 'cdata'
655 # type => 'StringDetect'
656 if ($self->testStringDetect($text, '<![CDATA[', 0, 0, 0, undef, 0, 'CDATA', 'CDATA')) {
659 # String => '<!DOCTYPE\s+'
660 # attribute => 'Doctype'
661 # beginRegion => 'doctype'
662 # context => 'Doctype'
664 if ($self->testRegExpr($text, '<!DOCTYPE\\s+', 0, 0, 0, undef, 0, 'Doctype', 'Doctype')) {
667 # String => '<\?[\w:-]*'
668 # attribute => 'Processing Instruction'
669 # beginRegion => 'pi'
672 if ($self->testRegExpr($text, '<\\?[\\w:-]*', 0, 0, 0, undef, 0, 'PI', 'Processing Instruction')) {
675 # String => '<style\b'
676 # attribute => 'Element'
677 # beginRegion => 'style'
679 # insensitive => 'TRUE'
681 if ($self->testRegExpr($text, '<style\\b', 1, 0, 0, undef, 0, 'CSS', 'Element')) {
684 # String => '<script\b'
685 # attribute => 'Element'
686 # beginRegion => 'script'
688 # insensitive => 'TRUE'
690 if ($self->testRegExpr($text, '<script\\b', 1, 0, 0, undef, 0, 'JS', 'Element')) {
694 # attribute => 'Element'
695 # beginRegion => 'pre'
696 # context => 'El Open'
697 # insensitive => 'TRUE'
699 if ($self->testRegExpr($text, '<pre\\b', 1, 0, 0, undef, 0, 'El Open', 'Element')) {
703 # attribute => 'Element'
704 # beginRegion => 'div'
705 # context => 'El Open'
706 # insensitive => 'TRUE'
708 if ($self->testRegExpr($text, '<div\\b', 1, 0, 0, undef, 0, 'El Open', 'Element')) {
711 # String => '<table\b'
712 # attribute => 'Element'
713 # beginRegion => 'table'
714 # context => 'El Open'
715 # insensitive => 'TRUE'
717 if ($self->testRegExpr($text, '<table\\b', 1, 0, 0, undef, 0, 'El Open', 'Element')) {
720 # String => '<[A-Za-z_:][\w.:_-]*'
721 # attribute => 'Element'
722 # context => 'El Open'
724 if ($self->testRegExpr($text, '<[A-Za-z_:][\\w.:_-]*', 0, 0, 0, undef, 0, 'El Open', 'Element')) {
727 # String => '</pre\b'
728 # attribute => 'Element'
729 # context => 'El Close'
731 # insensitive => 'TRUE'
733 if ($self->testRegExpr($text, '</pre\\b', 1, 0, 0, undef, 0, 'El Close', 'Element')) {
736 # String => '</div\b'
737 # attribute => 'Element'
738 # context => 'El Close'
740 # insensitive => 'TRUE'
742 if ($self->testRegExpr($text, '</div\\b', 1, 0, 0, undef, 0, 'El Close', 'Element')) {
745 # String => '</table\b'
746 # attribute => 'Element'
747 # context => 'El Close'
748 # endRegion => 'table'
749 # insensitive => 'TRUE'
751 if ($self->testRegExpr($text, '</table\\b', 1, 0, 0, undef, 0, 'El Close', 'Element')) {
754 # String => '</[A-Za-z_:][\w.:_-]*'
755 # attribute => 'Element'
756 # context => 'El Close'
758 if ($self->testRegExpr($text, '</[A-Za-z_:][\\w.:_-]*', 0, 0, 0, undef, 0, 'El Close', 'Element')) {
761 # context => 'FindDTDRules'
762 # type => 'IncludeRules'
763 if ($self->includeRules('FindDTDRules', $text)) {
766 # context => 'FindEntityRefs'
767 # type => 'IncludeRules'
768 if ($self->includeRules('FindEntityRefs', $text)) {
774 sub parseFindPEntityRefs {
775 my ($self, $text) = @_;
776 # context => 'FindPHP'
777 # type => 'IncludeRules'
778 if ($self->includeRules('FindPHP', $text)) {
781 # String => '&(#[0-9]+|#[xX][0-9A-Fa-f]+|[A-Za-z_:][\w.:_-]*);'
782 # attribute => 'EntityRef'
785 if ($self->testRegExpr($text, '&(#[0-9]+|#[xX][0-9A-Fa-f]+|[A-Za-z_:][\\w.:_-]*);', 0, 0, 0, undef, 0, '#stay', 'EntityRef')) {
788 # String => '%[A-Za-z_:][\w.:_-]*;'
789 # attribute => 'PEntityRef'
792 if ($self->testRegExpr($text, '%[A-Za-z_:][\\w.:_-]*;', 0, 0, 0, undef, 0, '#stay', 'PEntityRef')) {
796 # attribute => 'Error'
799 if ($self->testAnyChar($text, '&%', 0, 0, undef, 0, '#stay', 'Error')) {
806 my ($self, $text) = @_;
807 # String => '<\?(?:=|php)?'
808 # context => '##PHP/PHP'
809 # lookAhead => 'true'
811 if ($self->testRegExpr($text, '<\\?(?:=|php)?', 0, 0, 1, undef, 0, '##PHP/PHP', undef)) {
818 my ($self, $text) = @_;
819 # context => 'FindPHP'
820 # type => 'IncludeRules'
821 if ($self->includeRules('FindPHP', $text)) {
824 # attribute => 'Element'
828 # endRegion => 'script'
829 # type => 'Detect2Chars'
830 if ($self->testDetect2Chars($text, '/', '>', 0, 0, 0, undef, 0, '#pop', 'Element')) {
833 # attribute => 'Element'
835 # context => 'JS content'
836 # type => 'DetectChar'
837 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, 'JS content', 'Element')) {
840 # context => 'FindAttributes'
841 # type => 'IncludeRules'
842 if ($self->includeRules('FindAttributes', $text)) {
846 # attribute => 'Error'
849 if ($self->testRegExpr($text, '\\S', 0, 0, 0, undef, 0, '#stay', 'Error')) {
855 sub parseJScommentclose {
856 my ($self, $text) = @_;
857 # context => 'FindPHP'
858 # type => 'IncludeRules'
859 if ($self->includeRules('FindPHP', $text)) {
862 # String => '</script\b'
863 # attribute => 'Element'
864 # context => 'El Close 3'
865 # endRegion => 'script'
866 # insensitive => 'TRUE'
868 if ($self->testRegExpr($text, '</script\\b', 1, 0, 0, undef, 0, 'El Close 3', 'Element')) {
871 # context => '##Alerts'
872 # type => 'IncludeRules'
873 if ($self->includePlugin('Alerts', $text)) {
880 my ($self, $text) = @_;
881 # context => 'FindPHP'
882 # type => 'IncludeRules'
883 if ($self->includeRules('FindPHP', $text)) {
886 # String => '</script\b'
887 # attribute => 'Element'
888 # context => 'El Close 2'
889 # endRegion => 'script'
890 # insensitive => 'TRUE'
892 if ($self->testRegExpr($text, '</script\\b', 1, 0, 0, undef, 0, 'El Close 2', 'Element')) {
895 # String => '//(?=.*</script\b)'
896 # attribute => 'Comment'
897 # context => 'JS comment close'
898 # insensitive => 'TRUE'
900 if ($self->testRegExpr($text, '//(?=.*</script\\b)', 1, 0, 0, undef, 0, 'JS comment close', 'Comment')) {
903 # context => '##JavaScript/PHP'
904 # includeAttrib => 'true'
905 # type => 'IncludeRules'
906 if ($self->includePlugin('JavaScript/PHP', $text)) {
913 my ($self, $text) = @_;
914 # context => 'FindPHP'
915 # type => 'IncludeRules'
916 if ($self->includeRules('FindPHP', $text)) {
919 # attribute => 'Processing Instruction'
924 # type => 'Detect2Chars'
925 if ($self->testDetect2Chars($text, '?', '>', 0, 0, 0, undef, 0, '#pop', 'Processing Instruction')) {
932 my ($self, $text) = @_;
933 # context => 'FindPHP'
934 # type => 'IncludeRules'
935 if ($self->includeRules('FindPHP', $text)) {
938 # context => 'FindHTML'
939 # type => 'IncludeRules'
940 if ($self->includeRules('FindHTML', $text)) {
947 my ($self, $text) = @_;
948 # context => 'FindPHP'
949 # type => 'IncludeRules'
950 if ($self->includeRules('FindPHP', $text)) {
953 # attribute => 'Value'
955 # context => 'Value DQ'
956 # type => 'DetectChar'
957 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'Value DQ', 'Value')) {
960 # attribute => 'Value'
962 # context => 'Value SQ'
963 # type => 'DetectChar'
964 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, 'Value SQ', 'Value')) {
967 # type => 'DetectSpaces'
968 if ($self->testDetectSpaces($text, 0, undef, 0, '#stay', undef)) {
975 my ($self, $text) = @_;
976 # context => 'FindPHP'
977 # type => 'IncludeRules'
978 if ($self->includeRules('FindPHP', $text)) {
981 # attribute => 'Value'
983 # context => '#pop#pop'
984 # type => 'DetectChar'
985 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '#pop#pop', 'Value')) {
988 # context => 'FindEntityRefs'
989 # type => 'IncludeRules'
990 if ($self->includeRules('FindEntityRefs', $text)) {
997 my ($self, $text) = @_;
998 # context => 'FindPHP'
999 # type => 'IncludeRules'
1000 if ($self->includeRules('FindPHP', $text)) {
1003 # context => 'FindEntityRefs'
1004 # type => 'IncludeRules'
1005 if ($self->includeRules('FindEntityRefs', $text)) {
1008 # String => '/(?!>)'
1009 # attribute => 'Value'
1010 # context => '#stay'
1012 if ($self->testRegExpr($text, '/(?!>)', 0, 0, 0, undef, 0, '#stay', 'Value')) {
1015 # String => '[^/><"'\s]'
1016 # attribute => 'Value'
1017 # context => '#stay'
1019 if ($self->testRegExpr($text, '[^/><"\'\\s]', 0, 0, 0, undef, 0, '#stay', 'Value')) {
1026 my ($self, $text) = @_;
1027 # context => 'FindPHP'
1028 # type => 'IncludeRules'
1029 if ($self->includeRules('FindPHP', $text)) {
1032 # attribute => 'Value'
1034 # context => '#pop#pop'
1035 # type => 'DetectChar'
1036 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '#pop#pop', 'Value')) {
1039 # context => 'FindEntityRefs'
1040 # type => 'IncludeRules'
1041 if ($self->includeRules('FindEntityRefs', $text)) {
1054 Syntax::Highlight::Engine::Kate::PHP_HTML - a Plugin for PHP (HTML) syntax highlighting
1058 require Syntax::Highlight::Engine::Kate::PHP_HTML;
1059 my $sh = new Syntax::Highlight::Engine::Kate::PHP_HTML([
1064 Syntax::Highlight::Engine::Kate::PHP_HTML is a plugin module that provides syntax highlighting
1065 for PHP (HTML) to the Syntax::Haghlight::Engine::Kate highlighting engine.
1067 This code is generated from the syntax definition files used
1068 by the Kate project.
1069 It works quite fine, but can use refinement and optimization.
1071 It inherits Syntax::Higlight::Engine::Kate::Template. See also there.
1077 Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
1083 Unknown. If you find any, please contact the author