diff options
author | June McEnroe <june@causal.agency> | 2020-02-12 01:16:40 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-02-12 01:16:40 -0500 |
commit | 14ae13f781d1ab30d648eaffbace67a9eec36c5b (patch) | |
tree | e9d3c451cddf8c35cfd6c6d5e44e0cd32180c184 /edit.c | |
parent | Add C-v and M-v (diff) | |
download | catgirl-14ae13f781d1ab30d648eaffbace67a9eec36c5b.tar.gz catgirl-14ae13f781d1ab30d648eaffbace67a9eec36c5b.zip |
Add C-t transpose
Also in emacs, weechat.
Diffstat (limited to 'edit.c')
-rw-r--r-- | edit.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/edit.c b/edit.c index d90d558..573e549 100644 --- a/edit.c +++ b/edit.c @@ -182,6 +182,15 @@ void edit(size_t id, enum Edit op, wchar_t ch) { } } + break; case EditTranspose: { + if (!pos || len < 2) break; + if (pos == len) pos--; + wchar_t t = buf[pos]; + buf[pos] = buf[pos - 1]; + buf[pos - 1] = t; + pos++; + } + break; case EditInsert: { if (reserve(pos, 1)) { buf[pos++] = ch; |