Lines Matching refs:el

47 #include "el.h"
55 em_delete_or_list(EditLine *el, Int c)
58 if (el->el_line.cursor == el->el_line.lastchar) {
60 if (el->el_line.cursor == el->el_line.buffer) {
62 terminal_writec(el, c); /* then do an EOF */
69 terminal_beep(el);
73 if (el->el_state.doingarg)
74 c_delafter(el, el->el_state.argument);
76 c_delafter1(el);
77 if (el->el_line.cursor > el->el_line.lastchar)
78 el->el_line.cursor = el->el_line.lastchar;
91 em_delete_next_word(EditLine *el, Int c __attribute__((__unused__)))
95 if (el->el_line.cursor == el->el_line.lastchar)
98 cp = c__next_word(el->el_line.cursor, el->el_line.lastchar,
99 el->el_state.argument, ce__isword);
101 for (p = el->el_line.cursor, kp = el->el_chared.c_kill.buf; p < cp; p++)
104 el->el_chared.c_kill.last = kp;
106 c_delafter(el, (int)(cp - el->el_line.cursor)); /* delete after dot */
107 if (el->el_line.cursor > el->el_line.lastchar)
108 el->el_line.cursor = el->el_line.lastchar;
120 em_yank(EditLine *el, Int c __attribute__((__unused__)))
124 if (el->el_chared.c_kill.last == el->el_chared.c_kill.buf)
127 if (el->el_line.lastchar +
128 (el->el_chared.c_kill.last - el->el_chared.c_kill.buf) >=
129 el->el_line.limit)
132 el->el_chared.c_kill.mark = el->el_line.cursor;
133 cp = el->el_line.cursor;
136 c_insert(el,
137 (int)(el->el_chared.c_kill.last - el->el_chared.c_kill.buf));
139 for (kp = el->el_chared.c_kill.buf; kp < el->el_chared.c_kill.last; kp++)
143 if (el->el_state.argument == 1)
144 el->el_line.cursor = cp;
156 em_kill_line(EditLine *el, Int c __attribute__((__unused__)))
160 cp = el->el_line.buffer;
161 kp = el->el_chared.c_kill.buf;
162 while (cp < el->el_line.lastchar)
164 el->el_chared.c_kill.last = kp;
166 el->el_line.lastchar = el->el_line.buffer;
167 el->el_line.cursor = el->el_line.buffer;
178 em_kill_region(EditLine *el, Int c __attribute__((__unused__)))
182 if (!el->el_chared.c_kill.mark)
185 if (el->el_chared.c_kill.mark > el->el_line.cursor) {
186 cp = el->el_line.cursor;
187 kp = el->el_chared.c_kill.buf;
188 while (cp < el->el_chared.c_kill.mark)
190 el->el_chared.c_kill.last = kp;
191 c_delafter(el, (int)(cp - el->el_line.cursor));
193 cp = el->el_chared.c_kill.mark;
194 kp = el->el_chared.c_kill.buf;
195 while (cp < el->el_line.cursor)
197 el->el_chared.c_kill.last = kp;
198 c_delbefore(el, (int)(cp - el->el_chared.c_kill.mark));
199 el->el_line.cursor = el->el_chared.c_kill.mark;
211 em_copy_region(EditLine *el, Int c __attribute__((__unused__)))
215 if (!el->el_chared.c_kill.mark)
218 if (el->el_chared.c_kill.mark > el->el_line.cursor) {
219 cp = el->el_line.cursor;
220 kp = el->el_chared.c_kill.buf;
221 while (cp < el->el_chared.c_kill.mark)
223 el->el_chared.c_kill.last = kp;
225 cp = el->el_chared.c_kill.mark;
226 kp = el->el_chared.c_kill.buf;
227 while (cp < el->el_line.cursor)
229 el->el_chared.c_kill.last = kp;
240 em_gosmacs_transpose(EditLine *el, Int c)
243 if (el->el_line.cursor > &el->el_line.buffer[1]) {
245 c = el->el_line.cursor[-2];
246 el->el_line.cursor[-2] = el->el_line.cursor[-1];
247 el->el_line.cursor[-1] = c;
260 em_next_word(EditLine *el, Int c __attribute__((__unused__)))
262 if (el->el_line.cursor == el->el_line.lastchar)
265 el->el_line.cursor = c__next_word(el->el_line.cursor,
266 el->el_line.lastchar,
267 el->el_state.argument,
270 if (el->el_map.type == MAP_VI)
271 if (el->el_chared.c_vcmd.action != NOP) {
272 cv_delfini(el);
285 em_upper_case(EditLine *el, Int c __attribute__((__unused__)))
289 ep = c__next_word(el->el_line.cursor, el->el_line.lastchar,
290 el->el_state.argument, ce__isword);
292 for (cp = el->el_line.cursor; cp < ep; cp++)
296 el->el_line.cursor = ep;
297 if (el->el_line.cursor > el->el_line.lastchar)
298 el->el_line.cursor = el->el_line.lastchar;
309 em_capitol_case(EditLine *el, Int c __attribute__((__unused__)))
313 ep = c__next_word(el->el_line.cursor, el->el_line.lastchar,
314 el->el_state.argument, ce__isword);
316 for (cp = el->el_line.cursor; cp < ep; cp++) {
328 el->el_line.cursor = ep;
329 if (el->el_line.cursor > el->el_line.lastchar)
330 el->el_line.cursor = el->el_line.lastchar;
341 em_lower_case(EditLine *el, Int c __attribute__((__unused__)))
345 ep = c__next_word(el->el_line.cursor, el->el_line.lastchar,
346 el->el_state.argument, ce__isword);
348 for (cp = el->el_line.cursor; cp < ep; cp++)
352 el->el_line.cursor = ep;
353 if (el->el_line.cursor > el->el_line.lastchar)
354 el->el_line.cursor = el->el_line.lastchar;
365 em_set_mark(EditLine *el, Int c __attribute__((__unused__)))
368 el->el_chared.c_kill.mark = el->el_line.cursor;
379 em_exchange_mark(EditLine *el, Int c __attribute__((__unused__)))
383 cp = el->el_line.cursor;
384 el->el_line.cursor = el->el_chared.c_kill.mark;
385 el->el_chared.c_kill.mark = cp;
396 em_universal_argument(EditLine *el, Int c __attribute__((__unused__)))
399 if (el->el_state.argument > 1000000)
401 el->el_state.doingarg = 1;
402 el->el_state.argument *= 4;
413 em_meta_next(EditLine *el, Int c __attribute__((__unused__)))
416 el->el_state.metanext = 1;
426 em_toggle_overwrite(EditLine *el, Int c __attribute__((__unused__)))
429 el->el_state.inputmode = (el->el_state.inputmode == MODE_INSERT) ?
440 em_copy_prev_word(EditLine *el, Int c __attribute__((__unused__)))
444 if (el->el_line.cursor == el->el_line.buffer)
447 oldc = el->el_line.cursor;
449 cp = c__prev_word(el->el_line.cursor, el->el_line.buffer,
450 el->el_state.argument, ce__isword);
452 c_insert(el, (int)(oldc - cp));
453 for (dp = oldc; cp < oldc && dp < el->el_line.lastchar; cp++)
456 el->el_line.cursor = dp;/* put cursor at end */
467 em_inc_search_next(EditLine *el, Int c __attribute__((__unused__)))
470 el->el_search.patlen = 0;
471 return ce_inc_search(el, ED_SEARCH_NEXT_HISTORY);
480 em_inc_search_prev(EditLine *el, Int c __attribute__((__unused__)))
483 el->el_search.patlen = 0;
484 return ce_inc_search(el, ED_SEARCH_PREV_HISTORY);
494 em_delete_prev_char(EditLine *el, Int c __attribute__((__unused__)))
497 if (el->el_line.cursor <= el->el_line.buffer)
500 if (el->el_state.doingarg)
501 c_delbefore(el, el->el_state.argument);
503 c_delbefore1(el);
504 el->el_line.cursor -= el->el_state.argument;
505 if (el->el_line.cursor < el->el_line.buffer)
506 el->el_line.cursor = el->el_line.buffer;