Subject: bug#50067: Context menus

From: Dmitry Gutov <[email-masked]>
Date: Sun, 5 Sep 2021 03:55:43 +0300

On 01.09.2021 10:08, Juri Linkov wrote:
>>> so the new option could provide at least these choices:
>>> 1. 'jump': Jump to the first location by selecting its window;
>>> 2. 'show': Show the first item, but keep focus in the Xref window;
>>> 3. 'move': Move point to the first item in the Xref window
>>>      without showing it (maybe this should be the default behavior).
>>
>> We can do that. Do you expect to be using more than 1 of these values
>> yourself, or is it just for completeness?
> 
> A good indication that all values are needed is that I still can't decide
> which to use, so it would be possible to switch to another value when
> one of them does too much or too little.
> 
>> Regarding 3 as default, it makes a certain sense, but then you won't be
>> able to iterate through all locations with just 'n'. You'd have to press
>> 'C-o' and then 'n', 'n', 'n'...
> 
> I agree, it should not be the default.
> 
>>> To be able to add later a similar variable for xref-find-references,
>>> the new variable for xref-find-definitions could be named accordingly
>>> with a name that refers to xref-find-definitions, for example,
>>> xref-find-definitions-auto-jump.  Then later xref-find-references-auto-jump.
>>
>> I think the "other" variable would be called something with the word
>> "xrefs", not "references", and apply to other commands as well, such as
>> xref-find-apropos and project-find-regexp.
>>
>> So the proposed scheme would not quite work. Maybe like this instead?
>>
>>   - xref-auto-jump-to-first-definition
>>   - xref-auto-jump-to-first-<xref/item/match/result>. Or just
>>     xref-auto-jump-to-first.
> 
> grep/compilation already supports the value 'jump' by non-nil
> 'compilation-auto-jump-to-first-error', and the value 'move' when
> 'compilation-scroll-output' is customized to 'first-error'.
> 
> But I think for xref still two separate options are needed
> xref-auto-jump-to-first-definition for xref-find-definitions, and
> xref-auto-jump-to-first-xref for other more grep-like xref commands.

It's now in master: two variables, three methods of behavior for each.

Let me know if you see any problems.