The thing about search is that it is only useful if it lets you find obscure results. Anyone can find common results; they clog every search engine and suffocate functionality.<p>For example, if I enter “UDP broadcast” into your search, I find all the usual java and cpp results that I can find anywhere. Ho hum. If I wanted those, I could go use Google or probably just trip over them in my living room.<p>But I want results in Swift because it is relatively new and obscure. There are only 4 Swift projects on Github that match the term “UDP broadcast” out of 319 total results. I have to do an advanced search on the native Github engine to find them.<p>I think you might want to start by making your search useful for finding the weird obscure things that people really have to hunt for. Then expand it to everything else while finding a way of not drowning the oddball stuff with the common clay (of the New West).<p>This is where Google, for example, has gone wrong lately. I almost can’t use it for anything meaningful because any meaningful search (example ‘MacOS gps”) brings back “5 Amazing GPS apps for Mac that you can’t live without!!” and many other links with no actual content.<p>If you want to make a useful search, you have to return the stuff that is hard to find instead of the easy and useless stuff.
It would be great to have a few pre-selected example queries immediately clickable, to see some examples. That would help showcase why this is cool and what you can do with it. And maybe why it's better than other search tools (i.e. built-in github one).
This is fun. Why have you restricted the search to just Identifiers, Variables and Functions? Does this mean that text found in a comment block would not be a match?<p>I'm already devising how you could incorporate a bag of words algorithm plus an embedding to segment/find similar items.
If this looks cool you might also be into Google Code Search <a href="https://github.com/google/codesearch" rel="nofollow">https://github.com/google/codesearch</a>
Feature request/idea: Would be nice to be able to 'pipe' the results of one search into another.<p>Imagine a series of search boxes, with the results of the first fed into the second, and so on. Like:<p>> codegrep --class "Logger" | codegrep --field "error"
This looks good. I wanted to do something similar for Golang when I started learning it.<p>Like for a package say `sync` I want to see the most common methods first and their documentation.<p>I find the current godocs lacks in giving welcoming vibes and treat every aspect of a package equally where some method types are more important/useful than others.
First search revealed some funny test code :) <a href="https://github.com/ornicar/lila/blob/master/modules/shutup/src/test/AnalyserTest.scala" rel="nofollow">https://github.com/ornicar/lila/blob/master/modules/shutup/s...</a>
Very nice. I run searchcode.com which I have been neglecting recently. That said I do like to see other code search engines and play around with them. Seems you have disabled the default regex search offered by elastic? I didn’t look into the code much but a search of /.*/ yielded no results?
It would be useful if it grouped repositories or had a method of collapsing results. My search returned the same repo for each result. Not sure if it was a function of there only being one repository using my term (doubt it, I used "GCD") or what.
This has a lot of potential. I would love to be able to type quicksort and automatically see a good implementation of it. What is shown right now is not good enough, but the idea is there. Great job! I also tried ray tracing, and timsort, but got no results.