diff options
| author | Stephen Paul Weber <singpolyma@singpolyma.net> | 2014-10-19 12:24:38 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2014-10-19 12:30:55 +0200 |
| commit | b37f9e461798ba77e19ab20d7ca18555d1171e19 (patch) | |
| tree | 21f6f03638c63c8be091a1ae5049bf804d998367 /vis.c | |
| parent | e036fb2faf73a590b5c119160e3fabd8844ff44c (diff) | |
| download | vis-b37f9e461798ba77e19ab20d7ca18555d1171e19.tar.gz vis-b37f9e461798ba77e19ab20d7ca18555d1171e19.tar.xz | |
Toggle case operator
In vim, :set tildeop to get this behaviour
Diffstat (limited to 'vis.c')
| -rw-r--r-- | vis.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -616,7 +616,11 @@ static void op_case_change(OperatorContext *c) { size_t rem = len; for (char *cur = buf; rem > 0; cur++, rem--) { if (isascii((unsigned char)*cur)) { - if (c->arg->i > 0) + if (c->arg->i == 0) { + *cur = islower((unsigned char)*cur) ? + toupper((unsigned char)*cur) : + tolower((unsigned char)*cur) ; + } else if (c->arg->i > 0) *cur = toupper((unsigned char)*cur); else *cur = tolower((unsigned char)*cur); |
