Book 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.- 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
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
Table of contents
- Cover
- Front Matter
- 1. Developer Tools and Language Services
- 2. Understanding the Language Server Protocol
- 3. Implementing a Language Server
- 4. General Messages
- 5. Text Synchronization
- 6. Diagnostics, Smart Editing, and Documentation
- 7. Refactoring and Code Fixes
- 8. Code Navigation and Navigation Helpers
- 9. Presentation and Selection
- 10. Workspace Operations
- 11. Advanced Concepts
- Back Matter
Product information
- Title: Language Server Protocol and Implementation: Supporting Language-Smart Editing and Programming Tools
- Author(s):
- Release date: November 2021
- Publisher(s): Apress
- ISBN: 9781484277928
You might also like
book
Network Programming with Go
Go combines the best parts of many other programming languages. It’s fast, scalable, and designed for …
book
The Linux Programming Interface
The Linux Programming Interface is the definitive guide to the Linux and UNIX programming interface—the interface …
video
Hands-On Systems Programming with Rust
Scripting languages will provide safety, but not concurrency and speed, while traditional systems programming languages such …
video
CCNA 200-301
More Than 16 Hours of Video Instruction Overview CCNA 200-301 Complete Video Course is a comprehensive …