Well the "structure members" might be an easy one. That is, if they can be detected by the following rule.
- Inside a code block. Though that depends on what is wanted
- any identifier that follows after a dot.
- no other rules
Exactly. But this requires checking, because the members after the dot operator are given in many cases and each should be checked.
What checking? Other than was a dot in front.
It doesn't check if its valid. (that be nice, but a diff topic).
All the HL would do is, any identifier after a dot is a member. ( ".." to be excluded)
While I am typing further on below, this already misses an important issue
would
not be detected. There is no dot.
But what about. Note that however the HL does not know if TFoo is a class or a unit.
type MyBarForward = TFooClass.TBar // TBar is "public type"
This should also depend on the priority. As for me, this is where the datatype style should be applied by default.
Only there is on "type style" there is a default style, but general code in the procedure body uses the exact same default style.
If that default style is prioritized over members, then that is everywhere.
That would require a "declaration style"... But I don't think that will happen.
To be honest just downlighting all members (as in identifier after a dot) the same is meaningless to me. But yes, it could be to others.
It gets interesting, if those kind of colors are retrieved from codetools, and there are differences for local vars, members, globals, ... Well even if only members, but including those without a dot in front of them.
However that is a long time away.
My todo list is simply full.
And then while in TMyClass in the term self.OtherClass.OtherMember only OtherClass would be a member of the current class.