OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [readline/] [examples/] [rlfe/] [README] - Blame information for rev 26

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 26 jlechner
rlfe (ReadLine Front-End) is a "universal wrapper" around readline.
2
You specify an interactive program to run (typically a shell), and
3
readline is used to edit input lines.
4
 
5
There are other such front-ends; what distinguishes this one is that
6
it monitors the state of the inferior pty, and if the inferior program
7
switches its terminal to raw mode, then rlfe passes your characters
8
through directly.  This basically means you can run your entire
9
session (including bash and terminal-mode emacs) under rlfe.
10
 
11
FEATURES
12
 
13
* Can use all readline commands (and history) in commands that
14
read input lines in "canonical mode" - even 'cat'!
15
 
16
* Automatically switches between "readline-editing mode" and "raw mode"
17
depending on the terminal mode.  If the inferior program invokes
18
readline itself, it will do its own line editing.  (The inferior
19
readline will not know about rlfe, and it will have its own history.)
20
You can even run programs like 'emavs -nw' and 'vi' under rlfe.
21
The goal is you could leave rlfe always on without even knowing
22
about it.  (We're not quite there, but it works tolerably well.)
23
 
24
* The input line (after any prompt) is changed to bold-face.
25
 
26
INSTALL
27
 
28
The usual: ./configure && make && make install
29
 
30
Note so far rlfe has only been tested on GNU Linux (Fedora Core 2)
31
and Mac OS X (10.3).
32
 
33
This assumes readline header files and libraries are in the default
34
places.  If not, you can create a link named readline pointing to the
35
readline sources.  To link with libreadline.a and libhistory.a
36
you can copy or link them, or add LDFLAGS='-/path/to/readline' to
37
the make command-line.
38
 
39
USAGE
40
 
41
Just run it.  That by default runs bash.  You can run some other
42
command by giving it as command-line arguments.
43
 
44
There are a few tweaks:  -h allows you to name the history file,
45
and -s allows you to specify its size.  It default to "emacs" mode,
46
but if the the environment variable EDITOR is set to "vi" that
47
mode is chosen.
48
 
49
ISSUES
50
 
51
* The mode switching depends on the terminal mode set by the inferior
52
program.  Thus ssh/telnet/screen-type programs will typically be in
53
raw mode, so rlfe won't be much use, even if remote programs run in
54
canonical mode.  The work-around is to run rlfe on the remote end.
55
 
56
* Echo supression and prompt recognition are somewhat fragile.
57
(A protocol so that the o/s tty code can reliably communicate its
58
state to rlfe could solve this problem, and the previous one.)
59
 
60
* See the intro to rlfe.c for more notes.
61
 
62
* Assumes a VT100-compatible terminal, though that could be generalized
63
if anybody cares.
64
 
65
* Requires ncurses.
66
 
67
* It would be useful to integrate rlfe's logic in a terminal emulator.
68
That would make it easier to reposition the edit position with a mouse,
69
integrate cut-and-paste with the system clipboard, and more robustly
70
handle escape sequence and multi-byte characters more robustly.
71
 
72
AUTHOR
73
 
74
Per Bothner 
75
 
76
LICENSE
77
 
78
GPL.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.