I forget things easily and a lot, the names of command-line utilities/tools are included. When I need one of them and only remember little part of its name, I have to google it or ask a LLM which is I don't like. After few times like this, I knew I need a solution and I started creating this tool. So this is a need for me, I hope it works for you either.
Simple, it just searches executables (or the way I call them: binaries) in directories which are part of PATH environment variable or a seperated paths argument given by you. Then it compares search input with the names of the binaries by similarity and displays them after ordering. For extra, it can extract descriptions from man pages for found binaries, with "man-db" and "groff" for displaying them too.
Just showing how does it look:
demo.mp4
- Error handling (there is no error handling, really. I just ignored them 😊)
- (Interactıve mode) Description truncation, a big missing I think
- (Interactıve mode) Navigation on list, another big missing
- Codebase explanation. There are no any kind of comments between these lines, sorry
- Codebase formatting. I was enjoying with adjusting the indentation myself
- Codebase refactoring. The modularity and quality might be messed up a little bit
For a project that aiming personal use, these can be tolerated but not this two:
- Most importantly, better similarity checking.
Another idea is word searching in description,
it would be nice but could be painful to implement - And there is a problem with binaries with same similarity (points):
Because of they have same similarity, only one of them can be saved.
I did not think this would be a problem when handling similarity checking
but looks like short search inputs produce this problem oftenly
