blob: 317496b52d4b8d2ce57830c6b942f06e97274a87 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/*****
* interact.h
*
* The glue between the lexical analyzer and the readline library.
*****/
#ifndef INTERACT_H
#define INTERACT_H
#include "common.h"
namespace interact {
extern bool interactive;
extern bool uptodate;
extern int lines; // Interactive scroll count
extern bool query; // Enable interactive scrolling;
void init_interactive();
// Read a line from the input, without any processing.
string simpleline(string prompt);
// Add a line of input to the readline history.
void addToHistory(string line);
// Functions to work with the most recently entered line in the history.
string getLastHistoryLine();
void setLastHistoryLine(string line);
// Remove the line last added to the history.
void deleteLastLine();
// Write out the history of input lines to the history file.
void cleanup_interactive();
// This class is used to set a text completion function for readline. A class
// is used instead the usual function pointer so that information such as the
// current environment can be coded into the function (mimicking a closure).
class completer : public gc {
public:
virtual ~completer() {};
virtual char *operator () (const char *text, int state) = 0;
};
void setCompleter(completer *c);
#define YY_READ_BUF_SIZE YY_BUF_SIZE
}
#endif // INTERACT_H
|