Language-server-protocol: List supporting implementations

Created on 19 May 2016  ·  180Comments  ·  Source: microsoft/language-server-protocol

It would be helpful to have a wiki page where we can list any efforts that are working on either a client side or a server side implementation of the protocol.
It's a key information to convince people to use this API and currently hard to find.
So far it seems like from your side vscode is the only client implementation and your JSON support is the only server implementation.
What else are people working on?

implementation-tracking

Most helpful comment

@daviwil could you comment on the C# protocol implementation.

All 180 comments

I'm working on an implementation for Haxe language here https://github.com/vshaxe/haxe-languageserver/tree/master/src. It's not yet ready, but I'm planning to make it a separate lib, similar to how MS did it with vscode-languageserver-node.

EDIT: I started moving the protocol itself implementation into a separate lib: https://github.com/vshaxe/vscode-languageserver-haxe

(@dbaeumer)
Here are some others server implementations that use the vscode language protocol

Work in progress:

  • PHP - lead by @felixfbecker

Under consideration

  • Exposing the VS Code CSS/SASS/LESS language service using this protocol. The server will be implemented in TS.

I was experimenting a with implementing a language server in PHP but didnt work for it for quite a while because I faced limitations in the PHP parser (it cannot parse incomplete code - which is crucial for autocomplete). Need to improve the parser before working on the language server further

@svenefftinge I forgot to mention that the 'server based' linters, that is, linters that are run in a server to avoid the restart overhead for each lint pass, are all using the VS Code language protocol:

  • vscode-tslint
  • vscode-eslint
  • vscode-jscs
  • vscode-jshint
  • vscode-htmhint

They typically use the diagnostics subset of the protocol. vscode-eslint is also using code actions/quick fixes.

The json support inside VSCode uses the protocol as well.

The Crane - PHP plugin is based on the server protocol as well (the server is implemented in TS) https://marketplace.visualstudio.com/items?itemName=HvyIndustries.crane

I've started to a page with the protocol implementations.

Please use this issue to discuss additions/changes.

@egamma Cool, thank you.

Some comments. The Java-binding we (TypeFox == Maintainer) are working on is not an implementation for the java language, but a Java implementation of the protocol. I.e. A redefinition of all the message types in Java, together with JSON de/serialization. Also we have defined Java interfaces for the service methods. So it doesn't really belong in the 'Languages' category.

Xtext is spelled with an upper case X :)

Codenvy and TypeFox are also working on a client implementation for Eclipse Che.
See https://github.com/eclipse/che/issues/1287

The link to Haxe thing is not a language server itself, but merely the protocol code (similar to MS's vscode-languageserver-node), the correct link would be https://github.com/vshaxe/haxe-languageserver

Thanks for the feedback I made another pass:

  • added a section for SDKs of the protocol
  • added a section with Editors/IDEs of the protocol
  • corrected the contents based on the above feedback.

https://github.com/georgewfraser/vscode-javac uses this protocol to provide Java language support

@georgewfraser thanks, I've updated the table.

Codenvy is working on a JSON implementation of the language server protocol. Also, we will have full support for language server and debugging server protocol within Che workspaces. We are also working on a distributed language server registry. This will allow a user to open a remote workspace and a file with a certain extension. If that extension does not have a language server associated with it, we'll do a lookup to see if one is available for download and installation into a workspace. Each distribute workspace can have different sets of language servers installed.

Do any of the server protocol implementations listed so far support being installed and ran stand-alone, that is, outside of VSCode?

I am contemplating writing a client implementation for Eclipse (not Che, but the regular Eclipse desktop IDE), possibly integrating that into MelnormeEclipse a framework for creating Eclipse-based IDEs. But for that I'd like a language server implementation that I could start on its own. (Preferably for a language I know, like Java or C++, but I'd take any mature server). For example, could this be done for the C++ language server?

I think all nodejs-based server can be easily started without vscode, you just start them with node and connect thru stdio.

@bruno-medeiros: I think most of the servers are currently bundled with the corresponding VS Code extension. If we want to reuse these server outside VS Code we need to work on packaging them independently of VS Code. I like doing this, but the actual work as to come from the VS Code extension creators. As soon as there is a client to Eclipse & Eclipse Che I think there will be enough motivation for language server providers to do so.

Also, language servers will need a way to advertise themselves to various tools. A tool provider will want to provide a lookup mechanism and potentially a file type to language server association. And ten each tool provider will have a different process for how to integrate the language server into the editor. VS Code handles this by wrapping each server with an extension. Che will address this by having a common extension that works for all language servers.

