Fish Completion

It’s refreshing to use completion system in fish. Instead of gazillion scattered completion functions (like in Bash or ZSH), obscure manuals and unsearchable documents that only lead you to reverse engineering some online examples, fish has one command: complete. Just call it repeatedly for all possible arguments and you’re done. complete -h gives all the necessary details and online tutorial has many useful examples on top of it.