[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: |
Juri Linkov |
Subject: |
bug#33992: 27.0.50; xref-find-definitions wastes too much space |
Date: |
Thu, 04 Apr 2019 23:49:27 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) |
>> The problem with xref-find-definitions is its unexpected outcome:
>> sometimes it pops up a window, sometimes doesn't.
>
> Imagine the process of code completion.
>
> Sometimes you press TAB (or C-M-i) and it completes to the symbol you
> wanted. Sometimes it pops up a window with all matching
> completions instead.
>
> Does it feel the same way to you?
The difference is that completions pop up in a small unobtrusive window.
But this should be easy to do in xref now too.
Thanks to João, we now have configurable window management in xref,
so I tried different customizations, and one of the most appealing
is this:
(defun display-buffer-condition-xref (buffer-name _action)
(and (string-match-p "\\`\\*\\(xref\\)\\*\\(\\|<[0-9]+>\\)\\'"
buffer-name)
(memq this-command '(xref-find-definitions))))
(defun display-buffer-condition-from-xref (_buffer-name _action)
(string-match-p "\\`\\*\\(xref\\)\\*\\(\\|<[0-9]+>\\)\\'"
(buffer-name (current-buffer))))
(setq display-buffer-alist
'((display-buffer-condition-xref
display-buffer-in-direction
(direction . below) (window-height . fit-window-to-buffer))))
(with-eval-after-load 'xref
(define-key xref--button-map [(control ?m)] #'xref-quit-and-goto-xref))
How do you like that?