websocat reads stdin line-by-line and waits for \n before sending each chunk. LSP JSON bodies have no trailing \n, causing a deadlock: websocat holds the body, the server waits for the body, LSP4IJ waits for the response. lsp_bridge.py reads complete Content-Length-framed messages before sending, then sends each as a single binary WebSocket frame. This fixes autocomplete in IntelliJ IDEA via LSP4IJ.
2.8 KiB
Executable File
2.8 KiB
Executable File