canonic (and the can alias) to stdout. It’s powered by Click’s built-in completion machinery, so it stays in sync with the command tree automatically. Wire it into your shell:
Exits
1 with a clear message if the shell can’t be detected and --shell is omitted, or if the given --shell isn’t one of the three supported.