自作エディタのMui(無為)にTTY対応のコマンドのAPIを追加した

最近仕事やOSS業で自作エディタのMui(無為)を使っている
Mui自体はRubyで書かれており、プラグインや設定などもRubyで書くことができるので個人的にはかなり好みの仕上がりになっている

そのため基本的に不満はなかったんだけど、一点だけ大きな不満があった
というのも以前はVimを使っており、Vimで外部コマンド(例えばbundle exec rake testでMinitestを実行するなど)を実行すると、コマンド実行時の画面が前面に表示され、実行結果を確認することができていた
またbinding.breakなどでブレークポイントをコードの中に埋め込んだ場合はデバッガーも起動していて体験が良かった

この振る舞いのお陰で、「テスト実行し、デバッガーでデバッグしつつ実装を修正する」というサイクルが回しやすく、かなり開発スピードが良かった

ただMuiを使いだしてからはこれが出来なくなっていた
単純に他の機能の開発優先度が高かったのと、rdbgコマンドで別ターミナルからアタッチできるという回避策もあったため

ただ最近テストを頻繁に実行し、デバッガーでデバッグする必要に駆られたのでかっとなって実装した
https://github.com/S-H-GAMELINKS/mui/pull/121

実装としてはrun_tty_commandを新しくAPIとして追加し、それを設定ファイルから利用できるようにしている
これによりRuboCopやMinitest、RSpecなどの良く実行するコマンドを登録したキーバインド経由で実行できるようになった

これのおかげで今後は快適にコードを書くことがで出来そう