Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: Using Tab Completion on Windows in cmd.exe

by cavac (Deacon)
on Nov 24, 2011 at 18:16 UTC ( #939929=note: print w/replies, xml ) Need Help??

in reply to Using Tab Completion on Windows in cmd.exe

Can't really help you about tab completion. You could read in the keypresses chararcter by character and write your own parser. But i guess this should already be a solved problem.

A workaround would be to use Term::Readline. You could - for example - prepolulate the history. Something like this:

#!/usr/bin/perl use strict; use warnings; use Term::ReadLine; my $term = Term::ReadLine->new('Tabtest'); my $prompt = "Test your tabs, guv: "; if ($^O eq "MSWin32" || $^O eq "dos") { my $INPUT; open($INPUT, "<con") and $term->newTTY($INPUT, $term->OUT); } foreach my $command (qw[print hello echo foo bar baz]) { $term->addhistory($command); } while(defined(my $line = $term->readline($prompt))) { chomp $line; exit if($line eq "exit"); print "I don't know how to '$line'\n"; $term->addhistory($line); }

Not quite what you wanted, i know, but i'm also fresh out of ideas.

Don't use '#ff0000':
use Acme::AutoColor; my $redcolor = RED();
All colors subject to change without notice.

Replies are listed 'Best First'.
Re^2: Using Tab Completion on Windows in cmd.exe
by Stamm (Acolyte) on Nov 24, 2011 at 18:31 UTC
    Thanks for your answer. And yes, I thought it would have been solved too.

    As for your code, I'm not sure I understand. Command history already works.

    Maybe I should have Term::ReadLine::Gnu. But I can't install it. It says libtermcap.a or libcurses.a is missing. Anybody know what I should be doing?

      libtermcap.a or libcurses.a is missing. Anybody know what I should be doing?

      Install libetrmcap or libcurses, obviously :)

      Or try Term::ReadLine::Perl

        I don't know how to install those libraries. It's not Perl and I can only find resources for Unix. :-(

        And tab completion doesn't work with Term::ReadLine::Perl either.

        It seemed a perfectly simple and reasonable luxury to have for a command-line program...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://939929]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2016-10-23 07:55 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (300 votes). Check out past polls.