What do you use Kythe for?

998 views
Skip to first unread message

Aeisitos Papadopulos

unread,
Sep 25, 2015, 11:58:15 AM9/25/15
to Kythe
When I look at Kythe, I see a lot of potential, but not many tools that build on Kythe and provide something directly useful to a common developer. There is the code-browser webapp, and that is it, as far as I know.

I would like to ask what tools are you people using on top of Kythe and if there is something that has been already released in this front so I can try it out for myself. For example, https://en.wikipedia.org/wiki/Google_Kythe and https://www.youtube.com/watch?v=uRO3dNJx5Dw says there is supposed to be an Emacs client for context sensitive code completion.

Thanks, Aeisitos

Michael Fromberger

unread,
Sep 25, 2015, 2:23:07 PM9/25/15
to Aeisitos Papadopulos, Kythe
Hi, Aesitos,

Kythe is still a young project and there are not (yet) a large number of tools using our schema and formats—it is mostly the prototypes you've seen. One of our medium-term goals is to help bootstrap integrations with existing tools (e.g., build tools, compilers, editors, and so forth), and that's something we will be working on more in the coming year.  Contributions are welcome, if you have specific needs!

Steve's talk from 2012 is focused on the Google-internal Grok project, of which Kythe is the direct descendant. But much of what he describes in that talk is tied in various complex ways to Google's own internal infrastructure, so what we're doing now in Kythe is to lay the groundwork for building those kinds of tools without that restriction. (In fact, Steve has hinted that he might be willing to port his Emacs integration for us, once we are at a point where we can support it :)

If there are specific tools you're interested in seeing supported, we'd love to hear more. Although Kythe itself is mainly a protocol for interoperability rather than a service, we've found that it's very helpful to know what specific features developers are interested in, since that helps us figure out where to focus our efforts on integrations.

Cheers,
–M

software...@gmail.com

unread,
Sep 28, 2015, 8:06:44 AM9/28/15
to Kythe, aeis...@gmail.com
On Friday, September 25, 2015 at 8:23:07 PM UTC+2, Michael Fromberger wrote:
Steve's talk from 2012 is focused on the Google-internal Grok project, of which Kythe is the direct descendant. But much of what he describes in that talk is tied in various complex ways to Google's own internal infrastructure, so what we're doing now in Kythe is to lay the groundwork for building those kinds of tools without that restriction. (In fact, Steve has hinted that he might be willing to port his Emacs integration for us, once we are at a point where we can support it :)

So what is now missing from Kythe that it cannot serve as a code completion backend for C++ right now?
 
If there are specific tools you're interested in seeing supported, we'd love to hear more. Although Kythe itself is mainly a protocol for interoperability rather than a service, we've found that it's very helpful to know what specific features developers are interested in, since that helps us figure out where to focus our efforts on integrations.

The only obvious use case to me is backend for IDEs. I did some searching (both soul and the Internet) and it seems everybody talks only about IDEs. Somebody claiming to be a srclib developer suggested that they might consider using Kythe for indexing C++ (they do not support that language now). I also found one person wishing to compare two IPC interfaces written in two different languages and tell if they match.

Does anybody else on this list have some concrete uses in mind?

Josh Powell

unread,
Apr 27, 2017, 3:39:10 PM4/27/17
to Kythe, aeis...@gmail.com
Any updates about getting some nice Emacs interoperability, courtesy of Steve or anyone else?  If there's a nascent attempt to reproduce this, rather than open source what was build for Grok, I'd be interested in taking a look at that, too.  Thanks!

Robin P

unread,
Jul 23, 2017, 9:15:06 AM7/23/17
to Kythe, aeis...@gmail.com
Re Emacs: I heard https://github.com/MaskRay/emacs-helm-kythe works for the Haskell indexer. Not sure about other languages, but could give it a look.

Robin

Brandon Fergerson

unread,
Aug 8, 2018, 12:48:57 PM8/8/18
to Kythe
Hope replying to old posts isn't frowned upon but I wanted to share something I made which relies heavily on Kythe.
It's a open-source web application which uses Kythe to extract function references between projects on GitHub.

Using Kythe I can surface information like this: https://gitdetective.io/google/gson
That shows all the projects which I've indexed that use gson and if you click the methods it'll actually show you the code which used gson.

If you're interested in learning how I did it there is a rather long article here: https://blog.grakn.ai/who-uses-your-open-source-code-anyway-73d968da55a3

Moving forward I hope to start showing trends. For example, if google/gson2 came out and people stopped using google/gson; I think it would be cool to see that trend happen in real-time.

Shahms King

unread,
Aug 9, 2018, 12:18:21 PM8/9/18
to Kythe
Cool! Thanks for letting us know about this, I'll definitely take a closer look :-)

--Shahms
Reply all
Reply to author
Forward
0 new messages