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. --- README.org | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'README.org') diff --git a/README.org b/README.org index fc53d9e..fef38b9 100644 --- a/README.org +++ b/README.org @@ -163,14 +163,14 @@ The hot-path commands sit one key under the prefix; the rest are grouped into su | Key | Command | |-----------+----------------------------------------------------------------------| -| =l= | list my open issues | +| =l= | open the default view (my open issues until you set one) | | =g= | refresh the view | | =r= | refresh the issue at point | | =s= / =S= | save the issue at point / save every issue in the file | | =d= | edit the description | | =m= | open the full transient menu | | =f= ... | fetch (issue sources): =s= pick source, =o= open issues, =p= by project, =f= filter | -| =v= ... | views: =l= run local, =L= run Linear, =c= create, =e= edit, =k= delete, =u= publish, =U= publish current, =d= save Linear view locally, =D= set default (reserved) | +| =v= ... | views: =l= run local, =L= run Linear, =c= create, =e= edit, =k= delete, =u= publish, =U= publish current, =d= save Linear view locally, =D= set default | | =e= ... | edit: =d= description, =s= state, =a= assignee, =l= labels, =c= comment | | =c= ... | create: =t= issue, =c= comment | | =k= ... | delete: =t= issue, =c= comment | @@ -186,6 +186,14 @@ To reach the map outside a Pearl buffer, bind it globally as well: With =which-key=, each step shows a labeled menu. Every command is also available through =M-x=. +*** The default view + +The hot key =l= (=pearl-open-default-view=) opens whatever you've set as your default. Out of the box that's your open issues, so =l= behaves exactly as it always has until you choose otherwise. The literal my-open-issues fetch is still on =C-; L f o= if you want it regardless of the default. + +Set the default with =pearl-set-default-view= (=C-; L v D=, or =.= in the transient's Views group). From a buffer that's showing a local view it offers that view; otherwise it prompts over your local-view names, with a =[ My open issues ]= entry at the top that clears the default. The choice is saved through Customize, so it persists across restarts. To default to a Linear Custom View, save it locally first (=pearl-save-linear-view-locally=) and set the resulting local view. + +The default is =pearl-default-view= (a local-view name, or nil for my open issues). Under [[*Multiple accounts][multiple accounts]] it's per-account instead: each account carries its own =:default-view=, so =l= opens the right view for whichever account is active. If the named view has since been deleted, =l= falls back to my open issues with a message rather than erroring. + *** Sources A *source* is anything Pearl can fetch from: a Linear favorite, a Custom View, a project / cycle / label / user, a local view, or an ad-hoc filter. The everyday front door is =pearl-pick-source= (=C-; L f s=, or =P= in the transient), which lists all your Linear favorites first (in their Linear sort order) and then your local views, each tagged by kind: -- cgit v1.2.3