From 805e288178ce2b96dd4a0277b49904131853e8fe Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 27 May 2026 15:44:21 -0500 Subject: feat(commands): add pearl-copy-issue-url, bound at u c I added pearl-copy-issue-url. It copies the Linear URL of the issue at point to the kill ring and the system clipboard, reading the stored LINEAR-URL drawer property so there's no network call, and works from anywhere inside the issue subtree. kill-new carries it to the clipboard through interprogram-cut-function, so nothing shells out to a clipboard tool. Bound at u c in the url group, beside u o (open in browser). --- tests/test-pearl-keymap.el | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'tests/test-pearl-keymap.el') diff --git a/tests/test-pearl-keymap.el b/tests/test-pearl-keymap.el index 0e12da3..25b63d9 100644 --- a/tests/test-pearl-keymap.el +++ b/tests/test-pearl-keymap.el @@ -90,11 +90,10 @@ Walks MAP looking for a labeled binding (\"label\" . COMMAND)." (should (eq 'pearl-delete-current-comment (lookup-key pearl-prefix-map (kbd "k c"))))) (ert-deftest test-pearl-prefix-map-url-group () - "The url group resolves open-in-browser and open-view; copy-url is not yet bound." + "The url group resolves open-in-browser, copy-url, and open-view." (should (eq 'pearl-open-current-issue (lookup-key pearl-prefix-map (kbd "u o")))) - (should (eq 'pearl-open-current-view-in-linear (lookup-key pearl-prefix-map (kbd "u v")))) - ;; "u c" (copy URL) lands with `pearl-copy-issue-url' - (should-not (lookup-key pearl-prefix-map (kbd "u c")))) + (should (eq 'pearl-copy-issue-url (lookup-key pearl-prefix-map (kbd "u c")))) + (should (eq 'pearl-open-current-view-in-linear (lookup-key pearl-prefix-map (kbd "u v"))))) (ert-deftest test-pearl-prefix-map-common-commands-bound-twice () "The most common commands resolve both directly and inside their group." -- cgit v1.2.3