Overview
Provides an all-in-one resource on the language server protocol
Demonstrates design, user experience, and best practices
Covers advanced concepts such as progress reporting, launchers, and extension points
Access this book
Tax calculation will be finalised at checkout
Other ways to access
Table of contents (11 chapters)
Keywords
About this book
This book covers the language server protocol used for communication between programming tools and your language server. The book also provides an in-depth understanding of the design, implementation, and user experience aspects which should be considered when implementing a language server. The book walks you through an example language server implementation to illustrate the basic concepts, then goes on to cover advanced aspects of language server use such as progress reporting, launchers, and extension points.
User experience is an important aspect of language server implementation and different tooling vendors strive to provide their own unique user experiences. This book explains how the protocol features can be leveraged to address the unique developer experience provided by different tooling vendors. The book also shows how to enhance the smoothness of the editing experience by orchestrating multiple features together.
What You Will Learn
- Implement a language server from scratch
- Understand language server protocol and its data models
- Leverage the protocol while preserving the unique user experience of different editors
- Extend the protocol to support more than its standard capabilities
- Run a language server on top of launchers such as standard I/O and TCP socket
- Seamlessly incorporate language semantics into your protocol features
Who This Book Is For
Developers focused on and passionate about implementing language development tools such as plug-ins and extensions for interactive development environments (IDEs) or other tools that rely upon parsing of language statements and commands, and developers who need an in-depth understanding of the language server protocol as well as how to use the language server protocol to develop extensible language services
Authors and Affiliations
About the authors
Nipuna Marcus is Technical Lead at WSO2 and has more than five years of experience in front end development, programming languages, and developer tooling. He was a member of the Ballerina Language Server team and a key contributor to the Ballerina programming language.
Bibliographic Information
Book Title: Language Server Protocol and Implementation
Book Subtitle: Supporting Language-Smart Editing and Programming Tools
Authors: Nadeeshaan Gunasinghe, Nipuna Marcus
DOI: https://doi.org/10.1007/978-1-4842-7792-8
Publisher: Apress Berkeley, CA
eBook Packages: Professional and Applied Computing, Professional and Applied Computing (R0), Apress Access Books
Copyright Information: Nadeeshaan Gunasinghe and Nipuna Marcus 2022
Softcover ISBN: 978-1-4842-7791-1Published: 14 November 2021
eBook ISBN: 978-1-4842-7792-8Published: 13 November 2021
Edition Number: 1
Number of Pages: XXI, 239
Number of Illustrations: 18 b/w illustrations
Topics: Professional Computing, Programming Languages, Compilers, Interpreters, Software Engineering/Programming and Operating Systems