Commit 99ad65ed authored by Michael Albinus's avatar Michael Albinus

Configure info-look.el to recognize Tramp symbols

* lisp/net/tramp-integration.el (info-lookup->cache)
(info-lookup->mode-value, info-lookup->other-modes)
(info-lookup->topic-value, info-lookup-maybe-add-help)
(info-lookup-cache): Declare.
(info-look): Configure info-look.el to recognize Tramp symbols.
parent 30eac479
Pipeline #4255 failed with stage
in 56 minutes
...@@ -31,12 +31,18 @@ ...@@ -31,12 +31,18 @@
;; Pacify byte-compiler. ;; Pacify byte-compiler.
(require 'cl-lib) (require 'cl-lib)
(declare-function info-lookup->cache "info-look")
(declare-function info-lookup->mode-value "info-look")
(declare-function info-lookup->other-modes "info-look")
(declare-function info-lookup->topic-value "info-look")
(declare-function info-lookup-maybe-add-help "info-look")
(declare-function recentf-cleanup "recentf") (declare-function recentf-cleanup "recentf")
(declare-function tramp-dissect-file-name "tramp") (declare-function tramp-dissect-file-name "tramp")
(declare-function tramp-file-name-equal-p "tramp") (declare-function tramp-file-name-equal-p "tramp")
(declare-function tramp-tramp-file-p "tramp") (declare-function tramp-tramp-file-p "tramp")
(defvar eshell-path-env) (defvar eshell-path-env)
(defvar ido-read-file-name-non-ido) (defvar ido-read-file-name-non-ido)
(defvar info-lookup-cache)
(defvar ivy-completing-read-handlers-alist) (defvar ivy-completing-read-handlers-alist)
(defvar recentf-exclude) (defvar recentf-exclude)
(defvar tramp-current-connection) (defvar tramp-current-connection)
...@@ -186,6 +192,35 @@ NAME must be equal to `tramp-current-connection'." ...@@ -186,6 +192,35 @@ NAME must be equal to `tramp-current-connection'."
(add-to-list 'ivy-completing-read-handlers-alist (add-to-list 'ivy-completing-read-handlers-alist
'(tramp-these-rename-files . completing-read-default))) '(tramp-these-rename-files . completing-read-default)))
;;; Integration of info-look.el:
(with-eval-after-load 'info-look
;; Create a pseudo mode `tramp-info-lookup-mode' for Tramp symbol lookup.
(info-lookup-maybe-add-help
:mode 'tramp-info-lookup-mode :topic 'symbol
:regexp "[^][()`'‘’,\" \t\n]+"
:doc-spec '(("(tramp)Function Index" nil "^ -+ .*: " "\\( \\|$\\)")
("(tramp)Variable Index" nil "^ -+ .*: " "\\( \\|$\\)")))
;; Add it as `other-modes' to `emacs-lisp-mode' itself, and all
;; modes which use it as `other-modes'.
(dolist (mode (mapcar 'car (info-lookup->topic-value 'symbol)))
(when (and (or (equal mode 'emacs-lisp-mode)
(member
'emacs-lisp-mode (info-lookup->other-modes 'symbol mode)))
(not (member
'tramp-info-lookup-mode
(info-lookup->other-modes 'symbol mode))))
(setcdr
(info-lookup->mode-value 'symbol mode)
(append
(butlast (cdr (info-lookup->mode-value 'symbol mode)))
`(,(cons 'tramp-info-lookup-mode
(info-lookup->other-modes 'symbol mode)))))))
;; Reset cache.
(setq info-lookup-cache nil))
;;; Default connection-local variables for Tramp: ;;; Default connection-local variables for Tramp:
(defconst tramp-connection-local-default-profile (defconst tramp-connection-local-default-profile
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment