diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /graphics/asymptote/envcompleter.h |
Initial commit
Diffstat (limited to 'graphics/asymptote/envcompleter.h')
-rw-r--r-- | graphics/asymptote/envcompleter.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/graphics/asymptote/envcompleter.h b/graphics/asymptote/envcompleter.h new file mode 100644 index 0000000000..8af7f5bff3 --- /dev/null +++ b/graphics/asymptote/envcompleter.h @@ -0,0 +1,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 |