There is a native port of readline to Windows from gnuwi32 here: http://gnuwin32.sourceforge.net/packages/readline.htm
It is rather flaky but I did some fixes in the C library and now it works very well. The Haskell binding also just works. You can find the patch here: http://sourceforge.net/tracker/index.php?func=detail&aid=1988215&group_id=23617&atid=379173 Regards, Krasimir On Thu, Jul 3, 2008 at 11:53 PM, Claus Reinke <[EMAIL PROTECTED]> wrote: >>> while undocumented (?), there seems to be a lot of code >>> in GHCi regarding commandline completion. but in a >>> default build, i don't get any benefit from that, as editline >>> doesn't seem available for mingw (?). >>> >>> is there a way to get this working on windows? i'm growing >>> rather tired of typing VeryLongCamelCaseLanguageExtensions >>> in GHCi sessions, and this would help!-) >>> >>> if there really is no working editline for windows, is there a >>> way of pluggin in Malcolm's System.Console.SimpleLineEditor (currently in >>> package readline), extended to handle completion? >>> the completion code itself is in haskell, anyway, just that there's >>> no editline/readline to call this code on windows, right? >> >> Yes, exactly. I believe at one stage there was a readline C library >> available for mingw, and we could build the Haskell readline library, but >> IIRC it was a bit flaky and only worked in some of the console environments >> (cmd, MSYS, cygwin, xterm). > > I noticed various references to rlwrap (readline wrapper) recently, > so I decided to give it a try. There's a cygwin package for it: > > rlwrap runs the specified command, intercepting user input in order > to supply > readline's line editing, persistent history and completion. rlwrap tries > to be as > transparent as possible, keeping track of command's terminal settings, > so that it > can do the right thing when command asks for single keypresses or for a > password. > > And it works like a charm!-) Not as specific as the GHCi-builtin > support for completion, but better than just inheriting the command > history scrolling and commandline editing from bash. Some helpful > options: > > -c, --complete-filenames > -H, --history-filename file > -r, --remember > Put all words seen on in- and output on the completion list. > > So, with > > $ rlwrap -c -H /cygdrive/c/Documents\ and\ Settings/cr3/Application\ > Data/ghc/rlwrap.log -r ghcii.sh > > I get filename completion, I get completion for language options > that have been suggested in error messages (!-), and I don't have > to spell things out twice, as the session history gets stored (btw, > should there be ghc-version-specific Application\ Data/ghc/ dirs?). > And all the general readline goodies, like incremental history search. > > There is probably some more fine-tuning possible, perhaps someone > finds a way to give the rlwrap's readline on-the-fly access to the > session-specific GHCi completion info designed for linked readline? > Even if not, we could probably prep completion in 'rlwrap ghcii.sh' > with the flag reference, and poor Windows users can get the > comforts that non-Windows users are used to with GHCi!-) > > Anyway, I thought I'd share this early, before doing more > experimentation. > > Enjoy, > Claus > > _______________________________________________ > Cvs-ghc mailing list > Cvs-ghc@haskell.org > http://www.haskell.org/mailman/listinfo/cvs-ghc > _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc