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
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Kythe
Thanks a lot for the explanation.
sbag...@grailbio.com
unread,
May 5, 2018, 10:50:50 AM5/5/18
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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.