Description
Is your enhancement request related to a problem? Please describe.
First of all, thank you @soulomoon for implementating fantastic support for semantic tokens! I've long been waiting for this feature 🎉
After the release of 2.6.0.0, I've just tested it and looks really good. I think it will become even better if one can tell (possibly partially-applied) infix operators from ordinary variable/functions semantically.
For example, the image below is what I apply One Monokai + Semantic Tokens to the code fragments containing several ($)
s:
In above, functions being applied and ($)
s are all coloured homogeneously. Without semantic colouring, OTOH, we got:
I think the latter case gives more legible highlighting - binary operator shines between functions.
Describe the solution you'd like
Add something like TBinaryOperator
constructor to HsSemanticTokenType
, map its default to operator
token, and also allowing users to map them to what they like (as we already did for haskell.plugin.semanticTokens.config.dataConstructorToken
etc).
Describe alternatives you've considered
Perhaps, as we have already done to plain symbols, there can be TBinaryFunction
and TBinaryVariable
, as the function declaration can take its argument in infix-form.