So for language servers to advertise themselves and potentially the IDE specific extensions that wrap them, they will need a registry to halt their versions and optional extension adapters.

Codenvy and Eclipse Che are going to build a system to support this. We will then allow language servers to publish and version themselves, and it will be accessible for free by any tool.

The RAML Workgroup is implementing a language server for RAML, based on an ongoing componentization of the API Workbench. The language server work will be done in a new repo. The API Workbench is powered by a TypeScript-based SDK for RAML that features a parser, syntax highlighting, autocompletion, refactoring, navigation, and other capabilities useful for API professionals. The SDK forms the basis for the API Workbench implemented in Atom, but also has a web version and is intended to be incorporated in various editors and IDEs such as Eclipse. As the SDK components are broken out, we will be incorporating them into a node-based server supporting the Language Server Protocol.

Does #25 help regarding the effort?

Language servers working across IDE's is a win for everyone. Thanks for making this happen.

Please update the repository link for the Xtext language server to https://github.com/eclipse/xtext-core/blob/master/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/LanguageServerImpl.xtend (moved to another repository)

@spoenemann done

We are going to build a Groovy and SQL language server implementation over the next few weeks, with a Python one later down the road. I'll post links in the wiki to the code when we have an MVP up on github.

We've added support for the languageserver protocol to omnisharp via the node module omnisharp-node-client. https://github.com/OmniSharp/omnisharp-node-client/blob/master/languageserver/server.ts

@david-driscoll this is great news, added a row for omnisharp to the wiki page.

Acording to https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations there is a C# sdk/lib

work in progress by @davwil

Is there a repo somewhere?

Good morning @egamma!

Would it be possible to get my extension listed in your wiki?

vscode-apielements

@XVincentX added your extension, thanks for letting us know about it.

Hi @egamma

Would it be possible for you to add this implementation to your list:
groovy-language-server
It is maintained by Palantir and it is still a work in progress.

@natgabb done, thanks for the pointers.

I'm building an implementation for Crystal Language.

https://github.com/kofno/scry

@egamma we have not added https://github.com/gorkem/java-language-server to this list yet.

@egamma, do you have any updates on the C# sdk?

Thanks

@gorkem done, thanks for the reminder.

@daviwil could you comment on the C# protocol implementation.

I restarted my work on a PHP language server. The language server itself is completely written in PHP, uses an event loop, has high test coverage and relies on nikic/PHPParser to build complex ASTs instead of the RegExp parsing that VS Code does. The language server is published on packagist so it can be used by any IDE. The thin vscode extension is here, I have not published it yet because it doesn't have any features so far.

I also wrote JSON-RPC handling as a seperate package, which can be found here. In opposite to existing PHP JSONRPC implementations does it support nested targets that the language server protocol uses (textDocument/didOpen is mapped to the didOpen method of the textDocument property) and recursively maps structured parameters to the right classes using jsonmapper.

The last time I started this the problem was that at the time PHPParser could not parse incomplete documents very well, which is essential for autocompletion. This was just recently implemented in 3.0alpha.

The protocol parsing is implemented (and unittested), the method dispatching is implemented (and unittested), initialize method works. The first feature I want to implement is documentSymbol because it is quite easy if you have an AST. I have not finished the implementation yet, but nevertheless I wanted to share my work so far with you.

I've added to the wiki https://github.com/RustDT/RustLSP , an LSP SDK for use in Rust. Still work in progress.

I'm hoping also to build a dummy/mock LSP server implementation, just to help out test LSP clients.

@bruno-medeiros thanks for the update.

I have implemented a language server for OCaml/Reason in vscode-reasonml.

It is confusing to me to find Xtext among languages, of course there is a grammar language Xtext, but Xtext is not just a language but a framework to develop programming languages with a lot of features out of the box including the language server protocol support.

@egamma Could you add Xtext to the SDK section also as a framework to develop languages by default exposed via the language server protocol? And add a link to the official site in addition to LanguageServerImpl.

Honestly there should be a separate section for such tools, like language frameworks or platforms.

We (Sourcegraph) have implemented a Go language server at https://github.com/sourcegraph/go-langserver. Right now, it only supports textDocument/{hover,definition,references} and workspace/symbol (in addition to some of the file system notifications). There is a companion vscode extension for testing it out in vscode in the same repository.

@freebroccolo updated the table, thanks.

