Execute and load selection
This commit is contained in:
@@ -266,10 +266,8 @@ bool GlobalCommand(Event event) {
|
|||||||
Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse);
|
Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse);
|
||||||
if (p != -1) {
|
if (p != -1) {
|
||||||
Range enclose = EncloseExecWord(buffer, p);
|
Range enclose = EncloseExecWord(buffer, p);
|
||||||
|
if (InBounds(view->carets[0].range, p)) enclose = view->carets[0].range;
|
||||||
String16 string = GetString(*buffer, enclose);
|
String16 string = GetString(*buffer, enclose);
|
||||||
|
|
||||||
// Window *last_window = GetWindow(GetLastActiveWindow());
|
|
||||||
// View *last_view = GetView(last_window->active_view);
|
|
||||||
Command_EvalLua(view, string);
|
Command_EvalLua(view, string);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -284,6 +282,7 @@ bool GlobalCommand(Event event) {
|
|||||||
Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse);
|
Int p = ScreenSpaceToBufferPosErrorOutOfBounds(window, view, buffer, mouse);
|
||||||
if (p != -1) {
|
if (p != -1) {
|
||||||
Range enclose = EncloseLoadWord(buffer, p);
|
Range enclose = EncloseLoadWord(buffer, p);
|
||||||
|
if (InBounds(view->carets[0].range, p)) enclose = view->carets[0].range;
|
||||||
String16 string = GetString(*buffer, enclose);
|
String16 string = GetString(*buffer, enclose);
|
||||||
|
|
||||||
view->carets.len = 1;
|
view->carets.len = 1;
|
||||||
|
|||||||
@@ -810,14 +810,16 @@ void WindowCommand(Event event, Window *window, View *view) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (Ctrl(SDLK_Q)) {
|
if (Ctrl(SDLK_Q)) {
|
||||||
Int p = GetFront(view->carets[0]);
|
Caret caret = view->carets[0];
|
||||||
Range enclose = EncloseLoadWord(buffer, p);
|
Range range = caret.range;
|
||||||
String16 string = GetString(*buffer, enclose);
|
if (GetSize(caret.range) == 0) range = EncloseLoadWord(buffer, GetFront(caret));
|
||||||
|
String16 string = GetString(*buffer, range);
|
||||||
Open(string);
|
Open(string);
|
||||||
} else if (Alt(SDLK_Q)) {
|
} else if (Alt(SDLK_Q)) {
|
||||||
Int p = GetFront(view->carets[0]);
|
Caret caret = view->carets[0];
|
||||||
Range enclose = EncloseExecWord(buffer, p);
|
Range range = caret.range;
|
||||||
String16 string = GetString(*buffer, enclose);
|
if (GetSize(caret.range) == 0) range = EncloseExecWord(buffer, GetFront(caret));
|
||||||
|
String16 string = GetString(*buffer, range);
|
||||||
Command_EvalLua(view, string);
|
Command_EvalLua(view, string);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
- 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
|
- 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?
|
- each buffer needs a directory even the special ones: C:\a\b\c\+errors?
|
||||||
|
|||||||
Reference in New Issue
Block a user