Design and Implementation of the Language Server Protocol for the Nickel Language
2022 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesisAlternative title
Utformning och genomförande av Language Server-protokollet för språket nickel (Swedish)
Abstract [en]
The expansive Language Integration, i.e. code completion, debugging as well as static code analysis, refactoring and more, has typically been the hallmark of Integrated Development Environments (IDE). Typical IDEs however focus on a selection of established languages to integrate which stifles the adoption of new languages. Contrasting IDEs, modular text editors allow for plugin driven integration of languages as contributed by their respective communities. Yet, providing language integration to multiple platforms requires repeated efforts for each one. The Language Server Protocol aims to be a solution to this problem by connecting a language specific Language Server to editors which act as generic clients. This work presents the design of a transferable Language Server architecture and its implementation for the Nickel languages. The product is finally evaluated quantitatively for its performance and qualitatively for its perception by future users.
Abstract [sv]
Den expansiva språkintegrationen, dvs. kodkomplettering, felsökning och statisk kodanalys, omstrukturering med mera, har vanligtvis varit kännetecknande för integrerade utvecklingsmiljöer (IDE). Typiska IDE:er fokuserar dock på ett urval av etablerade språk att integrera, vilket hämmar införandet av nya språk. Modulära textredigerare, som kontrasterar till IDE, möjliggör plugin-driven integration av språk som bidragits av deras respektive grupper. Att tillhandahålla språkintegration för flera plattformar kräver dock upprepade insatser för varje plattform. Language Server Protocol syftar till att lösa detta problem genom att ansluta en språkspecifik Language Server till redaktörer som fungerar som generiska klienter. I detta arbete presenteras utformningen av en överförbar Language Server-arkitektur och dess genomförande för nickelspråken. Produkten utvärderas slutligen kvantitativt med avseende på dess prestanda och kvalitativt med avseende på hur den uppfattas av framtida användare.
Place, publisher, year, edition, pages
2022. , p. 122
Series
TRITA-EECS-EX ; 2022:833
Keywords [en]
Language Server Protocol, Coda Analysis, IDE
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-323490OAI: oai:DiVA.org:kth-323490DiVA, id: diva2:1732389
External cooperation
Tweag I/O Limited
Presentation
2022-07-05, via Zoom https://kth-se.zoom.us/j/62672647970, Stockholm, 13:00 (English)
Supervisors
Examiners
2023-02-202023-01-312023-02-20Bibliographically approved