summaryrefslogtreecommitdiff
path: root/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'command.c')
-rw-r--r--command.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/command.c b/command.c
index 19c291e..1d628b0 100644
--- a/command.c
+++ b/command.c
@@ -98,7 +98,18 @@ void command_execute(Ted *ted, Command c, i64 argument) {
break;
case CMD_TAB:
- buffer_insert_char_at_cursor(buffer, '\t');
+ if (ted->replace && ted->active_buffer == &ted->find_buffer) {
+ ted->active_buffer = &ted->replace_buffer;
+ buffer_select_all(ted->active_buffer);
+ } else {
+ buffer_insert_char_at_cursor(buffer, '\t');
+ }
+ break;
+ case CMD_BACKTAB:
+ if (ted->replace && ted->active_buffer == &ted->replace_buffer) {
+ ted->active_buffer = &ted->find_buffer;
+ buffer_select_all(ted->active_buffer);
+ }
break;
case CMD_NEWLINE:
case CMD_NEWLINE_BACK: