Skip to content

make hls speak websocket #4666

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 17 commits into
base: master
Choose a base branch
from
Draft

Conversation

MangoIV
Copy link
Contributor

@MangoIV MangoIV commented Jul 17, 2025

try it out in combination with https://github.com/MangoIV/hls-playground by running that with npm run dev and this with cabal run -f-cabal -f-dynamic exe:haskell-language-server -- -d ws

@MangoIV MangoIV changed the title Mangoiv/websocket make hls speak websocket Jul 17, 2025
@MangoIV MangoIV force-pushed the mangoiv/websocket branch from 3dbefe0 to bcddfda Compare July 22, 2025 17:12
@MangoIV
Copy link
Contributor Author

MangoIV commented Jul 22, 2025

Hey @soulomoon I would love to hear your opinion on a4ce2e8 which adds "syntactic" highlighting to the semantic tokens support...

@MangoIV
Copy link
Contributor Author

MangoIV commented Jul 22, 2025

image This is how it looks atm.

@MangoIV
Copy link
Contributor Author

MangoIV commented Jul 22, 2025

oh shoot. I might have messed up (need to split up that last commit in two)

@MangoIV MangoIV force-pushed the mangoiv/websocket branch from bcddfda to a4ce2e8 Compare July 22, 2025 17:37
@soulomoon
Copy link
Collaborator

soulomoon commented Jul 22, 2025

Good job, look promising @MangoIV
Can you pleaze seperate the syntax tokens to a seperate PR? So we can focus on making the syntax tokens in a better shape.

@MangoIV
Copy link
Contributor Author

MangoIV commented Jul 22, 2025

@soulomoon yes I will have to, thank you :)

@MangoIV MangoIV force-pushed the mangoiv/websocket branch from a4ce2e8 to e260ab7 Compare July 22, 2025 18:03
@MangoIV
Copy link
Contributor Author

MangoIV commented Jul 22, 2025

@soulomoon #4672

MangoIV added 17 commits July 22, 2025 20:47
Use the GHC AST and lsp semantic tokens to convince the language server
to give highlighting even without any editor highlighting plugins.
This is the right thing to do because othewise it is not possible to
create new ideStates in a single instance of the executable. This will
be useful if the hls executable is supposed to talk to multiple clients
and lives beyond a single client disconnecting.
Previously, when there was no shutdown message by a client and the
client disconnected, resulting in the handlers to be GC'd the race that
was supposed to free resources for the HieDB & co. would throw a hard
error talking about the MVar being unreachable. We would like to instead
finish gracefully because finishing the race as soon as the MVar was
GC'd is the right thing to do anyway.
Use the GHC AST and lsp semantic tokens to convince the language server
to give highlighting even without any editor highlighting plugins.
@MangoIV MangoIV force-pushed the mangoiv/websocket branch from e260ab7 to d022d04 Compare July 26, 2025 15:37
@MangoIV
Copy link
Contributor Author

MangoIV commented Jul 26, 2025

ah there's something odd here with the hscenv of eval... somehow eval chokes on ghc 9.12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy