diff options
author | Karl Berry <karl@freefriends.org> | 2009-05-16 00:19:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-05-16 00:19:13 +0000 |
commit | bab45528d65eaafe68a705dbb2a57075c7b7cbd8 (patch) | |
tree | 10b4ae2b5195c8dede153ab89359ec00f55f325f /Build/source/utils/asymptote/interact.h | |
parent | 8643d90372e9c31e0f461c15c596b60a545bd7d3 (diff) |
asymptote 1.72 sources (not integrated into build yet)
git-svn-id: svn://tug.org/texlive/trunk@13110 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/interact.h')
-rw-r--r-- | Build/source/utils/asymptote/interact.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/interact.h b/Build/source/utils/asymptote/interact.h new file mode 100644 index 00000000000..317496b52d4 --- /dev/null +++ b/Build/source/utils/asymptote/interact.h @@ -0,0 +1,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 |