Subject: bug#44297: [Feature request] project.el: Additional utility functions

From: Dmitry Gutov <[email-masked]>
Date: Mon, 2 Nov 2020 02:28:17 +0200

On 31.10.2020 21:18, Juri Linkov wrote:
>>> file.html, file.js and file.css.
>>
>> OK.
>>
>> How will we choose among multiple files when there are more than 2?
>> Completing read on the file extension? Or just rotate among the files in
>> a pre-defined order?
> 
> The convenience of rotating will degrade with increase of the number of found files.
> But maybe rotating among 3 files would be fine.

With more files, the user might want to opt for the "normal" 
project-find-file completion, rather than this command.

I mean, we could add an option for a threshold, after which we pop up 
extension completion, but at this stage it sounds probably unnecessary.

And if the user sets up hydra integration, they could easily swish 
through many more files, very quickly.

Projectile uses completion here, though.

>>>> A fuzzy search across full names works best for me, personally. We could
>>>> also try some differently weighted, fuzzy matching styles.
>>> I don't know if the required completion can be part of a fuzzy search,
>>> but it should show exactly the same completions as the current command
>>> (with directory and file names), but should match only on file name parts,
>>> not on directory name parts, e.g. with files:
>>>     dirname/filename1 dirname/file2
>>> typing "name" for completions should show only "dirname/filename1",
>>> because most of the time, project directory names get in the way
>>> when searching for a file by its name, and part of file name matches
>>> directory names with many other unrelated files.
>>
>> So... suppose the user types out a file name in full and sees several
>> matches (in different directories). What happens then?
> 
> The user then selects one of them to visit.

 From *Compleitons* buffer, with a mouse? I don't know of another way to 
"select one of them" using the default completion UI.