diff options
| author | hachem <im@hachem.wtf> | 2026-09-18 19:41:28 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-09-18 19:41:28 +0200 |
| commit | 0a309eb2c225d0feb7fdf8e94910668cbc6f667d (patch) | |
| tree | e014b241bf40b815cdba2117b314f6f18cf50547 | |
| parent | d05bb1670438f37672187614f0bdc2a81ce7887c (diff) | |
chore: update README
| -rw-r--r-- | README.md | 22 |
1 files changed, 11 insertions, 11 deletions
@@ -3,19 +3,19 @@ `jafm` searches through **all your man pages** for a symbol, figures out which page actually documents it, and opens it for you. -I find it genuinely insane how fucking illiterate the default `man` command can be. I was making a simple HTTP server in C and wanted the man page for `sockaddr_in`. Every single time I tried `man sockaddr_in` it went: `No manual entry for sockaddr_in`. And this *should* work, because it works on Linux. But, as it so happens, I am not on Linux all the time. The docs for `sockaddr_in` were right there, inside another page (`inet`). So I had to somehow guess which random man page contained the thing I was looking for. `jafm` fixes that. It reads every page, ranks the hits so the real one is on top, shows you a picker with a live preview, and opens whatever you choose. +i find it genuinely insane how fucking illiterate the default `man` command can be. i was making a simple http server in c and wanted the man page for `sockaddr_in`. every single time i tried `man sockaddr_in` it went: `No manual entry for sockaddr_in`. and this *should* work, because it works on linux. but, as it so happens, i am not on linux all the time. the docs for `sockaddr_in` were right there, inside another page (`inet`). so i had to somehow guess which random man page contained the thing i was looking for. `jafm` fixes that. it reads every page, ranks the hits so the real one is on top, shows you a picker with a live preview, and opens whatever you choose. ```sh $ jafm sockaddr ``` -That's it. I find it genuinely unacceptable that this is not an already solved issue. Watch the demo [here](https://www.youtube.com/watch?v=ab9yrSoBfeY). +that's it. i find it genuinely unacceptable that this is not an already solved issue. watch the demo [here](https://www.youtube.com/watch?v=ab9yrSoBfeY). -## What you get +## what you get -`jafm` searches every page in your `manpath`, in parallel, in a fraction of a second. It **ranks by relevance** so the page that actually documents your symbol floats to the top, tells you *what* it found and its **kind** (`sockaddr_in (struct)`), and gives you an **interactive picker** with a live `man` **preview** on the side and the match highlighted in the page. +`jafm` searches every page in your `manpath`, in parallel, in a fraction of a second. it **ranks by relevance** so the page that actually documents your symbol floats to the top, tells you *what* it found and its **kind** (`sockaddr_in (struct)`), and gives you an **interactive picker** with a live `man` **preview** on the side and the match highlighted in the page. -## Usage +## usage ```text $ jafm --help @@ -40,7 +40,7 @@ options: by hachem <im@hachem.wtf> ``` -In the picker: `↑`/`↓` or `k`/`j` to move, `Enter` to open, `q` to bail. Pipe +in the picker: `↑`/`↓` or `k`/`j` to move, `Enter` to open, `q` to bail. pipe its stdin instead of a tty and it drops to a numbered prompt. ```sh @@ -50,19 +50,19 @@ $ jafm -t struct -l sockaddr # every struct named *sockaddr*, printed $ jafm -e -1 inet # whole word, open the winner ``` -## Build -Needs a C compiler, `zlib`, and `pthreads`. Nothing else. +## build +needs a c compiler, `zlib`, and `pthreads`. nothing else. ```sh $ sudo make install # -> /usr/local/bin + man page $ make install PREFIX=~/.local # or somewhere without sudo ``` -It really is one file, so if you don't want the Makefile: +it really is one file, so if you don't want the makefile: ```sh $ cc -O2 jafm.c -o jafm -lz -lpthread ``` -## License -`jafm` is licensed under the MIT License. See [LICENSE](LICENSE) for more. +## license +`jafm` is licensed under the mit license. see [license](LICENSE) for more. |
