man rlfe (Commandes) - "cook" input lines for other programs using readline
NAME
rlfe - "cook" input lines for other programs using readline
SYNOPSIS
rlfe [-l filename] [-a] [-n appname] [-hv] [command [arguments ...]]
DESCRIPTION
rlfe lets you use history and line-editing in any text oriented tool. This is especially useful with third-party proprietary tools that cannot be distributed linked against readline. It is not perfect but it works pretty well.
OPTIONS
- -a
- append to the logfile (default is to overwrite).
- -l filename
- log into file.
- -n appname
- set the readline application name.
- -h
- print usage string.
- -v
- print version information.
SEE ALSO
AUTHOR
Per Bothner
PROBLEMS/TODO
When running mc -c under the Linux console, mc does not recognize mouse clicks, which mc does when not running under fep.
Pasting selected text containing tabs is like hitting the tab character, which invokes readline completion. We don't want this. I don't know if this is fixable without integrating fep into a terminal emulator.
Echo suppression is a kludge, but can only be avoided with better kernel support: We need a tty mode to disable "real" echoing, while still letting the inferior think its tty driver to doing echoing. Stevens's book claims SCR$ and BSD4.3+ have TIOCREMOTE.
The latest readline may have some hooks we can use to avoid having to back up the prompt.
Desirable readline feature: When in cooked no-echo mode (e.g. password), echo characters are they are types with '*', but remove them when done.
A synchronous output while we're editing an input line should be inserted in the output view.PPbefore* the input line, so that the lines being edited (with the prompt) float at the end of the input.
A "page mode" option to emulate more/less behavior: At each page of output, pause for a user command. This required parsing the output to keep track of line lengths. It also requires remembering the output, if we want an option to scroll back, which suggests that this should be integrated with a terminal emulator like xterm.