-
Notifications
You must be signed in to change notification settings - Fork 30
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
Support for macOS with Apple Silicon #28
Support for macOS with Apple Silicon #28
Comments
Hey, thanks for your interest!
Different languages use different language servers, for instance, Java uses Eclipse JDT.LS, Python uses JEDI-language-server, etc. Each of these language server binaries need to be installed from their respective sources, and configuration performed. the directory src/monitors4codegen/multilspy/language_servers organises the code for setting up different language servers. Since I have not been able to test multilspy on all platforms for all languages, I had added an error message at src/monitors4codegen/multilspy/language_servers/rust_analyzer/rust_analyzer.py#L52-L55, or equivalent line in other language server files, so once the support is added/tested, this line can be removed. For multilspy to work for a particular language on a platform, the server needs to be set up for the specific platform. For example, the file src/monitors4codegen/multilspy/language_servers/rust_analyzer/runtime_dependencies.json specifies the url from which the binaries for rust language server can be fetched for different supported platforms. To add a new platform, you can add the url for the binary for your platform by reviewing https://github.com/rust-lang/rust-analyzer/releases/ and making a new entry in the src/monitors4codegen/multilspy/language_servers/rust_analyzer/runtime_dependencies.json file. The runtime_dependencies file is used in the The other language server directories are organised in a similar manner, having a json file named |
It works! Thank you for your detailed response, it's super helpful. |
Hey @tonyfettes! Thank you very much for letting me know. May I request you to please create a PR with the changes you made based on the above comments to get it working on Apple Silicon? It would be very useful to others. I am not able to do it since I don't have a device with apple silicon. |
hi, i'm trying to access support for macOS with Intel silicon, and I did simiar modification with pr#18. |
@TsukimiRini , Thanks a lot for checking out multilspy. Kindly look into the following:
|
Hi @LakshyAAAgrawal , thank you for your detailed and timely reply!
I suppose that maybe my JAVA environment is broken, so I try to fix everything in the environment related to JAVA, e.g. |
As for my custom client, it's a primitive one which communicates with LS via socket. I run an LS and make it listen on a certain port. Then I launch a client sending requests to the server in the format of RPC JSON object. |
Ohhh..Sorry to bother you guys. It turns out that though I have checked |
@TsukimiRini, I am glad that multilspy worked for your usecase. Did supporting your usecase require any changes to multilspy? I will soon be reviewing the PR microsoft/monitors4codegen#18 by @tonyfettes. If your usecase required any changes beyond that, I would be glad if you could contribute the changes to multilspy! |
Sorry for opening an issue for such a supporting problem.
I'm running the tests of this project using pytest on macOS with Apple Silicon, but I got any error saying that only linux-x64 is the only supported platform for now. Will there be any plan to support macOS? Or can I get a guidance on how to add support for such platform?
Thank you in advance.
The text was updated successfully, but these errors were encountered: