インタラクティブなプログラムに関する修正

quickrun.elのインタラクティブなプログラム用のインタフェースを
修正しました。標準入力から読み取りを行うようなプログラムが対象です。

追記 2012-08-17

  • 別の問題がまだ見られる
  • 修正
  • バグが見つかったのでまだ使わない方がいいかもしれません。

リポジトリ

syohex/emacs-quickrun · GitHub

melpaにはぼちぼち反映されるものと思います。

経緯

run in terminal · Issue #6 · syohex/emacs-quickrun · GitHub


今までは良いインタフェースが思い浮かばなくて、ファイルに書いたものを
標準入力に流す、quickrun-with-input-fileという苦肉の策で対応して
いたんですが、shellで実行すればいいんでは、っていう意見を受けて
なるほどと思い、quickrun-shellというインタフェースを実装しました。
これは単純に実行すべきコマンドを '&&'で結合し、eshellに投げると
いうだけのインタフェースです。なおこれに伴い quickrun-with-input-fileは
削除しました(自分でも使っていなかったので)。対話的なプログラムを
quickrun.elで実行したい場合は quickrun-shellをお使いください。

イメージ


画像の通り、コマンド終了後、再度実行するか windowを閉じるかが
聞かれます。再度実行したい場合は 'r'キーを押してください。

その他の修正

  • *quickrun*バッファで 'q'を押すと、その windowを閉じるように修正
  • *quickrun*バッファは read-onlyに変更

おわりに

今回実装した機能は、githubの issueでやりとりしながら作り
あげていきました。自分にないアイデアを創り上げていくという
なかなか楽しい体験でした。pull requestしてくれるのも
ありがたいことですが、アイデアを出していただくことも
同様にありがたいことだと思いました。アイデアを出すって
いうのはバグを直す pull requestよりも難しいかと思いますが、
より良いアイデアが出てきたのであれば、私も提案していければと
思いました。