Attending this event?
Registration is now OPEN! Please register HERE as soon as possible!

DevConf.US 2022 is the 5th annual, free, Red Hat sponsored technology conference for community project and professional contributors to Free and Open Source technologies coming to Boston this August!!
Back To Schedule
Thursday, August 18 • 13:00 - 13:30
Building rich IDE features using "Language Server"

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Have you ever thought about coding in a tool that doesn't recognize the programming language you're using? Nowadays, we can not even imagine working on a project without a code editor that supports syntax highlighting, autocompletion, linting, go-to, and hover functionalities. In addition to the increasing speed of programming languages' evolution, a plethora of code editors and IDEs have also been developed in the last decade. But, all these editors share a common problem: The problem of integrating language support with the above-mentioned features as a sophisticated extension. Technically, someone has to write an extension for each programming language per code editor, repeating the same underlying logic. The Language Server Protocol (LSP) is the answer to this M * N problem: Considering M languages and N editors.

In this talk, we will learn how the concept of LSP changes this M * N problem into an M + N problem by providing language support services in a decentralized manner. We will explore how a language server contains a deep understanding of a specific language, and the LSP ensures the communication between the server and extension in code editors. More importantly, we will learn how to develop a language server efficiently utilizing Ansible Language Server (ALS) as an example, followed by a demo. A key part of the presentation will be to discuss how this beautiful concept of language server combines with the open-source culture and see how the community has already developed extensions for vim and emacs around the ALS.

By the end of this talk, you will have a clear understanding of the core concept of a language server as well as the knowledge necessary to start inventing one. Additionally, you will have sufficient resources to develop an extension or plugin for your favorite code editor based on an already existing language server. There is no prerequisite for you to be able to follow this talk; all you need is a passion for developing programming tools.

Thursday August 18, 2022 13:00 - 13:30 EDT
Conference Auditorium