Skip to content

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

@MangoIV

Description

@MangoIV

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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions