A pretty fast code search tool
Note: this is a Linux-only tool.

Once upon a time, you downloaded a copy of the Linux kernel source code. A few moons later, you decided to look for some debugging facilities in the ext4 filesystem. Because why not?

[dev@tag ~]$ pwd
/home/dev
[dev@tag ~]$ time bl -q define+ext4_debug -g
/home/dev/kernel/fs/ext4/ext4.h:73:#define ext4_debug(f, a...)
/home/dev/kernel/fs/ext4/ext4.h:80:#define ext4_debug(fmt, ...)       no_printk(fmt, ##__VA_ARGS__)

real    0m0.083s
user    0m0.053s
sys     0m0.030s

Interesting. How often is that used?

[dev@tag ~]$ time bl -q ext4_debug -g -c
/home/dev/kernel/fs/ext4/ext4.h:2
[...skipping for clarity...]
/home/dev/kernel/fs/ext4/move_extent.c:12
[...skipping for clarity...]

real    0m0.084s
user    0m0.046s
sys     0m0.037s

A bit. Potentially useful.

But wait! This was way too fast. Feels a bit cheating. How much data is this 'bl' actually looking into?

[dev@tag ~]$ bl --status
server status: up
index size on disk: 2355.89M
in-flight files to index: 0
indexed folders:
  - /home/dev/
  - /usr/include/

Oh, that's not bad.

But, you know, you're rather an Emacs lover.

Ballish integration in Emacs

What about vim?

Ballish integration in Vim

Those are the capabitilies that ballish gives you: a very fast search across all of the code on your machine. All at the tips of your fingers. Integrated in your favorite editors.

Ballish supports dozens of languages. No size limits. No new dependencies to add to make lsp work for your new language. No fiddling with ctags options to make it "mostly work". Instant search results.

Go and get it for your favorite distribution!