Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Using Tab Completion on Windows in cmd.exe

by cavac (Parson)
on Nov 24, 2011 at 18:16 UTC ( [id://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 (Sexton) 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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (6)
As of 2024-04-23 21:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found