fish shell の関数とfish shellの組み込み関数 argparse を組み合わせて, 既存のコマンドをラップしたコマンドを用意したいと思いました.
function checkupdates --description 'alias checkupdates=checkupdates'
argparse --name=checkupdates 'j/json' -- $argv
or return 1
# 省略
オプション -j or --json だけを指定したときに限りこのラップ関数は機能しますが, 既存コマンド (checkupdates) の既存オプションを指定すると, エラーになってしまいます.
$ checkupdates -n --json
checkupdates: -n: unknown option
この場合, argparse コマンドのオプション -i or --ignore-unknown を指定することで回避できます.
argparse -i --name=checkupdates 'j/json' -- $argv
参考