Warning, /frameworks/syntax-highlighting/autotests/folding/highlight.php.fold is written in an unsupported language. File is not indexed.

0001 <?
0002 <beginfold id='1'>/*</beginfold id='1'> This is a pseudo PHP file to test Kate's PHP syntax highlighting. <endfold id='1'>*/</endfold id='1'>
0003 # TODO: this is incomplete, add more syntax examples!
0004 # this is also a comment.
0005 // Even this is a comment
0006 <beginfold id='2'>/** </beginfold id='2'>\brief doxygen comment
0007 <endfold id='2'>*/</endfold id='2'> <beginfold id='1'>/*</beginfold id='1'>normal comment<endfold id='1'>*/</endfold id='1'>
0008 // comment ?> normal text <?php
0009 function test($varname) <beginfold id='3'>{</beginfold id='3'>
0010         return "bla";   # this is also a comment
0011 <endfold id='3'>}</endfold id='3'>
0012 ?>
0013 
0014 <?php echo("hello test"); ?>
0015 
0016 <html>
0017         <? print "<title>test</title>"; ?>
0018 
0019         <beginfold id='4'><!--</beginfold id='4'> CSS <endfold id='4'>--></endfold id='4'>
0020         <<beginfold id='5'>style</beginfold id='5'>>
0021                 .inputText <beginfold id='6'>{</beginfold id='6'>
0022                         width: <?php echo $width; ?>px;
0023                         text-indent: 10px;
0024                 <endfold id='6'>}</endfold id='6'>
0025         </<endfold id='5'>style</endfold id='5'>>
0026 
0027         <beginfold id='4'><!--</beginfold id='4'> JavaScript <endfold id='4'>--></endfold id='4'>
0028         <<beginfold id='7'>script</beginfold id='7'>>
0029                 var some_js_var = <?php echo $somevar; ?> ;
0030                 <?php echo 'alert("Hello there.");'; ?>
0031         </<endfold id='7'>script</endfold id='7'>>
0032         <beginfold id='4'><!--</beginfold id='4'> JavaScript React <endfold id='4'>--></endfold id='4'>
0033         <<beginfold id='7'>script</beginfold id='7'> type="text/babel">
0034                 <beginfold id='8'><Hello</beginfold id='8'>> <?php echo("Hello, hello!"); ?> </Hello<endfold id='8'>></endfold id='8'> <?php <beginfold id='1'>/*</beginfold id='1'> aaa <endfold id='1'>*/</endfold id='1'> ?> <beginfold id='9'><div</beginfold id='9'>></div<endfold id='9'>></endfold id='9'>
0035                 function a(i) <beginfold id='10'>{</beginfold id='10'>
0036                         <?php echo "var j = 1;"; ?>
0037                         return <beginfold id='9'><p</beginfold id='9'>><beginfold id='11'>{</beginfold id='11'> i + j <endfold id='11'>}</endfold id='11'></p<endfold id='9'>></endfold id='9'>;
0038                 <endfold id='10'>}</endfold id='10'>
0039         </<endfold id='7'>script</endfold id='7'>>
0040         <beginfold id='4'><!--</beginfold id='4'> TypeScript <endfold id='4'>--></endfold id='4'>
0041         <<beginfold id='7'>script</beginfold id='7'> type="text/typescript">
0042                 <?php $timestamp = time(); ?>
0043                 class DateTime <beginfold id='12'>{</beginfold id='12'>
0044                         info: string;
0045                         constructor() <beginfold id='12'>{</beginfold id='12'> this.info = <?php echo(date("F d, Y h:i:s", $timestamp)); ?>; <endfold id='12'>}</endfold id='12'>
0046                         get() <beginfold id='12'>{</beginfold id='12'> return this.info; <endfold id='12'>}</endfold id='12'>
0047                 <endfold id='12'>}</endfold id='12'>
0048         </<endfold id='7'>script</endfold id='7'>>
0049         <beginfold id='4'><!--</beginfold id='4'> MustacheJS <endfold id='4'>--></endfold id='4'>
0050         <<beginfold id='7'>script</beginfold id='7'> type="x-tmpl-mustache">
0051                 <beginfold id='13'>{{!</beginfold id='13'> <?php print "comment"; ?> <endfold id='13'>}}</endfold id='13'>
0052                 <beginfold id='14'>{{#movie</beginfold id='14'>}}
0053                         <beginfold id='15'><div</beginfold id='15'>>
0054                                 <h1>{{title}}</h1>
0055                                 <img src="{{poster}}" alt="{{title}}"/>
0056                                 <?php echo $movierating; ?> - {{ratings.critics_rating}}
0057                         <endfold id='15'></div</endfold id='15'>>
0058                 <endfold id='14'>{{/movie}}</endfold id='14'>
0059         </<endfold id='7'>script</endfold id='7'>>
0060 
0061 </html>
0062 
0063 <?php
0064 $var = <beginfold id='16'><<<DOOH</beginfold id='16'>
0065 This is the $string inside the variable (which seems to be rendered as a string)
0066 It works well, I think.
0067 <endfold id='16'>DOOH</endfold id='16'>
0068 
0069 # bug 382527
0070 throw new ParserException("Test {$this->some_var[$index]}\nin {$this->file} is missing.\nThis is bad.");
0071 
0072 $arr = array();
0073 foreach($arr as $i => $v)<beginfold id='17'>:</beginfold id='17'>
0074         echo($i);
0075 <endfold id='17'>endforeach</endfold id='17'>
0076 
0077 echo " $var {$var} ${var} ";
0078 echo " $var[1] {$var[1]} ${var[1]} ";
0079 echo " $var[-1] {$var[-1]} ${var[-1]} ";
0080 echo " $var[i] {$var[i]} ${var[i]} ";
0081 echo " $var[-i] {$var[-i]} ${var[-i]} ";
0082 echo " $var[$i] {$var[$i]} ${var[$i]} ";
0083 echo " $var[-$i] {$var[-$i]} ${var[-$i]} ";
0084 echo " $var[$$i] {$var[$$i]} ${var[$$i]} ";
0085 echo " $var[$x->i] {$var[$x->i]} ${var[$x->i]} ";
0086 echo " $var[$x->$i] {$var[$x->$i]} ${var[$x->$i]} ";
0087 echo " $$var {$$var} $${var} ";
0088 echo " $$var[1] {$$var[1]} $${var[1]} ";
0089 echo " $$var[$i] {$$var[$i]} $${var[$i]} ";
0090 echo " $var[$i] {$var[$i]} ${var[$i]} ";
0091 echo " $var[1+1] {$var[1+1]} ${var[1+1]} ";
0092 echo " $var->mem {$var->mem} ${var->mem} ";
0093 echo " $var->3 {$var->3} ${var->3} ";
0094 echo " $var-> {$var->} ${var->} ";
0095 echo " $var->$mem {$var->$mem} ${var->$mem} ";
0096 echo " ${$x->{'mem'}} ";
0097 echo "\n \t \\ \xff \x";
0098 
0099 echo <beginfold id='16'><<<HTML</beginfold id='16'>
0100 <p>bla $var \$var bla\'</p>
0101 <endfold id='16'>HTML</endfold id='16'>;
0102 echo <beginfold id='16'><<<"HTML"</beginfold id='16'>
0103 <p>bla $var \$var bla\'</p>
0104 <endfold id='16'>HTML</endfold id='16'>;
0105 echo <beginfold id='18'><<<'HTML'</beginfold id='18'>
0106 <p>bla $var \$var bla\'</p>
0107 <endfold id='18'>HTML</endfold id='18'>;
0108 echo <beginfold id='16'><<<DOC</beginfold id='16'>
0109 <p>bla $var \$var bla\'</p>
0110 <endfold id='16'>DOC</endfold id='16'>;
0111 echo <beginfold id='16'><<<DOC</beginfold id='16'>
0112                 <p>bla $var \$var bla\'</p>
0113 <endfold id='16'>       DOC</endfold id='16'>;
0114 echo <beginfold id='16'><<<DOC</beginfold id='16'>
0115     <p>bla $var \$var bla\'</p>
0116 <endfold id='16'>  DOC</endfold id='16'>;
0117 
0118 echo 123456 1_2_34_5 1__2 1_;
0119 echo 0x12345af 0x1_2_3_45_a_f 0x1__2 0x_1 0x1_ 0x1g 0xg;
0120 echo 0b1011 0b1_01_1 0b1__0 0b_1 0b1_ 0b12 0b2;
0121 echo 01234 01_23_4 0_1 0__1 01_ 018 08;
0122 echo 0o1234 0O1_23_4 0o1_1_ 0o1__1 0o_1;
0123 echo 123. .45 123.45 1_23.4_5e1_2;
0124 echo 123.e1 .45e1 123.45e1;
0125 echo 123.e+1 .45e+1 123.45e+1;
0126 echo 123.e++1 ._45e+1 123._45e+1; // bad float
0127 
0128 echo 123...45;
0129 echo add(...[1, 2])."\n";
0130 
0131 function gen_three_nulls() <beginfold id='3'>{</beginfold id='3'>
0132     foreach (range(1, 3) as $i) <beginfold id='3'>{</beginfold id='3'>
0133         yield;
0134     <endfold id='3'>}</endfold id='3'>
0135 <endfold id='3'>}</endfold id='3'>
0136 
0137 function &gen_reference() <beginfold id='3'>{</beginfold id='3'>
0138     $value = 3;
0139 
0140     while ($value > 0) <beginfold id='3'>{</beginfold id='3'>
0141         yield $value;
0142     <endfold id='3'>}</endfold id='3'>
0143 <endfold id='3'>}</endfold id='3'>
0144 
0145 function gen() <beginfold id='3'>{</beginfold id='3'>
0146     yield 0; // key 0
0147     yield from inner(); // keys 0-2
0148     yield 4; // key 1
0149 <endfold id='3'>}</endfold id='3'>
0150 
0151 switch (1) <beginfold id='3'>{</beginfold id='3'>
0152     case 1: echo 'plop';
0153     case 1; echo 'plop';
0154     default: echo 'plop';
0155     default : echo 'plop';
0156 <endfold id='3'>}</endfold id='3'>
0157 
0158 class User
0159 <beginfold id='3'>{</beginfold id='3'>
0160     public int $id;
0161     public ?string $name;
0162 
0163     public function __construct(int $id, ?string $name)  : void
0164     <beginfold id='3'>{</beginfold id='3'>
0165         $this->id = $id;
0166         $this->name = $name;
0167     <endfold id='3'>}</endfold id='3'>
0168 <endfold id='3'>}</endfold id='3'>
0169 
0170 class MyClass <beginfold id='3'>{</beginfold id='3'>
0171     const CONST_VALUE = 'A constant value';
0172 <endfold id='3'>}</endfold id='3'>
0173 
0174 class OtherClass extends MyClass
0175 <beginfold id='3'>{</beginfold id='3'>
0176     public static $my_static = 'static var';
0177 
0178     public static function doubleColon() <beginfold id='3'>{</beginfold id='3'>
0179         echo parent::CONST_VALUE . "\n";
0180         echo self::$my_static . "\n";
0181     <endfold id='3'>}</endfold id='3'>
0182 <endfold id='3'>}</endfold id='3'>
0183 
0184 $classname = 'MyClass';
0185 echo $classname::CONST_VALUE;
0186 
0187 echo MyClass::CONST_VALUE;
0188 
0189 $classname = 'OtherClass';
0190 $classname::doubleColon();
0191 
0192 OtherClass::doubleColon();
0193 new $classname::class;
0194 
0195 $user = new User(1234, null);
0196 
0197 $y = 1;
0198 $fn1 = fn($x) => $x + $y;
0199 $fn2 = function ($x) use ($y) <beginfold id='3'>{</beginfold id='3'>
0200     return $x + $y;
0201 <endfold id='3'>}</endfold id='3'>;
0202 
0203 $a = [1,2,3,'x'=>4];
0204 $b = array(1,2,3,'x'=>4);
0205 
0206 namespace A\B\C;
0207 class Exception extends \Exception <beginfold id='3'>{</beginfold id='3'><endfold id='3'>}</endfold id='3'>
0208 
0209 $b = new \Exception('hi');
0210 $x = new A\B\Foo('hi');
0211 $n = \strlen($str) - 1;
0212 
0213 $r = $x <=> $y and $z;
0214 
0215 #[ExampleAttribute('Hello world', 42)]
0216 class Foo <beginfold id='3'>{</beginfold id='3'><endfold id='3'>}</endfold id='3'>
0217 function foo(#[TestAttr] $bar)<beginfold id='3'>{</beginfold id='3'>
0218 <endfold id='3'>}</endfold id='3'>
0219 
0220 enum Suit <beginfold id='3'>{</beginfold id='3'>
0221     case Clubs;
0222     case Diamonds;
0223 <endfold id='3'>}</endfold id='3'>
0224 ?>
0225 
0226 <?php if (n)<beginfold id='17'>:</beginfold id='17'> ?>
0227 <p>bla ba</p>
0228 <?php <endfold id='17'>endif</endfold id='17'> ?>