diff options
author | Thomas Roessler <roessler@does-not-exist.org> | 2000-05-16 11:16:20 +0000 |
---|---|---|
committer | Thomas Roessler <roessler@does-not-exist.org> | 2000-05-16 11:16:20 +0000 |
commit | 624d956866740a6508e20055526e9999f62d3ff1 (patch) | |
tree | 9db8f1abbe94d1bfaef816dcd86ad04efef5a0bc | |
parent | 37dd1ce603c4bd3a5a5ac7713bbfe11e3679774e (diff) |
Add a transpose-character function to the editor. From Aaron Schrab.
-rw-r--r-- | OPS | 1 | ||||
-rw-r--r-- | doc/manual.sgml.tail | 1 | ||||
-rw-r--r-- | enter.c | 21 | ||||
-rw-r--r-- | functions.h | 1 |
4 files changed, 24 insertions, 0 deletions
@@ -70,6 +70,7 @@ OP_EDITOR_KILL_EOL "delete chars from cursor to end of line" OP_EDITOR_KILL_LINE "delete all chars on the line" OP_EDITOR_KILL_WORD "delete the word in front of the cursor" OP_EDITOR_QUOTE_CHAR "quote the next typed key" +OP_EDITOR_TRANSPOSE_CHARS "transpose character under cursor with previous" OP_ENTER_COMMAND "enter a muttrc command" OP_ENTER_MASK "enter a file mask" OP_EXIT "exit this menu" diff --git a/doc/manual.sgml.tail b/doc/manual.sgml.tail index 28e4a517..ff5d1d4b 100644 --- a/doc/manual.sgml.tail +++ b/doc/manual.sgml.tail @@ -311,6 +311,7 @@ kill-eol ^K delete chars from cursor to end of line kill-line ^U delete all chars on the line kill-word ^W delete the word in front of the cursor quote-char ^V quote the next typed key +transpose-chars not bound transpose character under cursor with previous </verb> <sect>Miscellany @@ -484,6 +484,27 @@ int _mutt_enter_string (unsigned char *buf, size_t buflen, int y, int x, goto self_insert; } + case OP_EDITOR_TRANSPOSE_CHARS: + j = buf[curpos]; + if(curpos == 0) + { + buf[curpos] = buf[1]; + buf[1] = j; + } + else if (curpos == lastchar) + { + j = buf[curpos-1]; + buf[curpos-1] = buf[curpos-2]; + buf[curpos-2] = j; + } + else + { + buf[curpos] = buf[curpos-1]; + buf[curpos-1] = j; + } + redraw = M_REDRAW_LINE; + break; + default: BEEP (); } diff --git a/functions.h b/functions.h index bcf77579..28b84f3f 100644 --- a/functions.h +++ b/functions.h @@ -365,6 +365,7 @@ struct binding_t OpEditor[] = { { "buffy-cycle", OP_EDITOR_BUFFY_CYCLE, " " }, { "history-up", OP_EDITOR_HISTORY_UP, NULL }, { "history-down", OP_EDITOR_HISTORY_DOWN, NULL }, + { "transpose-chars", OP_EDITOR_TRANSPOSE_CHARS, NULL }, { NULL, 0, NULL } }; |