vi_add(): * Vi enter insert mode after the cursor * [a] */
| 410 | * [a] |
| 411 | */ |
| 412 | protected el_action_t |
| 413 | /*ARGSUSED*/ |
| 414 | vi_add(EditLine *el, Int c __attribute__((__unused__))) |
| 415 | { |
| 416 | int ret; |
| 417 | |
| 418 | el->el_map.current = el->el_map.key; |
| 419 | if (el->el_line.cursor < el->el_line.lastchar) { |
| 420 | el->el_line.cursor++; |
| 421 | if (el->el_line.cursor > el->el_line.lastchar) |
| 422 | el->el_line.cursor = el->el_line.lastchar; |
| 423 | ret = CC_CURSOR; |
| 424 | } else |
| 425 | ret = CC_NORM; |
| 426 | |
| 427 | cv_undo(el); |
| 428 | |
| 429 | return (el_action_t)ret; |
| 430 | } |
| 431 | |
| 432 | |
| 433 | /* vi_add_at_eol(): |