Skip to content

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

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 contact@mangoiv.com

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions