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
--
Posted via http://www.ruby-forum.com/.

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 Richardson wrote:

send it to ruby-core@

···

On Jul 27, 2009, at 13:08 , Bryan Richardson 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.

Bryan Richardson 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.

<snip>

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

Another option is rawline.

Regards,

Dan

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.

<shameless plug> If you want to give your completion proc the full
line you've typed along
with a powerful completion dsl, check out bond:

Gabriel

Thanks for the suggestions. Will do.

···

--
Posted via http://www.ruby-forum.com/.

Oh wow... that's nice to know!!! :slight_smile: Thanks!

···

On Mon, Jul 27, 2009 at 10:11 PM, Daniel Berger <djberg96@gmail.com> wrote:

Bryan Richardson 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.

<snip>

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

Another option is rawline.

Regards,

Dan