Skip to content

Switched the language server from websockets to TCP

Rafał Mikrut requested to merge github/fork/ofrank123/master into master

Created by: ofrank123

The new language server for GDScript is a great inclusion to the engine, but it was implemented in websockets, which is fairly unusual for language servers. Most language servers use either a stdio connection or a TCP server to communicate, and as such these protocols are widely supported by LSP clients. Although VSCode and Atom are currently working with the websocket implementation, other text editors like emacs (my editor of choice) and vim do not have mature enough websocket support for their respect lsp clients to work with the protocol, as was noted in this issue on emacs' lsp-mode . Of course this change would be breaking for the vscode and atom clients, but the code in them that handles the websocket server is minimal, and could be changed over easily. This is a work in progress, as it cannot currently handle multiple client connections (although i don't see this as a huge issue, but I thought I'd make the pull request so that others knew it was being worked on. It currently works with a single connection at a time, and I have tested it with emacs' lsp-mode on my fork. @Geequlim has mentioned before that he is not opposed to switching to TCP either.

Merge request reports