Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion sqlit/core/keymap.py
Original file line number Diff line number Diff line change
Expand Up @@ -438,10 +438,13 @@ def _build_action_keys(self) -> list[ActionKeyDef]:
ActionKeyDef("ctrl+z", "undo", "global"),
ActionKeyDef("ctrl+y", "redo", "global"),
# Results
ActionKeyDef("v", "view_cell", "results"),
ActionKeyDef("v", "enter_results_visual_mode", "results"),
ActionKeyDef("escape", "exit_results_visual_mode", "results"),
ActionKeyDef("p", "view_cell", "results"),
ActionKeyDef("V", "view_cell_full", "results"),
ActionKeyDef("u", "edit_cell", "results"),
ActionKeyDef("d", "delete_row", "results"),
ActionKeyDef("D", "append_delete_row", "results"),
ActionKeyDef("y", "results_yank_leader_key", "results"),
ActionKeyDef("x", "clear_results", "results"),
ActionKeyDef("slash", "results_filter", "results"),
Expand Down
30 changes: 27 additions & 3 deletions sqlit/domains/results/state/results_focused.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,25 @@ def _setup_actions(self) -> None:
def has_results(app: InputContext) -> bool:
return app.has_results

self.allows("view_cell", has_results, key="v", label="View cell", help="Preview cell (tooltip)")
self.allows(
"enter_results_visual_mode",
has_results,
key="v",
label="Visual rows",
help="Mark rows for batch delete",
)
self.allows("exit_results_visual_mode", has_results, key="escape", help="Exit visual rows")
self.allows("view_cell", has_results, key="p", label="Preview cell", help="Preview cell (tooltip)")
self.allows("view_cell_full", has_results, key="V", label="View full", help="View full cell value")
self.allows("edit_cell", has_results, key="u", label="Update cell", help="Update cell (generate UPDATE)")
self.allows("delete_row", has_results, key="d", label="Delete row", help="Delete row (generate DELETE)")
self.allows(
"append_delete_row",
has_results,
key="D",
label="Append delete",
help="Append row to DELETE query (OR)",
)
self.allows("results_yank_leader_key", has_results, key="y", label="Copy", help="Copy menu (cell/row/all)")
self.allows("clear_results", has_results, key="x", label="Clear", help="Clear results")
self.allows("results_filter", has_results, key="slash", label="Filter", help="Filter rows")
Expand Down Expand Up @@ -53,7 +68,7 @@ def get_display_bindings(self, app: InputContext) -> tuple[list[DisplayBinding],
if is_error:
left.append(
DisplayBinding(
key=resolve_display_key("view_cell") or "v",
key=resolve_display_key("view_cell") or "p",
label="View error",
action="view_cell",
)
Expand All @@ -68,7 +83,14 @@ def get_display_bindings(self, app: InputContext) -> tuple[list[DisplayBinding],
else:
left.append(
DisplayBinding(
key=resolve_display_key("view_cell") or "v",
key=resolve_display_key("enter_results_visual_mode") or "v",
label="Visual",
action="enter_results_visual_mode",
)
)
left.append(
DisplayBinding(
key=resolve_display_key("view_cell") or "p",
label="Preview",
action="view_cell",
)
Expand Down Expand Up @@ -134,6 +156,8 @@ def get_display_bindings(self, app: InputContext) -> tuple[list[DisplayBinding],
seen.update(
[
"view_cell",
"enter_results_visual_mode",
"exit_results_visual_mode",
"view_cell_full",
"delete_row",
"results_yank_leader_key",
Expand Down
Loading