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 el->el_line.cursor--; in ed_move_to_end()
238 ed_move_to_beg(EditLine *el, wint_t c __attribute__((__unused__))) in ed_move_to_beg() argument
241 el->el_line.cursor = el->el_line.buffer; in ed_move_to_beg()
243 if (el->el_map.type == MAP_VI) { in ed_move_to_beg()
245 while (iswspace(*el->el_line.cursor)) in ed_move_to_beg()
246 el->el_line.cursor++; in ed_move_to_beg()
247 if (el->el_chared.c_vcmd.action != NOP) { in ed_move_to_beg()
248 cv_delfini(el); in ed_move_to_beg()
261 ed_transpose_chars(EditLine *el, wint_t c) in ed_transpose_chars() argument
264 if (el->el_line.cursor < el->el_line.lastchar) { in ed_transpose_chars()
265 if (el->el_line.lastchar <= &el->el_line.buffer[1]) in ed_transpose_chars()
268 el->el_line.cursor++; in ed_transpose_chars()
270 if (el->el_line.cursor > &el->el_line.buffer[1]) { in ed_transpose_chars()
272 c = el->el_line.cursor[-2]; in ed_transpose_chars()
273 el->el_line.cursor[-2] = el->el_line.cursor[-1]; in ed_transpose_chars()
274 el->el_line.cursor[-1] = c; in ed_transpose_chars()
287 ed_next_char(EditLine *el, wint_t c __attribute__((__unused__))) in ed_next_char() argument
289 wchar_t *lim = el->el_line.lastchar; in ed_next_char()
291 if (el->el_line.cursor >= lim || in ed_next_char()
292 (el->el_line.cursor == lim - 1 && in ed_next_char()
293 el->el_map.type == MAP_VI && in ed_next_char()
294 el->el_chared.c_vcmd.action == NOP)) in ed_next_char()
297 el->el_line.cursor += el->el_state.argument; in ed_next_char()
298 if (el->el_line.cursor > lim) in ed_next_char()
299 el->el_line.cursor = lim; in ed_next_char()
301 if (el->el_map.type == MAP_VI) in ed_next_char()
302 if (el->el_chared.c_vcmd.action != NOP) { in ed_next_char()
303 cv_delfini(el); in ed_next_char()
316 ed_prev_word(EditLine *el, wint_t c __attribute__((__unused__))) in ed_prev_word() argument
319 if (el->el_line.cursor == el->el_line.buffer) in ed_prev_word()
322 el->el_line.cursor = c__prev_word(el->el_line.cursor, in ed_prev_word()
323 el->el_line.buffer, in ed_prev_word()
324 el->el_state.argument, in ed_prev_word()
327 if (el->el_map.type == MAP_VI) in ed_prev_word()
328 if (el->el_chared.c_vcmd.action != NOP) { in ed_prev_word()
329 cv_delfini(el); in ed_prev_word()
342 ed_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) in ed_prev_char() argument
345 if (el->el_line.cursor > el->el_line.buffer) { in ed_prev_char()
346 el->el_line.cursor -= el->el_state.argument; in ed_prev_char()
347 if (el->el_line.cursor < el->el_line.buffer) in ed_prev_char()
348 el->el_line.cursor = el->el_line.buffer; in ed_prev_char()
350 if (el->el_map.type == MAP_VI) in ed_prev_char()
351 if (el->el_chared.c_vcmd.action != NOP) { in ed_prev_char()
352 cv_delfini(el); in ed_prev_char()
367 ed_quoted_insert(EditLine *el, wint_t c __attribute__((__unused__))) in ed_quoted_insert() argument
372 tty_quotemode(el); in ed_quoted_insert()
373 num = el_wgetc(el, &ch); in ed_quoted_insert()
374 tty_noquotemode(el); in ed_quoted_insert()
376 return ed_insert(el, ch); in ed_quoted_insert()
378 return ed_end_of_file(el, 0); in ed_quoted_insert()
386 ed_digit(EditLine *el, wint_t c) in ed_digit() argument
392 if (el->el_state.doingarg) { in ed_digit()
394 if (el->el_state.lastcmd == EM_UNIVERSAL_ARGUMENT) in ed_digit()
395 el->el_state.argument = c - '0'; in ed_digit()
397 if (el->el_state.argument > 1000000) in ed_digit()
399 el->el_state.argument = in ed_digit()
400 (el->el_state.argument * 10) + (c - '0'); in ed_digit()
405 return ed_insert(el, c); in ed_digit()
414 ed_argument_digit(EditLine *el, wint_t c) in ed_argument_digit() argument
420 if (el->el_state.doingarg) { in ed_argument_digit()
421 if (el->el_state.argument > 1000000) in ed_argument_digit()
423 el->el_state.argument = (el->el_state.argument * 10) + in ed_argument_digit()
426 el->el_state.argument = c - '0'; in ed_argument_digit()
427 el->el_state.doingarg = 1; in ed_argument_digit()
439 ed_unassigned(EditLine *el __attribute__((__unused__)), in ed_unassigned() argument
453 ed_ignore(EditLine *el __attribute__((__unused__)), in ed_ignore() argument
467 ed_newline(EditLine *el, wint_t c __attribute__((__unused__))) in ed_newline() argument
470 re_goto_bottom(el); in ed_newline()
471 *el->el_line.lastchar++ = '\n'; in ed_newline()
472 *el->el_line.lastchar = '\0'; in ed_newline()
483 ed_delete_prev_char(EditLine *el, wint_t c __attribute__((__unused__))) in ed_delete_prev_char() argument
486 if (el->el_line.cursor <= el->el_line.buffer) in ed_delete_prev_char()
489 c_delbefore(el, el->el_state.argument); in ed_delete_prev_char()
490 el->el_line.cursor -= el->el_state.argument; in ed_delete_prev_char()
491 if (el->el_line.cursor < el->el_line.buffer) in ed_delete_prev_char()
492 el->el_line.cursor = el->el_line.buffer; in ed_delete_prev_char()
503 ed_clear_screen(EditLine *el, wint_t c __attribute__((__unused__))) in ed_clear_screen() argument
506 terminal_clear_screen(el); /* clear the whole real screen */ in ed_clear_screen()
507 re_clear_display(el); /* reset everything */ in ed_clear_screen()
518 ed_redisplay(EditLine *el __attribute__((__unused__)), in ed_redisplay() argument
532 ed_start_over(EditLine *el, wint_t c __attribute__((__unused__))) in ed_start_over() argument
535 ch_reset(el); in ed_start_over()
546 ed_sequence_lead_in(EditLine *el __attribute__((__unused__)), in ed_sequence_lead_in() argument
560 ed_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) in ed_prev_history() argument
563 int sv_event = el->el_history.eventno; in ed_prev_history()
565 el->el_chared.c_undo.len = -1; in ed_prev_history()
566 *el->el_line.lastchar = '\0'; /* just in case */ in ed_prev_history()
568 if (el->el_history.eventno == 0) { /* save the current buffer in ed_prev_history()
570 (void) wcsncpy(el->el_history.buf, el->el_line.buffer, in ed_prev_history()
572 el->el_history.last = el->el_history.buf + in ed_prev_history()
573 (el->el_line.lastchar - el->el_line.buffer); in ed_prev_history()
575 el->el_history.eventno += el->el_state.argument; in ed_prev_history()
577 if (hist_get(el) == CC_ERROR) { in ed_prev_history()
578 if (el->el_map.type == MAP_VI) { in ed_prev_history()
579 el->el_history.eventno = sv_event; in ed_prev_history()
583 (void) hist_get(el); in ed_prev_history()
597 ed_next_history(EditLine *el, wint_t c __attribute__((__unused__))) in ed_next_history() argument
601 el->el_chared.c_undo.len = -1; in ed_next_history()
602 *el->el_line.lastchar = '\0'; /* just in case */ in ed_next_history()
604 el->el_history.eventno -= el->el_state.argument; in ed_next_history()
606 if (el->el_history.eventno < 0) { in ed_next_history()
607 el->el_history.eventno = 0; in ed_next_history()
610 rval = hist_get(el); in ed_next_history()
624 ed_search_prev_history(EditLine *el, wint_t c __attribute__((__unused__))) in ed_search_prev_history() argument
630 el->el_chared.c_vcmd.action = NOP; in ed_search_prev_history()
631 el->el_chared.c_undo.len = -1; in ed_search_prev_history()
632 *el->el_line.lastchar = '\0'; /* just in case */ in ed_search_prev_history()
633 if (el->el_history.eventno < 0) { in ed_search_prev_history()
635 (void) fprintf(el->el_errfile, in ed_search_prev_history()
638 el->el_history.eventno = 0; in ed_search_prev_history()
641 if (el->el_history.eventno == 0) { in ed_search_prev_history()
642 (void) wcsncpy(el->el_history.buf, el->el_line.buffer, in ed_search_prev_history()
644 el->el_history.last = el->el_history.buf + in ed_search_prev_history()
645 (el->el_line.lastchar - el->el_line.buffer); in ed_search_prev_history()
647 if (el->el_history.ref == NULL) in ed_search_prev_history()
650 hp = HIST_FIRST(el); in ed_search_prev_history()
654 c_setpat(el); /* Set search pattern !! */ in ed_search_prev_history()
656 for (h = 1; h <= el->el_history.eventno; h++) in ed_search_prev_history()
657 hp = HIST_NEXT(el); in ed_search_prev_history()
661 (void) fprintf(el->el_errfile, "Comparing with \"%ls\"\n", hp); in ed_search_prev_history()
663 if ((wcsncmp(hp, el->el_line.buffer, (size_t) in ed_search_prev_history()
664 (el->el_line.lastchar - el->el_line.buffer)) || in ed_search_prev_history()
665 hp[el->el_line.lastchar - el->el_line.buffer]) && in ed_search_prev_history()
666 c_hmatch(el, hp)) { in ed_search_prev_history()
671 hp = HIST_NEXT(el); in ed_search_prev_history()
676 (void) fprintf(el->el_errfile, "not found\n"); in ed_search_prev_history()
680 el->el_history.eventno = h; in ed_search_prev_history()
682 return hist_get(el); in ed_search_prev_history()
692 ed_search_next_history(EditLine *el, wint_t c __attribute__((__unused__))) in ed_search_next_history() argument
698 el->el_chared.c_vcmd.action = NOP; in ed_search_next_history()
699 el->el_chared.c_undo.len = -1; in ed_search_next_history()
700 *el->el_line.lastchar = '\0'; /* just in case */ in ed_search_next_history()
702 if (el->el_history.eventno == 0) in ed_search_next_history()
705 if (el->el_history.ref == NULL) in ed_search_next_history()
708 hp = HIST_FIRST(el); in ed_search_next_history()
712 c_setpat(el); /* Set search pattern !! */ in ed_search_next_history()
714 for (h = 1; h < el->el_history.eventno && hp; h++) { in ed_search_next_history()
716 (void) fprintf(el->el_errfile, "Comparing with \"%ls\"\n", hp); in ed_search_next_history()
718 if ((wcsncmp(hp, el->el_line.buffer, (size_t) in ed_search_next_history()
719 (el->el_line.lastchar - el->el_line.buffer)) || in ed_search_next_history()
720 hp[el->el_line.lastchar - el->el_line.buffer]) && in ed_search_next_history()
721 c_hmatch(el, hp)) in ed_search_next_history()
723 hp = HIST_NEXT(el); in ed_search_next_history()
727 if (!c_hmatch(el, el->el_history.buf)) { in ed_search_next_history()
729 (void) fprintf(el->el_errfile, "not found\n"); in ed_search_next_history()
734 el->el_history.eventno = found; in ed_search_next_history()
736 return hist_get(el); in ed_search_next_history()
746 ed_prev_line(EditLine *el, wint_t c __attribute__((__unused__))) in ed_prev_line() argument
749 int nchars = c_hpos(el); in ed_prev_line()
754 if (*(ptr = el->el_line.cursor) == '\n') in ed_prev_line()
757 for (; ptr >= el->el_line.buffer; ptr--) in ed_prev_line()
758 if (*ptr == '\n' && --el->el_state.argument <= 0) in ed_prev_line()
761 if (el->el_state.argument > 0) in ed_prev_line()
767 for (ptr--; ptr >= el->el_line.buffer && *ptr != '\n'; ptr--) in ed_prev_line()
774 nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n'; in ed_prev_line()
778 el->el_line.cursor = ptr; in ed_prev_line()
789 ed_next_line(EditLine *el, wint_t c __attribute__((__unused__))) in ed_next_line() argument
792 int nchars = c_hpos(el); in ed_next_line()
797 for (ptr = el->el_line.cursor; ptr < el->el_line.lastchar; ptr++) in ed_next_line()
798 if (*ptr == '\n' && --el->el_state.argument <= 0) in ed_next_line()
801 if (el->el_state.argument > 0) in ed_next_line()
808 nchars-- > 0 && ptr < el->el_line.lastchar && *ptr != '\n'; in ed_next_line()
812 el->el_line.cursor = ptr; in ed_next_line()
823 ed_command(EditLine *el, wint_t c __attribute__((__unused__))) in ed_command() argument
828 tmplen = c_gets(el, tmpbuf, L"\n: "); in ed_command()
829 terminal__putc(el, '\n'); in ed_command()
831 if (tmplen < 0 || (tmpbuf[tmplen] = 0, parse_line(el, tmpbuf)) == -1) in ed_command()
832 terminal_beep(el); in ed_command()
834 el->el_map.current = el->el_map.key; in ed_command()
835 re_clear_display(el); in ed_command()