This change is the first step towards bundling the language server with the client. The bundled server is a pre-built binary for MacOS and Linux. Note that the binaries are not yet present in this PR, I'll add them once I have built a release for the language server, as a next step to this PR.
This change ensures that the developer doesn't need to worry about installing the language server separately and instead they only need to worry about installing the extension.
This change is a bit expensive in the sense that it's bundling pre-built binaries for both platforms when the developer only needs one, an optimization here could be to download the binary for the corresponding platform when initializing the extension. If the current approach presents any problems in terms of extension size, I'll default to the download approach.
Since this change doesn't include the binaries, to tophat this change, the steps are:
The binaries are 46MB in total. That's too much, so I'll default to downloading the binaries from the release page of the language server depending on the platform. This decision doesn't affect this PR though.
This change is the first step towards bundling the language server with the client. The bundled server is a pre-built binary for MacOS and Linux. Note that the binaries are not yet present in this PR, I'll add them once I have built a release for the language server, as a next step to this PR.
This change ensures that the developer doesn't need to worry about installing the language server separately and instead they only need to worry about installing the extension.
This change is a bit expensive in the sense that it's bundling pre-built binaries for both platforms when the developer only needs one, an optimization here could be to download the binary for the corresponding platform when initializing the extension. If the current approach presents any problems in terms of extension size, I'll default to the download approach.
Since this change doesn't include the binaries, to tophat this change, the steps are:
make release
bin/
bin/mac/<contents>
andbin/linux_x86_64/<contents>
For windows