Extending Ballerina Language Server — Auto-Completion

Nadeeshaan Gunasinghe
Ballerina Swan Lake Tech Blog
3 min readNov 17, 2019

--

It has been a couple of eventful months since we released Ballerina 1.0.0 and along with the awesome language features we have shipped many language tooling capabilities as well. These include language servers, package repositories and etc.

During this post, I’ll be talking about the Ballerina Language Server and how we can extend/ write your own extension for the Language Server.

In the current Language Server Implementation, we have provided a couple of extension points for the external/ third-party developers. Here I’ll be looking at the extension point for the Language Server Auto-Completions. In a later post let’s have look at the other extension points as well.

What is Auto-Completion

Auto-Completion has become one of the most used language intelligence in any of the programming language IDE/tool.

Following two references have LSP protocol definition for the auto completion and the Ballerina Language Server’s particular implementation details.

  1. https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_completion
  2. https://medium.com/ballerina-techblog/language-server-for-ballerina-auto-completion-engine-in-depth-ee20e543ac26

--

--

Ballerina Swan Lake Tech Blog
Ballerina Swan Lake Tech Blog

Published in Ballerina Swan Lake Tech Blog

Ballerina Swan Lake is an open source and cloud native programming language optimized for integration. Create flexible, powerful, and beautiful integrations as code seamlessly. Developed by WSO2.

Nadeeshaan Gunasinghe
Nadeeshaan Gunasinghe

Written by Nadeeshaan Gunasinghe

Autor, Expert Software Engineer at Zuhlke Group - Singapore, Microservices Enthusiast, Full-stack Developer, Hardcore Cricket Fan, Sci-fi Addict ;)