Remix.run Logo
Show HN: Shellock, a real-time CLI flag explainer for fish shell(github.com)
29 points by behnamoh 5 days ago | 10 comments
j4cobgarby 6 hours ago | parent | next [-]

I just tried it out, nice! It's a useful tool, but the installation process didn't work for me following the steps as written. As it stands:

* The shellock directory must be in ~/Downloads, otherwise the shellock_bindings.fish fails to source it.

* The installation script in the repo didn't work because it tried to symlink shellock_bindings.fish without specifying an absolute path (`~/.config/fish/conf.d/shellock_bindings.fish -> ./shellock_bindings.fish`) -> caused a recursive symlink which broke.

Now I got it working by making sure to place shellock in Downloads (not ideal long term, I often clear my Downloads folder), and manually symlinking the bindings explicitly. It seems to work pretty well!

j4cobgarby 6 hours ago | parent [-]

Playing around with a bit more, I think the tool might not be suitable for my use cases. If I try it with the command `gcc -Wall` it thinks that each of W, a, l, (and l), are separate single-character arguments, and therefore fails badly:

``` > gcc -Wall -W Unknown flag -a Unknown flag -l Search the library named library when linking. (The second alternative with the library as a separate argument is only for POSIX compliance and is not recom... ```

Additionally, it is really slow, I suppose because gcc has a huge man page? It is really useful for lots of small commands like ls and find, and things where I often forget parameters. Maybe it could be changed so that I can whitelist only certain commands to trigger the hints?

elcapitan 2 hours ago | parent | next [-]

Or it could cache the parsed manpages or reuse the information that fish already extracts from there for autocompletion?

esseph 2 hours ago | parent | prev [-]

From the website:

Known Limitations

    Some commands with unusual man page formats may not parse correctly
    Commands that open interactive help (like git commit --help opening a pager) require man page fallback
    Combined short flags like -rf are split into individual flags
elcapitan 4 hours ago | parent | prev | next [-]

Looks like a cool idea - what does it do with more complicated commands, e.g. two commands with a pipe? Does it pick the last part of the pipe?

witherk 6 hours ago | parent | prev | next [-]

Nice, I tried looking for something like this but never found anything. Glad to see someone working on it.

jnovacho 2 hours ago | parent [-]

There is https://explainshell.com/ not in terminal but should do the trick.

TacticalCoder 3 hours ago | parent | prev | next [-]

I read the title too quickly and thought that 12 years later shellshock was making a come back!

Bost 2 hours ago | parent [-]

There's nothing wrong with your reading. It's a misleading, clickbaity name at best.

treetalker 4 days ago | parent | prev [-]

Cool! Recommendations for something similar on zsh?