Lines Matching refs:el

62 ed_end_of_file(EditLine *el, wint_t c __attribute__((__unused__)))  in ed_end_of_file()  argument
65 re_goto_bottom(el); in ed_end_of_file()
66 *el->el_line.lastchar = '\0'; in ed_end_of_file()
76 ed_insert(EditLine *el, wint_t c) in ed_insert() argument
78 int count = el->el_state.argument; in ed_insert()
83 if (el->el_line.lastchar + el->el_state.argument >= in ed_insert()
84 el->el_line.limit) { in ed_insert()
86 if (!ch_enlargebufs(el, (size_t) count)) in ed_insert()
91 if (el->el_state.inputmode == MODE_INSERT in ed_insert()
92 || el->el_line.cursor >= el->el_line.lastchar) in ed_insert()
93 c_insert(el, 1); in ed_insert()
95 *el->el_line.cursor++ = c; in ed_insert()
96 re_fastaddc(el); /* fast refresh for one char. */ in ed_insert()
98 if (el->el_state.inputmode != MODE_REPLACE_1) in ed_insert()
99 c_insert(el, el->el_state.argument); in ed_insert()
101 while (count-- && el->el_line.cursor < el->el_line.lastchar) in ed_insert()
102 *el->el_line.cursor++ = c; in ed_insert()
103 re_refresh(el); in ed_insert()
106 if (el->el_state.inputmode == MODE_REPLACE_1) in ed_insert()
107 return vi_command_mode(el, 0); in ed_insert()
119 ed_delete_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) in ed_delete_prev_word() argument
123 if (el->el_line.cursor == el->el_line.buffer) in ed_delete_prev_word()
126 cp = c__prev_word(el->el_line.cursor, el->el_line.buffer, in ed_delete_prev_word()
127 el->el_state.argument, ce__isword); in ed_delete_prev_word()
129 for (p = cp, kp = el->el_chared.c_kill.buf; p < el->el_line.cursor; p++) in ed_delete_prev_word()
131 el->el_chared.c_kill.last = kp; in ed_delete_prev_word()
133 c_delbefore(el, (int)(el->el_line.cursor - cp));/* delete before dot */ in ed_delete_prev_word()
134 el->el_line.cursor = cp; in ed_delete_prev_word()
135 if (el->el_line.cursor < el->el_line.buffer) in ed_delete_prev_word()
136 el->el_line.cursor = el->el_line.buffer; /* bounds check */ in ed_delete_prev_word()
147 ed_delete_next_char(EditLine *el, wint_t c __attribute__((__unused__))) in ed_delete_next_char() argument
150 #define EL el->el_line in ed_delete_next_char()
151 (void) fprintf(el->el_errfile, in ed_delete_next_char()
156 if (el->el_line.cursor == el->el_line.lastchar) { in ed_delete_next_char()
158 if (el->el_map.type == MAP_VI) { in ed_delete_next_char()
159 if (el->el_line.cursor == el->el_line.buffer) { in ed_delete_next_char()
165 terminal_writec(el, c); in ed_delete_next_char()
170 el->el_line.cursor--; in ed_delete_next_char()
178 c_delafter(el, el->el_state.argument); /* delete after dot */ in ed_delete_next_char()
179 if (el->el_map.type == MAP_VI && in ed_delete_next_char()
180 el->el_line.cursor >= el->el_line.lastchar && in ed_delete_next_char()
181 el->el_line.cursor > el->el_line.buffer) in ed_delete_next_char()
183 el->el_line.cursor = el->el_line.lastchar - 1; in ed_delete_next_char()
194 ed_kill_line(EditLine *el, wint_t c __attribute__((__unused__))) in ed_kill_line() argument
198 cp = el->el_line.cursor; in ed_kill_line()
199 kp = el->el_chared.c_kill.buf; in ed_kill_line()
200 while (cp < el->el_line.lastchar) in ed_kill_line()
202 el->el_chared.c_kill.last = kp; in ed_kill_line()
204 el->el_line.lastchar = el->el_line.cursor; in ed_kill_line()
215 ed_move_to_end(EditLine *el, wint_t c __attribute__((__unused__))) in ed_move_to_end() argument
218 el->el_line.cursor = el->el_line.lastchar; in ed_move_to_end()
219 if (el->el_map.type == MAP_VI) { in ed_move_to_end()
220 if (el->el_chared.c_vcmd.action != NOP) { in ed_move_to_end()
221 cv_delfini(el); in ed_move_to_end()
225 if (el->el_line.cursor > el->el_line.buffer) in ed_move_to_end()
226 el->el_line.cursor--; in ed_move_to_end()
239 ed_move_to_beg(EditLine *el, wint_t c __attribute__((__unused__))) in ed_move_to_beg() argument
242 el->el_line.cursor = el->el_line.buffer; in ed_move_to_beg()
244 if (el->el_map.type == MAP_VI) { in ed_move_to_beg()
246 while (iswspace(*el->el_line.cursor)) in ed_move_to_beg()
247 el->el_line.cursor++; in ed_move_to_beg()
248 if (el->el_chared.c_vcmd.action != NOP) { in ed_move_to_beg()
249 cv_delfini(el); in ed_move_to_beg()
262 ed_transpose_chars(EditLine *el, wint_t c) in ed_transpose_chars() argument
265 if (el->el_line.cursor < el->el_line.lastchar) { in ed_transpose_chars()
266 if (el->el_line.lastchar <= &el->el_line.buffer[1]) in ed_transpose_chars()
269 el->el_line.cursor++; in ed_transpose_chars()
271 if (el->el_line.cursor > &el->el_line.buffer[1]) { in ed_transpose_chars()
273 c = el->el_line.cursor[-2]; in ed_transpose_chars()
274 el->el_line.cursor[-2] = el->el_line.cursor[-1]; in ed_transpose_chars()
275 el->el_line.cursor[-1] = c; in ed_transpose_chars()
288 ed_next_char(EditLine *el, wint_t c __attribute__((__unused__))) in ed_next_char() argument
290 wchar_t *lim = el->el_line.lastchar; in ed_next_char()
292 if (el->el_line.cursor >= lim || in ed_next_char()
293 (el->el_line.cursor == lim - 1 && in ed_next_char()
294 el->el_map.type == MAP_VI && in ed_next_char()
295 el->el_chared.c_vcmd.action == NOP)) in ed_next_char()
298 el->el_line.cursor += el->el_state.argument; in ed_next_char()
299 if (el->el_line.cursor > lim) in ed_next_char()
300 el->el_line.cursor = lim; in ed_next_char()
302 if (el->el_map.type == MAP_VI) in ed_next_char()
303 if (el->el_chared.c_vcmd.action != NOP) { in ed_next_char()
304 cv_delfini(el); in ed_next_char()
317 ed_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) in ed_prev_word() argument
320 if (el->el_line.cursor == el->el_line.buffer) in ed_prev_word()
323 el->el_line.cursor = c__prev_word(el->el_line.cursor, in ed_prev_word()
324 el->el_line.buffer, in ed_prev_word()
325 el->el_state.argument, in ed_prev_word()
328 if (el->el_map.type == MAP_VI) in ed_prev_word()
329 if (el->el_chared.c_vcmd.action != NOP) { in ed_prev_word()
330 cv_delfini(el); in ed_prev_word()
343 ed_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) in ed_prev_char() argument
346 if (el->el_line.cursor > el->el_line.buffer) { in ed_prev_char()
347 el->el_line.cursor -= el->el_state.argument; in ed_prev_char()
348 if (el->el_line.cursor < el->el_line.buffer) in ed_prev_char()
349 el->el_line.cursor = el->el_line.buffer; in ed_prev_char()
351 if (el->el_map.type == MAP_VI) in ed_prev_char()
352 if (el->el_chared.c_vcmd.action != NOP) { in ed_prev_char()
353 cv_delfini(el); in ed_prev_char()
368 ed_quoted_insert(EditLine *el, wint_t c __attribute__((__unused__))) in ed_quoted_insert() argument
373 tty_quotemode(el); in ed_quoted_insert()
374 num = el_wgetc(el, &ch); in ed_quoted_insert()
375 tty_noquotemode(el); in ed_quoted_insert()
377 return ed_insert(el, ch); in ed_quoted_insert()
379 return ed_end_of_file(el, 0); in ed_quoted_insert()
387 ed_digit(EditLine *el, wint_t c) in ed_digit() argument
393 if (el->el_state.doingarg) { in ed_digit()
395 if (el->el_state.lastcmd == EM_UNIVERSAL_ARGUMENT) in ed_digit()
396 el->el_state.argument = c - '0'; in ed_digit()
398 if (el->el_state.argument > 1000000) in ed_digit()
400 el->el_state.argument = in ed_digit()
401 (el->el_state.argument * 10) + (c - '0'); in ed_digit()
406 return ed_insert(el, c); in ed_digit()
415 ed_argument_digit(EditLine *el, wint_t c) in ed_argument_digit() argument
421 if (el->el_state.doingarg) { in ed_argument_digit()
422 if (el->el_state.argument > 1000000) in ed_argument_digit()
424 el->el_state.argument = (el->el_state.argument * 10) + in ed_argument_digit()
427 el->el_state.argument = c - '0'; in ed_argument_digit()
428 el->el_state.doingarg = 1; in ed_argument_digit()
440 ed_unassigned(EditLine *el __attribute__((__unused__)), in ed_unassigned() argument
454 ed_ignore(EditLine *el __attribute__((__unused__)), in ed_ignore() argument
468 ed_newline(EditLine *el, wint_t c __attribute__((__unused__))) in ed_newline() argument
471 re_goto_bottom(el); in ed_newline()
472 *el->el_line.lastchar++ = '\n'; in ed_newline()
473 *el->el_line.lastchar = '\0'; in ed_newline()
484 ed_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) in ed_delete_prev_char() argument
487 if (el->el_line.cursor <= el->el_line.buffer) in ed_delete_prev_char()
490 c_delbefore(el, el->el_state.argument); in ed_delete_prev_char()
491 el->el_line.cursor -= el->el_state.argument; in ed_delete_prev_char()
492 if (el->el_line.cursor < el->el_line.buffer) in ed_delete_prev_char()
493 el->el_line.cursor = el->el_line.buffer; in ed_delete_prev_char()
504 ed_clear_screen(EditLine *el, wint_t c __attribute__((__unused__))) in ed_clear_screen() argument
507 terminal_clear_screen(el); /* clear the whole real screen */ in ed_clear_screen()
508 re_clear_display(el); /* reset everything */ in ed_clear_screen()
519 ed_redisplay(EditLine *el __attribute__((__unused__)), in ed_redisplay() argument
533 ed_start_over(EditLine *el, wint_t c __attribute__((__unused__))) in ed_start_over() argument
536 ch_reset(el); in ed_start_over()
547 ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), in ed_sequence_lead_in() argument
561 ed_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) in ed_prev_history() argument
564 int sv_event = el->el_history.eventno; in ed_prev_history()
566 el->el_chared.c_undo.len = -1; in ed_prev_history()
567 *el->el_line.lastchar = '\0'; /* just in case */ in ed_prev_history()
569 if (el->el_history.eventno == 0) { /* save the current buffer in ed_prev_history()
571 (void) wcsncpy(el->el_history.buf, el->el_line.buffer, in ed_prev_history()
573 el->el_history.last = el->el_history.buf + in ed_prev_history()
574 (el->el_line.lastchar - el->el_line.buffer); in ed_prev_history()
576 el->el_history.eventno += el->el_state.argument; in ed_prev_history()
578 if (hist_get(el) == CC_ERROR) { in ed_prev_history()
579 if (el->el_map.type == MAP_VI) { in ed_prev_history()
580 el->el_history.eventno = sv_event; in ed_prev_history()
584 (void) hist_get(el); in ed_prev_history()
598 ed_next_history(EditLine *el, wint_t c __attribute__((__unused__))) in ed_next_history() argument
602 el->el_chared.c_undo.len = -1; in ed_next_history()
603 *el->el_line.lastchar = '\0'; /* just in case */ in ed_next_history()
605 el->el_history.eventno -= el->el_state.argument; in ed_next_history()
607 if (el->el_history.eventno < 0) { in ed_next_history()
608 el->el_history.eventno = 0; in ed_next_history()
611 rval = hist_get(el); in ed_next_history()
625 ed_search_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) in ed_search_prev_history() argument
631 el->el_chared.c_vcmd.action = NOP; in ed_search_prev_history()
632 el->el_chared.c_undo.len = -1; in ed_search_prev_history()
633 *el->el_line.lastchar = '\0'; /* just in case */ in ed_search_prev_history()
634 if (el->el_history.eventno < 0) { in ed_search_prev_history()
636 (void) fprintf(el->el_errfile, in ed_search_prev_history()
639 el->el_history.eventno = 0; in ed_search_prev_history()
642 if (el->el_history.eventno == 0) { in ed_search_prev_history()
643 (void) wcsncpy(el->el_history.buf, el->el_line.buffer, in ed_search_prev_history()
645 el->el_history.last = el->el_history.buf + in ed_search_prev_history()
646 (el->el_line.lastchar - el->el_line.buffer); in ed_search_prev_history()
648 if (el->el_history.ref == NULL) in ed_search_prev_history()
651 hp = HIST_FIRST(el); in ed_search_prev_history()
655 c_setpat(el); /* Set search pattern !! */ in ed_search_prev_history()
657 for (h = 1; h <= el->el_history.eventno; h++) in ed_search_prev_history()
658 hp = HIST_NEXT(el); in ed_search_prev_history()
662 (void) fprintf(el->el_errfile, "Comparing with \"%ls\"\n", hp); in ed_search_prev_history()
664 if ((wcsncmp(hp, el->el_line.buffer, (size_t) in ed_search_prev_history()
665 (el->el_line.lastchar - el->el_line.buffer)) || in ed_search_prev_history()
666 hp[el->el_line.lastchar - el->el_line.buffer]) && in ed_search_prev_history()
667 c_hmatch(el, hp)) { in ed_search_prev_history()
672 hp = HIST_NEXT(el); in ed_search_prev_history()
677 (void) fprintf(el->el_errfile, "not found\n"); in ed_search_prev_history()
681 el->el_history.eventno = h; in ed_search_prev_history()
683 return hist_get(el); in ed_search_prev_history()
693 ed_search_next_history(EditLine *el, wint_t c __attribute__((__unused__))) in ed_search_next_history() argument
699 el->el_chared.c_vcmd.action = NOP; in ed_search_next_history()
700 el->el_chared.c_undo.len = -1; in ed_search_next_history()
701 *el->el_line.lastchar = '\0'; /* just in case */ in ed_search_next_history()
703 if (el->el_history.eventno == 0) in ed_search_next_history()
706 if (el->el_history.ref == NULL) in ed_search_next_history()
709 hp = HIST_FIRST(el); in ed_search_next_history()
713 c_setpat(el); /* Set search pattern !! */ in ed_search_next_history()
715 for (h = 1; h < el->el_history.eventno && hp; h++) { in ed_search_next_history()
717 (void) fprintf(el->el_errfile, "Comparing with \"%ls\"\n", hp); in ed_search_next_history()
719 if ((wcsncmp(hp, el->el_line.buffer, (size_t) in ed_search_next_history()
720 (el->el_line.lastchar - el->el_line.buffer)) || in ed_search_next_history()
721 hp[el->el_line.lastchar - el->el_line.buffer]) && in ed_search_next_history()
722 c_hmatch(el, hp)) in ed_search_next_history()
724 hp = HIST_NEXT(el); in ed_search_next_history()
728 if (!c_hmatch(el, el->el_history.buf)) { in ed_search_next_history()
730 (void) fprintf(el->el_errfile, "not found\n"); in ed_search_next_history()
735 el->el_history.eventno = found; in ed_search_next_history()
737 return hist_get(el); in ed_search_next_history()
747 ed_prev_line(EditLine *el, wint_t c __attribute__((__unused__))) in ed_prev_line() argument
750 int nchars = c_hpos(el); in ed_prev_line()
755 if (*(ptr = el->el_line.cursor) == '\n') in ed_prev_line()
758 for (; ptr >= el->el_line.buffer; ptr--) in ed_prev_line()
759 if (*ptr == '\n' && --el->el_state.argument <= 0) in ed_prev_line()
762 if (el->el_state.argument > 0) in ed_prev_line()
768 for (ptr--; ptr >= el->el_line.buffer && *ptr != '\n'; ptr--) in ed_prev_line()
775 nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n'; in ed_prev_line()
779 el->el_line.cursor = ptr; in ed_prev_line()
790 ed_next_line(EditLine *el, wint_t c __attribute__((__unused__))) in ed_next_line() argument
793 int nchars = c_hpos(el); in ed_next_line()
798 for (ptr = el->el_line.cursor; ptr < el->el_line.lastchar; ptr++) in ed_next_line()
799 if (*ptr == '\n' && --el->el_state.argument <= 0) in ed_next_line()
802 if (el->el_state.argument > 0) in ed_next_line()
809 nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n'; in ed_next_line()
813 el->el_line.cursor = ptr; in ed_next_line()
824 ed_command(EditLine *el, wint_t c __attribute__((__unused__))) in ed_command() argument
829 tmplen = c_gets(el, tmpbuf, L"\n: "); in ed_command()
830 terminal__putc(el, '\n'); in ed_command()
832 if (tmplen < 0 || (tmpbuf[tmplen] = 0, parse_line(el, tmpbuf)) == -1) in ed_command()
833 terminal_beep(el); in ed_command()
835 el->el_map.current = el->el_map.key; in ed_command()
836 re_clear_display(el); in ed_command()