Improve the alternative org-contacts headline goto.

This commit is contained in:
stardiviner 2022-02-26 01:06:48 +08:00
parent 7ed94bcf72
commit 21d4ae5367

View file

@ -1297,7 +1297,7 @@ Each element has the form (NAME . (FILE . POSITION))."
(with-current-buffer buf (with-current-buffer buf
(string-match "/\\(.*\\)/" query) (string-match "/\\(.*\\)/" query)
(occur (match-string 1 query))))) (occur (match-string 1 query)))))
;; jump to contact headline directly ;; jump to exact contact headline directly
(t (t
(let* ((f (car org-contacts-files)) (let* ((f (car org-contacts-files))
(_ (find-file f)) (_ (find-file f))
@ -1305,14 +1305,21 @@ Each element has the form (NAME . (FILE . POSITION))."
(with-current-buffer buf (with-current-buffer buf
(goto-char (marker-position (org-find-exact-headline-in-buffer query)))) (goto-char (marker-position (org-find-exact-headline-in-buffer query))))
(display-buffer buf '(display-buffer-below-selected))) (display-buffer buf '(display-buffer-below-selected)))
;; FIXME
;; (let* ((contact-entry (plist-get (org-contacts--all-contacts) query)) ;; (let* ((f (car org-contacts-files))
;; (_ (find-file f))
;; ;; FIXME:
;; (contact-entry (map-filter
;; (lambda (contact-plist)
;; (if (string-equal (plist-get contact-plist :name) query)
;; contact-plist))
;; (org-contacts--all-contacts)))
;; (contact-name (plist-get contact-entry :name)) ;; (contact-name (plist-get contact-entry :name))
;; (file (plist-get contact-entry :file)) ;; (file (plist-get contact-entry :file))
;; (position (plist-get contact-entry :position)) ;; (position (plist-get contact-entry :position))
;; (buf (get-buffer (file-name-nondirectory file)))) ;; (buf (get-buffer (file-name-nondirectory file))))
;; (unless (buffer-live-p buf) (find-file file)) ;; (with-current-buffer buf (goto-char position))
;; (with-current-buffer buf (goto-char position))) ;; (display-buffer buf '(display-buffer-below-selected)))
)))) ))))
;;;###autoload ;;;###autoload