Back to Search

Language Server Protocol and Implementation: Supporting Language-Smart Editing and Programming Tools

AUTHOR Marcus, Nipuna; Gunasinghe, Nadeeshaan
PUBLISHER Apress (11/14/2021)
PRODUCT TYPE Paperback (Paperback)

Description
Understand the important aspects of implementing a production-grade language server in support of language-smart tools such as code editors and other programming utilities. This book shows you how to create a single implementation of a language server that can be used by multiple tools, enabling you to do the job once in a way that can be shared and reused.
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

Show More
Product Format
Product Details
ISBN-13: 9781484277911
ISBN-10: 1484277910
Binding: Paperback or Softback (Trade Paperback (Us))
Content Language: English
More Product Details
Page Count: 239
Carton Quantity: 15
Product Dimensions: 7.00 x 0.55 x 10.00 inches
Weight: 1.02 pound(s)
Feature Codes: Illustrated
Country of Origin: NL
Subject Information
BISAC Categories
Computers | Languages - General
Computers | Software Development & Engineering - General
Computers | Programming - Compilers
Descriptions, Reviews, Etc.
jacket back
Understand the important aspects of implementing a production-grade language server in support of language-smart tools such as code editors and other programming utilities. This book shows you how to create a single implementation of a language server that can be used by multiple tools, enabling you to do the job once in a way that can be shared and reused.
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


Show More
publisher marketing
Understand the important aspects of implementing a production-grade language server in support of language-smart tools such as code editors and other programming utilities. This book shows you how to create a single implementation of a language server that can be used by multiple tools, enabling you to do the job once in a way that can be shared and reused.
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

Show More
List Price $54.99
Your Price  $54.44
Paperback