Writing simple tab-completions for Bash and Zsh (opens in new tab)
With fish, if the program you're interested in hasn't betrayed the decades-old tradition of shipping man pages, it's often as simple as running `fish_update_completions`.
Read the original article