From c11592ed56b895dc3ec4cfae7e9df8e77d641c2c Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 2 Jun 2026 13:04:01 -0500 Subject: feat(views): wire the default view into the keymap, transient, and docs Phase 3, the last of the default-view spec: surface the phase 1-2 commands and flip the hot key over. Top-level l now runs pearl-open-default-view instead of pearl-list-issues, so it opens your default. The literal my-open-issues fetch stays reachable at f o, and l is unchanged until you set a default. v D binds pearl-set-default-view (the slot the keybinding reconciliation reserved), and the transient Views group gets a . suffix for it. D there stays save-locally. README documents the default view: what l does, how to set and clear it, the Customize persistence, and the per-account scoping under multiple accounts. Keymap and menu tests updated for the l rebind, the v D binding, and the transient suffix. Suite holds at 809, compile and lint clean. --- pearl.el | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'pearl.el') diff --git a/pearl.el b/pearl.el index 7705e0b..3652b7a 100644 --- a/pearl.el +++ b/pearl.el @@ -6734,7 +6734,8 @@ body stay." ("u" "publish local view" pearl-publish-local-view) ("D" "save Linear view locally" pearl-save-linear-view-locally) ("U" "publish current view" pearl-publish-current-view) - ("X" "delete local view" pearl-delete-local-view)] + ("X" "delete local view" pearl-delete-local-view) + ("." "set default view" pearl-set-default-view)] ["Buffer" ("g" "refresh view" pearl-refresh-current-view) ("r" "refresh issue" pearl-refresh-current-issue) @@ -6793,15 +6794,14 @@ in `pearl-views-map' so this group stays one concern.") (define-key map "u" (cons "publish local view" #'pearl-publish-local-view)) (define-key map "U" (cons "publish current view" #'pearl-publish-current-view)) (define-key map "d" (cons "save Linear view locally" #'pearl-save-linear-view-locally)) - ;; `D' (set default view) is reserved for the not-yet-built - ;; `pearl-set-default-view'. Left intentionally unbound so the slot is - ;; free when that command lands; do not bind another command to it. + (define-key map "D" (cons "set default view" #'pearl-set-default-view)) map) "Pearl view commands; a sub-keymap of `pearl-prefix-map'. Lowercase `l' / capital `L' run a local / Linear view; `c' / `e' / `k' create / edit / delete a local view. `u' / `U' publish a named / the current local view up to Linear; `d' saves a Linear view down into a new -local view. Capital `D' is reserved for set-default-view.") +local view. Capital `D' sets the default view `pearl-open-default-view' +opens.") (defvar pearl-edit-map (let ((map (make-sparse-keymap))) @@ -6858,7 +6858,7 @@ diagnostics.") (defvar pearl-prefix-map (let ((map (make-sparse-keymap))) ;; Hot path -- one key under the prefix. - (define-key map "l" (cons "list my open issues" #'pearl-list-issues)) + (define-key map "l" (cons "open default view" #'pearl-open-default-view)) (define-key map "g" (cons "refresh view" #'pearl-refresh-current-view)) (define-key map "r" (cons "refresh issue" #'pearl-refresh-current-issue)) (define-key map "s" (cons "save issue" #'pearl-save-issue)) -- cgit v1.2.3