jugyo / termtter

moved to https://github.com/termtter/termtter
201 stars 34 forks source link

コマンドを実行したあとに入力欄にそのコマンドまで復活する #97

Closed Sixeight closed 14 years ago

Sixeight commented 14 years ago

コマンドライン復活のタイミングを変更したことによって発生していると思われる

list

[ずらずら]

list >

jugyo commented 14 years ago

5ec8f3afd6c99aad68a9ed94c219ac15830c8221 の影響だと思います。 revert しますか。

jugyo commented 14 years ago

revert しました 03ddd18ceea283a4b46abaf9fe2953de31b2d044

Sixeight commented 14 years ago

既に把握されていたのですね。 コミットに対するコメント読んでませんでした。

これはストリームしたときに入力中の物が復活しない為の変更ですが、 普通のときに問題があるので一旦もどしても良いかもしれませんね。

jugyo commented 14 years ago

必要な箇所で Readline.refresh_line を直接呼ぶしかないかなーと思ってます。

mattn commented 14 years ago

rubyでの実装は調べてないので分かりませんが、Cでよく似た挙動の実装をしたことがあります。

http://github.com/mattn/glookoo/blob/master/glookoo.cxx

メッセージ表示後に displayMessage がそれです。入力位置を保存し、最初の位置に戻し、メッセージを表示した後に入力位置を復元、行をリフレッシュという流れです。

jugyo commented 14 years ago

Readline.refresh_line は必要なところで個別に呼ぶようにする、ということでこの件クローズします。 print メソッドを書き換えて、mattn さんに提案していただいたやりかたでうまいことやりたい感じではあります。