summaryrefslogtreecommitdiff
path: root/elisp/geiser-xref.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-04-05 11:40:01 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-04-05 11:40:01 +0200
commit529035ce32fe7fec27edd8e9fbce651d1e9aaf34 (patch)
tree80f11b05981a93d3616a0c7b7bed66e239868958 /elisp/geiser-xref.el
parent8e72e66019fdab0fe2ea8f57faec57c06f7bf108 (diff)
downloadgeiser-guile-529035ce32fe7fec27edd8e9fbce651d1e9aaf34.tar.gz
geiser-guile-529035ce32fe7fec27edd8e9fbce651d1e9aaf34.tar.bz2
Better xrefs display (classified by module).
Diffstat (limited to 'elisp/geiser-xref.el')
-rw-r--r--elisp/geiser-xref.el15
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))