play-haskell icon indicating copy to clipboard operation
play-haskell copied to clipboard

Proposal: make the editor bit of play.haskell.org use a haskell-language-server instance in the background

Open MangoIV opened this issue 4 months ago • 4 comments

Hello Tom I am currently working on getting HLS to work with fully in-memory buffers that do not need the file system to be able to have a single HLS instance communicate with multiple language server clients. I have reached the point where I have all relevant language server features working in a prototype-ish way and I would like to avoid scattering the ecosystem by creating another playground. Hence I would like to ask whether what I have built could be integrated into haskell playground.

  • the language server would for now be a fork since I don't think that most of the feature will be mergeable upstream immediately
  • a single language server instance takes about 1.5 GB RAM for ~30 active clients
  • we probably need proper sandboxing, I don't know how haskell playground does this at the moment, but we probably need to talk about this
  • the client is based on monaco, which is pretty big, so the download times would probably go up.

If you have any further questions, I would be happy to talk.

Here's a screenshot of how this looks atm - the missing syntax highlighting is due to not having any except the semantic highlighting atm. I could add syntax based highlighting client side but I'm also currently debating on just extending the range of supported tokens by HLS.

Image

My e-mail address is [email protected]

MangoIV avatar Jul 16 '25 12:07 MangoIV