Kythe vs Language Server Protocol

469 views
Skip to first unread message

ramses...@gmail.com

unread,
Jan 27, 2018, 4:30:15 PM1/27/18
to Kythe
What are the similarities and differences between Kythe vs Language Server Protocol?
Is even correct to ask this question or they are complete different things?

Michael Fromberger

unread,
Jan 27, 2018, 5:49:10 PM1/27/18
to ramses...@gmail.com, Kythe
On Sat, Jan 27, 2018 at 1:30 PM, <ramses...@gmail.com> wrote:
What are the similarities and differences between Kythe vs Language Server Protocol?
Is even correct to ask this question or they are complete different things?

​As you guessed, they aren't really the same thing. But they can work together effectively.

Briefly, Kythe is meant to provide a common language for semantic information about programming language code. It mainly takes the form of a graph schema, which defines some conventions about how things are named and related, and some storage and API formats for sharing those data between compilers (which produce them) and other tools such as code browsers, editors, etc. The purpose of Kythe is to bridge between language-specific tools like compilers and static analyzers, and user-facing tools without dedicated language support. We have so far mostly concentrated on semantic cross-references, though of course other kinds of analysis are also possible.

The LSP is primarily a transport protocol between UI tools and analysis tools. So in that sense, LSP and Kythe are natural complements—and in fact it's not too hard to use LSP to hookup Kythe data to editors. There's a language server implementation in the Kythe repo that works on that basis—it handles requests for jump-to-definition and cross-references, backed by Kythe graph data.

–M​

ramses...@gmail.com

unread,
Jan 27, 2018, 8:25:56 PM1/27/18
to Kythe
Thanks a lot for the explanation. 

sbag...@grailbio.com

unread,
May 5, 2018, 10:50:50 AM5/5/18
to Kythe
Is there documentation on how to start the language server and updates based on new commits in version control?

A listing on langserver.org will also be nice, even if it is listed under development.

Thanks!
Reply all
Reply to author
Forward
0 new messages