ol-man.el: Enable completion
* lisp/ol-man.el (org-man-complete): New function implementing completion for man pages using `Man-completion-table'. Set this function as the `:complete' property of "man" links. Ihor Radchenko. Re: Completion of links to man pages. Sat, 09 Dec 2023 11:32:39 +0000. <https://list.orgmode.org/877clnsjag.fsf@localhost>
This commit is contained in:
parent
d6c392b020
commit
7c9a5216bb
|
@ -729,6 +729,12 @@ respected.
|
|||
Images dropped also respect the value of ~org-yank-image-save-method~
|
||||
when ~org-yank-dnd-method~ is =attach=.
|
||||
|
||||
*** Add completion for links to man pages
|
||||
|
||||
Completion is enabled for links to man pages added using ~org-insert-link~:
|
||||
=C-c C-l man RET emacscl TAB= to get =emacsclient=. Of course, the ~ol-man~
|
||||
library should be loaded first.
|
||||
|
||||
** New functions and changes in function arguments
|
||||
*** ~org-fold-hide-drawer-all~ is now interactive
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
(require 'ol)
|
||||
|
||||
(org-link-set-parameters "man"
|
||||
:complete #'org-man-complete
|
||||
:follow #'org-man-open
|
||||
:export #'org-man-export
|
||||
:store #'org-man-store-link)
|
||||
|
@ -99,6 +100,17 @@ BACKEND is the current export backend."
|
|||
((eq backend 'md) (format "[%s](%s)" desc path))
|
||||
(t path))))
|
||||
|
||||
(defun org-man-complete (&optional _arg)
|
||||
"Complete man pages for `org-insert-link'."
|
||||
(require 'man)
|
||||
(concat
|
||||
"man:"
|
||||
(let ((completion-ignore-case t) ; See `man' comments.
|
||||
(Man-completion-cache)) ; See `man' implementation.
|
||||
(completing-read
|
||||
"Manual entry: "
|
||||
'Man-completion-table))))
|
||||
|
||||
(provide 'ol-man)
|
||||
|
||||
;;; ol-man.el ends here
|
||||
|
|
Loading…
Reference in New Issue