[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#33992: 27.0.50; xref-find-definitions wastes too much space
From: |
Felician Nemeth |
Subject: |
bug#33992: 27.0.50; xref-find-definitions wastes too much space |
Date: |
Fri, 05 Apr 2019 11:44:16 +0200 |
User-agent: |
Gnus/5.130008 (Ma Gnus v0.8) Emacs/25.1 (gnu/linux) |
(Sorry for replying late, I've just read this bug report.)
I thought that I didn't need to see the list of the xref results and the
xrefs' window shrank the view of the code I wanted to study. So, I came
up with the defun below. It presents the xref results without showing
the xref window. I think this idea can be further developed.
xref-show--xrefs-buffer could have an 'm' key binding that "minimizes"
its window by switching to xref-show-xrefs-without-buffer (below) and
that function can "maximize" back with the same 'm' key. A customizable
variable could define the initial behavior.
Also, I think we can enhance xref-pulse-momentarily to use a different
face if there's only one xref to present.
(defun xref-show-xrefs-without-buffer (xrefs alist)
"Present the results of an xref query in a simple manner.
To activate this feature, customize `xref-show-xrefs-function'."
(xref--show-xref-buffer xrefs alist)
(quit-window)
(next-error)
(message "%s (%s xrefs in total)"
"\",\": previous xref \".\":next xref \"m\":show xref buffer"
(length xrefs))
(set-transient-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd ",") 'previous-error)
(define-key map (kbd ".") 'next-error)
(define-key map (kbd "m")
(lambda () (interactive) (pop-to-buffer xref-buffer-name)))
map)
t))
(setq xref-show-xrefs-function 'xref-show-xrefs-without-buffer)