Editing Support for Software Languages: Implementation Practices in Language Server Protocols (Summary)
Paper i 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

Författare

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 Universität Linz (JKU)

Thorsten Berger

Göteborgs universitet

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,

Ämneskategorier

Programvaruteknik

Systemvetenskap

Datavetenskap (datalogi)

Datorsystem

Mer information

Senast uppdaterat

2023-07-18