Ctrl + Enter

This commit is contained in:
Krzosa Karol
2024-07-24 13:53:21 +02:00
parent c9aed019d5
commit 93e0104c1e
2 changed files with 9 additions and 7 deletions

View File

@@ -111,7 +111,7 @@ void Command_CreateCursorVertical(View *_view, int direction) {
MergeCarets(*buffer, &view.carets); MergeCarets(*buffer, &view.carets);
} }
void Command_SelectRange(View *view, Range range) { void Command_SelectRangeOneCursor(View *view, Range range) {
Buffer *buffer = GetBuffer(view->buffer_id); Buffer *buffer = GetBuffer(view->buffer_id);
view->carets.len = 1; view->carets.len = 1;
view->carets[0] = MakeCaret(range.min, range.max); view->carets[0] = MakeCaret(range.min, range.max);
@@ -336,9 +336,9 @@ void HandleActiveWindowBindings(Window *window) {
if (Ctrl() && eval_result.len) { if (Ctrl() && eval_result.len) {
Command_SelectEntireBuffer(&view); Command_SelectEntireBuffer(&view);
Command_Replace(&view, eval_result); Command_Replace(&view, eval_result);
Command_SelectRange(&view, {}); Command_SelectRangeOneCursor(&view, {});
Command_Replace(&view, L"\n"); Command_Replace(&view, L"\n");
Command_SelectRange(&view, {}); Command_SelectRangeOneCursor(&view, {});
} else { } else {
{ {
Window *window = GetWindow(GetLastActiveWindow()); Window *window = GetWindow(GetLastActiveWindow());
@@ -348,12 +348,15 @@ void HandleActiveWindowBindings(Window *window) {
} }
Range range = GetLineRangeWithoutNL(*buffer, 0); Range range = GetLineRangeWithoutNL(*buffer, 0);
Command_SelectRange(&view, range); Command_SelectRangeOneCursor(&view, range);
Command_Replace(&view, {}); Command_Replace(&view, {});
} }
} }
} else { } else {
if (Press(KEY_ENTER)) { if (CtrlPress(KEY_ENTER)) {
Command_MoveCursorsToSide(window, DIR_RIGHT);
Command_Replace(&view, L"\n");
} else if (Press(KEY_ENTER)) {
Command_Replace(&view, L"\n"); Command_Replace(&view, L"\n");
} }
} }
@@ -540,5 +543,5 @@ void ReplaceInfobarData() {
String s = Format(scratch, "line: %5lld col: %5lld name: %.*s", (long long)xy.line + 1ll, (long long)xy.col + 1ll, FmtString(name)); String s = Format(scratch, "line: %5lld col: %5lld name: %.*s", (long long)xy.line + 1ll, (long long)xy.col + 1ll, FmtString(name));
String16 string = ToString16(scratch, s); String16 string = ToString16(scratch, s);
ReplaceText(buffer, {0, buffer->len}, string); ReplaceText(buffer, {0, buffer->len}, string);
Command_SelectRange(view, {}); Command_SelectRangeOneCursor(view, {});
} }

View File

@@ -89,7 +89,6 @@ BufferID NullBufferID = {0};
ViewID NullViewID = {0}; ViewID NullViewID = {0};
WindowID CommandWindowID = {0}; WindowID CommandWindowID = {0};
WindowID InfoBarWindowID = {0}; WindowID InfoBarWindowID = {0};
// WindowID ExecBarWindowID = {0};
Array<Buffer> Buffers = {}; Array<Buffer> Buffers = {};
Array<View> Views = {}; Array<View> Views = {};