»
« home   paste   Anonymous | Login | Signup for a new account 01-24-2019 04:59 CET
 
* X »
«
GeSHi - Generic Syntax Highlighter Syntax Coloriser for PHP
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000060 [GeSHi] core feature N/A 01-10-06 00:38 01-10-06 11:08
Reporter BenBE View Status public  
Assigned To nigel
Priority low Resolution suspended  
Status assigned   Product Version 1.1.1alpha3
Summary 0000060: CP-Dependend isComplex-Flag
Description Sometimes the isComplex-Flag isn't needed to be always "split to CP" thus you could save time when doing a short "overview" using a small CP function testing for constructions the CP fixes and then deciding the isComplex flag upon that result.

What I mean:
Given you have a source like

asm
    MOV EAX, EAX
    ... //Much more source not requiring the DCP for ASM
end;

you could pass through this context at once if you knew about (which is for Delphi most of the time since many stuff done by the DCP handles syntactic exceptions.

But when the source was like

asm
    MOV EAX, $1337
    OR EAX, 666 //Is this an operator or an instruction --> ask the CP
    ... // Some more source
end;

You would lead to mishighlighting if the DCP was entirely disabled for ASM subcontext. Thus a new const GESHI_ISCOMPLEX_QUERYCP (or simular) that would do a callback to the CP would be useful. (General enabling this feature would decrease performance due to many checks are not the fastest. (And you won't ask a comment if it's really not complex ;-))
Additional Information
Attached Files

- Relationships
parent of 0000038closed nigel Parse comment contexts as single regexps 

- Notes
(0000251)
nigel
01-10-06 11:06

So for each ASM block, and using this new flag, instead of splitting it automatically becase GESHI_ISCOMPLEX_TOKENISE is used, we call a callback function passing it the ASM block, and it decides whether to split or not.

That won't be a performance problem as long the function is quick, and will save the most time when the function is quick and the blocks are big.

Having said that, most of the performance gains here are theoretical.

As a result, I can add this but maybe later.
 

- Issue History
Date Modified Username Field Change
01-10-06 00:38 BenBE New Issue
01-10-06 00:38 BenBE Status new => assigned
01-10-06 00:38 BenBE Assigned To  => nigel
01-10-06 00:38 BenBE Relationship added parent of 0000038
01-10-06 11:06 nigel Note Added: 0000251
01-10-06 11:07 nigel Note Added: 0000252
01-10-06 11:08 nigel Resolution open => suspended
01-10-06 11:08 nigel Projection none => tweak

  


Mantis 1.0.0rc2[^]
Copyright © 2000 - 2005 Mantis Group
35 total queries executed.
28 unique queries executed.
Powered by Mantis Bugtracker