Code search app

Just a wild stab in the dark here: Is there a tool made for searching large codebases for classnames, function names, variable names - in short “symbols”?
Has to support more than one code repository in more than one place on the disk. Must not be a webserver. Must not be github.

I’m basically looking for a companion to Dash, but for my own code :slight_smile:

I was just looking for something like this, this morning! I ended up deciding that ripgrep is good enough for me.

I found Sourcegraph which you can have locally.

Otherwise, depending on what language you’re using, it’s possible (likely even) that someone has written a docs -> dash generator.

Edit:
There’s also a much simpler ctags or ptags

Ctags opens some doors… I should be able to hobble together some sort of workflow with that…
Thanks!

1 Like

I frequently have to dig through large unknown to me code bases and found devonthink to be very helpful with that. It indexes and searches blazingly fast. It does require all files it searches to have an extention (.c, .cpp etc), not a problem for most files but if you are looking for content in makefiles (which normally have no extention) it is a bit of an issue.

I use devonthink for other, same project, related searches as well - think of datasheets, reports, architecture descriptions, you name it. I used to be a big egrep user and i occasionnaly still use that but DT largely replaced other search tools.

2 Likes

I’ve attempted to use ctags integrated into BBEdit as part of my move from Epsilon to BBEdit when I thought that Epsilon wasn’t going to go 64-bit. Anyway I found it buggy and clumsy. It just doesn’t work as described when trying to tag multiple directories, and I had several emails back and forth to Bare Bones Software about it.

Probably not a helpful answer here, but the tags feature in Epsilon has always worked fast and accurately and it’s been a feature of Epsilon for over 30 years. Now that they are releasing a 64-bit version (now in beta) I’m changing my workflow back to using Epsilon and putting BBEdit to the side.