← Back to context

Comment by j4cobgarby

13 hours ago

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!

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?

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

  • 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

Thanks for your feedback. I'll definitely work on these and update shellock!

Update: I pushed the changes. Please let me know if you find any other bugs!