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()
279 read_char(EditLine *el, wchar_t *cp) in read_char() argument
282 int tried = (el->el_flags & FIXIO) == 0; in read_char()
288 el->el_signal->sig_no = 0; in read_char()
289 while ((num_read = read(el->el_infd, cbuf + cbp, (size_t)1)) == -1) { in read_char()
291 switch (el->el_signal->sig_no) { in read_char()
293 el_wset(el, EL_REFRESH); in read_char()
296 sig_set(el); in read_char()
301 if (!tried && read__fixio(el->el_infd, e) == 0) { in read_char()
380 el_wgetc(EditLine *el, wchar_t *cp) in el_wgetc() argument
382 struct macros *ma = &el->el_read->macros; in el_wgetc()
385 terminal__flush(el); in el_wgetc()
405 if (tty_rawmode(el) < 0)/* make sure the tty is set up correctly */ in el_wgetc()
408 num_read = (*el->el_read->read_char)(el, cp); in el_wgetc()
416 el->el_read->read_errno = errno; in el_wgetc()
422 read_prepare(EditLine *el) in read_prepare() argument
424 if (el->el_flags & HANDLE_SIGNALS) in read_prepare()
425 sig_set(el); in read_prepare()
426 if (el->el_flags & NO_TTY) in read_prepare()
428 if ((el->el_flags & (UNBUFFERED|EDIT_DISABLED)) == UNBUFFERED) in read_prepare()
429 tty_rawmode(el); in read_prepare()
433 el_resize(el); in read_prepare()
434 re_clear_display(el); /* reset the display stuff */ in read_prepare()
435 ch_reset(el); in read_prepare()
436 re_refresh(el); /* print the prompt */ in read_prepare()
438 if (el->el_flags & UNBUFFERED) in read_prepare()
439 terminal__flush(el); in read_prepare()
443 read_finish(EditLine *el) in read_finish() argument
445 if ((el->el_flags & UNBUFFERED) == 0) in read_finish()
446 (void) tty_cookedmode(el); in read_finish()
447 if (el->el_flags & HANDLE_SIGNALS) in read_finish()
448 sig_clr(el); in read_finish()
452 noedit_wgets(EditLine *el, int *nread) in noedit_wgets() argument
454 el_line_t *lp = &el->el_line; in noedit_wgets()
457 while ((num = (*el->el_read->read_char)(el, lp->lastchar)) == 1) { in noedit_wgets()
459 !ch_enlargebufs(el, (size_t)2)) in noedit_wgets()
462 if (el->el_flags & UNBUFFERED || in noedit_wgets()
476 el_wgets(EditLine *el, int *nread) in el_wgets() argument
487 el->el_read->read_errno = 0; in el_wgets()
489 if (el->el_flags & NO_TTY) { in el_wgets()
490 el->el_line.lastchar = el->el_line.buffer; in el_wgets()
491 return noedit_wgets(el, nread); in el_wgets()
495 if (el->el_tty.t_mode == EX_IO && el->el_read->macros.level < 0) { in el_wgets()
498 (void) ioctl(el->el_infd, FIONREAD, &chrs); in el_wgets()
500 if (tty_rawmode(el) < 0) { in el_wgets()
509 if ((el->el_flags & UNBUFFERED) == 0) in el_wgets()
510 read_prepare(el); in el_wgets()
512 if (el->el_flags & EDIT_DISABLED) { in el_wgets()
513 if ((el->el_flags & UNBUFFERED) == 0) in el_wgets()
514 el->el_line.lastchar = el->el_line.buffer; in el_wgets()
515 terminal__flush(el); in el_wgets()
516 return noedit_wgets(el, nread); in el_wgets()
521 if (read_getcmd(el, &cmdnum, &ch) == -1) in el_wgets()
523 if ((size_t)cmdnum >= el->el_map.nfunc) /* BUG CHECK command */ in el_wgets()
527 el->el_state.thiscmd = cmdnum; in el_wgets()
528 el->el_state.thisch = ch; in el_wgets()
529 if (el->el_map.type == MAP_VI && in el_wgets()
530 el->el_map.current == el->el_map.key && in el_wgets()
531 el->el_chared.c_redo.pos < el->el_chared.c_redo.lim) { in el_wgets()
533 el->el_chared.c_redo.pos != el->el_chared.c_redo.buf in el_wgets()
534 && iswprint(el->el_chared.c_redo.pos[-1])) in el_wgets()
535 el->el_chared.c_redo.pos--; in el_wgets()
537 *el->el_chared.c_redo.pos++ = ch; in el_wgets()
539 retval = (*el->el_map.func[cmdnum]) (el, ch); in el_wgets()
542 el->el_state.lastcmd = cmdnum; in el_wgets()
547 re_refresh_cursor(el); in el_wgets()
551 re_clear_lines(el); in el_wgets()
552 re_clear_display(el); in el_wgets()
556 re_refresh(el); in el_wgets()
560 re_refresh(el); in el_wgets()
561 terminal_beep(el); in el_wgets()
572 if ((el->el_flags & UNBUFFERED) == 0) in el_wgets()
575 *el->el_line.lastchar++ = CONTROL('d'); in el_wgets()
576 el->el_line.cursor = el->el_line.lastchar; in el_wgets()
582 num = (int)(el->el_line.lastchar - el->el_line.buffer); in el_wgets()
587 re_clear_display(el); /* reset the display stuff */ in el_wgets()
588 ch_reset(el); /* reset the input pointers */ in el_wgets()
589 read_clearmacros(&el->el_read->macros); in el_wgets()
590 re_refresh(el); /* print the prompt again */ in el_wgets()
595 terminal_beep(el); in el_wgets()
596 terminal__flush(el); in el_wgets()
599 el->el_state.argument = 1; in el_wgets()
600 el->el_state.doingarg = 0; in el_wgets()
601 el->el_chared.c_vcmd.action = NOP; in el_wgets()
602 if (el->el_flags & UNBUFFERED) in el_wgets()
606 terminal__flush(el); /* flush any buffered output */ in el_wgets()
608 if ((el->el_flags & UNBUFFERED) == 0) { in el_wgets()
609 read_finish(el); in el_wgets()
612 *nread = (int)(el->el_line.lastchar - el->el_line.buffer); in el_wgets()
617 if (el->el_read->read_errno) in el_wgets()
618 errno = el->el_read->read_errno; in el_wgets()
622 return el->el_line.buffer; in el_wgets()