Function: ebrowse-tags-list-members-in-file

ebrowse-tags-list-members-in-file is an interactive and byte-compiled function defined in ebrowse.el.gz.

Signature

(ebrowse-tags-list-members-in-file)

Documentation

Display a list of members found in a file.

The file name is read from the minibuffer.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/ebrowse.el.gz
(defun ebrowse-tags-list-members-in-file ()
  "Display a list of members found in a file.
The file name is read from the minibuffer."
  (interactive)
  (let* ((buffer (or (ebrowse-choose-from-browser-buffers)
		     (error "No tree buffer")))
	 (files (with-current-buffer buffer (ebrowse-files-table)))
	 (file (completing-read "List members in file: " files nil t))
	 (header (buffer-local-value 'ebrowse--header buffer))
	 temp-buffer-setup-hook
	 (members (ebrowse-member-table header)))
    (with-output-to-temp-buffer (concat "*Members in file " file "*")
      (set-buffer standard-output)
      (maphash
       (lambda (_member-name list)
	 (cl-loop for info in list
                  as member = (cl-third info)
                  as class = (ebrowse-ts-class (cl-first info))
                  when (or (and (null (ebrowse-ms-file member))
                                (string= (ebrowse-cs-file class) file))
                           (string= file (ebrowse-ms-file member)))
                  do (ebrowse-draw-file-member-info info "decl.")
                  when (or (and (null (ebrowse-ms-definition-file member))
                                (string= (ebrowse-cs-source-file class) file))
                           (string= file (ebrowse-ms-definition-file member)))
                  do (ebrowse-draw-file-member-info info "defn.")))
       members))))