Fish すべてのコマンドを関数内にラップする

Fish すべてのコマンドを関数内にラップする

ステータスの更新を Anybar に送信するように設定された機能があります。

function e --description 'Run command' \
           --argument-names command
  anybar yellow; eval $command; anybar green;
end

私は、この関数で、cli 経由で fish に渡すすべてのコマンドをラップする方法を見つけようとしています。

これが可能かどうか誰か知っていますか?

答え1

この方法の代わりに、次のコードを に追加してみてくださいconfig.fish:

function my_preexec --on-event fish_preexec
    anybar yellow
end

function my_postexec --on-event fish_postexec
    anybar green
end

これにより、潜在的に爆発的な を必要とせずに、すべてのコマンドの前後にこれらの関数が実行されますeval

関連情報