- Timestamp:
- 11/04/08 18:27:47 (2 months ago)
- Files:
-
- 1 modified
-
src/perl6/STD_syntax_highlight (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/perl6/STD_syntax_highlight
r22864 r22873 307 307 HTML 308 308 309 local *spit_simple_html = sub { 310 my ($buffer, $rule) = @ARG; 311 if($rule) { 312 $str .= qq{<span class="$rule">$buffer</span>}; 313 } else { 314 $str .= $buffer; 315 } 316 }; 317 318 redspans_traverse(\&spit_simple_html,%colors); 319 320 $str .= <<"HTML"; 321 </pre> 322 </body> 323 </html> 324 HTML 325 326 $str; 327 } 328 329 =item redspans_traverse 330 XXX- document 331 =cut 332 sub redspans_traverse($%) { 333 my ($process_buffer,%colors) = @ARG; 334 309 335 my ($last_tree,$buffer) = ("",""); 310 336 for my $i (0 .. @loc-1) { … … 318 344 my $rule; 319 345 my $rule_to_color = 0; 320 $buffer = escape_html($buffer);346 $buffer = $buffer; 321 347 my @rules = (); 322 348 @rules = reverse(split / /,$last_tree) if $last_tree ne ''; … … 333 359 if($last_tree =~ /identifier/) { 334 360 if($parser->is_type($buffer)) { 335 $ str .= qq{<span class="_type">$buffer</span>};361 $rule_to_color = '_type'; 336 362 } elsif($parser->is_routine($buffer)) { 337 $str .= qq{<span class="_routine">$buffer</span>}; 338 } else { 339 $str .= qq{<span class="$rule_to_color">$buffer</span>}; 340 } 341 } else { 342 $str .= qq{<span class="$rule_to_color">$buffer</span>}; 343 } 344 } else { 345 $str .= qq{$buffer}; 363 $rule_to_color = '_routine'; 364 } 365 } 346 366 } 367 #now delegate printing to a callback 368 $process_buffer->($buffer, $rule_to_color); 347 369 $buffer = $c; 348 370 } else { … … 351 373 $last_tree = $tree; 352 374 } 353 $str .= <<"HTML";354 </pre>355 </body>356 </html>357 HTML358 359 $str;360 375 } 361 376
