- December 19, 2010 at 12:30 am #9157
I have found something with the Syntax Highlighting that seems like a bug, but is likely intended behaviour?
If I enable this rule and make it so it is one of the first rules in the .esy file — so that my own defined functions will be highlighted:
[x] Regular Expression
Then it overrides all of my keywords if they also have a round bracket.
E.G. if( .. Instead of: if(
Yet, if I enable “Regular Expression” for all of the keywords, then it works like it should – Both rules are applied — except with that many keywords as regular expressions the scrolling staggers and jumps very badly.
E.G. TestFunc( … and if(
As well, I have a secondary Highlight to make the “(” just be default text colour.
So I get: TestFunc(
Shouldn’t all the syntax rules be applied regardless whether or not one is a regex and the other rule(s) are not?December 19, 2010 at 9:10 pm #9160Yutaka EmuraKeymaster
There is a limitation in regards to how strictly implement these conditions. More strictly implement the highlight, slower EmEditor becomes. We have to choose a balance between features and speed. Currently, this is the specification, unfortunately. I might consider more strict implementation in future major versions.
Thank you,December 19, 2010 at 9:21 pm #9161
I know some of the issues could be resolved if there was a way to indicate what part of a Rule should be highlighted, aside from the “In Tag” or RightSide.
Highlight Match: \%([a-z0-9#_@$?]+)\%
Higlight Partial: 1
Or if Not using Regex::
Highlight Match: \%SomeTextHere\%
Highlight Partial: SomeTextHere
It’s also a possibility, if a regex doesn’t use “+” or “.” when the Highlight rules are read, EmEditor could parse the rules into multiple non-regex single rules.
Possible Regex (multiple lines for readability):
Possibly not many would find benefit to that particular code. Although I believe a general recursive function would be able to parse out a regex that doesn’t utilize “.” or “+” into non-regex single rules.
Also looking through the .esy file, they tend to be grouped into types, similiar Highlight colors and options. If one could NAME that group of words/rules, and then provide an exception Rule to only be applied if none of the rules match.
Example, from above, if I named those keywords, “BuiltInVars”, and also added something like the following:
After all the internal variables are listed and grouped together, I could provide a rule like above:
Which only is applied if none of the Group has matched already.
Anyways, just throwing out some ideas. EmEditor rocks, I just find a few quirks/issues here and there :-)September 23, 2011 at 1:31 am #9667
With V11 Beta out now, is there any chance of updating the Highlighter rules to either:
1_) Allow to choose what piece of a regex to Highlight. OR
2A) Allow a Rule to Block any further matches for the string &
2B) Allow a Rule to ALLOW further matches for the string
—> Regardless if one is a regex and one is a simple string.
- You must be logged in to reply to this topic.