Lines Matching refs:el

84 read_init(EditLine *el)  in read_init()  argument
88 if ((el->el_read = el_malloc(sizeof(*el->el_read))) == NULL) in read_init()
91 ma = &el->el_read->macros; in read_init()
98 el->el_read->read_char = read_char; in read_init()
101 read_end(el); in read_init()
109 read_end(EditLine *el) in read_end() argument
112 read_clearmacros(&el->el_read->macros); in read_end()
113 el_free(el->el_read->macros.macro); in read_end()
114 el->el_read->macros.macro = NULL; in read_end()
115 el_free(el->el_read); in read_end()
116 el->el_read = NULL; in read_end()
209 el_wpush(EditLine *el, const wchar_t *str) in el_wpush() argument
211 struct macros *ma = &el->el_read->macros; in el_wpush()
219 terminal_beep(el); in el_wpush()
220 terminal__flush(el); in el_wpush()
230 read_getcmd(EditLine *el, el_action_t *cmdnum, wchar_t *ch) in read_getcmd() argument
236 if (el_wgetc(el, ch) != 1) in read_getcmd()
241 el->el_state.metanext = 0; in read_getcmd()
247 if (el->el_state.metanext) { in read_getcmd()
248 el->el_state.metanext = 0; in read_getcmd()
254 cmd = el->el_map.current[(unsigned char) *ch]; in read_getcmd()
257 switch (keymacro_get(el, ch, &val)) { in read_getcmd()
262 el_wpush(el, val.str); in read_getcmd()
267 EL_ABORT((el->el_errfile, "Bad XK_ type \n")); in read_getcmd()
280 read_char(EditLine *el, wchar_t *cp) in read_char() argument
283 int tried = (el->el_flags & FIXIO) == 0; in read_char()
289 el->el_signal->sig_no = 0; in read_char()
290 while ((num_read = read(el->el_infd, cbuf + cbp, (size_t)1)) == -1) { in read_char()
292 switch (el->el_signal->sig_no) { in read_char()
294 el_wset(el, EL_REFRESH); in read_char()
297 sig_set(el); in read_char()
302 if (!tried && read__fixio(el->el_infd, e) == 0) { in read_char()
381 el_wgetc(EditLine *el, wchar_t *cp) in el_wgetc() argument
383 struct macros *ma = &el->el_read->macros; in el_wgetc()
386 terminal__flush(el); in el_wgetc()
406 if (tty_rawmode(el) < 0)/* make sure the tty is set up correctly */ in el_wgetc()
409 num_read = (*el->el_read->read_char)(el, cp); in el_wgetc()
417 el->el_read->read_errno = errno; in el_wgetc()
423 read_prepare(EditLine *el) in read_prepare() argument
425 if (el->el_flags & HANDLE_SIGNALS) in read_prepare()
426 sig_set(el); in read_prepare()
427 if (el->el_flags & NO_TTY) in read_prepare()
429 if ((el->el_flags & (UNBUFFERED|EDIT_DISABLED)) == UNBUFFERED) in read_prepare()
430 tty_rawmode(el); in read_prepare()
434 el_resize(el); in read_prepare()
435 re_clear_display(el); /* reset the display stuff */ in read_prepare()
436 ch_reset(el); in read_prepare()
437 re_refresh(el); /* print the prompt */ in read_prepare()
439 if (el->el_flags & UNBUFFERED) in read_prepare()
440 terminal__flush(el); in read_prepare()
444 read_finish(EditLine *el) in read_finish() argument
446 if ((el->el_flags & UNBUFFERED) == 0) in read_finish()
447 (void) tty_cookedmode(el); in read_finish()
448 if (el->el_flags & HANDLE_SIGNALS) in read_finish()
449 sig_clr(el); in read_finish()
453 noedit_wgets(EditLine *el, int *nread) in noedit_wgets() argument
455 el_line_t *lp = &el->el_line; in noedit_wgets()
458 while ((num = (*el->el_read->read_char)(el, lp->lastchar)) == 1) { in noedit_wgets()
460 !ch_enlargebufs(el, (size_t)2)) in noedit_wgets()
463 if (el->el_flags & UNBUFFERED || in noedit_wgets()
477 el_wgets(EditLine *el, int *nread) in el_wgets() argument
488 el->el_read->read_errno = 0; in el_wgets()
490 if (el->el_flags & NO_TTY) { in el_wgets()
491 el->el_line.lastchar = el->el_line.buffer; in el_wgets()
492 return noedit_wgets(el, nread); in el_wgets()
496 if (el->el_tty.t_mode == EX_IO && el->el_read->macros.level < 0) { in el_wgets()
499 (void) ioctl(el->el_infd, FIONREAD, &chrs); in el_wgets()
501 if (tty_rawmode(el) < 0) { in el_wgets()
510 if ((el->el_flags & UNBUFFERED) == 0) in el_wgets()
511 read_prepare(el); in el_wgets()
513 if (el->el_flags & EDIT_DISABLED) { in el_wgets()
514 if ((el->el_flags & UNBUFFERED) == 0) in el_wgets()
515 el->el_line.lastchar = el->el_line.buffer; in el_wgets()
516 terminal__flush(el); in el_wgets()
517 return noedit_wgets(el, nread); in el_wgets()
522 if (read_getcmd(el, &cmdnum, &ch) == -1) in el_wgets()
524 if ((size_t)cmdnum >= el->el_map.nfunc) /* BUG CHECK command */ in el_wgets()
528 el->el_state.thiscmd = cmdnum; in el_wgets()
529 el->el_state.thisch = ch; in el_wgets()
530 if (el->el_map.type == MAP_VI && in el_wgets()
531 el->el_map.current == el->el_map.key && in el_wgets()
532 el->el_chared.c_redo.pos < el->el_chared.c_redo.lim) { in el_wgets()
534 el->el_chared.c_redo.pos != el->el_chared.c_redo.buf in el_wgets()
535 && iswprint(el->el_chared.c_redo.pos[-1])) in el_wgets()
536 el->el_chared.c_redo.pos--; in el_wgets()
538 *el->el_chared.c_redo.pos++ = ch; in el_wgets()
540 retval = (*el->el_map.func[cmdnum]) (el, ch); in el_wgets()
543 el->el_state.lastcmd = cmdnum; in el_wgets()
548 re_refresh_cursor(el); in el_wgets()
552 re_clear_lines(el); in el_wgets()
553 re_clear_display(el); in el_wgets()
557 re_refresh(el); in el_wgets()
561 re_refresh(el); in el_wgets()
562 terminal_beep(el); in el_wgets()
573 if ((el->el_flags & UNBUFFERED) == 0) in el_wgets()
576 *el->el_line.lastchar++ = CONTROL('d'); in el_wgets()
577 el->el_line.cursor = el->el_line.lastchar; in el_wgets()
583 num = (int)(el->el_line.lastchar - el->el_line.buffer); in el_wgets()
588 re_clear_display(el); /* reset the display stuff */ in el_wgets()
589 ch_reset(el); /* reset the input pointers */ in el_wgets()
590 read_clearmacros(&el->el_read->macros); in el_wgets()
591 re_refresh(el); /* print the prompt again */ in el_wgets()
596 terminal_beep(el); in el_wgets()
597 terminal__flush(el); in el_wgets()
600 el->el_state.argument = 1; in el_wgets()
601 el->el_state.doingarg = 0; in el_wgets()
602 el->el_chared.c_vcmd.action = NOP; in el_wgets()
603 if (el->el_flags & UNBUFFERED) in el_wgets()
607 terminal__flush(el); /* flush any buffered output */ in el_wgets()
609 if ((el->el_flags & UNBUFFERED) == 0) { in el_wgets()
610 read_finish(el); in el_wgets()
613 *nread = (int)(el->el_line.lastchar - el->el_line.buffer); in el_wgets()
618 if (el->el_read->read_errno) in el_wgets()
619 errno = el->el_read->read_errno; in el_wgets()
623 return el->el_line.buffer; in el_wgets()