Or is there maybe a way to set the pager for all help related queries to some command? I’m using bat and would like to pipe all --help through | bat --language=help by default for the syntax highlighting and colored output… Or if you know a lower effort way to color the output of --help let me know.


I think your best bet to to create a script called help and run “help <command>” and the script would do the rest.
I think this is the correct answer in all honesty. Create a new script like help (or man2 or whatever) that pipes the argument through bat for you.
There has to be a hook somewhere for every command that executes. I’m not sure, but something in the chain after using
set -xthen running any terminal command likely is on the right path to doing this. (If you tryset -x, you can turn it off withset +x).set -ooptions are another I’m not very familiar with but might be related.set -xconfigures the running process, your shell. This is a posix standard flag. See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.htmlWhy do think this? I’m not aware of any shells that have such a feature. I’m not saying it couldn’t be done, but it would be a new feature.
I like the other suggestion of having a wrapper script that does what you need.
I don’t mind the idea of a wrapper it is just that most of the time, I’m looking at the last command, backspacing and then adding
--help. After thinking about it, I will likely go the wrapper route, but add arguments that use the last command in terminal history automatically so that typinghelp-with no args runs a--helpflag on that last command,2::5would add additional flags or arguments from the last command before--helpandhelp-with any other args calls those instead of using history.You’d be intercepting all commands just to verify if they have a help flag and then if not executing them as they were intended. If the intercept got broke, then the shell would be completely broken.