diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-03 15:43:48 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-03 15:43:48 -0500 |
| commit | a6cd143209dceb1a3c35f89952c87eeac9bf2133 (patch) | |
| tree | 6bcb0b4c0a8c0d01da9b4b1fe6a65809e4f7c883 /modules | |
| parent | c0f92fbb1bed6275d19edd8ed83d16f9c5ebfdef (diff) | |
| download | dotemacs-a6cd143209dceb1a3c35f89952c87eeac9bf2133.tar.gz dotemacs-a6cd143209dceb1a3c35f89952c87eeac9bf2133.zip | |
feat(linear): add global C-; L prefix and short assignee tags
I bound pearl-prefix-map globally under C-; L with :bind-keymap, so the full command surface is reachable from any buffer instead of only inside a pearl-rendered one or through M-x. The first press autoloads pearl. It's the same map pearl-mode binds in-buffer, so behavior is identical everywhere.
I also set pearl-assignee-tag-short, so the assignee @-tag renders as the first name only (@first instead of @first_last), trading disambiguation for a tighter tag line.
Both layer onto the prior vanilla setup after dogfooding the out-of-box experience. I updated the commentary to match.
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/linear-config.el | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/modules/linear-config.el b/modules/linear-config.el index e4b6599d..8fbae30c 100644 --- a/modules/linear-config.el +++ b/modules/linear-config.el @@ -10,18 +10,17 @@ ;; Runtime requires: none. ;; Direct test load: no. ;; -;; Vanilla pearl setup, deliberately kept to exactly what pearl's README -;; documents for a first-time install — no custom keymap, no team default, no -;; lazy-key advice — so it can be dogfooded as the real out-of-box experience. -;; The only deviation from the README is loading from the local checkout -;; (~/code/pearl) instead of a package archive. +;; Near-vanilla pearl setup: close to what pearl's README documents for a +;; first-time install (local checkout instead of a package archive), with two +;; deliberate tweaks layered on after dogfooding the out-of-box experience — a +;; global C-; L prefix (see below) and the shorter assignee @-tag. ;; ;; pearl owns its own keymap. `pearl-mode' turns on automatically in any buffer ;; pearl renders (it carries a `#+LINEAR-SOURCE' header) and binds the whole ;; command surface under `pearl-keymap-prefix' (default "C-; L"). This config -;; binds no global key, so from a non-Linear buffer reach pearl with `M-x' -;; (e.g. `M-x pearl-list-issues' or `M-x pearl-menu'); inside a Linear buffer -;; everything is live under C-; L. +;; also binds that same `pearl-prefix-map' globally under C-; L (`:bind-keymap'), +;; so the full command surface is reachable from any buffer; the first press +;; autoloads pearl. `M-x pearl-menu' / `M-x pearl-list-issues' still work too. ;; ;; Authentication: the Linear personal API key is read from authinfo.gpg. Add: ;; machine api.linear.app login apikey password lin_api_YOURKEYHERE @@ -33,8 +32,16 @@ :ensure nil ;; local checkout, not from an archive :load-path "~/code/pearl" :commands (pearl-menu pearl-list-issues pearl-create-issue pearl-run-linear-view) + ;; Bind pearl's command map globally under C-; L, so the full surface is + ;; reachable from any buffer (not only inside a pearl-rendered one). The + ;; first press autoloads pearl; it's the same `pearl-prefix-map' that + ;; `pearl-mode' binds in-buffer, so behavior is identical everywhere. + :bind-keymap ("C-; L" . pearl-prefix-map) :custom (pearl-org-file-path (expand-file-name "gtd/linear.org" org-directory)) + ;; Shorten the assignee @-tag to the first name only (e.g. @first instead of + ;; @first_last), trading disambiguation for a tighter tag line. + (pearl-assignee-tag-short t) ;; Optional defaults — uncomment and fill in to skip the prompts. Set them ;; HERE, at init level, not via M-x pearl-set-default-view / ;; pearl-set-default-team: those persist through `customize-save-variable', |
