summaryrefslogtreecommitdiff
path: root/src/mouse.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/mouse.zig')
-rw-r--r--src/mouse.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mouse.zig b/src/mouse.zig
index 0ec20df2..f222b5da 100644
--- a/src/mouse.zig
+++ b/src/mouse.zig
@@ -190,7 +190,7 @@ pub fn handleMouse(p: *Pardes, m: Mouse) void {
else => false,
}) for (p.panes) |slot| {
const pane = slot orelse continue;
- if (pane.prompt == .del_side) pane.prompt = .none;
+ if (pane.prompt == .del_side or pane.prompt == .repl_choice) pane.prompt = .none;
};
if (m.button == .back or m.button == .forward) {
if (m.kind == .press) p.jumpBy(if (m.button == .back) -1 else 1);
@@ -719,6 +719,9 @@ fn dispatchPointerBuiltin(
// nothing, as acme's look3 and execute return on an empty expansion.
const operand = text orelse return;
if (gesture) |g| if (reportGesture(p, id, cmd, operand, g.on_tag, g.operand, arg != null)) return;
+ // A middle click on a body is the exec a bound REPL may take.
+ p.exec_from_body = cmd == config.exec_cmd and gesture != null and !gesture.?.on_tag;
+ defer p.exec_from_body = false;
exec.runBuiltin(p, cmd, id, "", exec.withArg(p, operand, arg));
}