Skip to content

Add ability to load Language Servers as extensions (bundles) #465

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

Merged
merged 5 commits into from
Apr 16, 2022

Conversation

pkasila
Copy link
Member

@pkasila pkasila commented Apr 16, 2022

Description

Now ExtensionsManager supports language_server extensions. Also, there is a LSPClient class added to handle Language Server Process (through stdio). Currently, it doesn't do anything except running Language Server in the background.

Language Server Extension Bundle

Almost the same as in #416, but there are some minor changes in the process.

  1. Plugin's SDK should be set to language_server while registering a plugin in the Extension Store
  2. Extension should contain Language Server executable inside
  3. Extension's Info.plist should contain the following properties
    3.1. CELSPExecutable (String) which is the Language Server's executable file name
    3.2. CELSPFileExtensions (Array) which contains file extensions to be handled by Language Server
    3.3. CELSPArguments (Array, optional: defaults to ["--stdio"]) which contains arguments to be passed to Language Server to be run

Language Server Extension example is available in the pkasila/HTMLLanguageServer repository (based on vscode-html-languageserver)

Related Issue

Checklist

  • I read and understood the contributing guide as well as the code of conduct
  • My changes generate no new warnings
  • My code builds and runs on my machine
  • I documented my code
  • Review requested

@pkasila pkasila added enhancement New feature or request extensions Issues related to the extension architecture in CodeEdit source editor labels Apr 16, 2022
@pkasila pkasila self-assigned this Apr 16, 2022
@pkasila pkasila enabled auto-merge April 16, 2022 11:56
Copy link
Collaborator

@austincondiff austincondiff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Outstanding, love it!

@pkasila pkasila merged commit c3e3358 into CodeEditApp:main Apr 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request extensions Issues related to the extension architecture in CodeEdit source editor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants