Function: elisp-refs--read-and-find-symbol

elisp-refs--read-and-find-symbol is a byte-compiled function defined in elisp-refs.el.

Signature

(elisp-refs--read-and-find-symbol BUFFER SYMBOL)

Documentation

Read all the forms in BUFFER, and return a list of all positions of SYMBOL.

Source Code

;; Defined in ~/.emacs.d/elpa/elisp-refs-20230920.201/elisp-refs.el
(defun elisp-refs--read-and-find-symbol (buffer symbol)
  "Read all the forms in BUFFER, and return a list of all
positions of SYMBOL."
  (let* ((symbols-with-pos (fboundp 'symbol-with-pos-pos))
         (forms (elisp-refs--read-all-buffer-forms buffer symbols-with-pos)))

    (if symbols-with-pos
        (elisp-refs--walk-positioned-symbols forms symbol)
      (-non-nil
       (--mapcat
        (-let [(_ _ _ symbol-positions read-start-pos) it]
          (--map
           (-let [(sym . offset) it]
             (when (eq sym symbol)
               (-let* ((start-pos (+ read-start-pos offset))
                       (end-pos (+ start-pos (length (symbol-name sym)))))
                 (list sym start-pos end-pos))))
           symbol-positions))
        forms)))))