@akosyakov I've added a link to the official xtext site in he language server implementation table, that should clarify things. Thanks for the feedback.

A language server implementation for rust is being implemented here: https://github.com/jonathandturner/rustls

@jrmuizel thanks, added to the table.

@egamma it looks like there's an typo in the table, i never had anything to do with this project. Could you correct that? I'm sure you wanted to tag someone else.

@davwil thanks I was close it is @daviwil, fixed.

There are opened issues for existing Editors and IDEs to support LSP: Monaco, Orion, Ace, CodeMirror and Intellij IDEA. It would be nice to get up-votes to bring more adopters on the tool side.

We moved the Go language server to its own repository at https://github.com/sourcegraph/go-langserver. Could you please update the URL to that? Thanks!

@sqs done - thanks for the update.

@egamma, just wondering what you think of; jsonrpc over websockets.

the transport doesn't matter, however, most of examples of the server and client communicating are done using tcp / stdio. it would be wonderful if this was readily available.

getting the monaco-editor to talk to a language server, at the moment, requires a lot of work. the examples in the repos mostly use tcp / stdio, if websockets we used, say, it would be sort of easy for one to make monaco talk to remote language server that would do most of the heavy lifting.

vscode just keeps getting better. keep up the good work!

Isn't websockets basically TCP? This is off-topic though for this issue

@mbana please see the discussions here: https://github.com/Microsoft/language-server-protocol/issues/86#issuecomment-257272415

I'm working on a language server for Scala, here: https://github.com/dragos/dragos-vscode-scala
Work in progress, but some basic things are working already.

@dragos have you checked ensime?

@drags updated the table, thanks.

@felixfbecker yeah, it's based on ensime. Maybe the LSP shim will migrate into Ensime at some point, but for the moment it's outside it.

We have moved ls-api to the eclipse foundation.
The new link is https://github.com/eclipse/lsp4j
And the name is 'LSP4J'.
Please update the wiki.

We on the Polymer team are writing a language server for a variety of Web Components libraries, including Polymer. https://github.com/Polymer/polymer-editor-service

@svenefftinge done, thanks.

@rictic good stuff, updated the table.

Here are two IDE implementation that works with both vim and neovim.

https://github.com/prabirshrestha/vim-lsp
https://github.com/tjdevries/nvim-langserver-shim

nvim-langserver-shim internally uses vim-lsp.

We've factored the language server for the julia programming language out: https://github.com/JuliaEditorSupport/LanguageServer.jl. Can you please add to the list of implementations?

I have separated the OCaml/Reason language server from the vscode extension and it now resides at ocaml-language-server. Can the link in the wiki be updated to reflect that? Thanks.

Can you please replace the line about Eclipse IDE with
Eclipse IDE, Eclipse community, Eclipse LSP4E
?

@mickaelistria done

@egamma I don't see the change applied on the wik. Is it supposed to be delayed or did you miss the Apply button ;) ?

@mickaelistria I was still previewing it 😄

Ok, sorry for my impatience then.

I'm working on an Emacs language server client: https://github.com/vibhavp/emacs-lsp. It's not complete yet, but some features like formatting, completion, goto-definition and references work. I plan to integrate it with other Emacs packages like speedbar and font-lock.

@vibhavp thanks for sharing, added to the editors, IDE section.

@vibhavp fantastic! I'll be keeping an eye on this one

@vibhavp @egamma exciting to see - @cmr built a fully functional emacs client here too: https://github.com/sourcegraph/emacs-lsp in case there's anything to partner on!

We've factored the language server for the julia programming language out: https://github.com/JuliaEditorSupport/LanguageServer.jl. Can you please add to the list of implementations?

Bump, could someone please add this?

There is an interface library for Haskell at https://github.com/alanz/haskell-lsp, and a sample implementation of it at https://github.com/alanz/haskell-ide-engine/tree/lsp. It is tested to work against vscode and https://github.com/vibhavp/emacs-lsp

@davidanthoff done - sorry for the delay

@alanz added to the SDK sections. Thanks.

~There is also (extremely early) Rust support here: https://github.com/jonathandturner/rls_vscode. It could (and should at some point) be added to the wiki, but please make it very clear that it's not anywhere near maturity yet.~

NVM - I noted it's already there. 🙈

Palantir currently maintains a Python language server here: https://github.com/palantir/python-language-server

@gatesn added to the table, thanks.

Hello. GNOME Builder could probably added to the list of LSP clients, since it now provides a generic API to add support for new languages using language servers.

