feat(lsp): add language servers and improve ui #852
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR improves the LSP settings UI, refactors the code and adds more language servers.
Changes
pipx ensurepath)BaseLspServer.kt)universal_runner.shto fix e.g. NodeJS installationNotes
Note
I wrote this part in all of Xed-Editor's automatic NodeJS installation scripts:
This makes sure that all global packages (such as the
typescript-language-server) are installed in that .npm-global directory. This is a workaround because NodeJS would otherwise install them outside of the sandbox. (This is probably unintended, I'm going to write an issue)Note
I also had to manually type the location of the node binary
arrayOf("/usr/bin/node", "/home/.npm-global/bin/vscode-html-language-server", "--stdio")because otherwise, even though the binary is in the PATH, Xed-Editor wouldn't find the binary. The PATH seems to be different when such commands are executed.Screenshots
Current limitations and issues
Note
I added the Markdown and ESLint language servers because they're also included in the vscode-langservers-extracted package but I didn't add them to the registry because for me they didn't work.
areaeven thoughmetis already written, it should only showmetaandmeteras suggestions (General issue of all language servers)scripttag (but has CSS autocompletion instyletag)