Closed
Description
I've got an open PR for semantic tokens support in lsp
.
This is for tracking what we'd need to do to use it in HLS.
- Does it have to go through the
hls-plugin-api
model of everything being provided as plugin methods? I'm not sure how well that will work, because a) combining results from multiple plugins won't be nice, since the tokens will all be using relative positions (we could absolutize them, combine them, and then relativize them again, though), and b) if you want to do the delta support then you need state, result ids, all that fun stuff that is probably much easier with a single provider of highlighting. - I have no idea where this should go generally. In
ghcide
? - What do we want to highlight?
- Normal Haskell syntax in doctest comments? Syntax highlighting in doctest comments? #1535
- Type families? Support for Type Families #1637
- Other kinds of "type-like things", e.g. constraints?
- Deprecated things?
- Class methods?
- What types and modifiers do we want to use for highlighting? The ones which are listed in the spec aren't great for Haskelly things, and I don't know how well custom types work in practice.