Lines Matching defs:el

32  *	$NetBSD: el.c,v 1.55 2009/07/25 21:19:23 christos Exp $
36 static char sccsid[] = "@(#)el.c 8.2 (Berkeley) 1/3/94";
42 * el.c: EditLine interface functions
52 #include "el.h"
63 EditLine *el = (EditLine *) el_malloc(sizeof(EditLine));
65 if (el == NULL)
68 memset(el, 0, sizeof(EditLine));
70 el->el_infile = fin;
71 el->el_outfile = fout;
72 el->el_errfile = ferr;
74 el->el_infd = fileno(fin);
76 if ((el->el_prog = el_strdup(prog)) == NULL) {
77 el_free(el);
84 el->el_flags = 0;
86 if (term_init(el) == -1) {
87 el_free(el->el_prog);
88 el_free(el);
91 (void) key_init(el);
92 (void) map_init(el);
93 if (tty_init(el) == -1)
94 el->el_flags |= NO_TTY;
95 (void) ch_init(el);
96 (void) search_init(el);
97 (void) hist_init(el);
98 (void) prompt_init(el);
99 (void) sig_init(el);
100 (void) read_init(el);
102 return (el);
110 el_end(EditLine *el)
113 if (el == NULL)
116 el_reset(el);
118 term_end(el);
119 key_end(el);
120 map_end(el);
121 tty_end(el);
122 ch_end(el);
123 search_end(el);
124 hist_end(el);
125 prompt_end(el);
126 sig_end(el);
128 el_free((ptr_t) el->el_prog);
129 el_free((ptr_t) el);
137 el_reset(EditLine *el)
140 tty_cookedmode(el);
141 ch_reset(el, 0); /* XXX: Do we want that? */
149 el_set(EditLine *el, int op, ...)
154 if (el == NULL)
163 rv = prompt_set(el, p, 0, op);
172 rv = prompt_set(el, p, c, op);
177 rv = term_set(el, va_arg(ap, char *));
181 rv = map_set_editor(el, va_arg(ap, char *));
186 el->el_flags |= HANDLE_SIGNALS;
188 el->el_flags &= ~HANDLE_SIGNALS;
208 rv = map_bind(el, i, argv);
213 rv = term_telltc(el, i, argv);
218 rv = term_settc(el, i, argv);
223 rv = term_echotc(el, i, argv);
228 rv = tty_stty(el, i, argv);
233 EL_ABORT((el->el_errfile, "Bad op %d\n", op));
245 rv = map_addfunc(el, name, help, func);
254 rv = hist_set(el, func, ptr);
260 el->el_flags &= ~EDIT_DISABLED;
262 el->el_flags |= EDIT_DISABLED;
269 rv = el_read_setfn(el, rc);
274 el->el_data = va_arg(ap, void *);
279 if (rv && !(el->el_flags & UNBUFFERED)) {
280 el->el_flags |= UNBUFFERED;
281 read_prepare(el);
282 } else if (!rv && (el->el_flags & UNBUFFERED)) {
283 el->el_flags &= ~UNBUFFERED;
284 read_finish(el);
292 (void) tty_rawmode(el);
294 (void) tty_cookedmode(el);
309 el->el_infile = fp;
310 el->el_infd = fileno(fp);
313 el->el_outfile = fp;
316 el->el_errfile = fp;
326 re_clear_display(el);
327 re_refresh(el);
328 term__flush(el);
345 el_get(EditLine *el, int op, ...)
350 if (el == NULL)
361 rv = prompt_get(el, p, c, op);
366 rv = map_get_editor(el, va_arg(ap, const char **));
370 *va_arg(ap, int *) = (el->el_flags & HANDLE_SIGNALS);
375 *va_arg(ap, int *) = !(el->el_flags & EDIT_DISABLED);
380 term_get(el, va_arg(ap, const char **));
397 rv = term_gettc(el, i, argv);
402 EL_ABORT((el->el_errfile, "Bad op %d\n", op));
415 rv = map_addfunc(el, name, help, func);
423 rv = hist_set(el, func, ptr);
429 *va_arg(ap, el_rfunc_t *) = el_read_getfn(el);
434 *va_arg(ap, void **) = el->el_data;
439 *va_arg(ap, int *) = (!(el->el_flags & UNBUFFERED));
453 *fpp = el->el_infile;
456 *fpp = el->el_outfile;
459 *fpp = el->el_errfile;
481 el_line(EditLine *el)
484 return (const LineInfo *) (void *) &el->el_line;
492 el_source(EditLine *el, const char *fname)
540 if (parse_line(el, ptr) == -1) {
555 el_resize(EditLine *el)
565 if (term_get_size(el, &lins, &cols))
566 term_change_size(el, lins, cols);
576 el_beep(EditLine *el)
579 term_beep(el);
588 el_editmode(EditLine *el, int argc, const char **argv)
597 el->el_flags &= ~EDIT_DISABLED;
598 tty_rawmode(el);
600 tty_cookedmode(el);
601 el->el_flags |= EDIT_DISABLED;
604 (void) fprintf(el->el_errfile, "edit: Bad value `%s'.\n", how);