editor. Bindings follow the Emacs conventions (i.e., M-c, M-u, M-d).
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_EDITOR_CAPITALIZE_WORD "capitalize the word"
+OP_EDITOR_DOWNCASE_WORD "convert the word to lower case"
+OP_EDITOR_UPCASE_WORD "convert the word to upper case"
OP_ENTER_COMMAND "enter a muttrc command"
OP_ENTER_MASK "enter a file mask"
OP_EXIT "exit this menu"
}
break;
+ case OP_EDITOR_CAPITALIZE_WORD:
+ if (curpos == lastchar)
+ {
+ BEEP ();
+ break;
+ }
+ while (curpos < lastchar && ISSPACE (buf[curpos]))
+ curpos++;
+ if (curpos < lastchar)
+ {
+ buf[curpos] = toupper (buf[curpos]);
+ curpos++;
+ }
+ if (curpos == lastchar || ISSPACE (buf[curpos]))
+ {
+ if (!pass)
+ {
+ if (curpos >= begin + width)
+ begin = curpos - width / 2;
+ else
+ move (y, x + curpos - begin);
+ redraw = M_REDRAW_LINE;
+ }
+ break;
+ }
+
+ /* fall through */
+ case OP_EDITOR_UPCASE_WORD:
+ case OP_EDITOR_DOWNCASE_WORD:
+ if (curpos == lastchar)
+ {
+ BEEP();
+ break;
+ }
+ while (curpos < lastchar && ISSPACE (buf[curpos]))
+ curpos++;
+ while (curpos < lastchar && !ISSPACE(buf[curpos]))
+ {
+ if (ch == OP_EDITOR_UPCASE_WORD)
+ buf[curpos] = toupper (buf[curpos]);
+ else /* DOWNCASE_WORD, CAPITALIZE_WORD */
+ buf[curpos] = tolower (buf[curpos]);
+ curpos++;
+ }
+ if (!pass)
+ {
+ if (curpos >= begin + width)
+ begin = curpos - width / 2;
+ else
+ move (y, x + curpos - begin);
+ redraw = M_REDRAW_LINE;
+ }
+ break;
+
case OP_EDITOR_DELETE_CHAR:
if (curpos != lastchar)
{
{ "bol", OP_EDITOR_BOL, "\001" },
{ "backward-char", OP_EDITOR_BACKWARD_CHAR, "\002" },
{ "backward-word", OP_EDITOR_BACKWARD_WORD, "\033b"},
+ { "capitalize-word", OP_EDITOR_CAPITALIZE_WORD, "\033c"},
+ { "downcase-word", OP_EDITOR_DOWNCASE_WORD, "\033l"},
+ { "upcase-word", OP_EDITOR_UPCASE_WORD, "\033u"},
{ "delete-char", OP_EDITOR_DELETE_CHAR, "\004" },
{ "eol", OP_EDITOR_EOL, "\005" },
{ "forward-char", OP_EDITOR_FORWARD_CHAR, "\006" },