[fpc-pascal] RE: command line editing, history, etc.

Jeff Pohlmeyer yetanothergeek at gmail.com
Sat Dec 17 22:17:19 CET 2005


> 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.



More information about the fpc-pascal mailing list