Ruby Readline Maintainer

Hello all,

Does anyone know who maintains the Ruby Readline extension? I’m using
Readline in a Ruby application I have written to provide a console
interface and I have a suggestion for the extension.

It’s possible to specify a proc that, given the current string a user
has entered before hitting tab, Readline will use to do some command
completion. Most often, the proc parses through an array of command
names and/or directory and file names to see if the given string matches
any of them. This works just fine.

Readline also lets you specify a character to append to the end of the
string after command completion has succeeded (i.e. a space after a
matched command or a ‘/’ after a matched directory). This is where my
problem comes in. In the command completion proc, I’m providing an
array comprised of available commands in the application as well as a
list of possible directories given the string provided (i.e. Dir[str +
‘*’]). Thus, depending on what the string is determined to be (a
command, a directory, or a file), I’d like to assign either a space or a
‘/’ as the append character.

The easiest way I see to do this is to be able to provide a proc to the
Readline.completion_append_character variable rather than a string, and
have the completed command string passed to the proc. This way, one can
determine if the string is a command, a directory, or a file and return
the appropriate append string.


Thanks!
Bryan

On Jul 27, 2009, at 13:08, Bryan R. wrote:

Hello all,

Does anyone know who maintains the Ruby Readline extension? I’m using
Readline in a Ruby application I have written to provide a console
interface and I have a suggestion for the extension.

You’ll want to ask on the ruby-core list, or file a bug on redmine.

[…]

The easiest way I see to do this is to be able to provide a proc to
the
Readline.completion_append_character variable rather than a string,
and
have the completed command string passed to the proc. This way, one
can
determine if the string is a command, a directory, or a file and
return
the appropriate append string.

Yeah, try filing a bug (or bug with patch) here:

The best way to get it noticed is to provide a short, concise piece of
example code that doesn’t work the way you want.

On Jul 27, 2009, at 13:08 , Bryan R. wrote:

Does anyone know who maintains the Ruby Readline extension? I’m using
Readline in a Ruby application I have written to provide a console
interface and I have a suggestion for the extension.

send it to ruby-core@

Bryan R. wrote:

Hello all,

Does anyone know who maintains the Ruby Readline extension? I’m using
Readline in a Ruby application I have written to provide a console
interface and I have a suggestion for the extension.

Please consider pr-readline, which is pure Ruby and easily
modifiable/extendable.

Another option is rawline.

Regards,

Dan

Oh wow… that’s nice to know!!! :slight_smile: Thanks!

Thanks for the suggestions. Will do.

The easiest way I see to do this is to be able to provide a proc to the
Readline.completion_append_character variable rather than a string, and
have the completed command string passed to the proc. This way, one can
determine if the string is a command, a directory, or a file and return
the appropriate append string.

I guess. I would just set Readline.completion_append_character right
in the proc itself.
But if you do it for one, then you’d have to do it for all completion
cases.

If you want to give your completion proc the full
line you’ve typed along
with a powerful completion dsl, check out bond:

Gabriel