deno-cliffyで--
以降のargumentを扱う方法
--
以降のargumentはliteralというargumentと別の領域に格納されている。\
action内で使いたい場合は直接渡されないので自分でgetする必要がある。\
先頭に--
が来てargsがnullになるケースなども考慮するとこういいう
ブロックを使えば良さそう。
await new Command() .arguments("[args...]") .action(async function (_, ...args) { const combinedArgs: string[] = (args || []).concat( this.getLiteralArgs() || [], ); });
参考: Access literal inside a subcommand action · Issue #536 · c4spar/deno-cliffy · GitHub
mimic-cross実装
mimicx chrootがliteralを受け取るように
chroot後にオプション付きのコマンドを実行したい場合は、 下記のように書けば良くなった。
mimicx chroot -- ls -l