Using this API, they added Rust as a new language for Builder in very few lines of python.

There is now a Language Server implementation for the Isabelle Prover IDE framework in Isabelle/Scala. Visual Studio Code is used as demo application. See:

This means, any language that is embedded into Isabelle in the usual manner (as a "domain-specific formal language") gets semantic IDE support via the LS protocol. In particular:

  • Isabelle theories with logical term language and proofs
  • Isabelle/ML modules (e.g. the implementation of Isabelle/Pure itself)
  • Standard ML modules

There is no debugger support yet, although it could probably be done as well: The default Prover IDE Isabelle/jEdit already provides source-level debugging for ML.

@egamma There's an ongoing effort to provide a Language Service/Server in GraphQL (currently a private repo, will be public soon). This follows the small set of language server protocol in slightly different wordings, and the plan is to evolve the GraphQL language server to follow this protocol.

The work is in progress, but could you add this to the table please?

@ebousse added GNOME Buillder
@makarius added Isabelle

@asiandrummer added GraphQL

@egamma Thanks! GraphQL language service is now live :)

@asiandrummer great, updated the table.

This may be a bit early, but clangd (http://lists.llvm.org/pipermail/cfe-dev/2017-January/052509.html) seems to provide a language server:

@Sarcasm thanks for the pointer. This is interesting work that should be tracked, but let's wait with adding to the table until it has matured a bit more and has been integrated into some editors.

FYI, I made neovim editor support at https://github.com/autozimu/LanguageClient-neovim

Sourcegraph has a JavaScript/TypeScript language server under development: https://github.com/sourcegraph/javascript-typescript-langserver. Could we add this to the list of implementations?

@egamma The entry for vscode-javac is misleading---it calls it "javac based java support". vscode-javac uses the Java compiler tree api, it doesn't actually invoke javac. Could you change the description to "Java Compiler API-based Java support" or "JSR-199-based Java support"?

@georgewfraser done, I see that this is misleading, thanks for catching it.

@beyang added as work in progress, thanks

Can @rlovelett's https://github.com/rlovelett/langserver-swift be added to the list of LSP implementations?

Could the link for emacs-lsp be changed to https://github.com/emacs-lsp/lsp-mode/ instead?

@vibhavp done, thanks!

I came across an SDK by @martinring written in Scala which would be good to list: https://github.com/flatmap/vscode-languageserver-scala

We released the Ember Language Server today.
https://github.com/emberwatch/ember-language-server

We released the Monaco editor language client npm package: https://www.npmjs.com/package/monaco-languageclient
Could you add?

@vossad01 thanks for the pointer, from the commit history it appears there is activity since 6 months, are you using this implementation?

@t-sauer cool stuff, added

@egamma I am not, I went with the listed Java implementation. Though, admittedly, I didn't learn there was a Scala option until after I figured out LSP4J.

@akosyakov nice! added to list of editors supporting the protocol.

Currently working on a .NET (C#) library for LSP, with the goal of converting to OmniSharp to support LSP natively.

https://github.com/OmniSharp/csharp-language-server-protocol

@bmewburn added, thanks

@david-driscoll updated the C# repository and added a entry in the SDK table.

@david-driscoll's work opens a nice path to integrate the compiler compiler Coco/R* with LSP-supporting IDEs such as vscode. So, eventually, I am convinced this could add a really nice development workflow to Coco-parse-able languages, especially single-file, external** DSLs, which is my personal goal. However, it's so new, that it is currently more a plan, than a solution.

* https://github.com/Lercher/CocoR
** https://martinfowler.com/books/dsl.html

Well, I have implemented a infrastructure library for LSP, again, in C#… Anyway, you may go to CXuesong/LanguageServer.NET to take a look :-)

I didn't read everything, but you I guess the easiest thing to do would be creating a test repository and adding test cases which work for each platform. It might happen than for some platforms multiple implementations are available. Then you would document 1) progress 2) and have a test suite to catch regressions. Does such exist? I'm interested in a Vim binding - but don't know where to start. The test repo would solve all issues -> it could be referenced in the README and documentation would be ready as well. I've seen that VS code already uses some kind of language server, I know it does use typescript and flow -> I'd like to use it in Vim -> But I don't know where to start without having to rewrite everything some month later.

Well - wiki is not up to date. Maybe adding https://github.com/autozimu/LanguageClient-neovim would make sense. The page says I should be commenting here. the comments above also mention https://github.com/prabirshrestha/vim-lsp and https://github.com/tjdevries/nvim-langserver-shim

I've just released an Elixir implementation.

Repo: https://github.com/JakeBecker/elixir-ls
Blog post: https://medium.com/@JakeBeckerCode/introducing-elixirls-the-elixir-language-server-d449bbbdfc01

Please add to the implementations wiki. Thanks!

@JakeBecker done, thanks.

I've released yet another SDK implementation written in C#.
https://github.com/matarillo/LanguageServerProtocol

Please add my working Language Server implementation for Ceylon to the wiki. Thanks!

@jvasileff done!

I've started writing a LSP client for vim in python here: https://github.com/kristopher-h/vim-liq
It is still rough around the edges, but I'm myself using it on a daily basis. There is basic support for diagnostics, completion, definition, references.

@egamma Could you please add https://github.com/autozimu/LanguageClient-neovim to editor implementations? Thanks.

Editor: neovim https://github.com/neovim/neovim
Maintainer: Junfeng Li https://github.com/autozimu
Repo: https://github.com/autozimu/LanguageClient-neovim

@egamma Hi :sweat_smile: Please add https://github.com/kofno/scry
It is a LSP implementation made in Crystal by @kofno
It supports GoTo Definition, Formatting and Diagnostics for The Crystal Programming Language

@faustinoaq added, thanks.

https://github.com/adamvoss/languagetool-languageserver is a LSP implementation and a grammar checker for "natural languages". It builds a bridge to the LanguageTool. It is written in Java and based on LSP4J.

>

https://github.com/adamvoss/languagetool-languageserver is a LSP
implementation for "natural languages" that builds a bridge to the
LanguageTool https://languagetool.org/. It is written in Java and based
on LSP4J.

That's a very interesting implementation. It highlights that LSP (and
typical code editor/IDE features) can be also a good fit for more "natural"
use-cases. Thanks for this! I'd be glad to help you on the
[email protected] mailing-list in adding support for it as an Eclipse
plugin if you're interested.

@mickaelistria The implementation was done by @adamvoss . I discovered it "by accident" while searching for a spell checker for VSCode. And it really works well.
I also had this use cases of the LSP (as spell/grammer checker) in mind. It would be great if it could be integrated with Mylyn WikiText editors.

We have two additions for the wiki page:
And IDE/Editor : Theia
A language server for YANG : YANG-LSP

Hi, I have created a language server for Dockerfiles. It is written in TypeScript and powered by Node.js and the vscode-languageserver node module.

https://github.com/rcjsuen/dockerfile-language-server-nodejs

It is also up on npm.

Please add language server for Haskell

https://github.com/haskell/haskell-ide-engine

Maintainer @alanz

@MHerbst done

@svenefftinge @rjsuen @alanz done.

@egamma please add @autozimu's neovim extension to the list of supported IDEs: https://github.com/autozimu/LanguageClient-neovim

@mqudsi done

We're currently working on LSP integration for Spyder IDE: https://github.com/spyder-ide/spyder/pull/4751

Hi @egamma , Vetur, a Vue plugin for VSCode by @octref and me, is based on LSP. We also provider a standalone language server for Vue. I'd be glad if you can add it to the list.

https://github.com/vuejs/vetur/tree/master/server

It has probably been around long enough that I should submit YAML for inclusion: https://github.com/adamvoss/vscode-yaml-languageservice

@mickaelistria I'm glad you find the project interesting! I am very receptive if someone wants to port/support languagetool-languageserver to work with other editors and would be happy to assist. However, it is not project I anticipate undertaking personally.

Hi @egamma - you can also add the MSBuild language server from MSBuild project tools for VSCode. It's based on OmniSharp's LSP framework and with a little tweaking can also be used to provide language services for other XML-based formats.

@tintoy nice, I've added it to the table.

@jared2501 did you end up writing the Python one?

@prabirshrestha done thanks!

Can we add a link for the Clangd page, on the first column on "C++" : https://clang.llvm.org/extra/clangd.html

Thanks!

@MarkZ3 makes good sense, thanks & done.

Hi, I'm making a server too~
project: https://github.com/Alloyed/lua-lsp
language: Lua
Author: me, Kyle McLamb

Could you add my language server?

project: https://github.com/mtsmfm/language_server-ruby
language: Ruby
author: Fumiaki MATSUSHIMA

@egamma another one for you:

LSP client in Visual Studio

😉

@Alloyed added thanks

@mtsmfm thanks!

@egamma Can you add YAML language server https://github.com/redhat-developer/yaml-language-server

@gorkem very nice! From the README it looks like there is no vscode extension yet that leverages this language server. Are there any plans to do so?

@egamma Yes, we should soon release it. It is almost ready https://github.com/redhat-developer/vscode-yaml

@gorkem great news 🌷

Hi,
gnome-builder did source tree reorganization[1] and third column link[2] points to wrong url (path not found). Please change to correct one: https://git.gnome.org/browse/gnome-builder/tree/src/libide/langserv.

Best Regards

[1] https://git.gnome.org/browse/gnome-builder/commit/libide/langserv?id=9b9db77635405aec2184237192a9ee6806caf0c0
[2] https://git.gnome.org/browse/gnome-builder/tree/libide/langserv

@jpogran I've added the puppet language server to the table. Hope it is OK by you.

@pejas updated the link, thanks!

Another tsserver wrapping language server has been implemented and is maintained by TypeFox: https://github.com/theia-ide/typescript-language-server

We are joining efforts with @prabirshrestha, who has added a deprecation note here.

@egamma Is there any reason this one wasn't added?

@adamvoss sorry about. I must have overlooked it. I've added it now at a position that should correspond to the chronological order of its appearance.

@egamma could you also update the typescript entry according to my previous comment? Thanks.

Hi,

We are working on a new language wich is called TypeCobol !
We are currently implementing Language Server Protocol. For now we've got some Code Completion, Jump to def and Diagnostics features.

Here is our GitHub team : https://github.com/TypeCobolTeam
And our repository : https://github.com/TypeCobolTeam/TypeCobol/tree/master/TypeCobol.LanguageServer

Let me know if you need more information.
Thanks

@egamma Could you add solidity-language-server to the list?

Project: https://github.com/CodeChain-io/solidity-language-server
Language: Solidity
Author: Kodebox

@svenefftinge done, sorry for the delay

@collarbe done

@kseo done

@egamma With you change 05a39fd39a5433ed55b379d27439968bf69e1038 on the wiki from Aug 7th 2017, you removed the list of SDKs for the various programming language. I find this information is very valuable for the integrators who want to add support for new language or tools, and removing it makes their task harder. Was this removal intentional? If yes, what's the rationale? I'd be glad to see this valuable list back on this page!

@mickaelistria sorry about that. I've restored the contents and extracted it into a separate page.

Another very promising Scala language server based on Scalameta: https://github.com/scalameta/language-server

@laughedelic added to the table, thanks.

Hi, Visual Studio 2017 now has Language Server support in preview that is maintained by Microsoft. https://marketplace.visualstudio.com/items?itemName=vsext.LanguageServerClientPreview

@StephanieSu - is the source for the LSP client library (Microsoft.VisualStudio.LanguageServer.Client) available anywhere? I built something similar a while back and it would be great to compare notes :)

