[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

readline tab completion -- the whole line?

Kero van Gelder

12/29/2005 5:57:00 PM

Recently, a thread about tab completion showed me
Readline.completion_proc = Proc new {|prefix| ... }

and while that is an improvement for my little apps, I wonder whether the
block can get more than the current word on the line, i.e.
little> save lo[TAB]
gives me the prefix (passed as param to the block) "lo", not e.g. "save lo"
or ["save", "lo"] so basically I can not use the context in a nice way (use
"localfile" in this case, not "load").

I figured I can do
Readline.basic_word_break_characters = ""
after which I get the entire line (which I can then #split by hand).

Am I missing something? Is readline (despite its weight) so primitive?

Bye,
Kero.
1 Answer

Daniel Calvelo

12/29/2005 9:38:00 PM

0

Currently, completion_proc seems to only be able to handle the current
"word" being processed. You could hack basic_word_break_characters so
that the whole line is fed into completion_proc, and do any string
massaging in there, as you stated.

There is somewhere in the ruby-talk archives a patch to have a
two-argument version of completion_proc, but it doesn't seem to have
gotten to the official distribution. It would have given both the
current line and the current word.

So yes, I guess your last judgment isn't completely wrong.

DCA