As we know, LSP has also provided good syntax based highlighting, and may conflict with the hard-encoded rules in this extension. I believe it already happened, for example, Typescript. This extension should work like an improvement for LSP, if LSP is working, and work in full-power mode if LSP not enabled.
Proposal
Change the JSON rule to 2 parts, the improvement mode, and full powered mode
Detect if LSP is enabled for current langauge
Enabled: work with improvement mode
Disabled, work with full powered mode
Full powered mode should be a superset of improvement mode, there should be no conflicts
Rebuild the rules that existing but conflict with LSPs
Background
As we know, LSP has also provided good syntax based highlighting, and may conflict with the hard-encoded rules in this extension. I believe it already happened, for example, Typescript. This extension should work like an improvement for LSP, if LSP is working, and work in full-power mode if LSP not enabled.
Proposal