Adding pass completion to fish shell

command linefishpassword

I'm trying to get the CLI password manager pass to work in my fish shell with auto completion. I've already found the necessary file, yet am having trouble finding out where to put it, or rather getting it to work. So far I've added it to:

  • ~/.config/fish/pass.fish
  • ~/.config/fish/completions/pass.fish
  • and added the content to my ~/.config/fish/config.fish file.

with no success.

Best Answer

The second option listed (~/.config/fish/completions/pass.fish) is the preferred approach. The third should also work.

I tried the following:

  1. Put the file at ~/.config/fish/completions/pass.fish
  2. Type pass followed by a space
  3. Hit tab

And I see completions from that file.

It's possible that fish is looking somewhere else. Try echo $fish_complete_path and verify that it includes ~/.config/fish/completions/ . If it does not, you can put back the defaults by erasing it and starting a new session: set -e fish_complete_path.

Related Question