Skip to content

Commit 20e3122

Browse files
committed
add autoload
1 parent e7b2dfe commit 20e3122

File tree

1 file changed

+46
-9
lines changed

1 file changed

+46
-9
lines changed

src/el/sayid.el

+46-9
Original file line numberDiff line numberDiff line change
@@ -718,19 +718,56 @@ Disable traces, load buffer, enable traces, clear log."
718718
(setq paths (cdr paths)))
719719
(car paths))))
720720

721-
;;;###autoload
722-
(defun sayid-buffer-nav-from-point ()
723-
"Navigate from sayid buffer to function source."
721+
(defun sayid-buffer-file-at-point ()
722+
"Return file path for function at point in sayid buffer."
724723
(interactive)
725724
(let* ((file (get-text-property (point) 'src-file))
726-
(line (get-text-property (point) 'src-line))
727725
(xfile (sayid-find-existing-file file)))
728726
(if xfile
729-
(progn
730-
(pop-to-buffer (find-file-noselect xfile))
731-
(goto-char (point-min))
732-
(forward-line (- line 1)))
733-
(message (concat "File not found: " file)))))
727+
xfile
728+
(user-error (concat "File not found: " file)))))
729+
730+
(defun sayid-buffer-line-at-point ()
731+
"Return line number for function at point in sayid buffer."
732+
(get-text-property (point) 'src-line))
733+
734+
(defun sayid-buffer--source-buffer-at-point ()
735+
"Fetch buffer showing function currently under point in sayid buffer."
736+
(let ((line (sayid-buffer-line-at-point))
737+
(file (sayid-buffer-file-at-point)))
738+
(when file
739+
(save-excursion
740+
(switch-to-buffer
741+
(find-file-noselect file))
742+
(goto-char (point-min))
743+
(forward-line (- line 1))
744+
(current-buffer)))))
745+
746+
(defun sayid-buffer--buffer-display-fn (buffer)
747+
"Default function which sayid uses to display BUFFER."
748+
(display-buffer
749+
buffer
750+
'((display-buffer-use-some-window . ((inhibit-same-window . t))))))
751+
752+
;;;###autoload
753+
(defun sayid-buffer-nav-from-point ()
754+
"Navigate from sayid buffer to function source."
755+
(interactive)
756+
(pop-to-buffer (sayid-buffer--source-buffer-at-point)))
757+
758+
;;;###autoload
759+
(defun sayid-buffer-follow-next ()
760+
"Navigate from sayid buffer to function source."
761+
(interactive)
762+
(sayid-buffer-nav-to-next)
763+
(sayid-buffer--buffer-display-fn (sayid-buffer--source-buffer-at-point)))
764+
765+
;;;###autoload
766+
(defun sayid-buffer-follow-prev ()
767+
"Navigate from sayid buffer to function source."
768+
(interactive)
769+
(sayid-buffer-nav-to-prev)
770+
(sayid-buffer--buffer-display-fn (sayid-buffer--source-buffer-at-point)))
734771

735772
;;;###autoload
736773
(defun sayid-buffer-nav-to-prev ()

0 commit comments

Comments
 (0)