@david-driscoll thanks, I've fixed protocol implementations page.

https://github.com/OmniSharp/csharp-language-server-protocol is already listed on the SDK page https://github.com/Microsoft/language-server-protocol/wiki/Language-Server-Protocol-SDKs. So I think we are OK now.

I just released my glsl language server. It currently only does diagnostics but it does it pretty well.

We've released our open source testing tool, Gauge https://github.com/getgauge/gauge/ with language server protocol support. It implements

  • Code completions
  • Diagnostics
  • Find references
  • A couple of code lens
  • Symbols

We'll be releasing our Visual Studio Code plugin plugin soon.

We have released our language server implementation for BallerinaLang.

Language: Ballerina
Language sever Implementation
VSCode Plugin
Maintainer: BallerinaLang.org

Supported Features:

  • Code completion
  • Hover
  • Signature Help
  • Diagnostics
  • Document Symbols

Let me know if you need more information

Cheers

I'd appreciate an entry for the language server for Dart: https://github.com/natebosch/dart_language_server
(No vscode plugin since there is already a more full featured plugin using a different server protocol: https://github.com/Dart-Code/Dart-Code)

Also another client for vim: https://github.com/natebosch/vim-lsc

Thanks!

I have locked the issue and will close it. The protocol has now its own web site with pages for the implementations. So new implementations can be announced via a pull request against
servers, tools and sdks web pages written in markdown.

@dbaeumer great thanks 🌷

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Wosi picture Wosi  ·  6Comments

KVGarg picture KVGarg  ·  5Comments

stamblerre picture stamblerre  ·  5Comments

davidanthoff picture davidanthoff  ·  3Comments

gorkem picture gorkem  ·  6Comments