diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-04-05 11:40:01 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-04-05 11:40:01 +0200 |
commit | 529035ce32fe7fec27edd8e9fbce651d1e9aaf34 (patch) | |
tree | 80f11b05981a93d3616a0c7b7bed66e239868958 | |
parent | 8e72e66019fdab0fe2ea8f57faec57c06f7bf108 (diff) | |
download | geiser-chez-529035ce32fe7fec27edd8e9fbce651d1e9aaf34.tar.gz geiser-chez-529035ce32fe7fec27edd8e9fbce651d1e9aaf34.tar.bz2 |
Better xrefs display (classified by module).
-rw-r--r-- | elisp/geiser-xref.el | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/elisp/geiser-xref.el b/elisp/geiser-xref.el index a9b7a1f..57d006d 100644 --- a/elisp/geiser-xref.el +++ b/elisp/geiser-xref.el @@ -97,9 +97,18 @@ (erase-buffer) (geiser--insert-with-face header 'geiser-font-lock-xref-header) (newline 2) - (mapc 'geiser-xref--insert-button (sort xrefs 'geiser-xref--module<))) - (geiser-xref--pop-to-buffer) - (goto-char (point-min))) + (let ((last-module)) + (dolist (xref (sort xrefs 'geiser-xref--module<)) + (let ((module (cdr (assoc 'module xref)))) + (when (not (equal module last-module)) + (insert "\n In module ") + (geiser--insert-with-face (format "%s" module) + 'geiser-font-lock-xref-header) + (newline 2) + (setq last-module module)) + (geiser-xref--insert-button xref)))) + (geiser-xref--pop-to-buffer) + (goto-char (point-min)))) (defun geiser-xref--read-name (ask prompt) (let ((name (or (and (not prompt) (symbol-at-point)) |