Initialize the S-Lang readline routines
slsh_readline_init (String_Type appname)
The slsh_readline_init
function is used to initialize the
S-Lang readline interface for use by an slsh-based application with
name appname
. If defines an intrinsic variable called
__RL_APP__
whose value is given by appname
. If the
file $HOME/.slrlinerc
file exists, it will be loaded into the
interpreter. This file together with the __RL_APP__
variable
may be used by the user to customize the interface by, e.g., reading
previous history files, etc.
slsh_readline_new, rline_set_history
Instantiate a readline object
RLine_Type slsh_readline_new (String_Type name)
This function instantiates a new readline object with the specified name and returns it.
If a function called name
_rline_open_hook exists, it will be
called with no arguments.
slsh_readline_init
Get input from the user with command line editing
String_Type slsh_readline ([RLine_Type r,] String_Type prompt)
The slsh_readline
function utilizes the S-Lang readline
interface to read input from the terminal using the specified prompt.
If two parameters are given, the value of the first one must be a
RLine_Type
object obtained previously from the
slsh_readline_new
function.
slsh_readline_new, slsh_readline_init
Get input from the user with command line editing without echo
String_Type slsh_readline ([RLine_Type r,] String_Type prompt)
This function is like slsh_readline
except that the input is
not echoed to the display. This makes it useful for reading
passwords, etc.
slsh_readline, slsh_readline_new, slsh_readline_init
Specify an alternate display update function for a readline object
slsh_set_readline_update_hook(RLine_Type rl [,&func [,funcdata]])
This function may be used to implement an alternative update hook
for the specified readline object. The hook must have one of the
following signatures, depending upon whether or not the optional
funcdata
was given:
define func (rl, prompt, editbuf, editpoint) {...}
define func (rl, prompt, editbuf, editpoint, funcdata) {...}
The hook function is not expected to return anything.
If slsh_set_readline_update_hook
is called with a single
argument, then any update hook associated with it will be set to the
default value.
slsh_readline_init, slsh_readline_new, slsh_readline
Specify a function to be called prior to reading via readline
slsh_set_update_preread_cb (RLine_Type rl, Ref_Type func)
This function may be used to specify a function to be called by
slsh_readline
prior to the editing loop. It must have one of
the following signatures:
define func (rl) {...}
define func (rl, funcdata);
The second form must be used if a funcdata
argument was
passed to the slsh_set_readline_update_hook
function.
If the func
argument is NULL
, then the callback function
will be cleared.
slsh_set_readline_update_hook, slsh_set_update_postread_cb
Specify a function to be called after reading via readline
slsh_set_update_postread_cb (RLine_Type rl ,Ref_Type func)
This function may be used to specify a function to be called by
slsh_readline
after to the editing loop before returning to
the caller. It must have one of
the following signatures:
define func (rl) {...}
define func (rl, funcdata);
The second form must be used if a funcdata
argument was
passed to the slsh_set_readline_update_hook
function.
If the func
argument is NULL
, then the callback function
will be cleared.
slsh_set_readline_update_hook, slsh_set_update_postread_cb
Specify a callback function to be called when the display width changes
slsh_set_update_width_cb (RLine_Type rl, Ref_Type func)
This function is used to set a callback function that will get called when the readline routines sense that the display width has changed. It must have one of the following signatures:
define func (rl, width) {...}
define func (rl, width, funcdata);
The second form must be used if a funcdata
argument was
passed to the slsh_set_readline_update_hook
function. The
width
argument to the callback function in an integer that
specifies the new width.
If the func
argument is NULL
, then the callback function
will be cleared.
slsh_set_readline_update_hook, slsh_readline