summary refs log tree commit diff stats
path: root/lisp/+link-hint.el
diff options
context:
space:
mode:
authorCase Duckworth2021-12-31 15:45:06 -0600
committerCase Duckworth2021-12-31 15:45:06 -0600
commit04f87d9d59f8ca090a064ef0f8f8bcbf69d00de2 (patch)
tree735fa16457dc3d7a5773f8a4d9d5dcf1c7515be8 /lisp/+link-hint.el
parentChange loading message to be a temp message (diff)
downloademacs-04f87d9d59f8ca090a064ef0f8f8bcbf69d00de2.tar.gz
emacs-04f87d9d59f8ca090a064ef0f8f8bcbf69d00de2.zip
Add link-hint
Diffstat (limited to 'lisp/+link-hint.el')
-rw-r--r--lisp/+link-hint.el58
1 files changed, 58 insertions, 0 deletions
diff --git a/lisp/+link-hint.el b/lisp/+link-hint.el new file mode 100644 index 0000000..e9d215a --- /dev/null +++ b/lisp/+link-hint.el
@@ -0,0 +1,58 @@
1;;; +link-hint.el -*- lexical-binding: t; -*-
2
3;;; Code:
4
5(require 'link-hint)
6
7(defgroup +link-hint nil
8 "Extra customizations for `link-hint'."
9 :group 'link-hint)
10
11(defcustom +link-hint-open-secondary-types '(gnus-w3m-image-url
12 gnus-w3m-url
13 markdown-link
14 mu4e-attachment
15 mu4e-url
16 notmuch-hello
17 nov-link
18 org-link
19 shr-url
20 text-url
21 w3m-link
22 w3m-message-link)
23 "Link types to define `:open-secondary' for.")
24
25(defun +link-hint-setup-open-secondary (&optional types)
26 "Define the `:open-secondary' link-hint type for TYPES.
27If TYPES is nil, define it for `+link-hint-open-secondary-types'."
28 (dolist (type (or types +link-hint-open-secondary-types))
29 (link-hint-define-type type
30 :open-secondary browse-url-secondary-browser-function
31 :open-secondary-multiple t)))
32
33(defun +link-hint-open-link (prefix)
34 "Open a link.
35Without a PREFIX, open using `browse-url-browser-function'; with
36a PREFIX, use `browse-url-secondary-browser-function'."
37 (interactive "P")
38 (avy-with link-hint-open-link
39 (link-hint--one (if prefix :open-secondary :open))))
40
41(defun +link-hint-open-multiple-links (prefix)
42 "Open multiple links.
43Without a PREFIX, open using `browse-url-browser-function'; with
44a PREFIX, use `browse-url-secondary-browser-function'."
45 (interactive "P")
46 (avy-with link-hint-open-multiple-links
47 (link-hint--one (if prefix :open-secondary :open))))
48
49(defun +link-hint-open-all-links (prefix)
50 "Open all visible links.
51Without a PREFIX, open using `browse-url-browser-function'; with
52a PREFIX, use `browse-url-secondary-browser-function'."
53 (interactive "P")
54 (avy-with link-hint-open-all-links
55 (link-hint--one (if prefix :open-secondary :open))))
56
57(provide '+link-hint)
58;;; +link-hint.el ends here