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:
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!!!
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