MENU

Fun & Interesting

LSP: Building a Language Server From Scratch

Jeffrey Chupp 52,540 lượt xem 1 year ago
Video Not Working? Fix It Now

00:00:00 - Intro
00:00:52 - Getting set up
00:05:52 - Starting from Scratch
00:12:40 - The initialize method
00:19:38 - Processing messages in batches
00:24:18 - Responding to initialize
00:30:43 - Implementing completion
00:42:45 - Document Synchronization
00:56:24 - Smarter completion
01:07:02 - Testing against Neovim
01:08:23 - Outro / Next Steps

In this video, we'll start building our own language server in TypeScript by following the Language Server Protocol. We'll build the core functionality of initialization, text completion, and document synchronization. Beginners welcome!

Final code: https://github.com/semanticart/lsp-from-scratch

- Spec: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/
- Minimum Viable VS Code Language Server Extension: https://github.com/semanticart/minimum-viable-vscode-language-server-extension
- Neovim LSP setup: https://gist.github.com/semanticart/1de8b5ed7752bb0e7d74a7d4a8fe23f4
- VSCode Language Server npm library: https://www.npmjs.com/package/vscode-languageserver

Comment