Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

readline の redraw-current-line の機能を使えるようにする

#21

readline に redraw-current-line という機能があるのを最近知りました。 これを使うと編集中のテキストを再表示させることができます。

以下のようにしてキーバインドを割り当てることで使えるようになります。


# ~/.inputrc
"\C-xr": redraw-current-line

で、これをプログラム内から呼び出せたらな〜、と思ったわけです。

プログラム内からは呼び出せなくても、使えたら便利な機能なので、使えるように Termtter::Client を修正しようと思っています。

現在の Termtter::Client ではタイムラインが更新されるたびに「入力待ち受け用スレッド」を kill して作り直しています。 なのでタイムライン更新後キーボードから redraw-current-line を呼び出しても readline のバッファは空になっているので何も起こりません。 この動作を変えたほうがいいなー、と思ってます。

Reported by jugyo · March 3rd, 2009 @ 10:49 AM

State: resolved
Milestone: ver.1.0
Assigned to: jugyo jugyo

Activity

  1. jugyo
    jugyo
    • Milestone set to ver.1.0

    March 11th, 2009 @ 10:26 AM

  2. jugyo
    jugyo
    • Assigned user set to jugyo

    March 11th, 2009 @ 10:36 AM

  3. jugyo
    jugyo
    • State changed from new to resolved

    現在の Termtter::Client ではタイムラインが更新されるたびに「入力待ち受け用スレッド」を kill して作り直しています。

    これをしないようにしました。

    March 14th, 2009 @ 06:15 PM

  4. koichiro (at meadowy)
    koichiro (at meadowy)

    GNU Readline APIの再描画APIの rl_forced_update_redisplayやrl_on_new_with_promptを使って実現しようとしましたが、思うような動作までは至らず断念しました。

    rl_forced_update_redisplay: 入力途中の行が再描画されるも、カーソルが次の行まで移動してしまう。

    rl_on_new_with_prompt: なんらかの文字を入力するまでは再描画されない。

    March 14th, 2009 @ 11:31 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.