Execute and load selection

This commit is contained in:
Krzosa Karol
2024-08-06 06:50:36 +02:00
parent b552f73ac9
commit 6e61816e1c
3 changed files with 14 additions and 15 deletions

View File

@@ -265,11 +265,9 @@ bool GlobalCommand(Event event) {
Buffer *buffer = GetBuffer(view->active_buffer);
Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse);
if (p != -1) {
Range enclose = EncloseExecWord(buffer, p);
String16 string = GetString(*buffer, enclose);
// Window *last_window = GetWindow(GetLastActiveWindow());
// View *last_view = GetView(last_window->active_view);
Range enclose = EncloseExecWord(buffer, p);
if (InBounds(view->carets[0].range, p)) enclose = view->carets[0].range;
String16 string = GetString(*buffer, enclose);
Command_EvalLua(view, string);
}
}
@@ -283,8 +281,9 @@ bool GlobalCommand(Event event) {
Buffer *buffer = GetBuffer(view->active_buffer);
Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse);
if (p != -1) {
Range enclose = EncloseLoadWord(buffer, p);
String16 string = GetString(*buffer, enclose);
Range enclose = EncloseLoadWord(buffer, p);
if (InBounds(view->carets[0].range, p)) enclose = view->carets[0].range;
String16 string = GetString(*buffer, enclose);
view->carets.len = 1;
view->carets[0] = MakeCaret(p);

View File

@@ -810,14 +810,16 @@ void WindowCommand(Event event, Window *window, View *view) {
}
if (Ctrl(SDLK_Q)) {
Int p = GetFront(view->carets[0]);
Range enclose = EncloseLoadWord(buffer, p);
String16 string = GetString(*buffer, enclose);
Caret caret = view->carets[0];
Range range = caret.range;
if (GetSize(caret.range) == 0) range = EncloseLoadWord(buffer, GetFront(caret));
String16 string = GetString(*buffer, range);
Open(string);
} else if (Alt(SDLK_Q)) {
Int p = GetFront(view->carets[0]);
Range enclose = EncloseExecWord(buffer, p);
String16 string = GetString(*buffer, enclose);
Caret caret = view->carets[0];
Range range = caret.range;
if (GetSize(caret.range) == 0) range = EncloseExecWord(buffer, GetFront(caret));
String16 string = GetString(*buffer, range);
Command_EvalLua(view, string);
}

View File

@@ -1,5 +1,3 @@
- we should be able to execute selection using mouse and keyboard (for now only main cursor)
- we should be able to execute a buffer (even scratch
- search as a command to execute which is going to be in the title bar
- each buffer needs a directory even the special ones: C:\a\b\c\+errors?