blob: 8af7f5bff38e44d37895a68a247e16899159632c (
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
|
/*****
* envcompleter.h
* Andy Hammerlindl 2006/07/31
*
* Implements a text completion function for readline based on symbols in the
* environment.
*****/
#ifndef ENVCOMPLETER_H
#define ENVCOMPLETER_H
#include "env.h"
#include "interact.h"
namespace trans {
class envCompleter : public interact::completer {
public:
typedef protoenv::symbol_list symbol_list;
private:
protoenv &e;
symbol_list l;
symbol_list::iterator index;
// These are completions that don't come from the environment, such as
// keywords. They are read from the keywords file.
static void basicCompletions(symbol_list &l, string start);
void makeList(const char *text);
public:
envCompleter(protoenv &e)
: e(e), l(), index(l.end()) {}
char *operator () (const char *text, int state);
};
} // namespace trans
#endif // ENVCOMPLETER_H
|