On Sun, Feb 5, 2023, at 22:30, Randy Taylor wrote:

That's expected (at least to me) because it's a property. The same applies to c-ts-mode and go-ts-mode as well.

I mean… yea it’s a property, but it’s clearly a function-valued property, and you’re calling it. 

Even simpler: If you store a function reference in a plain variable and call that variable, is that a variable or a function you’re calling? ;)

As for consistency, csharp-ts-mode, js-ts-mode, typescript-ts-mode (and tsx-ts-mode) all does the  exact opposite: functions always takes precedence over properties.

In fact, they mostly highlight declarations of properties only, not regular access, which kind avoids the duality-problem we’re seeing in rust-ts-mode in this particular case. 

Would it be an option/goal to try to align these other modes with a such a model which is somewhat more clearly defined to make it simpler  to resolve cases like this?


Jostein