> I have a command line utility that would really benefit from
> command line editing... is there a simple way to add this
> kind of readline-like behavior to a FreePascal program?
> I would appreciate the functionality on Linux but I might
> also use the program on Windows.


This works for Linux ( and possibly Cygwin ) if you have the libs...



program histdemo;
{$LINKLIB ncurses}
{$LINKLIB readline}
{$LINKLIB history}
{$LINKLIB c}

uses strings;

function readline(prompt: pchar):pchar; cdecl; external 'readline'
name 'readline';
procedure using_history(); cdecl; external 'history' name 'using_history';
procedure add_history(s:pChar); cdecl; external 'history' name 'add_history';

var
  s:pChar;
begin
  s:=nil;
  WriteLn('type "quit" to exit.');
  using_history();
  repeat
    s:=readline('?>');
    add_history(s);
    WriteLn(s);
  until ( StrComp(s, 'quit') = 0 );
end.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to