Understanding Language Server Protocol - autocomplete, formatting - Adrian Hesketh

  Рет қаралды 9,909

GopherCon UK

GopherCon UK

Күн бұрын

Part of Go's brilliant developer experience is the integration of gopls with text editors like VS Code, Neovim to provide features. Text editors use the Language Server Protocol standard to communicate. This standardisation allows multiple text editors to benefit from a single implementation.
In this session, we'll go deeper to find out what's being passed between text editors and the language server, how we can create our own LSPs with Go, and how a project is building on top of the gopls LSP to add autocomplete features to HTML templates.

Пікірлер: 18
@dgethings
@dgethings 6 ай бұрын
Incredible you covered so much so clearly in an hour. Thank you
@Gruby7C1h
@Gruby7C1h 9 ай бұрын
Great talk, shame that the audio is so low.
@pinguinosmarinela
@pinguinosmarinela 7 ай бұрын
600 sound volume extension works just great
@gpltaylor
@gpltaylor 4 ай бұрын
great video with a clean and clear explanation of LSPs. Shame about the volume, but I was able to crank it up to 11 and squint (squinting helps you hear)
@renekuhn7304
@renekuhn7304 Ай бұрын
I have great audio!
@nexovec
@nexovec 3 ай бұрын
great talk.
@user-vt4jc6wq2s
@user-vt4jc6wq2s 10 ай бұрын
Great talk! Thanks!
@AndrewWPhillips
@AndrewWPhillips 5 ай бұрын
Nice talk though I am much more interested in your `templ` package than Go LSP. (I appreciate the segue of extending the Go LSP for templ. :) BTW Just a small thing near the start: the mention of `ls` is confusing (more so for Windows Gophers :). `ls` does not use stdin, but *does* write to stdout. Though I guess when you type `ls` it is going to stdin of the shell you are using.
@cristophermoreno2290
@cristophermoreno2290 8 ай бұрын
👉 TEMPL @40:43
@may_9819
@may_9819 11 ай бұрын
No audio😥
@matthiasendler7268
@matthiasendler7268 10 ай бұрын
Nice talk! I learned somethings.... Thanks! :)
@victoryosikwemhe2280
@victoryosikwemhe2280 11 ай бұрын
Nice talk. But the audio is so low without headsets
@DarkoLuketic
@DarkoLuketic 10 ай бұрын
I just want to know how I can integrate templ with Jetbrains products. The video doesn't have sections
@gemini_537
@gemini_537 4 ай бұрын
Gemini: This video is about the Language Server Protocol (LSP) which is a protocol that defines communication between a text editor and a programming language. The speaker, Adrian Hesketh, goes over the details of the protocol and how to implement it to build a language server. Here are the key points covered in the video: What is LSP: LSP defines the communication protocol between a text editor and a programming language. It enables features like autocompletion, goto definition, jump to diagnostics, and formatting. Messages: Communication between the client (text editor) and server (language server) happens through messages. These messages are formatted according to the JSON RPC specification and include headers, content length, and the message body. Requests and Responses: The client can send requests to the server to get information or perform actions. The server responds back with a response message. Notifications: The server can send notifications to the client to inform about changes or errors. For example, the server might send a notification to the client about diagnostics errors found in the code. Initialization: When the client and server start communication, they go through an initialization handshake. During the handshake, the client informs the server about what capabilities it has and the server informs the client about its capabilities. Building a language server: The speaker walks through the steps involved in building a language server. This includes handling requests and responses, handling notifications, and building parsers to understand the structure of the code. Libraries and tools: The speaker also mentions some libraries and tools that can be helpful when building a language server. These include libraries for parsing code, implementing the LSP protocol, and building language extensions for editors.
@brod515
@brod515 10 ай бұрын
like everyone said. the audio needs addressing.
@SpotAllen
@SpotAllen 7 ай бұрын
Great talk. Production fail. 😌
@DarkoLuketic
@DarkoLuketic 10 ай бұрын
Also SPEAK LOUDER, I can barely understand anything
Structured Logging for the Standard Library - Jonathan Amsterdam
45:31
wow so cute 🥰
00:20
dednahype
Рет қаралды 10 МЛН
LSP: Building a Language Server From Scratch
1:09:08
Jeffrey Chupp
Рет қаралды 42 М.
The context package internals - Damiano Petrungaro
49:31
GopherCon UK
Рет қаралды 5 М.
The 7 Deadly Sins for Gophers - John Gregory
49:39
GopherCon UK
Рет қаралды 4,3 М.
From Vim To Zed
19:03
ThePrimeTime
Рет қаралды 244 М.
Don't use VSCode
35:31
PyCon South Africa
Рет қаралды 221 М.
Understanding Neovim #7 - Language Server Protocol
25:19
Vhyrro
Рет қаралды 10 М.
So You Think You Know Git - FOSDEM 2024
47:00
GitButler
Рет қаралды 1,1 МЛН
САМЫЙ КРЕПКИЙ ТЕЛЕФОН #shorts
0:27
Паша Осадчий
Рет қаралды 2,1 МЛН
📱магазин техники в 2014 vs 2024
0:41
djetics
Рет қаралды 971 М.
POV: You Find a 🗑️ Full of iPhones ⭐
0:13
Shakeuptech
Рет қаралды 1,4 МЛН
Самый крепкий телефон в мире. Какой? 🤯 #шортс
0:25
Антон Сошников
Рет қаралды 30 М.