-
Notifications
You must be signed in to change notification settings - Fork 7
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
Add VSCode marketplace client handler #32
Add VSCode marketplace client handler #32
Conversation
Signed-off-by: Jack Cherng <[email protected]>
Javascript files downloaded from that "marketplace" probably expect the node.js runtime to be a certain version, namely the one shipped with VSCode. How would you handle this? |
what if something like lsp_utils/st3/lsp_utils/npm_client_handler_v2.py Lines 85 to 87 in d63ccf0
@classmethod
def satisfy_node_version(cls, version: Tuple[int, int, int]) -> bool:
# `version` is a tuple of the found node version in the form of (major, minor, patch)
# if the node version should >= 8.0.0 but < 14.0.0
return (14, 0, 0) > version >= (8, 0, 0) |
I was playing around with general prerequisites in this branch actually: sublimelsp/LSP@a78e958 |
While it's an interesting approach to add general routines for downloading things from the vscode marketplace, in the case of LSP-roblox I'm not totally convinced it's the most clean result. For instance, that vscode extension bundles binary files for all three platforms inside of the extension. I made an LSP-lua repo where I actually separate out those three binaries into the three platforms, and also remove all unneeded files like debugger.lua and all beta Lua files: https://github.com/sublimelsp/LSP-lua If you look at the releases page there, each (automated) release has zip assets for all three ST platforms (well, only x64 versions). So the binaries are placed in the package itself and there's no need to download files after the package is installed with package control at all. There is also a person already waiting to release an LSP-roblox package: sublimelsp/repository#2 |
Agree on "if we can have a dedicated release for each platform, it's ideal." A big bundle from the marketplace is for the sake of maintainer's laziness and easiness 😆
Definitely good given the fact that I don't write Lua scripts. |
I think I have nothing against the idea but there is an awful lot of duplication between existing and new handlers. I think it would make sense to extract common code into a common base. |
Also, I would like to complete the move to a new server directory before introducing those new handlers. |
Signed-off-by: Jack Cherng <[email protected]>
Close this due to lack of public use case and... and I won't have much time for this recently :/ |
I'm not certain if it would be useful either and also wonder about the legality of doing that but I'm working on some refactorings in lsp_utils that will make it much easier to implement new handlers without duplication. |
There are some LSP servers, which are only available either on VSCode's marketplace or as
.vsix
files.which was asked on Support for TailwindCSS LSP#1377 (comment)
which was asked on https://discordapp.com/channels/280102180189634562/645268178397560865/767193838379859969
This PR proposes a dedicated handler, which should simplify
LSP-*
plugin codes for them.It
itemName
andversion
.vsix
filenode
executable availability if necessaryAn example use for https://marketplace.visualstudio.com/items?itemName=Nightrains.robloxlsp