Editing Support for Software Languages: Implementation Practices in Language Server Protocols (Summary)
Paper in proceeding, 2023

We present our paper published at the 25th International Conference on Model Driven Engineering Languages and Systems (MODELS) [Ba22a]. Effectively using software languages requires effective editing support. Modern IDEs, modeling tools, and code editors typically provide sophisticated support to create, comprehend, or modify instancesof particular languages. Unfortunately, building such editing support is challenging. While the engineering of languages is well understood and supported by modern model-driven techniques, there is a lack of engineering principles and best practices for realizing their editing support. We study practices for implementing editing support in so-called language servers-implementations of the language server protocol (LSP). LSP is a recent de facto standard to realize editing support for languages, separated from the editing tools, enhancing the reusability and quality of the editing support. Witnessing the LSP's popularity, we take this opportunity to analyze the implementations of 30 language servers. We identify concerns that developers need to take into account when developing editing support, and we synthesize implementation practices to address them, based on a systematic analysis of the servers' source code. We hope that our results shed light on an important technology for software language engineering, that facilitates language-oriented programming and systems development, including model-driven engineering.

code assistance

source code editor

Language engineering

implementation practices


Djonathan Barros

Universidade Estadual do Oeste do Paraná

Sven Peldszus

Ruhr-Universität Bochum

Wesley K.G. Assunção

Universidade Estadual do Oeste do Paraná

Johannes Kepler University of Linz (JKU)

Thorsten Berger

University of Gothenburg

Ruhr-Universität Bochum

Lecture Notes in Informatics

1617-5468 (ISSN)

Vol. P-332 35-36
9783885797265 (ISBN)

2023 Fachtagung des GI-Fachbereichs Softwaretechnik, Software Engineering 2023 - 2023 Conference of the GI Software Engineering Division, Software Engineering 2023
Paderborn, Germany,

Subject Categories

Software Engineering

Information Science

Computer Science

Computer Systems

More information

Latest update